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
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
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
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
Raphael Michel
4fb5c6bef0
New implementation of sales channels ( #4111 )
...
Co-authored-by: Martin Gross <gross@rami.io >
2024-06-30 19:24:30 +02:00
Mira
a73c4ad937
Improve List Sorting UI ( #4215 )
...
Improve product list UI (allow move between categories, more useful columns and links)
and hide "move up/down" arrows in lists by default if drag-drop is available
2024-06-25 12:54:11 +02:00
Raphael Michel
e9a95b0b09
Add system report for pretix Enterprise ( #4213 )
...
* Add system report for pretix Enterprise
* Update src/pretix/control/sysreport.py
Co-authored-by: Mira <weller@rami.io >
* ADd missing license header
---------
Co-authored-by: Mira <weller@rami.io >
2024-06-13 17:08:36 +02:00
Mira
b638c00952
Time machine mode [Z#23129725] ( #3961 )
...
Allows organizers to test their shop as if it were a different date and time.
Implemented using a time_machine_now() function which is used instead of regular now(), which can overlay the real date time with a value from a ContextVar, assigned from a session value in EventMiddleware.
For more information, see doc/development/implementation/timemachine.rst
---------
Co-authored-by: Richard Schreiber <schreiber@rami.io >
Co-authored-by: Raphael Michel <michel@rami.io >
2024-05-17 10:52:17 +02:00
Raphael Michel
990e9da21d
Generalize import process from orders to more models ( #4002 )
...
* Generalize import process from orders to more models
* Add voucher import
* Model import: Guess assignments of based on column headers
* Fix lock_seats being pointless
* Update docs
* Update doc/development/api/import.rst
Co-authored-by: Richard Schreiber <schreiber@rami.io >
* Update src/pretix/base/modelimport_vouchers.py
Co-authored-by: Richard Schreiber <schreiber@rami.io >
---------
Co-authored-by: Richard Schreiber <schreiber@rami.io >
2024-04-03 10:15:30 +02:00
Raphael Michel
4afb7a4976
Allow admins to generate emergency 2FA tokens ( #4035 )
...
* Allow admins to generate emergency 2FA tokens
* Update src/pretix/control/views/users.py
Co-authored-by: Richard Schreiber <schreiber@rami.io >
---------
Co-authored-by: Richard Schreiber <schreiber@rami.io >
2024-04-03 10:15:17 +02:00
Raphael Michel
4ea4189e6d
Allow team admins to require two-factor authentication ( #4034 )
...
* Allow team admins to require two-factor authentication
* Add API tests
* Improve logic
* ADd button tooltip
2024-04-02 17:15:16 +02:00
Raphael Michel
f3f42a8a42
Login: Add logging for incorrect JS hostnames
2024-04-02 11:34:43 +02:00
Phin Wolkwitz
39f9329207
Quota form: Change item selection field per context ( #3839 )
...
* Change item checkbox select to multiselect widget
* Make item selection widget dependent on count
* Make item selection widget dependent on variable
* Adjust widget choices
* Fix widget choices
* Fix item variation key errors
* Simplify code
* Fix classname
* Improve argument name
* Fix widget name
2024-02-08 09:33:39 +01:00
Julian Baumann
8c80200fc0
Orders: Add bulk action to refund overpaid amount ( #3721 )
...
* add bulk action to refund overpaid amount
* display number of successful actions, use existing annotate method
* add tests, address review comments
* lint
2023-11-23 09:48:28 +01:00
Raphael Michel
d7aa94d6ae
Add public filters based on meta data ( #3673 )
...
* Add public filters based on meta data
* Fix licenseheaders
* ignore empty values
* Fix tests
* Full non-widget implementation
* Widget support
* Add a few tests
* Allow to reorder properties
* Fix isort
* Allow to opt-out for specific events
* Fix name clash between new and old field to make migration feasible
2023-11-10 12:10:01 +01:00
Raphael Michel
3d68c83907
Improve check-in deletion ( #3688 )
...
* Improve check-in deletion
* Add pluralization
* Disable buttons if nothing selected
2023-11-06 10:30:02 +01:00
Raphael Michel
c0031e4579
Add bulk operations for orders ( #3548 )
...
* Add bulk operations for orders
* UI tweaks
* Fix test failures
* Fix filter form
* Add tests
* Run isort
2023-09-06 17:02:21 +02:00
Raphael Michel
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
002416e435
Add check-in simulator ( #3380 )
2023-06-13 14:57:24 +02:00
Raphael Michel
bd32b33ba9
Bump Django to 4.1.* ( #2989 )
2023-06-05 09:56:31 +02:00
Raphael Michel
dda1368d81
Add option to copy shop URL and generate QR code ( #3215 )
...
Co-authored-by: Richard Schreiber <schreiber@rami.io >
2023-04-06 10:04:11 +02:00
Raphael Michel
d0b449ea89
Reusable media ( #3131 )
...
Co-authored-by: Martin Gross <gross@rami.io >
2023-04-03 10:45:22 +02:00
Raphael Michel
c9e5cce7d0
Voucher bulk creation: Add markdown preview for email field ( #3143 )
2023-03-15 15:55:34 +01:00
Raphael Michel
28b4982161
Check-in log: Add select2 for item selection
2023-03-10 15:46:27 +01:00
Raphael Michel
5c8a3f18f3
Check-in log: Add select2 for gate selection
2023-03-10 15:21:25 +01:00
Raphael Michel
497e6f5c8f
Check-in log: Add select2 for device selection
2023-03-09 18:15:39 +01:00
Richard Schreiber
513a90f976
Subevent list: Add meta-data filter (Z#23114466) ( #3083 )
...
Co-authored-by: Raphael Michel <michel@rami.io >
2023-02-06 17:51:47 +01:00
Raphael Michel
19d1a8de71
Scheduled exports ( #3033 )
2023-01-19 11:46:30 +01:00
Raphael Michel
60554dad9a
Remove usage of deprecated Django APIs
2022-12-17 16:26:24 +01:00
Bentrex95
3b1cd8e659
Waiting list: Allow transfer to other subevent ( #2811 )
...
Co-authored-by: Richard Schreiber <schreiber@rami.io >
Co-authored-by: Raphael Michel <michel@rami.io >
2022-11-23 16:11:23 +01:00
Raphael Michel
a4171ef819
OpenID Connect OP support for customer accounts
2022-09-19 18:31:07 +02:00
Raphael Michel
7f5518dbf6
OpenID Connect RP support for customer accounts
2022-09-19 18:31:07 +02:00
Raphael Michel
86085d9368
Allow to bulk-select many tickets to check in or out ( #2678 )
...
* Allow to bulk-select many tickets to check in or out
* Update tests
* Add permission test
* Update src/pretix/control/templates/pretixcontrol/checkin/index.html
Co-authored-by: Richard Schreiber <wiffbi@gmail.com >
* Update src/pretix/static/pretixbase/js/asynctask.js
Co-authored-by: Richard Schreiber <wiffbi@gmail.com >
* Remove console.warn
* Simplify stuff
* minor refactor
* fix missing checked-out success message
Co-authored-by: Richard Schreiber <wiffbi@gmail.com >
Co-authored-by: Richard Schreiber <schreiber@rami.io >
2022-06-10 12:14:44 +02:00
Raphael Michel
6fee0ac0a9
Discounts ( #2510 )
2022-04-27 14:43:16 +02:00
Raphael Michel
a755bfd22c
Allow to bulk-edit devices ( #2583 )
...
Co-authored-by: Richard Schreiber <schreiber@rami.io >
2022-04-12 08:54:45 +02:00
Raphael Michel
e3c7cd7c6d
Redesign of email settings ( #2426 )
...
Co-authored-by: Felix Rindt <felix@rindt.me >
2022-01-26 12:47:58 +01:00
ser8phin
eccba09452
Add payment search page ( #2335 )
...
Co-authored-by: Raphael Michel <michel@rami.io >
Co-authored-by: Richard Schreiber <schreiber@rami.io >
2021-12-15 16:06:43 +01:00
Raphael Michel
5c55219d45
Allow to create new customers in backend ( #2367 )
2021-12-06 12:27:21 +01:00
Raphael Michel
8ebba9de86
Data model for transactional history ( #2147 )
2021-10-18 17:28:58 +02:00
Richard Schreiber
8121167d5e
Control: Add drag and drop to sort categories and products ( #2242 )
...
* add drag and drop to categories
* add drag and drop to products
* add light grey background to dragged element
* add missing th, add sr-only desc of columns
* group up/down/move elements
* improve visualizing drag-area by dimming others
* change up/down-links to buttons in form-post
* limit sorting to POST requests
Co-authored-by: Raphael Michel <michel@rami.io >
2021-10-12 14:46:56 +02:00
Raphael Michel
7ebefa7b85
Allow to manually bump carts blocking a voucher
2021-08-30 15:57:28 +02:00
Raphael Michel
c7ef79be90
Store all check-in attempts, not only successful ones ( #2074 )
2021-06-05 13:00:58 +02:00
Raphael Michel
49a9b71ea3
Fix #2090 -- Test mode for memberships
2021-05-27 11:47:42 +02:00
Raphael Michel
5029213bc5
Waiting list: Bulk deletion
2021-05-25 22:18:06 +02:00
Raphael Michel
f19a74990f
Remove RequiredAction model ( #2078 )
2021-05-17 17:41:59 +02:00
Raphael Michel
972f4646fa
Lazy-load logs on event dashboard
2021-05-11 17:49:06 +02:00
Raphael Michel
403b8191e4
Upgrade to Django 3.2 ( #2056 )
2021-05-07 12:00:30 +02:00
Raphael Michel
8e79eb570e
Customer accounts & Memberships ( #2024 )
2021-05-04 16:56:06 +02:00
Raphael Michel
a93287207b
pretix Community Edition moves to AGPLv3-based license ( #2023 )
2021-04-12 10:33:47 +02:00
Raphael Michel
7562f333cf
Subevents: Bulk editor ( #1918 )
...
Co-authored-by: Richard Schreiber <wiffbi@gmail.com >
2021-02-22 15:22:40 +01:00