Commit Graph

149 Commits

Author SHA1 Message Date
Raphael Michel
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 Michel
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 Michel
c40e34af57 Model-based mail queuing 2026-01-30 10:43:02 +01:00
Raphael Michel
8854ae3187 Sendmail: Chunk query to prevent high memory load (Z#23217167) (#5699) 2025-12-19 15:44:43 +01:00
Raphael Michel
177a7d07fc Update license header (#5540) 2025-10-10 15:32:46 +02:00
luelista
e5301dcdc5 Clarify plugin signal docstrings (#5397) 2025-09-05 18:27:04 +02:00
Martin Gross
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 Schreiber
14d6013292 FormFields: remove placeholders duplicating labels (#5135) 2025-07-10 16:06:36 +02:00
luelista
b5e20df508 Use proper log entry types for waiting list emails (#5070) (#5219) 2025-06-12 14:03:40 +02:00
Raphael Michel
f475781a89 Order email history: Record more information about attachments (Z#23185463) (#4914) 2025-03-18 08:58:54 +01:00
Mira
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
Raphael Michel
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 Michel
76ecec8b98 Scheduled mails: Allow subevent-dependent placeholders (Z#23171818) (#4629) 2024-11-19 10:50:10 +01:00
Raphael Michel
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 Schreiber
5e4e88c91d Fix creating to many ScheduledMails on subevent creation (#4620) 2024-11-12 09:22:25 +01:00
Mira
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 Michel
9bf4fb2d0f Sendmail: Fix incorrect filtering of subevents when mailing to attendees (Z#23166274) (#4474) 2024-09-25 17:55:33 +02:00
Mira
f819f0c316 Escape HTML in placeholder samples in mail preview (#4413)
CVE-2024-8113
2024-08-23 14:41:25 +02:00
Raphael Michel
6087665775 Email preview: Include prefix in subject (#4395) 2024-08-23 13:42:29 +02:00
Raphael Michel
b939fad1c0 Sendmail: Prevent confusion around setting attach_tickets (Z#23155893) (#4211) 2024-06-10 14:48:47 +02:00
Martin Gross
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
Mira
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 Michel
a0831890ad Check-in: New flags for check-in lists (#3577) 2023-10-23 15:52:06 +02:00
Raphael Michel
78fbfc9c80 Migrate from AutoField to BigAutoField (#3493) 2023-09-27 08:59:10 +02:00
Richard Schreiber
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 Wolkwitz
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 Michel
12095c0c9c Sendmail: Rename "automated emails" to "scheduled emails" (#3556) 2023-08-31 11:01:50 +02:00
Phin Wolkwitz
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 Wolkwitz
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 Michel
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 Stapelberg
c890f4cdc0 Sendmail: Add option to attach calendar invites (#3224) 2023-04-17 09:38:36 +02:00
Raphael Michel
c612f183ef Disable email rules if event is not live (#3181) 2023-03-28 09:23:42 +02:00
Raphael Michel
7d4b575150 Ensure total ordering of paginated lists (#3061) 2023-02-24 10:51:51 +01:00
Raphael Michel
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
Raphael Michel
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
Raphael Michel
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 Michel
b64c5735a8 Make str.format_map with untrusted input safer (#2931) 2022-12-08 13:49:07 +01:00
Raphael Michel
d3589696d7 Sendmail: Allow scheduled mails to recover from "missed" 2022-11-22 12:29:01 +01:00
Raphael Michel
36d20a45dd Sendmail: Fix inconsistent handling of addons and checkins (#2914) 2022-11-18 14:20:43 +01:00
Raphael Michel
87cfd8f538 Fix name placeholder not being used correctly in scheduled emails (#2794) 2022-09-15 13:35:35 +02:00
Raphael Michel
6c7f5f4888 Fix performance issue in sendmail_run_rules cronjob 2022-08-04 17:01:04 +02:00
Raphael Michel
e2adf1fdb3 Layout refresh for plugin settings page (#2490)
Co-authored-by: Richard Schreiber <schreiber@rami.io>
2022-03-21 16:42:03 +01:00