Commit Graph
154 Commits
Author SHA1 Message Date
Raphael MichelandGitHub 5c448279f0 API: Make all mutating endpoints transactional (#6430)
All of our API endpoints that do something in the system do at least two
SQL queries, one for the actual change and one for the log entry. Often
many more. We want all of this to happen in a transaction so we know an
API call was executed or not at all, not half-way.
2026-08-05 16:52:28 +02:00
Kara Engelhardtandpajowu a4d10d9550 Sendmail: clarify order status labels (Z#23230149) 2026-07-22 13:43:07 +02:00
Lukas BockstallerandGitHub 634754aacb repair sendmail rules so we don't send emails to all positions in order independent of checkin status (Z#23235255) (#6340)
* add repro for Z#23235255

* add testcase for fallback to order.email

* only send to orderpositions included in op_qs

* codestyle
2026-07-07 17:46:52 +02:00
pajowuandGitHub 27148324a6 sendmail: Add missing cleanup migration (#6158) 2026-05-11 14:53:47 +02:00
pajowuandGitHub 5bbbf0334d sendmail: Do not copy rules with subevent when closing an event (Z#23233683) (#6156) 2026-05-06 15:56:06 +02:00
df0b580dd6 Pluggable permissions (#5728)
* Data model draft

* Refactor query and assignment usages of old permissions

* Backend UI

* API serializer

* Big string replace

* Docs, tests and fixes for teams api

* Update docs for device auth

* Eliminate old names

* Make tests pass

* Use new permissions, remove inconsistencies

* Add test for translations

* Show plugin permissions

* Add permission for seating plans

* Fix plugin activation

* Fix failing test

* Refactor to permission groups

* Update doc/api/resources/devices.rst

Co-authored-by: luelista <weller@rami.io>

* Update doc/api/resources/events.rst

Co-authored-by: luelista <weller@rami.io>

* Update src/pretix/api/serializers/organizer.py

Co-authored-by: luelista <weller@rami.io>

* Fix typo

* Fix python version compat

* Replacement after rebase

* Add proper permission handling for exports

* Docs for exporters

* Runtime linting of permission names

* Fix typos

* Show export page even without orders permission

* More legacy compat

* Do not strongly validate before plugins are loaded

* Rebase migration

* Add permission for outgoing mails

* Review notes

* Update doc/api/resources/teams.rst

Co-authored-by: Richard Schreiber <schreiber@pretix.eu>

* Clean up logic around exporters

* Review and failures

* Fix migration leading to forbidden combination

* Handle permissions on event copying

* Remove print-statements

* Make test clearer

* Review feedback

* Add AnyPermissionOf

* migration safety

---------

Co-authored-by: luelista <weller@rami.io>
Co-authored-by: Richard Schreiber <schreiber@pretix.eu>
2026-03-17 14:43:56 +01:00
Raphael MichelandGitHub 4f449ce6b4 Mail: Handle all rendering in mail.py, return values for log (#5895)
* Mail: Handle all rendering in mail.py, return values for log

* Apply suggestions from code review
2026-03-10 09:53:09 +01:00
Raphael MichelandGitHub c40e34af57 Model-based mail queuing 2026-01-30 10:43:02 +01:00
Raphael MichelandGitHub 8854ae3187 Sendmail: Chunk query to prevent high memory load (Z#23217167) (#5699) 2025-12-19 15:44:43 +01:00
Raphael MichelandGitHub 177a7d07fc Update license header (#5540) 2025-10-10 15:32:46 +02:00
luelistaandGitHub e5301dcdc5 Clarify plugin signal docstrings (#5397) 2025-09-05 18:27:04 +02:00
a8f74d87ec Sendmail: Fix selector for pending/overdue for scheduled messages (Z#23202906) (#5338)
* Sendmail: Fix selector for pending/overdue for scheduled messages (Z#287303)

* isort

* Apply suggestions from code review

---------

Co-authored-by: Raphael Michel <michel@rami.io>
2025-08-04 15:45:17 +02:00
Richard SchreiberandGitHub 14d6013292 FormFields: remove placeholders duplicating labels (#5135) 2025-07-10 16:06:36 +02:00
luelistaandGitHub b5e20df508 Use proper log entry types for waiting list emails (#5070) (#5219) 2025-06-12 14:03:40 +02:00
Raphael MichelandGitHub f475781a89 Order email history: Record more information about attachments (Z#23185463) (#4914) 2025-03-18 08:58:54 +01:00
c8d4815c9e LogEntryType registry (#4235)
Move display of LogEntry details from the `logentry_display` and 
`logentry_object_link` signals to a class hierarchy based approach. 
For each action_type, an instance of a subclass of `LogEntryType` 
is registered in the `log_entry_types` registry.

Analogous to EventPluginSignal, this registry is an `EventPluginRegistry`, 
so it keeps track of the plugin the LogEntryType is defined in.

---------

Co-authored-by: Raphael Michel <michel@rami.io>
Co-authored-by: Richard Schreiber <schreiber@rami.io>
2025-01-16 13:05:57 +01:00
2dc625cf31 Add the option to introduce rich-text placeholders (#4657)
* Add the option to introduce rich-text placeholders

* Add tests in test_format

* Add some css

* Block vs inline

* Some fixed css

* Update src/pretix/control/forms/event.py

Co-authored-by: Mira <weller@rami.io>

* Add missing docstring prat

---------

Co-authored-by: Mira <weller@rami.io>
2024-12-03 11:38:15 +01:00
Raphael MichelandGitHub 76ecec8b98 Scheduled mails: Allow subevent-dependent placeholders (Z#23171818) (#4629) 2024-11-19 10:50:10 +01:00
Raphael MichelandGitHub 03d3c389da Fix #1674 -- Change spelling of e-mail to email (#4636)
* Fix #1674 -- Change spelling of e-mail to email

* Conflicts and word list

* Add MobilePay to wordlist

* fix usage in tests
2024-11-18 17:21:29 +01:00
Richard SchreiberandGitHub 5e4e88c91d Fix creating to many ScheduledMails on subevent creation (#4620) 2024-11-12 09:22:25 +01:00
MiraGitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3170744c56 Bleach 6 update (#4610)
* Update bleach requirement from ==5.0.* to ==6.2.*

Updates the requirements on [bleach](https://github.com/mozilla/bleach) to permit the latest version.
- [Changelog](https://github.com/mozilla/bleach/blob/main/CHANGES)
- [Commits](https://github.com/mozilla/bleach/compare/v5.0.0...v6.2.0)

---
updated-dependencies:
- dependency-name: bleach
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update bleach parameter types

* Fix tests

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-11 15:34:40 +01:00
Raphael MichelandGitHub 9bf4fb2d0f Sendmail: Fix incorrect filtering of subevents when mailing to attendees (Z#23166274) (#4474) 2024-09-25 17:55:33 +02:00
MiraandGitHub f819f0c316 Escape HTML in placeholder samples in mail preview (#4413)
CVE-2024-8113
2024-08-23 14:41:25 +02:00
Raphael MichelandGitHub 6087665775 Email preview: Include prefix in subject (#4395) 2024-08-23 13:42:29 +02:00
Raphael MichelandGitHub b939fad1c0 Sendmail: Prevent confusion around setting attach_tickets (Z#23155893) (#4211) 2024-06-10 14:48:47 +02:00
5c833cd493 Add special input widgets for markdown fields (#1577)
* Add markdown text input widgets

* Update src/pretix/static/pretixcontrol/scss/_forms.scss

* Improvements

---------

Co-authored-by: Raphael Michel <michel@rami.io>
2024-04-23 14:40:30 +02:00
Raphael Michel 2be790fa45 Sendmail: Allow to copy rules 2024-02-22 09:43:40 +01:00
Raphael Michel 57e8c6aafd Fix #3856 -- Clarify label in sendmail form 2024-02-06 11:35:55 +01:00
bac673f3ab Allow template syntax in event text (Z#23140046) (#3815)
* remove duplicate context generation

* allow text templates in frontpage_text

* refactor: move placeholder functionality to separate file

* fix wrong class name, code style

* update year in license header

* undo license header update

* use new function name

* render only the placeholders that are actually used in the message

* refactoring

* add str(...) call

* Update doc/development/api/placeholder.rst

Co-authored-by: Raphael Michel <michel@rami.io>

* rename register_mail_placeholders to register_template_placeholders
(deprecate old name)

* isort

* add signals to docs

---------

Co-authored-by: Raphael Michel <michel@rami.io>
2024-02-06 11:32:03 +01:00
Raphael MichelandGitHub a0831890ad Check-in: New flags for check-in lists (#3577) 2023-10-23 15:52:06 +02:00
Raphael MichelandGitHub 78fbfc9c80 Migrate from AutoField to BigAutoField (#3493) 2023-09-27 08:59:10 +02:00
Richard SchreiberandGitHub af3100a354 E-mail content: insert placeholder into text on click 2023-09-14 10:32:22 +02:00
Raphael Michel 7545e92373 [SECURITY] Do not allow Pillow to parse EPS files 2023-09-12 11:50:01 +02:00
Phin WolkwitzandGitHub 991f245dce Scheduled emails: Extend filter by subevents (Z#23122902) (#3551)
To create automated mail rules for specific subevents only, this adds a selection widget to choose which, only appearing if there are any subevents to select.
2023-09-06 12:05:37 +02:00
Raphael MichelandGitHub 12095c0c9c Sendmail: Rename "automated emails" to "scheduled emails" (#3556) 2023-08-31 11:01:50 +02:00
4baf317934 Automated emails: Extend filter by check-in state (#3489)
Co-authored-by: Richard Schreiber <schreiber@rami.io>
Co-authored-by: Raphael Michel <michel@rami.io>
2023-08-23 16:19:27 +02:00
Phin WolkwitzandGitHub 4b706339ed Sendmail rules: Extend filter by order status (#3402)
Add new order status filter settings instead of in form and API, while keeping backwards-compatibility
2023-07-21 17:43:19 +02:00
Raphael Michel b2c49461bc API: Fix validation issue in sendmail rules 2023-07-20 14:29:48 +02:00
Raphael MichelandGitHub bd32b33ba9 Bump Django to 4.1.* (#2989) 2023-06-05 09:56:31 +02:00
Raphael Michel 119a2621b5 Sendmail: Optimize query 2023-05-08 18:07:34 +02:00
Michael StapelbergandGitHub c890f4cdc0 Sendmail: Add option to attach calendar invites (#3224) 2023-04-17 09:38:36 +02:00
Raphael MichelandGitHub c612f183ef Disable email rules if event is not live (#3181) 2023-03-28 09:23:42 +02:00
Raphael MichelandGitHub 7d4b575150 Ensure total ordering of paginated lists (#3061) 2023-02-24 10:51:51 +01:00
Raphael MichelandGitHub 6902725f3c New check-in features (#3022) 2023-02-09 09:46:46 +01:00
Raphael Michel 108408366e Fix localization issue in scheduled emails 2023-02-07 10:05:26 +01:00
3c1f3a26cf Always make explicit which tables to lock (#3058)
Co-authored-by: Richard Schreiber <schreiber@rami.io>
2023-01-25 11:44:11 +01:00
Raphael Michel cb4af51c01 Sendmail: Fix issue loading old logs 2023-01-10 17:36:53 +01:00
Raphael Michel cd237d4c19 Sendmail: Improve wording 2023-01-10 12:04:03 +01:00
9b1d7cc522 Sendmail: Abstract away to allow more types of recipients (#2994)
Co-authored-by: Richard Schreiber <schreiber@rami.io>
2023-01-10 12:03:50 +01:00
Raphael MichelandGitHub b64c5735a8 Make str.format_map with untrusted input safer (#2931) 2022-12-08 13:49:07 +01:00