Raphael Michel
1e0ede529c
Event cancellation: Add safety and security checks ( #5565 )
...
* Event cancellation: Add safety and security checks
When cancelling an event, a large sum of money might be refunded
instantly. This PR adds safety features around this by
- doing a dry-run first that shows a preview of the expected refund sum
- sending a confirmation mode via email for any automatic refunds of more than 100 currency units
- keeping a more detailed log of the settings this was executed with
* Update src/pretix/control/views/orders.py
Co-authored-by: luelista <weller@rami.io >
---------
Co-authored-by: luelista <weller@rami.io >
2025-10-29 08:53:48 +01:00
Mira Weller
11acd4ca53
allow custom headers in error base template
2025-10-24 12:04:03 +02:00
Raphael Michel
0ab633ce7b
Email layouts: Fix margin-left of details table
2025-10-21 10:24:06 +02:00
luelista
9098eb2a26
Only store transmission email if invoice receiver is a business (Z#23210414) ( #5535 )
...
* Use the transmission info transformation methods
Use form_data_to_transmission_info and transmission_info_to_form_data to convert between database representation and form data
* Only store transmission email address if invoice receiver is a business
* Fix default implementation of form_data_to_transmission_info
* Update src/pretix/base/forms/questions.py
2025-10-21 09:22:17 +02:00
Raphael Michel
6cf916d0e6
Email layout: Generalize order details for non-event shops (Z#23210379) ( #5547 )
2025-10-21 09:21:22 +02:00
Raphael Michel
df9147d207
Order import: Do not allow importing variation for wrong item (Z#23211320) ( #5553 )
...
* Order import: Do not allow importing variation for wrong item (Z#23211320)
* Fix test
2025-10-21 09:18:05 +02:00
Phin Wolkwitz
8a3da37b45
Connect giftcards with customer accounts ( #5126 )
...
Connect giftcards with customer accounts, show giftcards during checkout and in account , show giftcard list in backend customer view
2025-10-16 13:20:00 +02:00
Raphael Michel
71f2c8093f
Further tune attachment size computation (Z#23210802) ( #5550 )
...
Attaching a 1 MB file makes the email ~1.4 MB larger, because all
attachments in emails are base64 encoded which takes more space.
2025-10-16 11:07:20 +02:00
Raphael Michel
2e674916c2
Fix email attachment limit to actually be 4MB as documented, not 5 MB (Z#23210802) ( #5546 )
2025-10-15 13:33:48 +02:00
Richard Schreiber
02b5bdb321
Add organizer scope when getting all plugins ( #5544 )
2025-10-15 09:13:45 +02:00
Raphael Michel
40357681df
Invoice plugins: Call build_invoice_data for cancellations ( #5523 )
2025-10-15 09:06:46 +02:00
Raphael Michel
a1d078b48e
Migrate LogEntry.object_id to bigint ( #5520 )
2025-10-15 09:06:38 +02:00
Martin Gross
adca856cdb
Make item_overrides and var_overrides prefetch_related-able
2025-10-13 11:33:07 +02:00
luelista
a811a31dcc
Make sync_single task transaction-aware ( #5541 )
2025-10-10 15:49:22 +02:00
Raphael Michel
177a7d07fc
Update license header ( #5540 )
2025-10-10 15:32:46 +02:00
luelista
8853f2b189
Allow specifying different override_layout signal in derived classes (Z#23210691) ( #5534 )
...
* Fix incorrect exception messages
* Allow specifying different override_layout signal in derived classes
2025-10-10 09:16:35 +02:00
luelista
a823f261f3
Fix unhandled exception in datasync code in case order should not be synced (PRETIXEU-C9H) ( #5525 )
...
* Fix unhandled exception in datasync code in case order should not be synced (PRETIXEU-C9H)
* Add test case
2025-10-07 19:58:26 +02:00
Raphael Michel
82eca01e5c
QuotaListExporter: Flip incorrect allow_repeatable_read
2025-10-07 13:20:06 +02:00
Raphael Michel
943f594b6b
InvoiceExporter: Set repeatable_read = False
2025-10-07 13:18:03 +02:00
Raphael Michel
15cbb3a416
Do not crash if generate_invoice fails ( #5483 )
...
* Do not crash if generate_invoice fails
* Add logging
* Add cancellation to try block
* One last thing…
2025-10-07 11:20:31 +02:00
Raphael Michel
dcf473c543
Send invoice to organizer in plain text (Z#23210026) ( #5518 )
2025-10-07 10:40:15 +02:00
Raphael Michel
85a9a3caa6
Run exporters in repeatable read by default (Z#23173095) ( #5500 )
...
* Run exporters in repeatable read by default (Z#23173095)
* Update src/pretix/helpers/database.py
Co-authored-by: Richard Schreiber <schreiber@rami.io >
* Rename parameter, add test
* Do not run during tests
---------
Co-authored-by: Richard Schreiber <schreiber@rami.io >
2025-10-06 10:38:19 +02:00
Raphael Michel
301191e4bd
Notification queues: Optimize order for less queries ( #5512 )
...
* Notification queues: Optimize order for less queries
* Update src/pretix/api/webhooks.py
Co-authored-by: luelista <weller@rami.io >
---------
Co-authored-by: luelista <weller@rami.io >
2025-10-06 09:24:51 +02:00
Raphael Michel
867cd8c59e
Model import: Create logentries in bulk ( #5511 )
...
* Model import: Create logentries in bulk
* Update src/pretix/base/services/modelimport.py
Co-authored-by: luelista <weller@rami.io >
---------
Co-authored-by: luelista <weller@rami.io >
2025-10-06 09:24:39 +02:00
Raphael Michel
7e8da3cef6
Do not sent "payment failed" email if payment is no longer expected (Z#23202699) ( #5509 )
2025-10-06 09:24:20 +02:00
Martin Gross
22f351cb89
OCM: Ignore already canceled addons in remaining item calculation (Z#23209824)
2025-10-02 10:30:33 +02:00
Raphael Michel
457115f4ca
Add refund comment to gift card transaction text (Z#23208349) ( #5499 )
...
* Add refund comment to gift card transaction text (Z#23208349)
* Update src/pretix/base/models/giftcards.py
Co-authored-by: luelista <weller@rami.io >
---------
Co-authored-by: luelista <weller@rami.io >
2025-10-02 09:38:32 +02:00
luelista
9d5563018e
Add "bulk" argument to order_placed signal ( #5505 )
...
* datasync: add immediate parameter to enqueue_order
* interactive argument for order_placed signal
The ``interactive`` argument specifies whether the order was
placed interactively, by a customer (as opposed to via a bulk
import or the REST API).
* use bulk=True instead of interactive=False to mark bulk imports
2025-10-02 09:36:02 +02:00
luelista
425f4da1f1
datasync: add immediate parameter to enqueue_order ( #5504 )
2025-10-02 09:34:56 +02:00
luelista
f79813ea32
datasync: return a reference to newly create queue item ( #5502 )
2025-09-30 17:25:25 +02:00
Raphael Michel
e61f8035d3
Fix typo
2025-09-29 16:21:33 +02:00
Raphael Michel
fc4a9406e1
Invoicing: Allow plugins to add data ( #5452 )
...
* Allow plugins to add data to invoices
* Add documentation
2025-09-29 13:15:42 +02:00
Raphael Michel
9d2ef94389
Invoicing: Configurable service date
2025-09-29 13:15:42 +02:00
Richard Schreiber
a34b6a04ea
PDF: fix handling empty qr-codes ( #5488 )
2025-09-26 15:07:31 +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
08961091f6
Invoicing: Allow types to add text and watermarks ( #5453 )
2025-09-22 10:04:25 +02:00
Raphael Michel
11fede5432
Rename PEPPOL to Peppol everywhere (seems to be official)
2025-09-22 09:28:52 +02:00
Raphael Michel
5bd08061a1
Organizer: Don't override explicit plugins with default plugins
2025-09-12 11:01:49 +02:00
Raphael Michel
0183f3d40f
Invoice email transmission: Handle permanent failures (Z#23205576) ( #5420 )
...
* Invoice email transmission: Handle permanent failures (Z#23205576)
* Add missing raise branch
* Fix missing file
* Fix missing license header
2025-09-09 10:21:58 +02:00
✨ Q (it/its) ✨
5d002d8b28
Do not attach text/uri-list ticket formats if multi_download_enabled set ( #5438 )
2025-09-08 09:58:42 +02:00
Raphael Michel
c501066cff
Event calendar: Only show "waiting list" if products allow it (Z#23205941) ( #5436 )
...
* Event calendar: Only show "waiting list" if products allow it
* Add a simple test
* Review notes
* Update src/pretix/base/models/event.py
Co-authored-by: Richard Schreiber <schreiber@rami.io >
* Update src/pretix/base/models/event.py
Co-authored-by: Richard Schreiber <schreiber@rami.io >
---------
Co-authored-by: Richard Schreiber <schreiber@rami.io >
2025-09-08 09:56:57 +02:00
luelista
e5301dcdc5
Clarify plugin signal docstrings ( #5397 )
2025-09-05 18:27:04 +02:00
Richard Schreiber
49057590f1
fix isort
2025-09-05 12:29:12 +02:00
✨ Q (it/its) ✨
fc18659196
Fix incorrect placement of background when merging PDFs ( #5407 )
...
* fix incorrect placement of background when merging PDFs
* add PDF MediaBox correction to code to merge_background as well as render_background
2025-09-05 12:26:30 +02:00
luelista
0c721c17e5
Raise SyncConfigError instead of KeyError on misconfigured datasync property mappings ( #5429 )
2025-09-04 14:23:01 +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
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
32be6a159e
Checkout: Hotfix data-trigger-address-info and company_required
2025-08-20 08:59:27 +02:00
Raphael Michel
0152d0c639
Hotfix crash PRETIXEU-C0E
2025-08-20 08:46:30 +02:00
Raphael Michel
e591c74862
Hotfix crash PRETIXEU-C0F
2025-08-20 08:44:33 +02:00