Commit Graph
193 Commits
Author SHA1 Message Date
Raphael Michel 5db1a5b8af Rename confusingly named helpers for URL generation (#6280)
* Rename confusingly named helpers for URL generation

* new name

* fix old call

* Revert "new name"

This reverts commit a6e9a488b6.

* New name
2026-06-22 09:11:55 +02:00
Richard Schreiber b404316dfd [SECURITY] Reusable media export: Respect giftcard permissions (CVE-2026-11764) (#6261) 2026-06-09 13:20:48 +02:00
721b179521 Add support for multiple linked_orderpositions on reusable media (#5666)
* change linked orderpositions to many-to-many

* Update media views to list ops

* return last op as fallback for linked_orderposition

* add multi-op to export

* update media-API

* fix media-view filter

* update control media forms

* fix API orders

* fix API orders matching media

* remove cached_property linked_orderposition - keep only in API

* fix media-issue signal

* adapt checkin API for multiple orderpositions

* remove unneeded comment

* fix create/update logging

* fix tests

* fix more tests

* fix code style

* add label to reusablemedium

* fix migration NOT NULL

* fix tests

* update docs

* clarify docs updating multiple linked_orderpositions

* clarify docs

* no need to prefetch linked_orderpositions

* improve readability

* select_related order instead prefetch

* add filter based on op.valid_from/until

* rename secret to claim_token

* Update docs for claim_token

* unifiy deprecated style

* Update reusablemedia.rst

* Update reusablemedia.rst

* Update reusablemedia.rst

* fix missing claim_token in serializer

* fix flake8

* add add_to_reusable_medium to order-serializer

* fix tests regarding claim_token

* fix flake8

* Clarify docs

* list ops comma-separated in export

* Add test for order-API add_to_reusable_medium

* fix linked_orderpositions filter in checkinrpc

* add test

* Add help-text

* fix multi-op media filter

* fix flake8

* improve check

* Fix sorting of reusable media type in overview

* Add copy and qr button to reusable medium detail view

* Rebase against origin/master

* Add logentrytype reusable_medium.linked_orderposition.removed

* add missing label_from_instance for SafeOrderPositionMultipleChoiceField

* add tests for create with linked_orderposition

* API add test for fallback-values in medium patch

* fix flake8

* Fix indentation

* fix migrations numbering

* fix test

* unify qutation marks

* fix flake8

* micro-improve linked_op-removal-logging

* simplify filter instead of annotate/get

* Do not translate API-errors

Co-authored-by: Raphael Michel <michel@pretix.eu>

* Fix typos in doc

Co-authored-by: Raphael Michel <mail@raphaelmichel.de>

* Update versionchanged in docs

Co-authored-by: Raphael Michel <michel@pretix.eu>

* Change log to always added not changed

* Add test for checkinrpc for ops out of timerang or canceled

* improve tests mixing ops from different organizers

* Fix logging of changed order_positions

* properly log added/removed when using UI

* refactor logging code

* unify logging adding/removing ops via API

* fix flake8

* remove unnecessary prefetch as already prefetched

* optimize fetching ops

* combine addon match and time-based validity match

* fix combined valid and product check

* re-number migrations

* Apply suggestion from @raphaelm

Co-authored-by: Raphael Michel <michel@pretix.eu>

* fix flake8

* New attempt at logic

* Improve op_candidate-selection for error message if no op matches check-in

* Fix typo

* fix valid_from start time being included

* use the datetime parameter for the comparison time so that the simulator works too

---------

Co-authored-by: Maximilian Richt <richt@pretix.eu>
Co-authored-by: Martin Gross <gross@rami.io>
Co-authored-by: Raphael Michel <michel@pretix.eu>
Co-authored-by: Raphael Michel <mail@raphaelmichel.de>
2026-06-03 09:12:24 +02:00
luelista 80ed6e76cd Fix failing orderlist export if orders with invalid payment provider identifiers exist (Z#23233440) (#6159)
* Fix orderlist export if orders with invalid payment provider identifiers exist (Z#23233440)
* Performance: Move _get_all_payment_methods out of loop
2026-05-12 11:57:18 +02:00
Richard Schreiber b7d3e8a80a Add invoice numbers to paymentlist export (Z#23227966) (#6097) 2026-04-20 17:55:44 +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
Richard Schreiber f3597f1a44 Fix orderlist export with no events (#5936) 2026-03-11 08:08:41 +01:00
Richard Schreiber 2df3d9206b Add voucher tag to orderlist positions export 2026-02-19 09:42:00 +01:00
Raphael Michel 5e97f668a5 Order data export: Allow to filter by product (Z#23212618) (#5826)
* Order data export: Allow to filter by product (Z#23212618)

* Fix tests
2026-01-26 09:29:41 +01:00
Raphael Michel 4f989cbe8a Order export: Add voucher_budget_use (Z#23218461) 2026-01-22 21:26:42 +01:00
Richard Schreiber 112d5da792 Localize state names (#5744)
* Localize state names in js-helper

* localize statename in address-confirm

* add localized state_name to AbstractPosition and AttendeeProfile

* use state_for_address in order export
2026-01-20 10:13:20 +01:00
luelista 39ff84b2e2 Use unique column names in order position export for invoice vs. attendee company name (Z#23215261) (#5638) 2025-11-18 15:47:55 +01:00
Raphael MichelandRichard Schreiber eb740204d4 Invoice issuer address: Add state field (#5603)
* Invoice issuer address: Add state field

* Update src/pretix/base/settings.py

Co-authored-by: Richard Schreiber <schreiber@rami.io>

* Update src/pretix/base/models/invoices.py

Co-authored-by: Richard Schreiber <schreiber@rami.io>

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2025-11-14 09:56:46 +01:00
Richard Schreiber ad53c48d0f Fix price-column in item export for free variations 2025-11-07 11:57:06 +01:00
Raphael Michel 177a7d07fc Update license header (#5540) 2025-10-10 15:32:46 +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 MichelandRichard Schreiber 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
Martin Gross d8f9f9478d Exporter/orderlist: Add link to position order page (Z#23202597) 2025-07-31 12:39:06 +02:00
Raphael Michel 61ff0a767a Order list export: Add order URL (Z#23201166) (#5316) 2025-07-18 10:03:14 +02:00
Raphael Michel 3a195b6ef9 Waiting list export: Add product IDs (Z#23192538) (#5134) 2025-05-22 21:42:14 +02:00
Richard Schreiber b3919973f1 Fix order export for empty attendee_name_parts 2025-04-29 13:35:25 +02: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
Raphael Michel 19f3fbc7e8 Order data export: Include ID of parent position of add-ons 2024-07-23 15:52:55 +02:00
Raphael Michel add90b08ec Export: Fix sales channels in JSON export 2024-07-01 11:22:18 +02:00
Raphael MichelandMartin Gross 4fb5c6bef0 New implementation of sales channels (#4111)
Co-authored-by: Martin Gross <gross@rami.io>
2024-06-30 19:24:30 +02:00
Raphael MichelandMira 4f9297e7d8 Show minimal check-in status in order export (Z#23154920) (#4223)
* Show minimal check-in status in order export (Z#23154920)

* Update src/pretix/helpers/database.py

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

* Review note

---------

Co-authored-by: Mira <weller@rami.io>
2024-06-24 17:34:10 +02:00
Raphael MichelandMira Weller 1200274ebf Export: Do not rely on cached answer option values (Z#23152831) (#4225)
* Export: Do not rely on cached answer option values

* refactor duplicate code

---------

Co-authored-by: Mira Weller <weller@rami.io>
2024-06-17 10:12:15 +02:00
Raphael MichelandMira 4d394f9e8a Answer file export: Allow to filter by subevent (Z#23150581) (#4066)
* Answer file export: Allow to filter by subevent (Z#23150581)

* Update src/pretix/base/exporters/answers.py

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

* Fix isort

---------

Co-authored-by: Mira <weller@rami.io>
2024-04-29 18:12:58 +02:00
Raphael Michel bf48ae567f NREI export: Fix parsing of stripe data 2024-04-11 09:27:55 +02:00
Raphael Michel d32bd717b7 Fix meta filter being selectable for export 2024-03-04 15:52:45 +01:00
Raphael Michel 62f0c82d8d Order data export: Add event name 2024-02-28 12:16:49 +01:00
Raphael Michel b40a41d742 OrderListExporter: Refactor querysets out of iterate methods 2024-02-09 12:03:26 +01:00
Raphael Michel cd7850337b Add exporter for reusable media 2024-01-12 17:41:31 +01:00
Raphael Michel 8a3b313cb6 Check-in: Show more information (#3576)
* Check-in: Show more information

* Add change notes

* Rebase migration

* Add "expand" option to checkinrpc

* REmove accidental file

* Docs fixes

* REbase migration

* Rebase migration

* Fix typo

* REbase migration

* Make web-checkin look more like new android checkin
2023-11-28 14:52:12 +01:00
Raphael Michel 77da4052b9 Order list export: Expose same "extended status" as in backend (#3674)
* Order list export: Expose same "extended status" as in backend

* Review notes
2023-11-15 15:20:30 +01:00
Raphael Michel 99b5f3cc3b Payment export: Fix mixup of form fields 2023-11-10 09:27:48 +01:00
Raphael Michel 1c6bd46d21 Order data export: Add product/variation ID (#3542) 2023-08-24 18:02:24 +02:00
Raphael MichelandMartin Gross f8be8296dd Gift cards: Improved support for cross-organizer acceptance (#3311)
Co-authored-by: Martin Gross <martin@pc-coholic.de>
2023-06-15 14:17:40 +02:00
Raphael Michel 0a9890b1b0 Transaction list export: Add count * price column 2023-06-14 11:52:36 +02:00
Raphael Michel bd32b33ba9 Bump Django to 4.1.* (#2989) 2023-06-05 09:56:31 +02:00
Richard SchreiberandRaphael Michel 46238eb157 Export: fix timezone in event-data export
Co-authored-by: Raphael Michel <michel@rami.io>
2023-05-30 09:22:53 +02:00
Raphael Michel ec24776e66 Invoice exporter: Ignore failed/canceled payments when filtering by provider 2023-05-24 10:33:00 +02:00
Raphael Michel e194063827 Fix isort issue 2023-05-11 14:29:52 +02:00
Raphael Michel 1777a954a9 Add exporter for transaction data 2023-05-11 10:35:35 +02:00
Martin Gross bca3d182ff Respect TZ for op.valid_from/valid_until in Order Data Export 2023-04-26 10:17:12 +02:00
Raphael Michel 35a3804751 Fix AttributeError in exporters 2023-04-16 14:11:41 +02:00
Richard Schreiber 8a6488fd81 Order-exports: localize salutation (#3160) 2023-03-22 13:12:38 +01:00
Raphael Michel 440d1b5766 Export: Fix inconsistent file name 2023-03-10 15:17:31 +01:00
Raphael Michel 24fd8f404e Payment list export: Add date range 2023-02-15 16:22:44 +01:00