summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
23 hoursAdd small tool to check for broken audio in video filesHEADmasterMagnus Hagander
23 hoursAdd tools to delete videos and to find session info from filenamesMagnus Hagander
24 hoursMove token handling for youtube into a separate fileMagnus Hagander
10 daysMake volunteer name link to their registration on the scheduleMagnus Hagander
Fixes #201
10 daysLink sponsor name to sponsor details in benefit matrixMagnus Hagander
Fixes #199
10 daysAdd warning messages for badly configured refund patternsMagnus Hagander
For refund patterns to work well, there should be no gaps (a day in between two defined patterns where there are suddenly no refunds would be strange) and it should have something open-ended at the beginning.
10 daysAdd support for cancel requestsMagnus Hagander
This makes it possible for an attendee to request a cancelation of their registration using a button on the registration dashboard (while signed in, which means it's known who the attendee is, and there is no need to verify emails). When they do so, a cancelation request is recorded and visible on the admin dashboard and an notification is sent to the admins. The actual cancelation still has to be done at this point, which gives the admin a chance to double check that refund patterns were OK and override if necessary.
10 daysMake it possible to return a "warning text" on backend listsMagnus Hagander
This can warn the user about inconsistent data, for example.
10 daysMake it possible to re-register with the same email addressMagnus Hagander
This moves the constraint that an email has to be unique per conference to only applying to non-canceled registrations, making it possible to cancel a registration and then restart the process with a new one if necessary, while logged in as the same user. This can for example be used to cancel a general registration for someone who then wants to register as a speaker, and can use the same email and userid. The canceled registration will remain, but have the attendee set to NULL and move the attendee to registrator, meaning we can still track it and the attendee can still see it themselves, making it possible to access things like invoices after the completion. The cross conference email is set up to handle this case without sending duplicates email. There are likely some other places around that may need some adjustments that haven't been found yet.
12 daysStructure speakers in the the json/yaml version of the session exportSteve Singer
This also changes the field order of the csv export session export
12 daysAdd support for setting privacy when syncing videosMagnus Hagander
12 daysRemove unused parameterMagnus Hagander
12 daysSupport matching multiple payments to one invoiceMagnus Hagander
Sometimes the senders underpay and the correct that, and this way we can process that without doing it manually. Just like multi-invoice matching, this does not support payments with fees, those still have to be handled manually.
2025-11-26Add tool to sync session videos with YouTube playlistsMagnus Hagander
This tool can use templating to map session names/times/whatevers to filenames matching session recordings, and then upload those files to youtube and build a playlist for them. Session descriptions and speakers are also copied to the playlist, with the formatting of the title etc controlled by jinja2 templates. The source for the session data is the "json schedule dump" saved or downloaded using a token URL.
2025-11-17Add tool to generate images from schedule dataMagnus Hagander
This is a trivial tool to generate images for each session in the system. This can be used to for example generate screens to show on monitors outside the conference rooms, or tor generate slides to show in the rooms in between talks. Based off an idea from Chris Ellis but reimplemented using jinja2 templates (and python instead of node.js) to use the same templates as the rest of the system uses.
2025-11-16Add support for uploading files with metadata to conferencesMagnus Hagander
This adds a framework for uploading structured data to the system, which will then be merged with existing data. It also adds an implementation that allows uploading of video links to populate the database.
2025-11-10Try to fix handling of transferwise returned paymentsMagnus Hagander
This also changed when they killed the old API, but we hadn't seen one yet..
2025-11-03Include session abstract in json data dumpsMagnus Hagander
2025-11-03Include matched email for sponsor speakers in "unregistered speakers" reportMagnus Hagander
2025-10-23Fix logic for people trying to give feedback without regMagnus Hagander
Previosly the code catered for "has a registration of a type that's free but it's not confirmed", but these days the zero cost registrations *also* get the payconfirmedat flag set, so we don't need to look beyond that.
2025-10-16Add pronouns to attendee reportsMagnus Hagander
Adds the ability to show and filter on pronouns. This was mistakenly omitted and only included in the json dumps. Spotted by Karen Jex
2025-10-14Sort conferences in "copy from another year" viewMagnus Hagander
In passing, also make it just include the name in the query, for efficiency.
2025-10-13Fix crash on verify-regtype additional options with no regtypeMagnus Hagander
If an additional option was that required a specific regtype was selected but the registration had *no* regtype (can happen on a new registration, if the user ignores the regtype selection at the top and just ticks off the additional option at the bottom), instead of crashing just tell the user what the required regtypes are.
2025-10-10Re-implement Trustly refund tracker on top of the ledgerMagnus Hagander
Previously we explicitly called the API about the withdrawal entry, but that API is now restricted. And we don't *really* need it -- refunds show up on the ledger, so just use that. The only case this doesn't work is refunds in a different currency, and in that case we just estimate the fees and send a notice to hope for the best :) It's not a common scenario, and not worth spending too much on (in production it has never happened outside of testing). To do this, we now track refund transactions int he TrustlyWithdrawals table, and also store the orderid on them if we have them. This removes the separate job to match trustly refunds, and handles it all from the fetch withdrawals job. Not fully tested since it needs production data, so expect some follow-up commits..
2025-10-07This README is already in markdown, name it as suchMagnus Hagander
Naming it .md will for example make github render it as markdown.
2025-10-07Minor documentation updates for the new settings loading schemeMagnus Hagander
2025-10-07Allow loading settings from outside of the postgresqleu moduleMarkus Wanner
To ease building docker images and prevent having to maintain an in-tree file for local settings, allow a pgeu_system_global_settings module anywhere in the PYTHONPATH for configuration. In addition, also allow overrides to be applied after loading the skin through a pgeu_system_override_settings module in PYTHONPATH.
2025-10-07Disallow searches for empty stringMagnus Hagander
This was already blocked in the frontend, but this is something that should be checked in the backend too.
2025-10-07Allow check-in searches on multiple words to be splitMagnus Hagander
Previously a search for "first last" would require it to be specified exactly like that as part of either first or last name, and thus unlikely ever match anything. Change that to split the search string on whitespace and search individually for each of the names. Fixes #191
2025-10-07Allow sessions with the same title on different tracksMagnus Hagander
Commit 1a0b919c prevented submission of a session with the same title as already existed to avoid "bounces". But we want to accept the same title as long as they're on different tracks, for example if someone wants to submit both a long and a short version for consideration. Reported by Karen Jex
2025-10-07Fix editing of submitted sessions on cfpMagnus Hagander
Commit 1a0b919c added verification that one didn't submit the same session twice, but as a side-effcect that also prevented editing an existing session. Reported by Andrey Borodin
2025-10-01Allow specifying check-in highlighted messages per registrationMagnus Hagander
This will be prepended to the check-in message that's set on the registration type, if both are set. Can be used to highlight an individual attendee for specific handling during check-in, e.g. brint attention about a keynote speaker.
2025-09-30Optimze query fetching registration listMagnus Hagander
Avoid querying all the fields that we're never going to use. Makes it worth it since it can be a lot of data. In passing also fix some typos in the field references that could end up with bad sorting.
2025-09-27Actually allow incomplete registrations to b added to addoptsMagnus Hagander
The fields allowed incomplete registrations to be added to the list of users for an additional options, but the lookups that generated the autocomplete lists did not include them, so in the end it couldn't actually be used. To fix it we have to create a new lookup that includes this set of users. Spotted by Andreas Scherbaum
2025-09-22Include pronouns in json reportMagnus Hagander
This is needed so they can be shown on a badge when doing trial printing. Reported by Jimmy Angelakos
2025-09-22Fix typos in variable namesMagnus Hagander
2025-09-22Allow for non-existing paypal transaction details keyMagnus Hagander
Contrary to their own documentation, Paypal now returns a json object with no 'transaction_details' key when there are no matching transactions (previously and per documentation they should return an empty array). To work around this, treat the case of missing key the same as an empty array.
2025-09-22Fix typo in conference entry pageDaniel Gustafsson
s/menas/means/, spotted while doing event maintenance this morning.
2025-09-17Bump debian to bookworm in deploystatic containerMagnus Hagander
2025-09-17Add documentation reference to dockerized jinjapdfMagnus Hagander
2025-09-17Add building of a docker container for jinjapdfMagnus Hagander
As some platforms can be challenging to find the correct versions of the required files, add a pre-built docker container that people can use, similar to what we do with deploystatic.
2025-09-17Add template debug flag to jinjapdf.pyMagnus Hagander
This will simply print the whole template output from jinja, before trying to load it as json. Helps debug when rendering problems generate output that just isn't json.
2025-09-17Add missing importsMagnus Hagander
2025-09-17Include slugified sponsor display name in token dataMagnus Hagander
Commit a7ca59dc added to the dashboard for human consumption but it makes sense to also have it in the json/yaml data downloads. This also makes it possible to simplify the fetch_sponsorfiles.py script since it no longer needs a copy of the django slugify function.
2025-09-17Add support for drawing cutmarks on badges, not just bordersMagnus Hagander
Cutmarks are what most printers want. Instead of having to hardcode them into individual badges, add system support for drawing them automatically. In relation to this, also add support for calculating bleed for both cutmarks and borders
2025-09-17Fix formatting errorMagnus Hagander
2025-09-17Add reference link from report docs to skinning docsMagnus Hagander
2025-09-17Document hint about setting PYTHONPATHMagnus Hagander
2025-09-17Fix independent loading of contextutilMagnus Hagander
Contextutil is loaded by jinjapdf, but didn't work without patching away access to settings. Fix that, so it's back to working independently.
2025-09-17Add missing closing tagMagnus Hagander