Commit Graph
89 Commits
Author SHA1 Message Date
dc1b62fc56 Vouchers: Allow to bulk-update (#6096)
* Vouchers: Allow to bulk-delete larger numbers

* [DRAFT] voucher bulk update

* untested draft

* Minor fixes

* some tests and fixes

* More tests

* Bulk vouchers - refactor (#6353)

* Reuse parse_itemvar from VoucherForm

* Refactor: Method for _bulk update check

* remove unused parameter

* Refactor: Deduplicate get_affected_quotas code

* Remove unused delete button

* Prevent accidental update of *all* vouchers (cf PR #4960)

* Make sure we actually edit the selected items

* Use dataclass for bulk-edit data, deduplicate quota-blocking logic

* Move dataclass to models.py

* Fix linter errors

* Fix tests

* Fix tests

---------

Co-authored-by: luelista <weller@rami.io>
2026-07-07 17:03:25 +02:00
Kian CrossandGitHub 6fdcbcebd2 Add typeahead suggestions for voucher tag field (#6058)
Suggest existing tags as the user types in the voucher tag field.
Waiting list voucher tags are excluded from suggestions.
2026-07-06 11:42:05 +02:00
Raphael Michelandluelista fdd34f387a [SECURITY] Prevent HTML injection through placeholders in emails
Co-authored-by: luelista <weller@pretix.eu>
2025-11-27 11:41:27 +01:00
Raphael MichelandGitHub 177a7d07fc Update license header (#5540) 2025-10-10 15:32:46 +02:00
Richard SchreiberandGitHub b3974067a5 Fix placeholder interpolation in voucher error message (#5456) 2025-09-09 19:43:36 +02:00
Tobias KunzeandGitHub 154f10af8f Fix bulk voucher CSV field description (#5120) 2025-08-04 16:35:19 +02:00
Richard SchreiberandGitHub 14d6013292 FormFields: remove placeholders duplicating labels (#5135) 2025-07-10 16:06:36 +02:00
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
Raphael Michel 7a66aea2cb Voucher update: Allow to remove seat 2024-10-07 11:42:28 +02:00
Raphael Michel ad443d0eb6 Improve a help text 2024-08-05 12:34:33 +02:00
288f73b735 Bulk voucher creation: Use event default language for default text (#4349)
* Bulk voucher creation: Use event default language for default text

* Update src/pretix/control/forms/vouchers.py

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

* Apply suggestions from code review

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

* Style

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2024-07-30 16:48:30 +02:00
Raphael Michel a7a33ed165 Voucher bulk form: Strip spaces from email addresses before validation 2024-06-20 17:16:21 +02:00
Raphael Michel e28bbb7ea0 Voucher creation: Fix TypeError in validation (PRETIXEU-A52) 2024-06-10 12:23:20 +02:00
Raphael MichelandGitHub 5ca0833db1 Vouchers: Fix validation of quota when copying a blocking voucher (Z#23152799) (#4133)
* Vouchers: Fix validation of quota when copying a blocking voucher

* Bugfixes
2024-05-07 09:50:16 +02:00
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 70d32ea1aa Voucher form: Add quota in help text 2024-02-07 09:59:32 +01:00
Raphael Michel 82704b60c7 Voucher form: Fix quota check for partially redeemed vouchers 2023-11-29 16:09:04 +01:00
Raphael Michel 158d480bb3 Fix typo in error message 2023-10-18 10:57:31 +02:00
Richard SchreiberandGitHub ca79436e36 Vouchers: fix code min-length check on bulk creation 2023-09-26 09:15:23 +02:00
Richard SchreiberandGitHub af3100a354 E-mail content: insert placeholder into text on click 2023-09-14 10:32:22 +02:00
Raphael Michel f017de1a21 Voucher bulk creation: Fix validation issue 2023-08-23 12:18:30 +02:00
Raphael Michel c4ae363fdb Use hard line breaks in all default email texts 2023-06-16 15:38:46 +02:00
Raphael Michel 35d2a73f75 Voucher creation: Fix crash in validation (PRETIXEU-8GF) 2023-06-02 17:19:25 +02:00
c75c080c5c Vouchers: Allow to set all addons or bundles as included (#3322)
Co-authored-by: Richard Schreiber <schreiber@rami.io>
2023-05-22 11:59:27 +02:00
Raphael Michel 23b863df96 Voucher bulk cration: Add heuristical error message for CSV input 2023-03-29 17:55:56 +02:00
Raphael Michel c184187e59 Improve error handling for CSV parsing in voucher bulk creation 2022-11-08 10:27:31 +01:00
Raphael MichelandGitHub d69d70cfb1 Voucher: Add min_usages parameter (#2853) 2022-10-20 18:07:24 +02:00
Raphael Michel 2fd2462ef1 Voucher bulk creation: Fix validation for duplicate in input 2022-02-25 18:12:28 +01:00
Raphael Michel 04375d4fcf Fix voucher form validation (Z#2384192) 2021-09-06 19:32:15 +02:00
Raphael MichelandGitHub a93287207b pretix Community Edition moves to AGPLv3-based license (#2023) 2021-04-12 10:33:47 +02:00
Raphael Michel 4a2ac110b3 Voucher bulk creation: More efficient implementation and async task 2021-03-14 18:19:49 +01:00
Raphael Michel ac7502b0a2 Limit batch size in bulk voucher creation (avoid problems with MySQL's max_packet_size) 2021-01-28 12:43:26 +01:00
Martin GrossandGitHub b4778b5845 Allow to unselect product or quota from voucher (#1799) 2020-10-06 09:08:15 +02:00
Raphael MichelandGitHub af23d6e4bf Upgrade to Django 3.0 and other dependencies (#1568)
* Upgrade Django to 3.0 and other dependencies to recent versions

* Fix otp version contsraint

* Remove six dependency

* Resolve some warnings

* Fix failing tests

* Update django-countries

* Resolve all RemovedInDjango31Warnings in test suite

* Run isort

* Fix import

* Update PostgreSQL version on travis
2020-03-23 15:02:20 +01:00
Raphael Michel 7acee9458d Move bulk_create logic during bulk voucher creation 2020-02-09 12:17:48 +01:00
Raphael MichelandGitHub 8e2821b398 Add a maximum budget to vouchers (#1526)
* Data model changes

* Fix test failures

* Adjustments

* Some tests and API support

* Check when extending orders

* Make things more deterministic, fix style

* Do not apply negative discounts

* Update price_before_voucher on item/subevent changes

* Add tests for price_before_voucher in combination with free price

* Fix InvoiceAddress.DoesNotExist
2020-01-03 16:15:17 +01:00
Raphael Michel e1a4dd6e43 Revert "Data model changes"
This reverts commit 089a468a5d.
2019-12-15 19:00:02 +01:00
Raphael Michel 089a468a5d Data model changes 2019-12-15 18:28:51 +01:00
Raphael MichelandGitHub bbc70447a2 Allow to create vouchers for *all* products (#1504) 2019-11-27 14:57:09 +01:00
Raphael Michel 84fb25e4d9 Voucher creation: Auto-select products based on seat 2019-11-22 13:25:20 +01:00
Raphael Michel 5e9610eecf Fix typo in function call 2019-11-17 19:35:06 +01:00
Raphael Michel 1c40351b27 Bulk voucher sending: Correctly strip lines of whitespace 2019-11-17 19:31:41 +01:00
Raphael Michel 9515249098 Bulk voucher creation: Fix spaces in seat IDs 2019-11-15 18:44:47 +01:00
Raphael MichelandGitHub a2c1c69d7e Seat-specific vouchers (#1486)
* Basic functionality

* API

* Do not delete seats with vouchers

* Show seat in list of seats

* Validate availability of seats

* Fix invalid logic in Seat.is_available

* Show voucher name in edit form
2019-11-15 10:56:34 +01:00
Raphael MichelandGitHub 1e0e8184c8 Fix #312 -- Bulk-send vouchers via email (#1469)
* Allow to directly bulk-send vouchers via email

* Send mails

* Log messages

* Fix test failures

* Add new test cases
2019-10-29 11:53:59 +01:00
SohaltandRaphael Michel 05b4d954d9 Make voucher code in notification clickable (#1423)
* Make voucher code in notification clickable

* Move html out of translated string
2019-10-06 11:52:34 +02:00
Raphael Michel 08bfe13dc3 Re-add validation for hidden vouchers 2019-07-08 14:25:35 +02:00
Raphael Michel f6a4c5271e Remove obsolete validation 2019-07-08 11:05:08 +02:00
Raphael MichelandGitHub ca1c387a41 Allow quota-level vouchers for hidden products (#1123)
* Changes in checks

* Backwards-compatible implementation

* Add test

* Fix voucher bulk form
2019-07-07 13:36:04 +02:00
Raphael MichelandGitHub d85ddb5bda Integrate django-scopes (#1319)
* Install django-scopes

* Fix tests.api

* Update tasks and cronjobs

* Fix remaining tests

* Remove unused import

* Fix tests after rebase

* Disable scopes for get_Events_with_any_permission

* Disable scopes for a management command
2019-06-17 10:46:55 +02:00