Age | Commit message (Collapse) | Author |
|
Do this only for POSTs, but without that if the user clicks the confirm
button twice in a row Really Fast, there's a race condition whereby two
invoices can be created for the same registration, which is not
supported elsewhere in the system.
This probably likely exists in other places as well, but it becomes a
lot more apparent when it comes to creating invoices as the generation
of the PDFs take some time.
|
|
Noted by Karen Jex
|
|
|
|
And default it to the autocancel for the conference, but allow the admin
creating the invoice to override if needed.
|
|
|
|
If there are more than two votes, then one copy each of the highest and lowest
scores is removed before averaging.
|
|
|
|
|
|
We did explicitly check for superuser permissions, so there was no way
to get in, but without the decorator we wouldn't get the redirect to the
login page.
|
|
The country changed name a few years ago, our registration should
reflect that.
|
|
|
|
|
|
|
|
This just deletes the sessions, and also the speaker in case it had no
other sessions.
|
|
Commit 5a07ecd9 only worked in standalone mode, and would error in
Django mode. Fix that.
|
|
|
|
|
|
|
|
|
|
|
|
This is not a normal situation and has to be dealt with manually
regardless, but we shouldn't crash on it prior to telling the user they
have to do that...
|
|
This caused an error in the view when setting up a new oauth client
(such as a linkedin page). It happened *after* the actual configuration
was completed, so one just had to reload for things to work, but it
still shouldn't error like that.
|
|
|
|
Both for sponsor benefits and for campaign creation, list which fields
are available to use in the Jinja templates, to make it easier to figure
out how to use them.
|
|
|
|
|
|
|
|
|
|
This uses (partially) the pgweb code for loading previewable HTML into
an iframe sandbox.
|
|
|
|
|
|
For some reason, django won't let us do that from a template, so we have
to add our own.
|
|
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.
|
|
pgcrypto was only used to set tokens in some migrations,
so in practice it should not actually be UPDATEing any
rows anymore (there should either be no rows, or they're
all updated by now). Once the migration has completed,
all new tokens are set from the python code.
So update the migrations to use the build-in random() function instead,
which is "good enough for this usage", and thereby dropping the
dependency on pgcrypto making new installs easier.
|
|
Django 4.0
|
|
|
|
|
|
|
|
This allows us to return 304 not modified for speaker photos, as they
change very infrequently. Actual etag is maintained as an md5() of the
contents, by a database trigger the same way we do for util/storage
fields.
|
|
|
|
|
|
As of 45b8e2e9, we update the sent column to be True while leaving
unsent providers in the linked table (so we can keep track of which
succeeded and which failed). The nagios check never got the memo about
that one, so it didn't check the sent column, only the linked table,
when in fact it's now enough to *just* check the sent column. So do
that.
|
|
Commit f2baae524 added a guard on instance.id to all get_list calls. For
Members that was technically not needed since there is currently no
interface to manually add a member, but it was added for consistency and
future-proofing. But since the Member object doesn't have its own
primary key, it would instead cause a crash. So - change it to look at
the `pk` field which does exist.
Reported by Stacey Haysler, diagnosed by Christophe Pettus
|
|
|
|
|
|
Previously we'd just show a boolean "posted" or "not posted" based on if
there was more than one version of the text. But it's actually
interesting to know if it's posted to only some of the networks even if
the exact same text is posted to all of them, so make it show that in
all cases.
|
|
Without this, if a provider goes from active -> inactive when there are
existing posts, we'd crash the view of the existing ones.
|
|
For example if a sponsor needs to re-claim something because they sent
the wrong data, we don't want to trigger a second post.
|
|
|
|
When a sponsor uploads an image, show them a preview of what they
actually uploaded and require confirmation of it. In particular, render
this preview on a background color if configured, same ast he admin
preview.
|