Richard Schreiber
34dbbdd82f
PDF-Editor: fix missing maxlength for layout name ( #5473 )
2025-09-24 09:58:02 +02:00
✨ Q (it/its) ✨
7037f348bf
remove infinite loop when output plugin provides a URI for a whole order ( #5474 )
2025-09-23 18:26:38 +02:00
Raphael Michel
fb8a8142d9
Scheduled exports: Check permissions on creation
2025-09-22 10:22:12 +02:00
Richard Schreiber
b8b89f3040
Fix handling negative values in rrule (e.g. batch-adding subevents) ( #5476 )
2025-09-22 08:08:34 +02:00
Raphael Michel
baab35b81f
Items: Allow plugins to put forms above a formset ( #5460 )
2025-09-15 18:11:18 +02:00
Richard Schreiber
b3974067a5
Fix placeholder interpolation in voucher error message ( #5456 )
2025-09-09 19:43:36 +02:00
Raphael Michel
0bb390f0a9
Voucher log: Update wording for waiting list (Z#23206690) ( #5454 )
2025-09-09 15:05:45 +02:00
luelista
e5301dcdc5
Clarify plugin signal docstrings ( #5397 )
2025-09-05 18:27:04 +02:00
luelista
0fcaeda0e9
Add fields to logdetail to aid debugging ( #5426 )
2025-09-02 17:50:49 +02:00
luelista
4c2efa0a97
Use different log action types per log_target for mail errors (Z#23204190) ( #5422 )
2025-09-02 15:37:44 +02:00
Richard Schreiber
09e9273a57
Fix unhandled not found error when manually managing sync jobs ( #5412 )
...
* Fix unhandled not found error when manually managing sync jobs
* Improve info text (suggestions from code review)
Co-authored-by: luelista <weller@rami.io >
---------
Co-authored-by: luelista <weller@rami.io >
2025-09-02 09:22:47 +02:00
Richard Schreiber
d23735b1a6
Fix missing payment provider "banktransfer" on export ( #5405 )
2025-08-26 11:40:24 +02:00
Raphael Michel
3f00fa58a0
Subevents: set inactive if non-batch deletion of subevent fails (Z#23204183) ( #5374 )
...
* Subevents: Extend fallback for undeletable dates for single deletion (Z#23204183)
* Fix useless writes
* Update src/pretix/control/views/subevents.py
Co-authored-by: Richard Schreiber <schreiber@rami.io >
* Update src/pretix/control/views/subevents.py
Co-authored-by: Richard Schreiber <schreiber@rami.io >
* Fix flow
---------
Co-authored-by: Richard Schreiber <schreiber@rami.io >
2025-08-22 10:47:47 +02:00
luelista
49c0f6b967
Organizer plugins: Do not show plugins as active if they are inactive on org-level ( #5396 )
2025-08-22 09:31:01 +02:00
Raphael Michel
fe9a7eaa24
Order overview: Try to make linked filters behave as expected for line-level cancellations (Z#23203500)
2025-08-22 09:30:34 +02:00
Raphael Michel
c200072471
Improve string quality and consistency
2025-08-19 18:35:35 +02:00
Raphael Michel
cbee131378
Fix typos
2025-08-19 18:01:46 +02:00
Raphael Michel
05c74b7ad6
Pluggable invoice transmission methods ( #5020 )
...
* Flexible invoice transmission
* UI work
* Add peppol and output
* API support
* Profile integration
* Simplify form for individuals
* Remove sent_to_customer usage
* more steps
* Revert "Bank transfer: Allow to send the invoice direclty to the accounting department (#2975 )"
This reverts commit cea6c340be .
* minor fixes
* Fixes after rebase
* update stati
* Backend view
* Transmit and show status
* status, retransmission
* API retransmission
* More fields
* API docs
* Plugin docs
* Update migration
* Add missing license headers
* Remove dead code, fix current tests
* Run isort
* Update regex
* Rebase migration
* Fix migration
* Add tests, fix bugs
* Rebase migration
* Apply suggestion from @luelista
Co-authored-by: luelista <weller@rami.io >
* Apply suggestion from @luelista
Co-authored-by: luelista <weller@rami.io >
* Apply suggestion from @luelista
Co-authored-by: luelista <weller@rami.io >
* Apply suggestion from @luelista
Co-authored-by: luelista <weller@rami.io >
* Apply suggestion from @luelista
Co-authored-by: luelista <weller@rami.io >
* Make migration reversible
* Add TransmissionType.enforce_transmission
* Fix registries API usage after rebase
* Remove code I forgot to delete
* Update transmission status display depending on type
* Add testmode_supported
* Update src/pretix/static/pretixbase/js/addressform.js
Co-authored-by: luelista <weller@rami.io >
* Update src/pretix/static/pretixbase/js/addressform.js
Co-authored-by: luelista <weller@rami.io >
* Update src/pretix/static/pretixbase/js/addressform.js
Co-authored-by: luelista <weller@rami.io >
* New mechanism for non-required invoice forms
* Update src/pretix/base/invoicing/transmission.py
Co-authored-by: luelista <weller@rami.io >
* Declare testmode_supported for email
* Make transmission_email_other an implementation detail
* Fix failing tests and add new ones
* Update src/pretix/base/services/invoices.py
Co-authored-by: luelista <weller@rami.io >
* Add emails to email history
* Fix comma error
* More generic default email text
* Cleanup
* Remove "email invoices" button and refine logic
* Rebase migration
* Fix edge case
---------
Co-authored-by: luelista <weller@rami.io >
2025-08-19 17:59:45 +02:00
Raphael Michel
0cc8e59bb0
Webhooks: Add vouchers (Z#23203072) ( #5360 )
...
* Webhooks: Add vouchers (Z#23203072)
This also requires more consistent usage of webhook types to avoid
vouchers not being known to the external system.
* Update src/pretix/api/webhooks.py
Co-authored-by: luelista <weller@rami.io >
* Fix shredder test
---------
Co-authored-by: luelista <weller@rami.io >
2025-08-19 13:04:22 +02:00
Raphael Michel
7cdccc7d8e
Bulk order-refund: Create log entries (Z#23203462) ( #5357 )
2025-08-19 12:09:23 +02:00
Raphael Michel
727ed67ff4
Orders: Prevent race condition in manual status transition (Z#23203887) ( #5385 )
2025-08-19 12:01:03 +02:00
Raphael Michel
a51a6123f5
Organizer-level plugins ( #5305 )
...
* Add version notes to the docs
* Adapt signal handling
* Add UI
* Add API
* API and tests
* Fix registry
* Update doc/development/api/plugins.rst
Co-authored-by: Felix Rindt <felix@rindt.me >
* Fix failing tests
* Apply suggestions from code review
Co-authored-by: Richard Schreiber <schreiber@rami.io >
* Update src/pretix/control/templates/pretixcontrol/organizers/plugin_events.html
Co-authored-by: luelista <weller@rami.io >
* Update src/pretix/control/templates/pretixcontrol/organizers/plugins.html
Co-authored-by: luelista <weller@rami.io >
* Update src/pretix/control/templates/pretixcontrol/organizers/plugins.html
Co-authored-by: luelista <weller@rami.io >
* Update src/pretix/control/navigation.py
Co-authored-by: luelista <weller@rami.io >
* Update src/pretix/control/urls.py
Co-authored-by: luelista <weller@rami.io >
* Apply suggestion from @wiffbi
* REbase migration
* Fix review note
* Fix test cases
* Remove plugin from all events if disabled on org level
* Update doc/development/api/plugins.rst
* Unify registries
* Rebase migration
---------
Co-authored-by: Felix Rindt <felix@rindt.me >
Co-authored-by: Richard Schreiber <schreiber@rami.io >
Co-authored-by: luelista <weller@rami.io >
2025-08-19 11:33:34 +02:00
luelista
56964b6764
Allow users to run sync jobs immediately ( #5352 )
...
* Allow users to run sync jobs immediately
* Transactional safety for manual handling of sync jobs (#5355 )
* Fix indentation
---------
Co-authored-by: Raphael Michel <michel@rami.io >
2025-08-18 12:08:25 +02:00
luelista
527bc83e5f
Add more sourcefields for datasync ( #5378 )
...
* add email domain field
* add order and ticket URL fields
* add "is admission product" field
* fix types
* Display sourcefields grouped into categories (#5379 )
2025-08-18 12:07:50 +02:00
Raphael Michel
067e11c265
Allow to annul a check-in ( #5303 )
...
* Allow to annul a check-in
* Fix locking
* Update doc/api/resources/checkin.rst
Co-authored-by: Phin Wolkwitz <wolkwitz@rami.io >
---------
Co-authored-by: Phin Wolkwitz <wolkwitz@rami.io >
2025-08-08 09:22:19 +02:00
luelista
61eff28978
Use deserialized data structures for mapping configuration ( #5351 )
2025-08-07 12:19:15 +02:00
luelista
d5bccf8726
Queueing and mapping utilities for outbound data sync ( #4881 )
...
Add a registry for datasync providers and an associated sync queue, to be used by
plugins that transfer data from pretix orders to external systems.
Additionally, provide a generic data mapping interface to be used in settings pages
of such plugins, to let users configure which information from pretix to fill into
which data fields of the external system.
---------
Co-authored-by: Raphael Michel <michel@rami.io >
2025-08-06 14:34:04 +02:00
Tobias Kunze
154f10af8f
Fix bulk voucher CSV field description ( #5120 )
2025-08-04 16:35:19 +02:00
Raphael Michel
9a119c35a8
Add a system-wide style for admin-only things ( #5311 )
...
* Add a system-wide style for admin-only things
* change stripe-color to a red-ish tone
* add stripes to button end-admin-session
---------
Co-authored-by: Richard Schreiber <schreiber@rami.io >
2025-08-04 16:18:29 +02:00
Raphael Michel
423f0cbb90
Add button to reset entire check-in stack (Z#23188730) ( #5312 )
...
* Show print logs to admins
* Add button to reset entire check-in stack (Z#23188730)
* isort
* Update src/pretix/control/templates/pretixcontrol/checkin/reset.html
Co-authored-by: Richard Schreiber <schreiber@rami.io >
* Update src/pretix/control/templates/pretixcontrol/checkin/reset.html
Co-authored-by: Richard Schreiber <schreiber@rami.io >
* Update src/pretix/control/templates/pretixcontrol/checkin/reset.html
Co-authored-by: Richard Schreiber <schreiber@rami.io >
* Update src/pretix/control/templates/pretixcontrol/checkin/lists.html
Co-authored-by: Richard Schreiber <schreiber@rami.io >
---------
Co-authored-by: Richard Schreiber <schreiber@rami.io >
2025-07-18 10:02:18 +02:00
Raphael Michel
04e92e9f2f
Order import: Allow to create multiple multi-ticket orders ( #5304 )
...
* Order import: Allow to create multiple multi-ticket orders
* Update src/pretix/base/modelimport_orders.py
* Fix failing test
2025-07-14 10:03:16 +02:00
Richard Schreiber
14d6013292
FormFields: remove placeholders duplicating labels ( #5135 )
2025-07-10 16:06:36 +02:00
Raphael Michel
415bff5c72
Device connection: Add copy buttons for manual setup
2025-07-10 14:46:24 +02:00
Raphael Michel
177b9cdcbb
Voucher form: Field-specific error messages (Z#23199648) ( #5291 )
...
* Voucher form: Field-specific error messages (Z#23199648)
* Update src/pretix/control/forms/vouchers.py
Co-authored-by: Richard Schreiber <schreiber@rami.io >
---------
Co-authored-by: Richard Schreiber <schreiber@rami.io >
2025-07-08 14:11:44 +02:00
Richard Schreiber
a5f7f2bd0c
Control: add event slug errors as help-text ( #5288 )
2025-07-08 13:49:41 +02:00
Martin Gross
25cd84c459
mail_bcc: Add comma-separation hint
2025-07-02 15:08:25 +02:00
Raphael Michel
14ed6982a5
New data model for default tax rule and new options for cancellation fees ( #4962 )
...
* New data model for default tax rule
* Remove misleading empty label when field is not optional
* Allow to split cancellation fee
* Fix API and tests
* Update migration
* Update src/tests/api/test_taxrules.py
Co-authored-by: luelista <weller@rami.io >
* Update src/tests/api/test_taxrules.py
Co-authored-by: luelista <weller@rami.io >
* Review note
* Update src/pretix/base/models/tax.py
Co-authored-by: luelista <weller@rami.io >
* Flip API behaviour for default
* Fix failing tests
* Fix failing test
* Split migration
---------
Co-authored-by: luelista <weller@rami.io >
2025-06-30 16:47:09 +02:00
Richard Schreiber
090358833d
Remove browserconfig.xml ( #5280 )
...
* Remove meta-elements
* remove url-route
2025-06-30 11:25:18 +02:00
Richard Schreiber
a4c74f6310
PDF-Editor: use panel-head as topbar for common commands/tools and preview/save ( #4977 )
2025-06-30 11:19:39 +02:00
Richard Schreiber
f66a41f6a7
Presale: remove webmanifest ( #5275 )
...
* Remove webmanifest from presale
* move webmanifest from presale to base urls
2025-06-30 09:33:42 +02:00
Raphael Michel
5d3fc62ba4
Questions: Validate type changes (Z#23197118) ( #5259 )
...
* Questions: Validate type changes (Z#23197118)
* Update src/pretix/base/forms/questions.py
Co-authored-by: Richard Schreiber <schreiber@rami.io >
* Update src/pretix/base/forms/questions.py
Co-authored-by: Richard Schreiber <schreiber@rami.io >
* Update src/pretix/base/forms/questions.py
Co-authored-by: Richard Schreiber <schreiber@rami.io >
* Update src/pretix/base/models/items.py
Co-authored-by: Richard Schreiber <schreiber@rami.io >
* Fix failing test
---------
Co-authored-by: Richard Schreiber <schreiber@rami.io >
2025-06-24 17:54:28 +02:00
Raphael Michel
f51906338f
Order detail: Set correct language for invoice email (Z#23197863) ( #5260 )
2025-06-24 16:14:33 +02:00
Richard Schreiber
7bb2e4c170
Improve stats-UI fix ( #5243 )
...
* Improve stats-UI fix
* remove unused stats_json
2025-06-18 09:11:16 +02:00
Raphael Michel
9fc9aaa661
Event settings: Fix duplicate font choices (Z#23196687) ( #5230 )
2025-06-17 09:58:18 +02:00
Raphael Michel
8418d03add
Questions: Express percentage of tickets (Z#23196542) ( #5239 )
...
* Questions: Express percentage of tickets (Z#23196542)
* add missing td for sum
---------
Co-authored-by: Richard Schreiber <schreiber@rami.io >
2025-06-13 11:01:37 +02:00
luelista
b5f8438c18
Show warning on incompatible waiting list options ( #5218 )
...
If "Hide all products that are sold out" is enabled, the waiting list won't work.
2025-06-13 11:01:18 +02:00
Raphael Michel
5420f57aa2
Subevent bulk editing: Warn about deleted quotas ( #5238 )
...
* Subevent bulk editing: Warn about deleted quotas
* Fix condition
* Update alerts
2025-06-13 11:01:00 +02:00
luelista
b5e20df508
Use proper log entry types for waiting list emails ( #5070 ) ( #5219 )
2025-06-12 14:03:40 +02:00
Richard Schreiber
66a4a34383
[A11y] fix giftcard-checkout error messages ( #5175 )
...
* [A11y] fix giftcard-checkout error messages
* move validation to payment_form
* Update checkout_payment.html
* move already-used check to clean as well
* fix tests
* fix code style issue
* fix giftcard-payment in redeem-view
* Fix responsiveness on checkout
* Fix paying for existing orders
* fix cart.py for new GiftCardPaymentForm-signature
* fix order_tests
---------
Co-authored-by: Raphael Michel <michel@rami.io >
2025-05-30 13:29:33 +02:00
Raphael Michel
1752b2f037
Do not allow to bulk-set empty names for subevents (Z#23194943) ( #5184 )
2025-05-30 13:29:18 +02:00