Age | Commit message (Collapse) | Author |
|
The fractional VAT patch did not properly handle the case when the field
could actually be NULL.
|
|
|
|
Move the backwards-compatibility checks for fitz over to this new file
as well, instead of having them spread out through the code.
|
|
Pyjwt 2.0 made some incompatible changes in how a signature is verified,
so we need to support both the old and the new one.
For cleanliness, create a util/versionutil.py that wraps these version
specific things. There are clearly more.
|
|
Commit a2d79c1e missed that there is a separate codepath that updates
the average values during voting (for just the specific session that's
being voted on), so the value listed could become wrong until the page
was reloaded (the stored value was always correct and a page reload
would refresh all numbers).
|
|
This allows the reconnection on an exisitng account. Unable to test this
full workflow until an account actually has expired, but hopefully it's
good...
|
|
|
|
Commit eaea411f forgot to update the old migration.
|
|
|
|
|
|
We must pass a unique reference to gocardless and if our existing one
expired we cannot re-use the one. So add a random uuid to the reference
string and hope that solves it.
|
|
We made two api calls but checked the status of the first one twice.
|
|
ABy requiring a voucher to use a specific registration type, it can
become an "invite only" regtype. The cost set for it doesn't matter, it
can still be zero, but the attendee needs to be in posession of a
voucher to complete the registration. Not as convenient as using the
auto-approving ones like speaker or staff, but a lot more flexible.
|
|
|
|
They renamed functions...
|
|
This has been deprecated for a while and even before that (since 2.5) it
was just an alias, so switching our import should make no difference
other than working on jinja2 3.1.
|
|
Apparently this was only properly tested with 3.0 :/
|
|
Allow fractional tax rates, up to 6 decimal places.
Author: Steve Singer, with some fixes from me
Fixes #164
|
|
While normally sponsors are invoived without VAT, there are cases where
VAT is added and in those cases we want the same VAT preview there as we
have for registration types etc.
The code for dealing with that preview was clearly already designed to
handle this, but it was never enabled for levelcost.
|
|
|
|
Fix a crash, ensure error details are sent to the admins, and make sure
a left-over sponsor record isn't in the database in the event of an
error late in the process.
|
|
|
|
The refund patterns are defined as between days,so when copying from
another conference we should do so by number of days and not by a
timedelta including hours.
|
|
Fist, turn the output into a proper list which makes it a lot easier to
read than a long text. Second, explicitly show the timezones on both the
souce and target timestamp, so that the timestamps are actually useful
at all when the conferences are in different timezones.
Fixes #135
|
|
The contents of the dropdown in the filter was taken from the conference
they are being copied *to*, but the contents of the list is the objects
from the conference being copied *from*. This mostly shows up when
copying sessions, when filtering by track or room makes most sense --
and would be wrong if the track/rooms didn't exist in the new
conference.
|
|
|
|
When selecting digital signatures for contracts, one must use our
provider otherwise it won't work. If a sponsor requires the use of a
separate system, they must choose manual contracts. So make this
double-clear by adding another NOTE! to the selection.
|
|
|
|
When there is a limit to the number of submissions a speaker can make to
a conference, don't include withdrawn sessions in the calculation.
|
|
|
|
When creating a new message provider we can't compare the
username/password to an existing one because it doesn't exist yet..
|
|
Commit f128188bd back in 2018 made it impossible to change the cost of a
registration type if it had been used. This apparently also broke
creation of new registration types that had a cost from the first save,
which apparently hasn't really been used since. (It would not break
copy-from-other-conference, so maybe that's what people used)
|
|
This adds Bluesky as a messaging provider to the system. For the time
being it only supports making broadcast posts (similar to the linkedin
provider).
This support should be considered alpha or beta at this time.
|
|
If a provider that already had something posted using it was removed,
the backend view would crash when trying to show it. Instead, just don't
show the results posted on that provider.
|
|
We'd list that we would use telegram for private broadcast even if ther
ewas no channel configured to broadcast to, as long as the checkbox was
enabled. Update it so we need both before we tell the user it's going to
work.
|
|
Allow the due date to be configured on an individual sponsorship level,
both specifying a number-of-days-to-pay and a hard final date.
Closes #170
|
|
This must be an old copy/paste, because we want to list all regclasses
not just the cases where there's more than one.
|
|
Commit afe20375 was supposed to remove individual-attendee emails, but
instead removed regclasses-emails.
|
|
This could cause a divide-by-zero in some cases. Instead render the text
"NO DATA". Normally, the entire svg would be exluded in this case, but
in case it's not this will at least work.
|
|
The list of "all attendeemails" can get very long if we included
individual ones sometimes sent. So don't do that. Only include them if
they are sent to a group, or if there is >1 individual on it.
|
|
Jinja2 v3.0 renamed contextfilter to pass_context. Put some code in that
handles both the v3 and v2 name at the same time, as a first step
towards supporting jinja2 v3.
|
|
The qrencode library we've been using is basically dead (and has been
for a while), so add support for the newer pure-python qrcode library.
We keep support for the qrencode one around, so we don't break things
on existing installs, but consider it deprecated and should eventually
be removed.
Fixes #123
|
|
This way we get to see the qr code on the preview as well, even
though it can of course not be used. But it helps adjusting layouts.
|
|
|
|
|
|
|
|
|
|
|
|
This could happen when an admin goes through the backend interface to
reach the volunteer schedule, which would create entries that otherwise
are incomplete.
|
|
Commit 470fbba78f7ad65c63eab5fa956032592d5a467a didn't take this case
into account, assuming it could only be empty and not None, but it's an
optional parameter tot he function and the "Send test contract"
functionality explicitly does that.
Spotted by Steve Singer
|