Age | Commit message (Collapse) | Author |
|
|
|
|
|
This was accidentally broken in 52fa57dc, and went mostly unnoticed. It
was only used by signup emails which now ended up having just one link
instead of two, so it seems fine for now. We'll eventually want to add
more smarness to the templates around this, but that can't be done
without a bigger surgery so for now just remove it.
|
|
|
|
|
|
Sometimes we have wiki pages available only to a specific subset of
users - in this case, it can be useful to be able to send emails
directly to those users from the wiki admin page.
Fixes #73
|
|
When doing for example signup emails to large signups the list of ids
can be very long, and the materialization also gets delayed (so the
response status may have changed since the email was initiated). For
this reason, allow passing down query parameters other than just integer
ids, and expand those when creating the email rather than ahead of time.
|
|
|
|
This allows for signup emails to be stored on the registration page so
people can go back and view them later, and basically puts them under
the same sending framework as other emails (which will come in handy
once we make that one more advanced).
|
|
Conference frontend pages (reg pages, call for papers, etc) did not have
a shared CSS anywhere, instead they used a bunch of inline CSS that was
copy/pasted between pages.
Create a new /media/css/pgeuconf.css that contains all these rule and
replace the inline ones with a reference to this one. Things can still
be overridden downstream in skins so nothing *should* break there.
Only jinja based conference templates are affected by this, no changes
to the rest of the site. Also not removing them from the schedule page
(which has much dynamic content) and the session feedback one (which
also has dynamic content, and will be replaced separately soon). For all
other pages, inline CSS is now completely gone.
|
|
It's just the cleaner place to have it...
|
|
Fixes #95
|
|
|
|
|
|
This got broken when registration logging was added.
|
|
|
|
|
|
Break it out into separate functions, one for rendering a template and
one for sending from a string.
|
|
|
|
The version we have doesn't work in django 2.2. And while there might be
newer ones available, we only use it in the admin interface and the
newer django has it's own functionality for delivering the same thing
there.
|
|
When the attendee saves a signup without changing the response itself,
there is no point in sending out another notification.
|
|
This adds a basic log to each registration of activity that happens on
it, from creation until possible canceling.
More details can be added as we go, but tihs is a good start.
One big improvement needed is to track exactly *which* fields changed
and to/from what when making changes to a registration (that would help
with support cases).
|
|
Instead of deleting a registration when it's canceled, track when it was
canceled in a new field, canceledat. This makes it possible to keep
track of who the speakers are and potentially email them in the future.
There are two main things that need to get done that are not included in
this commit:
1. Reports need to be adjused. Some are, but all need to be summarized.
In particular, time reports need to be properly taught about it and
probably given the option to actually graph it.
2. Cross-conference email need to be given the option to include or not
include canceled registrations.
|
|
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.
|
|
As a step on the way to better timezone support, use the django function
timezone.now() instead of datetime.now(). As long as we haven't enabled
timezones globally this becomes a no-op and does exactly what it did
before, but once timezones are enabled it will generate datetimes that
are aware of this.
No functionality change but gets a lot of boiler-plate out of the way
making the verification of the rest of the timezone work easier.
|
|
|
|
When a user signs up, removes their signup, or changes the value of
their signup, we can now send an email to notify the conference
organizers thereof.
Fixes #25
|
|
Previously we'd in many places pass down the value directly from get or
post requests to a lower layer, only to have that layer throw an
exception because it wasn't an integer, or we'd ust wrap it in int()
which also causes a hard exception when it's not an integer.
Instead create a small wrapper for get_int_or_error() which can be
called with a parameter that's supposed to be integer, and will then
just return a 404 if the parameter doesn't exist or is not an integer.
These are all "should never happen" scenarios, so not generating hard
crashes and stackdumps are an improvement.
None of these were places where the actual bad data would get anywyhere,
they would all just cause an ugly exception, but should get fixed
regardless.
One or two instances spotted by Daniel Gustafsson, and then a lot of
grep to try to find most of the rest.
|
|
|
|
Looks a lot nicer than just a number :)
|
|
Both wiki pages and signups would return http 404 not found when being
accessed by somebody who was logged in but not registered for the
conference. Change that so it instead returns an access denied message
explicitly saying that the page is only available to registered
attendees.
|
|
|
|
|
|
To make it easier to write plaintext emails, make sure the font used for
the email body is monospace, and do hard auto-wrapping at 72 characters.
In passing also make a couple of other fields like PEM keys for Trustly
use a monospace font (but of course not hard wrapping).
|
|
These were added back in 4b62fb65c3eeadc0aafff44c9b1c7585ccbad84d, but
appears to have never really been necessary. Probably leftovers from
some previous attempt, so clean it up.
|
|
|
|
All models were updated to have things like help text and verbose name
be unicode strings. This needs to be backfilled into the migrations as
well, otherwise upcoming migratinos will contain no-change changes.
For special reg types, in python3 the ordering coming out of the dict
can be random, thus generating new migrations all the time. So pre-sort
it to make it predictable. Doesn't make any actual difference in the
end, but it should make the migrations happier. Doesn't make any actual
difference in the end, but it should make the migrations happier.
|
|
|
|
2to3 doesn't do this automatically, probably because weird things can
happen if you had both. We know we didn't, so just do a straight
replacement.
|
|
|
|
|
|
Sibling imports should be prefixed with a period. Good idea in py2, will
eventually become required in py3, so another small step.
|
|
Create a special notification address that is used for all admin
notifications, instead of contactaddr (defaults to the same one for old
conferences). This also updates all existing calling points that sent
from contacddr->contactaddr to instead use the notificatino address, but
the old contact address is still used as the sending one when sending
*to* attendees.
Make it configurable on a per conference basis to get registration
notifications. If enabled, the notify address will get an email whenever
somebody registers or cancels a registration (on cancel including the
reason).
In passing, re-order and re-group some of the fields on the conference
configuration page to make it more readable as it's growing.
|
|
This gets rid of a somewhat nasty circular import in backendviews.
|
|
It has been deprecated, and instead we should use "in" and "not in", so
make that change across the board.
|
|
|
|
Mostly not important, but getting rid of the PIP warnings will help
catch errors in the future.
|
|
|
|
In an effort to close up with PEP8, we should use spaces for indent
rather than tabs... Time to update your editor config!
|
|
By using a real template, we both make permission denied messages look
better (properly rendered), and also makes it possible to tell the user
*why* access was denied.
This makes using PermissionDenied exceptions a lot more useful, so
update a number of places that were sending out access denied messages
as 404s.
|