pgeu-system.git
2 months agofix typo
Vik Fearing [Wed, 26 Feb 2025 13:18:13 +0000 (14:18 +0100)]
fix typo

2 months agoDon't hardcode commandline to deploystatic in docker image
Magnus Hagander [Thu, 20 Feb 2025 20:27:21 +0000 (21:27 +0100)]
Don't hardcode commandline to deploystatic in docker image

2 months agoAdd github action to build deploystatic container
Magnus Hagander [Thu, 20 Feb 2025 18:54:11 +0000 (19:54 +0100)]
Add github action to build deploystatic container

Builds the container and publishes it to the github container
registry. Also schedules a rebuild once a month to pick up updates to
the base packages.

2 months agoAdd proper facets for hashtags when posting to bluesky
Magnus Hagander [Thu, 20 Feb 2025 17:46:09 +0000 (18:46 +0100)]
Add proper facets for hashtags when posting to bluesky

2 months agoDecode URL as UTF-8
Magnus Hagander [Thu, 20 Feb 2025 16:49:09 +0000 (17:49 +0100)]
Decode URL as UTF-8

Apparently this is done automtatically in some versions of requests, and
not others.

2 months agoImplement "facet shortering" for bluesky posting
Magnus Hagander [Thu, 20 Feb 2025 16:38:01 +0000 (17:38 +0100)]
Implement "facet shortering" for bluesky posting

Turns out bluesky doesn't actually shorten URLs if they are posted
through the API even if they have a matching "facet", and the example
code they have ignores this. So we have to implement our own that
basically shortens the "inside" of a facet to an appropriate length.
We'll re-use the twitter-url-shortener-length to make things predictable
between providers.

2 months agoGive more detailed error message when failing to post to bluesky
Magnus Hagander [Thu, 20 Feb 2025 14:32:35 +0000 (15:32 +0100)]
Give more detailed error message when failing to post to bluesky

2 months agoAdd cli command to export a set of invoices or receipts by id
Magnus Hagander [Wed, 19 Feb 2025 18:29:48 +0000 (19:29 +0100)]
Add cli command to export a set of invoices or receipts by id

2 months agos/regsitered/registered/
Andreas Scherbaum [Mon, 17 Feb 2025 20:35:32 +0000 (21:35 +0100)]
s/regsitered/registered/

Along the way fix some minor issues

3 months agoShow which track a session is accepted into, if available
Magnus Hagander [Wed, 5 Feb 2025 15:24:37 +0000 (16:24 +0100)]
Show which track a session is accepted into, if available

Noted by Melanie Plageman

3 months agoProperly list pronouns as a dynamic field
Magnus Hagander [Wed, 29 Jan 2025 07:17:27 +0000 (08:17 +0100)]
Properly list pronouns as a dynamic field

Somehow it ended up with half the listing in dynamic and half in static,
    which sometimes crashes.

3 months agoAdd missing parameter in function call
Magnus Hagander [Fri, 24 Jan 2025 16:40:43 +0000 (17:40 +0100)]
Add missing parameter in function call

3 months agoRename "Twitter post queue"
Vik Fearing [Fri, 24 Jan 2025 10:50:21 +0000 (11:50 +0100)]
Rename "Twitter post queue"

This hasn't been accurate since other social media providers were added, and
now with the directive from the Board that we no longer use X/Twitter, it is
even less accurate.

3 months agoAdd special registration type that includes cfp team members
Magnus Hagander [Thu, 23 Jan 2025 19:00:53 +0000 (20:00 +0100)]
Add special registration type that includes cfp team members

Since we have the list of actual user accounts used for talkvoters, we
can trivially create a special registration type that lets those people
register automatically, without having to deal with vouchers etc.

3 months agoAdd support for asking for pronouns during registration
Magnus Hagander [Thu, 23 Jan 2025 16:29:49 +0000 (17:29 +0100)]
Add support for asking for pronouns during registration

This is an optional field that can be turned on/off on a per-conference
basis. It is collected primarily so that it can be displayed on badges,
but it's of couse up to each conference exactly what they do with it.
Pronouns are aggregated and purged as part of the "purge personal data"
step.

Per request from the PostgreSQL Europe Diversity Committee

3 months agoUse correct info to decide when to show VAT fields
Magnus Hagander [Wed, 22 Jan 2025 20:46:21 +0000 (21:46 +0100)]
Use correct info to decide when to show VAT fields

The VAT refund fields on anything should be driven off whether there's
actual VAT on the invoice, not off the EU_VAT setting. In particular,
when using taxes and not being in the EU, EU_VAT should be turned off,
but we must still be able to refund the VAT...

Diagnosed by Steve Singer

3 months agoLooks like the include_client_id parameter became mandatory
Magnus Hagander [Thu, 16 Jan 2025 20:13:14 +0000 (21:13 +0100)]
Looks like the include_client_id parameter became mandatory

3 months agoChange linkedin provider to use a shared oauth_return URL
Magnus Hagander [Thu, 16 Jan 2025 19:49:49 +0000 (20:49 +0100)]
Change linkedin provider to use a shared oauth_return URL

Since Linkedin doesn't support wildcards, having the providerid in the
URL required whitelisting individual URLs which was very annoying.
Instead overload it into the state field and use a shared URL.

In passing, fix the redirect after attaching linkedin to a shared news
provider. The attachment worked fine but the redirect went to the wrong
page.

3 months agoAdd missing "the"
Magnus Hagander [Wed, 15 Jan 2025 15:47:17 +0000 (16:47 +0100)]
Add missing "the"

3 months agoAvoid duplicated error message in bluesky validation
Magnus Hagander [Wed, 15 Jan 2025 11:57:00 +0000 (12:57 +0100)]
Avoid duplicated error message in bluesky validation

3 months agoDon't crash trying to render non-existant VAT percentages
Magnus Hagander [Mon, 13 Jan 2025 21:13:09 +0000 (22:13 +0100)]
Don't crash trying to render non-existant VAT percentages

The fractional VAT patch did not properly handle the case when the field
could actually be NULL.

3 months agoFix attribute to access track name in session voting page
Magnus Hagander [Fri, 10 Jan 2025 12:50:52 +0000 (13:50 +0100)]
Fix attribute to access track name in session voting page

Noted by Noah Misch

4 months agoFix missing quotes in version check
Magnus Hagander [Tue, 7 Jan 2025 10:08:23 +0000 (11:08 +0100)]
Fix missing quotes in version check

4 months agoMove fitz version checks to versionutil.py
Magnus Hagander [Tue, 7 Jan 2025 09:57:10 +0000 (10:57 +0100)]
Move fitz version checks to versionutil.py

Move the backwards-compatibility checks for fitz over to this new file
as well, instead of having them spread out through the code.

4 months agoSupport both old and new versions of pyjwt
Magnus Hagander [Tue, 7 Jan 2025 09:26:43 +0000 (10:26 +0100)]
Support both old and new versions of pyjwt

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.

4 months agoFix interactive voting result when using olympic averages
Magnus Hagander [Mon, 6 Jan 2025 12:55:47 +0000 (13:55 +0100)]
Fix interactive voting result when using olympic averages

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).

4 months agoBlind attempt at gocardless account reconnect
Magnus Hagander [Sat, 4 Jan 2025 16:04:52 +0000 (17:04 +0100)]
Blind attempt at gocardless account reconnect

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...

4 months agoFix reversed fitz version check
Magnus Hagander [Fri, 3 Jan 2025 12:06:53 +0000 (13:06 +0100)]
Fix reversed fitz version check

4 months agoSync up list of special reg types
Magnus Hagander [Fri, 3 Jan 2025 12:01:29 +0000 (13:01 +0100)]
Sync up list of special reg types

Commit eaea411f forgot to update the old migration.

4 months agoAttempt some further fitz version fixes
Magnus Hagander [Fri, 3 Jan 2025 11:54:03 +0000 (12:54 +0100)]
Attempt some further fitz version fixes

4 months agoAccept new format references on gocardless redirects as well
Magnus Hagander [Sun, 22 Dec 2024 10:38:06 +0000 (11:38 +0100)]
Accept new format references on gocardless redirects as well

4 months agoAdd randomness to the reference when setting up gocardless
Magnus Hagander [Sun, 22 Dec 2024 10:34:09 +0000 (11:34 +0100)]
Add randomness to the reference when setting up gocardless

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.

4 months agoFix check of incorrect api call
Magnus Hagander [Sun, 22 Dec 2024 10:33:49 +0000 (11:33 +0100)]
Fix check of incorrect api call

We made two api calls but checked the status of the first one twice.

4 months agoAdd missing wording to mastodon and telegram invites
Magnus Hagander [Fri, 20 Dec 2024 18:13:53 +0000 (19:13 +0100)]
Add missing wording to mastodon and telegram invites

Spotted by Tomas Vondra

4 months agoAdd special registration type requiring a voucher
Magnus Hagander [Wed, 18 Dec 2024 11:18:45 +0000 (12:18 +0100)]
Add special registration type requiring a voucher

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.

4 months agoRemove unused import
Magnus Hagander [Wed, 18 Dec 2024 11:18:24 +0000 (12:18 +0100)]
Remove unused import

4 months agoMove end parenthesis to the correct side of the endif
Magnus Hagander [Fri, 13 Dec 2024 14:05:42 +0000 (15:05 +0100)]
Move end parenthesis to the correct side of the endif

4 months agoSupport both older and newer fitz versions
Magnus Hagander [Fri, 13 Dec 2024 13:15:05 +0000 (14:15 +0100)]
Support both older and newer fitz versions

They renamed functions...

4 months agoUse markupsafe.Markup instead of jinja2.Markup
Magnus Hagander [Fri, 13 Dec 2024 12:57:40 +0000 (13:57 +0100)]
Use markupsafe.Markup instead of jinja2.Markup

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.

4 months agoAttempt to fix running with jinja 3.1
Magnus Hagander [Fri, 13 Dec 2024 12:49:27 +0000 (13:49 +0100)]
Attempt to fix running with jinja 3.1

Apparently this was only properly tested with 3.0 :/

5 months agoSupport fractional VAT rates
Magnus Hagander [Wed, 4 Dec 2024 19:05:06 +0000 (20:05 +0100)]
Support fractional VAT rates

Allow fractional tax rates, up to 6 decimal places.

Author: Steve Singer, with some fixes from me

Fixes #164

5 months agoExpose that sponsor cost is a VAT field in backend interface
Magnus Hagander [Wed, 4 Dec 2024 19:06:56 +0000 (20:06 +0100)]
Expose that sponsor cost is a VAT field in backend interface

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.

5 months agoDon't crash when contract has signwell enabled but no fields
Magnus Hagander [Wed, 4 Dec 2024 18:25:47 +0000 (19:25 +0100)]
Don't crash when contract has signwell enabled but no fields

5 months agoFix error handling in sponsor signup form
Magnus Hagander [Wed, 4 Dec 2024 18:25:09 +0000 (19:25 +0100)]
Fix error handling in sponsor signup form

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.

5 months agoShow non-field errors on sponsor signup form
Magnus Hagander [Wed, 4 Dec 2024 18:24:53 +0000 (19:24 +0100)]
Show non-field errors on sponsor signup form

5 months agoMake it possible to target only some providers with campaigns
Magnus Hagander [Tue, 3 Dec 2024 22:00:19 +0000 (23:00 +0100)]
Make it possible to target only some providers with campaigns

5 months agoMake refund patterns shift by days instead of timestamps
Magnus Hagander [Tue, 3 Dec 2024 21:28:04 +0000 (22:28 +0100)]
Make refund patterns shift by days instead of timestamps

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.

5 months agoEnhance "copy from other conference" with timestamp shifts
Magnus Hagander [Tue, 3 Dec 2024 21:23:46 +0000 (22:23 +0100)]
Enhance "copy from other conference" with timestamp shifts

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

5 months agoFix column filters for "copy from previous conference"
Magnus Hagander [Tue, 3 Dec 2024 20:40:28 +0000 (21:40 +0100)]
Fix column filters for "copy from previous conference"

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.

5 months agoFor backend date/time fields, always show which timezone is used
Magnus Hagander [Tue, 3 Dec 2024 20:30:15 +0000 (21:30 +0100)]
For backend date/time fields, always show which timezone is used

5 months agoAdd explicit note about using our digial signature provider
Magnus Hagander [Tue, 3 Dec 2024 15:27:46 +0000 (16:27 +0100)]
Add explicit note about using our digial signature provider

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.

5 months agoRemove some leftover debug print in bluesky integration
Magnus Hagander [Tue, 3 Dec 2024 14:25:21 +0000 (15:25 +0100)]
Remove some leftover debug print in bluesky integration

5 months agoExclude withdrawn sessions when counting submissions against limit
Magnus Hagander [Sun, 1 Dec 2024 15:52:59 +0000 (16:52 +0100)]
Exclude withdrawn sessions when counting submissions against limit

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.

5 months agoFix missing return value in Bluesky token validation
Magnus Hagander [Sun, 1 Dec 2024 15:50:18 +0000 (16:50 +0100)]
Fix missing return value in Bluesky token validation

5 months agoFix verification of new bluesky form submission
Magnus Hagander [Wed, 27 Nov 2024 11:00:04 +0000 (12:00 +0100)]
Fix verification of new bluesky form submission

When creating a new message provider we can't compare the
username/password to an existing one because it doesn't exist yet..

5 months agoFix creation of regtypes that have cost
Magnus Hagander [Tue, 26 Nov 2024 11:50:56 +0000 (12:50 +0100)]
Fix creation of regtypes that have cost

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)

5 months agoAdd support for posting to Bluesky
Magnus Hagander [Sun, 24 Nov 2024 10:41:08 +0000 (11:41 +0100)]
Add support for posting to Bluesky

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.

5 months agoDon't crash in backend social media post viewer if provider is removed
Magnus Hagander [Sun, 24 Nov 2024 10:00:04 +0000 (11:00 +0100)]
Don't crash in backend social media post viewer if provider is removed

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.

5 months agoDon't list private announcents as an option when no channel configured
Magnus Hagander [Sun, 24 Nov 2024 09:59:14 +0000 (10:59 +0100)]
Don't list private announcents as an option when no channel configured

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.

5 months agoAllow sponsorship payment terms(due date) to be changed
Steve Singer [Sun, 24 Nov 2024 08:47:57 +0000 (09:47 +0100)]
Allow sponsorship payment terms(due date) to be changed

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

5 months agoRemove OFFSET from queries
Magnus Hagander [Tue, 19 Nov 2024 15:10:14 +0000 (16:10 +0100)]
Remove OFFSET from queries

This must be an old copy/paste, because we want to list all regclasses
not just the cases where there's more than one.

5 months agoFix attendee email filtering
Magnus Hagander [Tue, 19 Nov 2024 15:05:21 +0000 (16:05 +0100)]
Fix attendee email filtering

Commit afe20375 was supposed to remove individual-attendee emails, but
instead removed regclasses-emails.

5 months agoAdd support for reportlab 3.6 to the dev_requirements.txt
Magnus Hagander [Wed, 13 Nov 2024 13:52:29 +0000 (14:52 +0100)]
Add support for reportlab 3.6 to the dev_requirements.txt

AFAICT the system worked just fine with this before, but the
requirements.txt specifically locked in the version thats in Debian
Bullseye.

Generally it's still recommended to use the packaged version (which
worked with both Bullseye and Bookworm already).

Fixes #122 (even though nothing actually changes)

5 months agoDon't crash on no-data passed to svg charts
Magnus Hagander [Wed, 13 Nov 2024 13:25:44 +0000 (14:25 +0100)]
Don't crash on no-data passed to svg charts

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.

5 months agoFilter out individual attendee mails on default view
Magnus Hagander [Tue, 12 Nov 2024 16:20:09 +0000 (17:20 +0100)]
Filter out individual attendee mails on default view

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.

5 months agoHandle jinja2 renamed context decorators
Magnus Hagander [Tue, 12 Nov 2024 14:32:46 +0000 (15:32 +0100)]
Handle jinja2 renamed context decorators

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.

5 months agoAdd support for qrcode library, and make it default
Magnus Hagander [Tue, 12 Nov 2024 10:05:36 +0000 (11:05 +0100)]
Add support for qrcode library, and make it default

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

5 months agoGenerate a fake payment link when previewing invoice
Magnus Hagander [Tue, 12 Nov 2024 09:24:39 +0000 (10:24 +0100)]
Generate a fake payment link when previewing invoice

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.

6 months agoInclude invoice num in log of invoice created/canceled for regs
Magnus Hagander [Wed, 6 Nov 2024 14:53:08 +0000 (15:53 +0100)]
Include invoice num in log of invoice created/canceled for regs

6 months agoReplace a number of <input type="submit"> with <button type="submit">
Magnus Hagander [Wed, 6 Nov 2024 11:18:19 +0000 (12:18 +0100)]
Replace a number of <input type="submit"> with <button type="submit">

This separates the value posted from the text on the button, which
*hopefully* will prevent the errors caused by people using browser
extensions that translate the site, thereby submitting buttons in german
and french for example.

This only touches buttons on the frontend side, at least for now.
Backend users are expected to not use such extensions. And we keep
setting the value to the same as before, so that if some skins have
completely overriden the forms and added their own HTML, it will
continue to work.

This will likely require some frontend skins to update their CSS rules
to match. Things will still work without such changes, but will not look
as good.

Hopefully fixes #150

6 months agoAdd missing import
Magnus Hagander [Wed, 6 Nov 2024 11:13:01 +0000 (12:13 +0100)]
Add missing import

6 months agoFix crash on total time if all volunteers have zero time
Magnus Hagander [Tue, 5 Nov 2024 15:32:57 +0000 (16:32 +0100)]
Fix crash on total time if all volunteers have zero time

6 months agoFix volunteer sorting on time when time > 24 hours
Magnus Hagander [Tue, 5 Nov 2024 15:29:10 +0000 (16:29 +0100)]
Fix volunteer sorting on time when time > 24 hours

6 months agoSet default ordering of volunteer stats table
Magnus Hagander [Tue, 5 Nov 2024 15:20:15 +0000 (16:20 +0100)]
Set default ordering of volunteer stats table

6 months agoSwitch volunteer schedule stats to use DataTables
Magnus Hagander [Tue, 5 Nov 2024 15:15:56 +0000 (16:15 +0100)]
Switch volunteer schedule stats to use DataTables

This gives us things like sorting and searching, useful when the list is
long.

Fixes #139

6 months agoDon't query fields we don't care about for volunteer stats
Magnus Hagander [Tue, 5 Nov 2024 14:51:38 +0000 (15:51 +0100)]
Don't query fields we don't care about for volunteer stats

6 months agoPrevent signing up for volunteer slot when not a volunteer
Magnus Hagander [Tue, 5 Nov 2024 14:47:11 +0000 (15:47 +0100)]
Prevent signing up for volunteer slot when not a volunteer

This could happen when an admin goes through the backend interface to
reach the volunteer schedule, which would create entries that otherwise
are incomplete.

6 months agoDon't crash on contracts with no sender specific message
Magnus Hagander [Tue, 5 Nov 2024 13:09:15 +0000 (14:09 +0100)]
Don't crash on contracts with no sender specific message

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

6 months agoUse select for update before creating invoice for conference registration
Magnus Hagander [Tue, 5 Nov 2024 12:41:31 +0000 (13:41 +0100)]
Use select for update before creating invoice for conference registration

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.

6 months agoDon't crash when both removing and uploading PDF at the same time
Magnus Hagander [Tue, 5 Nov 2024 10:23:07 +0000 (11:23 +0100)]
Don't crash when both removing and uploading PDF at the same time

Noted by Karen Jex

6 months agoAttept to fix timezone issue in twitter interface
Magnus Hagander [Tue, 22 Oct 2024 14:13:00 +0000 (17:13 +0300)]
Attept to fix timezone issue in twitter interface

6 months agoAdd a dockerfile for deploystatic
Magnus Hagander [Fri, 18 Oct 2024 15:09:11 +0000 (17:09 +0200)]
Add a dockerfile for deploystatic

Since some platforms makes it hard to get the same version of jinja2
(and presumably other things) as we need, create a small Dockerfile
with an example based off the Debian version that we know work.

6 months agoSupport specifying an autocancel time for reg transfer invoices
Magnus Hagander [Thu, 17 Oct 2024 16:18:19 +0000 (18:18 +0200)]
Support specifying an autocancel time for reg transfer invoices

And default it to the autocancel for the conference, but allow the admin
creating the invoice to override if needed.

6 months agoAdd extra debugging on exceptions rendering badges
Magnus Hagander [Fri, 11 Oct 2024 17:50:59 +0000 (19:50 +0200)]
Add extra debugging on exceptions rendering badges

6 months agoAdd "Olympic scoring" method.
Vik Fearing [Thu, 10 Oct 2024 11:54:24 +0000 (13:54 +0200)]
Add "Olympic scoring" method.

If there are more than two votes, then one copy each of the highest and lowest
scores is removed before averaging.

6 months agoAdd missing word to template
Magnus Hagander [Thu, 10 Oct 2024 10:52:58 +0000 (12:52 +0200)]
Add missing word to template

7 months agoFix label for sentat column
Magnus Hagander [Tue, 8 Oct 2024 12:11:05 +0000 (14:11 +0200)]
Fix label for sentat column

7 months agoMake it possible to add a form warning just at the bottom
Magnus Hagander [Tue, 8 Oct 2024 12:10:18 +0000 (14:10 +0200)]
Make it possible to add a form warning just at the bottom

7 months agoDon't load a list of every user in the system when creating vouchers
Magnus Hagander [Tue, 8 Oct 2024 12:07:13 +0000 (14:07 +0200)]
Don't load a list of every user in the system when creating vouchers

7 months agoDecorate mailqueue views with @login_required
Magnus Hagander [Tue, 8 Oct 2024 12:05:59 +0000 (14:05 +0200)]
Decorate mailqueue views with @login_required

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.

7 months agoProperly name North Macedonia
Magnus Hagander [Tue, 8 Oct 2024 12:02:00 +0000 (14:02 +0200)]
Properly name North Macedonia

The country changed name a few years ago, our registration should
reflect that.

7 months agoJQuery isn't needed anymore, so fix documentation about skinning
Magnus Hagander [Wed, 25 Sep 2024 19:37:15 +0000 (21:37 +0200)]
JQuery isn't needed anymore, so fix documentation about skinning

The JQuery requirement was removed in d9211618, but it seems we forgot
to remove the documentation that it was required.

Spotted by Kaiting Chen

7 months agoSet nicer label for previewbackground field in admin editor
Magnus Hagander [Thu, 19 Sep 2024 08:09:14 +0000 (10:09 +0200)]
Set nicer label for previewbackground field in admin editor

7 months agoInclude claimid in exported sponsor claims data
Magnus Hagander [Fri, 13 Sep 2024 09:46:03 +0000 (11:46 +0200)]
Include claimid in exported sponsor claims data

7 months agoFor failed social media posts, show time for next attempt
Magnus Hagander [Wed, 11 Sep 2024 15:21:01 +0000 (17:21 +0200)]
For failed social media posts, show time for next attempt

7 months agoAllow unclaiming of sponsor sessions even after they're approved
Magnus Hagander [Wed, 11 Sep 2024 13:13:55 +0000 (15:13 +0200)]
Allow unclaiming of sponsor sessions even after they're approved

This just deletes the sessions, and also the speaker in case it had no
other sessions.

8 months agoAlso make DejaVu fonts available from Django.
Vik Fearing [Thu, 5 Sep 2024 07:39:18 +0000 (09:39 +0200)]
Also make DejaVu fonts available from Django.

Commit 5a07ecd9 only worked in standalone mode, and would error in
Django mode.  Fix that.

8 months agoAllow multiple fonts on the command line
Vik Fearing [Wed, 4 Sep 2024 11:26:29 +0000 (13:26 +0200)]
Allow multiple fonts on the command line

8 months agoAdd all fonts from the DejaVu family
Vik Fearing [Wed, 4 Sep 2024 09:44:12 +0000 (11:44 +0200)]
Add all fonts from the DejaVu family

8 months agoAdd another missing import
Magnus Hagander [Wed, 4 Sep 2024 16:21:07 +0000 (18:21 +0200)]
Add another missing import