Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
This could happen when an admin goes through the backend interface to
reach the volunteer schedule, which would create entries that otherwise
are incomplete.
|
|
|
|
All endpoints would return 500 errors regardless of what the actual
error was. This triggers django to send an email to the administrator.
Since these are actually normal things to happen, change it to send 4xx
errors (depending on the actual error) instead which is both
conceptually correct and gets rid of those emails.
The client side JS consuming the API treats 5xx and 4xx the same way, so
it makes no difference there.
|
|
|
|
Break it out into separate functions, one for rendering a template and
one for sending from a string.
|
|
So we don't end up with everything called "download.<something>".
Probably mostly important during testing, but still nice.
|
|
get_conference_or_404(urlname) basically does a get_object_or_404() on the
Conference object with the specified urlname, and for now that's all it
does. But this will later be used to control the per-conference timezone
settings.
|
|
|
|
|
|
This moves most of the interaction over to javascript and API calls,
which makes it a lot nicer to interact with when the volunteer schedules
are large, since it doesn't require a complete reload of the page every
time.
In passing also change around how the header looks by removing
unnecessary headers and replacing mutiple paragraphs of short text with
buttons intead.
Fixes #23
|
|
Instead of rendering the volunteer schedule as part of the conference
templates, render them as part of the backend.
The volunteer schedule does a number of things that makes it put a lot
of requirements on the templates around it, and that's currently built
around bootstrap. This makes really hard to use in some conferences, and
since it's only for volunteers anyway, making it render in the plainer
framework doesn't have a big downside.
This also makes it integreate nicer with the backend templates for the
administrators, which is an improvement.
|
|
When enabled (default off), an email will be sent to the notification
address for the conference when a session is confirmed (regular or to
the waitlist), or when volunteers confirm or sign up, respectively.
Fixes #16
Fixes #24
|
|
If an add-vol- appeared *before* the confirm/remove (which seems to
unpredictably sometimes happen), it would stop processing there and
not try any further.
Instead, if the add is -1 (which means nothing was selected), then
ignore it and keep looking for something else.
|
|
|
|
With a proper CSRF token, this protects against, well, CSRF attacks.
|
|
Sibling imports should be prefixed with a period. Good idea in py2, will
eventually become required in py3, so another small step.
|
|
|
|
|
|
In an effort to close up with PEP8, we should use spaces for indent
rather than tabs... Time to update your editor config!
|
|
This adds the concept of an administrator at the conference series
level. An administrator of a series will:
1. Automatically be administrator on all conferences in the series
2. Have access to time based reports for the series
3. Have access to cross-conference email for the series
In passing, update the time based report template to use the newer
styling, and make it possible to resize the graph with drag/drop.
This also changes the list of available conferences in time reports to
be grouped by conference series, and removes the client side filtering
(since it's now much easier to just shift-click an entire series,
which was really the usecase for the previous filter).
|
|
Now also confreg, confsponsor, confwiki, newsevents, the old invoice
system and the root.
|
|
Needed for compatibility with newer django. Fully backwards compatible.
In passing, tabify the list of urls, since we're rewriting every line
anyway.
|
|
|
|
The previous workflow didn't work very well if the same user was both
admin and volunteer.
|
|
This adds the concepts of VolunteerSlot and VolunteerAssignment.
Each VolunteerSlot has a minimum and a maximum number of volunteers.
Possible volunteers (listed in a new field on the conference itself) can
sign up for specific slots they are interested in, which must then be
confirmed by an admin (controlled by the admin field on the conference).
Admins can also add volunteers to specific slots, which must then be
confirmed by the volunteer.
There is also a per-volunteer ical feed using a secret URL (this adds a
regtoken field to all registrations, which is something we've already
needed for some other things as well, so it'll be good to have
regardless).
No notifications are sent in this system, that's all intended to be
manually handled by the volunteer manager, at least for now.
|