Commit Graph

91 Commits

Author SHA1 Message Date
Raphael Michel
177a7d07fc Update license header (#5540) 2025-10-10 15:32:46 +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
f450abba24 Fix crash in voucher bulk deletion (PRETIXEU-B0T) 2025-02-25 16:00:53 +01:00
Raphael Michel
d721d9577c Improve efficiency of bulk operations (#4832)
* Improve efficiency of bulk operations

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

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

* Review notes

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2025-02-21 16:11:47 +01:00
Raphael Michel
2dc625cf31 Add the option to introduce rich-text placeholders (#4657)
* Add the option to introduce rich-text placeholders

* Add tests in test_format

* Add some css

* Block vs inline

* Some fixed css

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

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

* Add missing docstring prat

---------

Co-authored-by: Mira <weller@rami.io>
2024-12-03 11:38:15 +01:00
Raphael Michel
1879e440a7 Fix isort issue 2024-08-23 15:24:56 +02:00
Mira
f819f0c316 Escape HTML in placeholder samples in mail preview (#4413)
CVE-2024-8113
2024-08-23 14:41:25 +02:00
Raphael Michel
6087665775 Email preview: Include prefix in subject (#4395) 2024-08-23 13:42:29 +02:00
Raphael Michel
56803e3d65 Fix voucher and order views for users with read-only permissions (#3594) 2023-09-14 17:37:48 +02:00
Raphael Michel
c842ea597c New locking mechanism (#2408)
Co-authored-by: Richard Schreiber <schreiber@rami.io>
2023-09-11 11:44:50 +02:00
Raphael Michel
89ba2da7e7 QR code generator for voucher URLs and general URLs (#3518)
* QR code generator: Allow other URLs to be used (e.g. for plugins)

* Add QR code to voucher URL view

* Fix allowed_hosts

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2023-08-17 10:10:27 +02:00
Raphael Michel
f4203b7408 Vouchers: Don't allow to generate more than 100k random codes at once 2023-07-10 15:11:49 +02:00
Raphael Michel
cf781fc79e Voucher list: Optimize SQL query 2023-05-25 10:45:00 +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
433262f6fc Prepare for DeleteView change in Django 4.0 2023-01-24 14:16:01 +01:00
Maico Timmerman
cc8282bef1 vouchers: allow deleting vouchers that are used on addon cartpositions (#2478) 2022-02-23 13:00:18 +01:00
Raphael Michel
adced71706 Fix bugs from af3006a5b 2022-02-08 17:53:26 +01:00
Raphael Michel
af3006a5bd Fix mass-creation of vouchers on MySQL 2022-02-07 15:31:09 +01:00
Raphael Michel
50154c02ce Voucher: Add error message to form_invalid 2021-09-06 19:32:40 +02:00
Raphael Michel
7ebefa7b85 Allow to manually bump carts blocking a voucher 2021-08-30 15:57:28 +02:00
Raphael Michel
276add9163 Refactor bulk-generation of voucher codes into utility function 2021-08-23 12:50:02 +02:00
Raphael Michel
ce2da4ee99 Fix isort issue 2021-05-11 17:25:29 +02:00
Raphael Michel
0f73f5bc5e Optimize performance of voucher code generation on PostgreSQL 2021-05-11 17:10:14 +02:00
Raphael Michel
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
Richard Schreiber
f2a18325b6 Add a voucher’s comment to voucher.csv download (#1926) 2021-02-15 13:41:44 +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
Raphael Michel
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 Michel
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 Michel
529e2a0286 Re-set redeemed property when copying vouchers 2019-12-13 15:52:27 +01:00
Raphael Michel
8156cdd539 Add seat to voucher CSV export 2019-12-11 17:30:53 +01:00
Raphael Michel
2a929200b5 Vouchers: Fix CSV export for all-product vouchers 2019-12-09 10:23:50 +01:00
Raphael Michel
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 Michel
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
Raphael Michel
447a8b0a8c Add missing mark_safe call 2019-10-06 11:53:37 +02:00
Sohalt
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
2c6125adeb Allow to copy vouchers 2019-09-19 16:33:59 +02:00
Martin Gross
cf14dcf889 Add Subevent-Filter for Voucher-Tags (#1407)
* Add Subevent-Filter for Voucher-Tags

* Filter Subevent Voucher-Tags with proper Filter

* Apply filter before annotating totals and usage
2019-09-16 14:08:23 +02:00
Raphael Michel
b19df33dda Fix a bug during deletion of vouchers 2019-05-15 15:57:08 +02:00
Raphael Michel
d0d0f9aa4c Fix logic flaw in cart position deletion 2019-04-04 17:18:12 +02:00
Raphael Michel
b931d27486 Solve cart deletion issues once and for all 2019-04-04 09:57:57 +02:00
Raphael Michel
cbf5c2ec1d Fix ZeroDivisionError if a voucher tag is given to a voucher with max_usages=0
Fix PRETIXEU-V7
2019-02-08 13:59:05 +01:00
Raphael Michel
77950de588 Voucher bulk delete: Remove cart positions as well 2019-02-06 10:28:26 +01:00
Raphael Michel
48b399424a Delete voucher even if it is contained in carts
Fix PRETIXEU-R1
2019-02-05 15:47:11 +01:00
Raphael Michel
4b8d4b4792 Allow to bulk-delete vouchers 2018-10-03 11:32:55 +02:00
Raphael Michel
afd766999c Upgrade to Django 2.1 (#710)
* Upgrade to Django 2.0

* more models

* i18n foo

* Update setup.py

* Fix Sentry exception PRETIXEU-JC

* Enforce slug uniqueness

* Import sorting

* Upgrade to Django 2.1

* Travis config

* Try to fix PostgreSQL failure

* Smaller test matrix

* staticfiles→static

* Include request in all authenticate() calls
2018-08-06 12:48:46 +02:00
Raphael Michel
24739e1638 Hide waiting list vouchers in voucher list 2018-07-29 15:39:31 +02:00