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

11 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

11 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

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

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

11 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

12 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

12 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

12 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

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

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

12 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

12 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

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

12 months agoFix two misspellings of status
Magnus Hagander [Wed, 4 Sep 2024 15:35:03 +0000 (17:35 +0200)]
Fix two misspellings of status

12 months agoAdd missing import
Magnus Hagander [Wed, 4 Sep 2024 15:16:04 +0000 (17:16 +0200)]
Add missing import

12 months agoFix cancellation of invoices manually flagged as paid
Magnus Hagander [Tue, 3 Sep 2024 14:01:21 +0000 (16:01 +0200)]
Fix cancellation of invoices manually flagged as paid

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

12 months agoFix dumb typo in attribute name
Magnus Hagander [Tue, 3 Sep 2024 13:55:52 +0000 (15:55 +0200)]
Fix dumb typo in attribute name

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.

12 months agoClarify status of pending attendee emails
Magnus Hagander [Wed, 21 Aug 2024 15:04:07 +0000 (17:04 +0200)]
Clarify status of pending attendee emails

Separate out "not sent yet" from "not supposed to be sent yet".

12 months agoRemove unused import
Magnus Hagander [Wed, 21 Aug 2024 15:32:28 +0000 (17:32 +0200)]
Remove unused import

13 months agoList which fields are available when building tweet templates
Magnus Hagander [Wed, 21 Aug 2024 11:47:55 +0000 (13:47 +0200)]
List which fields are available when building tweet templates

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.

13 months agoMark some missing unsafe attributes
Magnus Hagander [Wed, 21 Aug 2024 11:35:38 +0000 (13:35 +0200)]
Mark some missing unsafe attributes

13 months agoAdd function to get list of (sandbox approved) attributes from classes
Magnus Hagander [Wed, 21 Aug 2024 11:35:00 +0000 (13:35 +0200)]
Add function to get list of (sandbox approved) attributes from classes

13 months agoAdd some generic useful templatetags to identify types
Magnus Hagander [Wed, 21 Aug 2024 11:33:11 +0000 (13:33 +0200)]
Add some generic useful templatetags to identify types

13 months agoAdd a widget to show a simple treeview
Magnus Hagander [Wed, 21 Aug 2024 11:32:37 +0000 (13:32 +0200)]
Add a widget to show a simple treeview

13 months agoAdd a form control for previewing HTML
Magnus Hagander [Fri, 9 Aug 2024 15:48:42 +0000 (17:48 +0200)]
Add a form control for previewing HTML

This uses (partially) the pgweb code for loading previewable HTML into
an iframe sandbox.

13 months agoRemove debugging code accidentally left in
Magnus Hagander [Tue, 20 Aug 2024 15:36:04 +0000 (17:36 +0200)]
Remove debugging code accidentally left in

13 months agoIndicate if a benefit has expired in the sponsor overview matrix
Magnus Hagander [Tue, 20 Aug 2024 08:33:48 +0000 (10:33 +0200)]
Indicate if a benefit has expired in the sponsor overview matrix

13 months agoAdd a template tag to access an array by index
Magnus Hagander [Tue, 20 Aug 2024 08:33:16 +0000 (10:33 +0200)]
Add a template tag to access an array by index

For some reason, django won't let us do that from a template, so we have
to add our own.

13 months agoRemove support for templtaes in attendee emails
Magnus Hagander [Mon, 19 Aug 2024 13:23:42 +0000 (15:23 +0200)]
Remove support for templtaes in attendee emails

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.

13 months agoRemove dependency on pgcrypto
Magnus Hagander [Mon, 19 Aug 2024 11:15:05 +0000 (13:15 +0200)]
Remove dependency on pgcrypto

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.

13 months agoRemove extra period.
Magnus Hagander [Mon, 19 Aug 2024 10:49:19 +0000 (12:49 +0200)]
Remove extra period.

13 months agoFix typo
Magnus Hagander [Fri, 9 Aug 2024 15:49:15 +0000 (17:49 +0200)]
Fix typo

13 months agodjango.conf.urls.url() was deprecated in Django 3.0, and was removed in
Dan Langille [Fri, 9 Aug 2024 01:22:16 +0000 (01:22 +0000)]
django.conf.urls.url() was deprecated in Django 3.0, and was removed in
Django 4.0

13 months agoUse send_conference_simple_mail for conference related mail
Magnus Hagander [Tue, 6 Aug 2024 11:02:09 +0000 (13:02 +0200)]
Use send_conference_simple_mail for conference related mail

13 months agoRemove unusd import
Magnus Hagander [Tue, 6 Aug 2024 11:01:16 +0000 (13:01 +0200)]
Remove unusd import

13 months agoMake confwiki send notifications using send_conference_notification
Magnus Hagander [Tue, 6 Aug 2024 11:00:54 +0000 (13:00 +0200)]
Make confwiki send notifications using send_conference_notification

13 months agoCalculate, store and use etags on speaker photos
Magnus Hagander [Mon, 5 Aug 2024 12:00:57 +0000 (14:00 +0200)]
Calculate, store and use etags on speaker photos

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.

13 months agoFix invalid option passing
Magnus Hagander [Tue, 30 Jul 2024 14:02:59 +0000 (16:02 +0200)]
Fix invalid option passing

13 months agoAllow overriding how far back to fetch Wise transactions
Magnus Hagander [Tue, 30 Jul 2024 14:01:50 +0000 (16:01 +0200)]
Allow overriding how far back to fetch Wise transactions

13 months agoFix query for nagios alerts on unsent social media broadcasts
Magnus Hagander [Tue, 23 Jul 2024 13:02:11 +0000 (15:02 +0200)]
Fix query for nagios alerts on unsent social media broadcasts

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.

13 months agoCheck instance.pk, not instance.id, for members get_list
Magnus Hagander [Mon, 22 Jul 2024 17:49:09 +0000 (19:49 +0200)]
Check instance.pk, not instance.id, for members get_list

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

13 months agoFix typo that caused message token refresh to never run in background
Magnus Hagander [Mon, 22 Jul 2024 12:42:53 +0000 (14:42 +0200)]
Fix typo that caused message token refresh to never run in background

14 months agoAllow comma directly after batch number when matching adyen payouts
Magnus Hagander [Mon, 1 Jul 2024 10:38:12 +0000 (12:38 +0200)]
Allow comma directly after batch number when matching adyen payouts

14 months agoShow social media post status per network even for single text posts
Magnus Hagander [Wed, 26 Jun 2024 15:31:47 +0000 (17:31 +0200)]
Show social media post status per network even for single text posts

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.

14 months agoCache inactive messaging providers when viewing the queue
Magnus Hagander [Tue, 25 Jun 2024 14:08:54 +0000 (16:08 +0200)]
Cache inactive messaging providers when viewing the queue

Without this, if a provider goes from active -> inactive when there are
existing posts, we'd crash the view of the existing ones.

14 months agoMake it possible to confirm sponsor benefits without triggering social media
Magnus Hagander [Tue, 25 Jun 2024 14:05:56 +0000 (16:05 +0200)]
Make it possible to confirm sponsor benefits without triggering social media

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.

14 months agoDon't render broken image tags for declined benefits
Magnus Hagander [Tue, 25 Jun 2024 13:52:42 +0000 (15:52 +0200)]
Don't render broken image tags for declined benefits

14 months agoAdd a preview step when sponsors upload images
Magnus Hagander [Tue, 25 Jun 2024 13:49:02 +0000 (15:49 +0200)]
Add a preview step when sponsors upload images

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.

14 months agoAdd ability to do preview-on-background on uploaded images
Magnus Hagander [Tue, 25 Jun 2024 13:46:07 +0000 (15:46 +0200)]
Add ability to do preview-on-background on uploaded images

This allows the admin to configure a color to use as preview background
for the image upload sponsor benefit. Particularly useful for allowing
the previewing the transparency of an image to be used no a website
that has a non-white background,.

14 months agoMove color_validator to shared file
Magnus Hagander [Tue, 25 Jun 2024 13:35:29 +0000 (15:35 +0200)]
Move color_validator to shared file

14 months agoReplace newline with <br/> in signwell messages
Magnus Hagander [Tue, 25 Jun 2024 10:06:27 +0000 (12:06 +0200)]
Replace newline with <br/> in signwell messages

When attaching a message to a contract, it looksl ike Signwell accepts
html (the format isn't really documented), so this is a way to make the
message a lot nicer.

14 months agoDon't ask for manager when sending manual additional contracts
Magnus Hagander [Tue, 25 Jun 2024 09:57:42 +0000 (11:57 +0200)]
Don't ask for manager when sending manual additional contracts

We don't use the manager anyway, we send it to all -- and the help text
already said we do, but the field was still in the form.

14 months agoAdd exact error times to Mastodon poll times
Magnus Hagander [Mon, 24 Jun 2024 14:28:09 +0000 (16:28 +0200)]
Add exact error times to Mastodon poll times

Anything to find a pattern.

14 months agoAdd a default value for GOCARDLESS_COUNTRY
Magnus Hagander [Mon, 24 Jun 2024 14:19:13 +0000 (16:19 +0200)]
Add a default value for GOCARDLESS_COUNTRY

14 months agoDisable persistent connections for Mastodon provider
Magnus Hagander [Mon, 24 Jun 2024 14:11:42 +0000 (16:11 +0200)]
Disable persistent connections for Mastodon provider

Perhaps it's the use of multiple parallel persistent connections that
breaks mastodon.social? Who knows, but it's worth a try since we don't
really make any useful use of the persistent connections anyway.

14 months agoAdd payment provider for Gocardless bank account data
Magnus Hagander [Mon, 24 Jun 2024 13:56:36 +0000 (15:56 +0200)]
Add payment provider for Gocardless bank account data

They provide a service similar to Plaid but better layed out for small
organisations (in Europe at least) for now. Let's see how long that
lasts, but for now here's a basic provider that works very similar to
the Plaid one, except it does not support webhooks.

14 months agoDon't try to post empty content on multiprovider tweets
Magnus Hagander [Fri, 21 Jun 2024 19:27:51 +0000 (21:27 +0200)]
Don't try to post empty content on multiprovider tweets

When rendering multiprovider tweets, if there is no messaging at all
defined, we get no text, and that's normal. However, when then also need
to check for no text at all in the posting side of things *before* we
check for providers, or we will violate a database constraint.

Of course, one should define tweet templates when there is no messaging
configuration, but we should also not crash if it's done.

Spotted by Karen Jex

15 months agoFix typo
Magnus Hagander [Fri, 21 Jun 2024 17:06:54 +0000 (19:06 +0200)]
Fix typo

15 months agoPlaid no longer supports a development environment, change default
Magnus Hagander [Fri, 21 Jun 2024 15:34:24 +0000 (17:34 +0200)]
Plaid no longer supports a development environment, change default

15 months agoMake deadlines even more clear on the sponsor dashboard
Magnus Hagander [Wed, 19 Jun 2024 15:21:06 +0000 (17:21 +0200)]
Make deadlines even more clear on the sponsor dashboard

Bold, and write it in two places. Also, specify the exact timezone.

15 months agoTrap exceptions when posting to social media
Magnus Hagander [Wed, 19 Jun 2024 14:51:47 +0000 (16:51 +0200)]
Trap exceptions when posting to social media

The providers themselves would catch some exceptions and turn them into
proper error messages, but for the cases where they don't, we want the
loop in the sender to do so for us and just log the exception message.

15 months agoAllow re-sending contracts to instant buy levels
Magnus Hagander [Tue, 18 Jun 2024 15:22:51 +0000 (17:22 +0200)]
Allow re-sending contracts to instant buy levels

These levels by definitoin don't need a contract, but some sponsors
still want it...

15 months agoMake it possible to have some benefits not included in token data
Magnus Hagander [Sun, 16 Jun 2024 14:25:24 +0000 (16:25 +0200)]
Make it possible to have some benefits not included in token data

15 months agoFix typo
Magnus Hagander [Sun, 16 Jun 2024 14:17:51 +0000 (16:17 +0200)]
Fix typo

15 months agoRender linebreaks in multi-line text sponsor benefits
Magnus Hagander [Sun, 16 Jun 2024 13:51:45 +0000 (15:51 +0200)]
Render linebreaks in multi-line text sponsor benefits

We'll want to look into markdown support at some point, but as a
quickfix at least render newlines in large texts.

15 months agoAdd basic rate limiter for Mastodon API calls
Magnus Hagander [Sun, 16 Jun 2024 12:11:42 +0000 (14:11 +0200)]
Add basic rate limiter for Mastodon API calls

It seems at leaast mastodon.social may have implemented rate limiting at
the TCP level (afaict). To work aroud this, implement a 15 second rate
limit for Mastodon API calls to individual providers (allow other calls
to go quicker). As this is done per-process it only affects batch jobs,
but those are also the only ones with the issue.

Uncertain if this will actually work since the limit isn't documented
(unlike the http level limit), but it's worth a try.

15 months agoAlways sort benefits by id in token based json update
Magnus Hagander [Fri, 14 Jun 2024 08:53:39 +0000 (10:53 +0200)]
Always sort benefits by id in token based json update

This can otherwise lead to weird diffs in downstream projects that pull
it down, when unordered data changes.

15 months agoStop referring to "new style jinja root"
Magnus Hagander [Tue, 11 Jun 2024 08:28:21 +0000 (10:28 +0200)]
Stop referring to "new style jinja root"

This hasn't been new style for many many years, and there is only one
style supported anyway. (Change only to help text)

15 months agoTeach sponsor VAT validation about the Greece exceptoin
Magnus Hagander [Thu, 6 Jun 2024 20:55:46 +0000 (22:55 +0200)]
Teach sponsor VAT validation about the Greece exceptoin

Other than validating the VAT number (which worked), we also ensured the
first two characters were the ISO code of a valid country. Turns out
this only applies to all other countries thant Greece -- Greece uses EL
which is not a valid country code. So map the Greece exception to the
Greece country code, thus allowing signups from there.

15 months agoAccept paypal code T0700 as a payment
Magnus Hagander [Thu, 6 Jun 2024 20:42:48 +0000 (22:42 +0200)]
Accept paypal code T0700 as a payment

This is one never seen before and seems to be used for shipping labels.
Bring it in and treat it like any other.

Noted by Christophe Pettus, but not his patch - going for a minimalistic
one. This code may need some further refactoring down the road.

15 months agoActually sort the tracks by the tracks sort key in the cfp form
Magnus Hagander [Thu, 30 May 2024 20:36:38 +0000 (22:36 +0200)]
Actually sort the tracks by the tracks sort key in the cfp form

Previously it was only used in the backend, not in the cfp form, which
is just wrong.

15 months agoReturn sponsors inside level in predictable order in tokendata
Magnus Hagander [Thu, 30 May 2024 18:59:32 +0000 (20:59 +0200)]
Return sponsors inside level in predictable order in tokendata

It doesn't really matter which order as the receiver is supposed to sort
it by whatever their rules are, but we should at least make it
predictable so we don't generate unnecessarily large diffs.

15 months agoAdd a class to conference feedback fieldsets
Magnus Hagander [Tue, 28 May 2024 20:03:52 +0000 (22:03 +0200)]
Add a class to conference feedback fieldsets

15 months agoTrap and handle really invalid URLs from sponsor signup
Magnus Hagander [Tue, 28 May 2024 16:15:30 +0000 (18:15 +0200)]
Trap and handle really invalid URLs from sponsor signup

If a URL is *really* invalid, we could crash with an exception instead
of showing a form error.

15 months agoFix attendee emails for direct-recipient addressing
Magnus Hagander [Fri, 24 May 2024 21:21:03 +0000 (23:21 +0200)]
Fix attendee emails for direct-recipient addressing

15 months agoClearly sort unconfirmed sponsors by signup date
Magnus Hagander [Wed, 22 May 2024 20:04:27 +0000 (22:04 +0200)]
Clearly sort unconfirmed sponsors by signup date

15 months agoTeach fetch_sponsorfiles.py to optionally add downloaded files to git
Magnus Hagander [Wed, 22 May 2024 20:00:53 +0000 (22:00 +0200)]
Teach fetch_sponsorfiles.py to optionally add downloaded files to git

15 months agoFix copy/paste error
Magnus Hagander [Wed, 22 May 2024 12:19:41 +0000 (14:19 +0200)]
Fix copy/paste error

15 months agoFix typo
Magnus Hagander [Wed, 22 May 2024 11:53:22 +0000 (13:53 +0200)]
Fix typo

16 months agoShow error when trying to set value to non-existant dynamic field
Magnus Hagander [Mon, 20 May 2024 19:23:07 +0000 (21:23 +0200)]
Show error when trying to set value to non-existant dynamic field

When no dynamic field at all exists, the list is empty string. Which
python splits into an array of a single empty string, which would then
allow us to try to set the value on a field with no name (which of
course didn't work, but failed silently). So instead fail with a proper
error message.

Spotted by Melanie Plageman

16 months agoSend notification when secondary speaker is added during cfp
Magnus Hagander [Sun, 19 May 2024 18:03:21 +0000 (20:03 +0200)]
Send notification when secondary speaker is added during cfp

When speaker A adds speaker B as a co-speaker of a session, send a
notification to speakear B about this so they're not surprised by it.

This only happens during the cfp process, not if admins make changes in
the backend (and per that it cannot happen after the cfp has closed).

Suggested by Karen Jex

16 months agoImplement max submission count in call for papers
Magnus Hagander [Sat, 18 May 2024 09:57:45 +0000 (11:57 +0200)]
Implement max submission count in call for papers

This makes possible to optionally restrict how many submissions someone
can make to a conference call for papers.

Fixes #70

16 months agoImplement messaging config validation for Mastodon
Magnus Hagander [Sat, 18 May 2024 08:28:18 +0000 (10:28 +0200)]
Implement messaging config validation for Mastodon

This was clearly missed when Mastordon support was added, and is pretty
trivial to do - we just need to try to fetch our own account info (like
we already do on twitter)

16 months agoAdd basic Linkedin messaging provider
Magnus Hagander [Sat, 18 May 2024 08:23:43 +0000 (10:23 +0200)]
Add basic Linkedin messaging provider

For now, this provider only supports basic publishing of entries as
post. It does not support any polling, and it does not support
collecting sponsor/speaker id's and highlighting them in notices. This
can be added later, but it can't be done properly without linkedin app
credentials that are not rate limited (the default), and you can't get
those credentials without already having an app.

As linkedin doesn't support the offline code flow for logins, this also
implements an oauth endpoint for incoming oauth flows for messaging
provider.

Finally, unlike the other messaging providers, linkedin actually expire
their oauth tokens - 2 months for the access token and 12 months for the
refresh token. To handle that, implement token refresh as part of the
validation flow, and simply flag that one as failed if the login doesn't
work.

16 months agoFix scheduling of message integration checker
Magnus Hagander [Sat, 18 May 2024 07:51:53 +0000 (09:51 +0200)]
Fix scheduling of message integration checker

This time schedule for this integration was incorrectly configured,
resulting in it not being scheduled at all by default.

16 months agoAdd ability for social media providers to specify help for fields
Magnus Hagander [Thu, 16 May 2024 21:02:38 +0000 (23:02 +0200)]
Add ability for social media providers to specify help for fields

16 months agoMake it possible to filter social media fields per source
Magnus Hagander [Thu, 16 May 2024 21:01:06 +0000 (23:01 +0200)]
Make it possible to filter social media fields per source

This allows a media provider to for exapmle say that it can only
register sponsor accounts, not speaker accounts. All existing
implementations support all kinds of registrations, but it's
infrastructure for the future.

16 months agoFix typo
Magnus Hagander [Thu, 16 May 2024 19:26:49 +0000 (21:26 +0200)]
Fix typo

16 months agoRemove unused import
Magnus Hagander [Thu, 16 May 2024 19:10:18 +0000 (21:10 +0200)]
Remove unused import

16 months agoFix typo
Magnus Hagander [Thu, 16 May 2024 10:18:41 +0000 (12:18 +0200)]
Fix typo

16 months agoFix indentation error from copy/pasting text for sponsor emails
Magnus Hagander [Thu, 16 May 2024 09:11:58 +0000 (11:11 +0200)]
Fix indentation error from copy/pasting text for sponsor emails

The actual emails going out were correctly indented, but the
notification to admins that it had been sent had a weird mix.

16 months agoAdd ability to schedule attendee emails for the future
Magnus Hagander [Tue, 14 May 2024 18:24:17 +0000 (20:24 +0200)]
Add ability to schedule attendee emails for the future

This includes both direct attendee emails, and also those that are for
example sent to speakers of a session. This also removes the support for
sending such emails *without* storing them as attendee emails, as that
wouldn't leave us with a way to track what's been sent and what hasn't.

Fixes #90

16 months agoAdd ability to schedule confsponsor emails for the future
Magnus Hagander [Tue, 14 May 2024 14:17:36 +0000 (16:17 +0200)]
Add ability to schedule confsponsor emails for the future

Start proper work on #90, but is not complete yet

16 months agoAdd ability to low-level queue emails in the future
Magnus Hagander [Tue, 14 May 2024 13:03:05 +0000 (15:03 +0200)]
Add ability to low-level queue emails in the future

Most of the system won't be using this, but it's still good to have for
completeness sake.

16 months agoTrack regtime separate from sendtime on queued emails
Magnus Hagander [Tue, 14 May 2024 12:12:24 +0000 (14:12 +0200)]
Track regtime separate from sendtime on queued emails

The regtime is always set to the extact time that an email was added. If
a different sendtime is specified, it's still good to be able to track
when something was added to the queue.

16 months agoDisable USE_L10N
Magnus Hagander [Tue, 14 May 2024 12:07:34 +0000 (14:07 +0200)]
Disable USE_L10N

This is default on in Django 4.2, but that makes it sometimes pick a
different default date format thatn we normally want. Since we want to
be in full control of that, turn off this in django.

16 months agoFix typo
Magnus Hagander [Tue, 14 May 2024 12:02:26 +0000 (14:02 +0200)]
Fix typo

16 months agoComplete the sendtime handling for mailqueue
Magnus Hagander [Tue, 14 May 2024 11:46:20 +0000 (13:46 +0200)]
Complete the sendtime handling for mailqueue

Sync up the "warning button" filtering with that of the alerts, which
means we donÍ„'t alert for emails that aren't supposed to be sent yet.
This becomes more relevant as we also stop trying to send emails that
are set to be sent in the future, in preparation for upcoming
functionality to schedule email sending.

16 months agoSync up old migrations after django 4.2 update
Magnus Hagander [Mon, 13 May 2024 08:21:19 +0000 (10:21 +0200)]
Sync up old migrations after django 4.2 update

Seems django 4.2 reqiures some fields to be defined slightly differently
for the same thing. Backpatch this into the old migrations, as there are
no actual changes to the models or to the result of the migration.