eb29101d09
Allow more decimal places for tax rates ( #6092 )
...
* Allow more decimal places for tax rates
* Fix normalization
* More tax rate handling
* Add uncommitted tests
* Rebase migration
* Update src/pretix/base/migrations/0304_tax_rate_decimals.py
Co-authored-by: robbi5 <richt@rami.io >
---------
Co-authored-by: robbi5 <richt@rami.io >
2026-07-15 16:20:45 +02:00
szurofkamarciidfbe08444ef04788 and Raphael Michel
d007fb9566
Translations: Update Hungarian
...
Currently translated at 100.0% (260 of 260 strings)
Translation: pretix/pretix (JavaScript parts)
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix-js/hu/
powered by weblate
2026-07-15 11:39:34 +02:00
szurofkamarciidfbe08444ef04788 and Raphael Michel
93cbbea193
Translations: Update Hungarian
...
Currently translated at 16.7% (1064 of 6362 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/hu/
powered by weblate
2026-07-15 11:39:34 +02:00
szurofkamarciidfbe08444ef04788 and Raphael Michel
eacce6d1f8
Translations: Update Hungarian
...
Currently translated at 100.0% (260 of 260 strings)
Translation: pretix/pretix (JavaScript parts)
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix-js/hu/
powered by weblate
2026-07-15 11:39:34 +02:00
szurofkamarciidfbe08444ef04788 and Raphael Michel
cdd7412fbb
Translations: Update Hungarian
...
Currently translated at 13.2% (844 of 6362 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/hu/
powered by weblate
2026-07-15 11:39:34 +02:00
szurofkamarciidfbe08444ef04788 and Raphael Michel
a6d462c14e
Translations: Update Hungarian
...
Currently translated at 11.2% (717 of 6362 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/hu/
powered by weblate
2026-07-15 11:39:34 +02:00
Hijiri Umemoto and Raphael Michel
d5d928cdce
Translations: Update Japanese
...
Currently translated at 100.0% (6362 of 6362 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/ja/
powered by weblate
2026-07-15 11:39:34 +02:00
szurofkamarciidfbe08444ef04788 and Raphael Michel
e0a8b81290
Translations: Update Hungarian
...
Currently translated at 11.1% (711 of 6362 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/hu/
powered by weblate
2026-07-15 11:39:34 +02:00
szurofkamarciidfbe08444ef04788 and Raphael Michel
6b0419e488
Translations: Update Hungarian
...
Currently translated at 100.0% (260 of 260 strings)
Translation: pretix/pretix (JavaScript parts)
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix-js/hu/
powered by weblate
2026-07-15 11:39:34 +02:00
szurofkamarciidfbe08444ef04788 and Raphael Michel
48104e0c9f
Translations: Update Hungarian
...
Currently translated at 10.8% (690 of 6362 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/hu/
powered by weblate
2026-07-15 11:39:34 +02:00
ahmed badr and Raphael Michel
7eefb18b67
Translations: Update Arabic
...
Currently translated at 99.7% (6348 of 6362 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/ar/
powered by weblate
2026-07-15 11:39:34 +02:00
ahmed badr and Raphael Michel
f9022e5a5e
Translations: Update Arabic
...
Currently translated at 100.0% (260 of 260 strings)
Translation: pretix/pretix (JavaScript parts)
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix-js/ar/
powered by weblate
2026-07-15 11:39:34 +02:00
ahmed shabbat and Raphael Michel
08c5963d7b
Translations: Update Arabic
...
Currently translated at 99.7% (6348 of 6362 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/ar/
powered by weblate
2026-07-15 11:39:34 +02:00
ahmed badr and Raphael Michel
e8274527cb
Translations: Update Arabic
...
Currently translated at 99.7% (6348 of 6362 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/ar/
powered by weblate
2026-07-15 11:39:34 +02:00
Raphael Michel and Raphael Michel
f77aad0eeb
Translations: Update German (informal) (de_Informal)
...
Currently translated at 100.0% (260 of 260 strings)
Translation: pretix/pretix (JavaScript parts)
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix-js/de_Informal/
powered by weblate
2026-07-15 11:39:34 +02:00
ahmed badr and Raphael Michel
d5b0059c34
Translations: Update Arabic
...
Currently translated at 100.0% (260 of 260 strings)
Translation: pretix/pretix (JavaScript parts)
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix-js/ar/
powered by weblate
2026-07-15 11:39:34 +02:00
ahmed badr and Raphael Michel
47a170ab62
Translations: Update Arabic
...
Currently translated at 78.6% (5005 of 6362 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/ar/
powered by weblate
2026-07-15 11:39:34 +02:00
ahmed shabbat and Raphael Michel
93aebffe2c
Translations: Update Arabic
...
Currently translated at 65.8% (4191 of 6362 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/ar/
powered by weblate
2026-07-15 11:39:34 +02:00
ahmed badr and Raphael Michel
7795c711be
Translations: Update Arabic
...
Currently translated at 65.8% (4191 of 6362 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/ar/
powered by weblate
2026-07-15 11:39:34 +02:00
ahmed badr and Raphael Michel
1eb685d4ee
Translations: Update Arabic
...
Currently translated at 59.8% (3808 of 6362 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/ar/
powered by weblate
2026-07-15 11:39:34 +02:00
CVZ-es and Raphael Michel
b8c523cfac
Translations: Update Spanish
...
Currently translated at 100.0% (6362 of 6362 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/es/
powered by weblate
2026-07-15 11:39:34 +02:00
Joram Schwartzmann and Raphael Michel
fae9fff98e
Translations: Update French
...
Currently translated at 100.0% (260 of 260 strings)
Translation: pretix/pretix (JavaScript parts)
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix-js/fr/
powered by weblate
2026-07-15 11:39:34 +02:00
CVZ-es and Raphael Michel
92cfbd54b9
Translations: Update French
...
Currently translated at 100.0% (6362 of 6362 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/fr/
powered by weblate
2026-07-15 11:39:34 +02:00
Joram Schwartzmann and Raphael Michel
18203e0804
Translations: Update French
...
Currently translated at 100.0% (6362 of 6362 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/fr/
powered by weblate
2026-07-15 11:39:34 +02:00
Raphael Michel and GitHub
52ed8eeb50
Mail setup: Add DKIM + DMARC validation ( #6339 )
...
* Mail setup: Add DKIM + DMARC validation
* Tests
* Test fixes
2026-07-15 11:36:35 +02:00
1e4888bad0
Bump django-filter from 25.1 to 26.1 ( #6377 )
...
Bumps [django-filter](https://github.com/carltongibson/django-filter ) from 25.1 to 26.1.
- [Release notes](https://github.com/carltongibson/django-filter/releases )
- [Changelog](https://github.com/carltongibson/django-filter/blob/main/CHANGES.rst )
- [Commits](https://github.com/carltongibson/django-filter/compare/25.1...26.1 )
---
updated-dependencies:
- dependency-name: django-filter
dependency-version: '26.1'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-15 09:41:35 +02:00
dependabot[bot] and Raphael Michel
c3056a8aae
Update sentry-sdk requirement from ==2.64.* to ==2.65.*
...
Updates the requirements on [sentry-sdk](https://github.com/getsentry/sentry-python ) to permit the latest version.
- [Release notes](https://github.com/getsentry/sentry-python/releases )
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-python/compare/2.64.0...2.65.0 )
---
updated-dependencies:
- dependency-name: sentry-sdk
dependency-version: 2.65.0
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-15 09:41:18 +02:00
Raphael Michel and GitHub
4a4cff3c41
Drop all csp_ignore statements from core (except stripe, for now) ( #6337 )
...
* Add proper CSP policy for HTML email preview
* Handle safe types centrally
* Precompile schema validation function to get rid of ajv2020
* Fix tests
* adjust more tests
2026-07-15 09:39:42 +02:00
Raphael Michel and GitHub
ffca102a8a
Question form: Do not store invalid False values for required boolean questions (Z#23239887) ( #6366 )
2026-07-10 16:42:10 +02:00
luelista and GitHub
78f8830f90
Hotfix: fix order_position_buttons receiver
2026-07-10 15:08:10 +02:00
Raphael Michel
eb594266a7
Hotfix: Add missing mark_safe after strip
2026-07-10 14:56:48 +02:00
76e6803eac
Fix customer views using wrong csrf middleware ( #6027 )
...
* Fix customer views using wrong csrf middleware
This lead to persistent csrf validation errors if the token from the cookie expired, which could only be solved by clearing cookies.
* Remove unneccesary csrf_protect decorators
* Fix typo
Co-authored-by: Raphael Michel <michel@pretix.eu >
---------
Co-authored-by: Raphael Michel <michel@pretix.eu >
2026-07-10 13:25:40 +02:00
Richard Schreiber and pajowu
e19908571c
Fix delete_cookie for partitioned legacy CSRF cookie
2026-07-10 13:25:40 +02:00
779ab360df
Bump django-formtools from 2.6.1 to 2.7 ( #6371 )
...
Bumps [django-formtools](https://github.com/jazzband/django-formtools ) from 2.6.1 to 2.7.
- [Changelog](https://github.com/jazzband/django-formtools/blob/master/docs/changelog.rst )
- [Commits](https://github.com/jazzband/django-formtools/compare/2.6.1...2.7 )
---
updated-dependencies:
- dependency-name: django-formtools
dependency-version: '2.7'
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-10 12:17:12 +02:00
Raphael Michel and GitHub
723c63008d
Team invite: Improve error message (Z#23239860) ( #6368 )
2026-07-10 12:13:44 +02:00
15c194c0a3
Add base class for historical payment providers ( #6336 )
...
* Add base class for historical payment providers
* Update src/pretix/base/payment.py
Co-authored-by: pajowu <engelhardt@pretix.eu >
---------
Co-authored-by: pajowu <engelhardt@pretix.eu >
2026-07-10 11:10:32 +02:00
pajowu and GitHub
7f847c3dd2
Fix TypeError if task.request.headers is None ( #6367 )
2026-07-09 18:52:49 +02:00
luelista and GitHub
430c6dd269
Use SafeStrings for plugin signals returning HTML that should be rendered ( #6343 )
...
As a security precaution, we change the contract of some signals such that a
SafeString needs to be returned if HTML should be rendered without further
escaping.
Before, the `{% signal ... %}` and `{% eventsignal ... %}` template tags
called mark_safe themselves on all strings returned from signals. That could
lead to unsafe coding practices, where untrusted values are interpolated into
HTML format strings. However, such interpolations should usually be performed
using helpers such Django's format_html, which automatically escapes inputs
and returns a SafeString.
Now, we call conditional_escape on signal results, so that any HTML not explicitly
marked as safe gets escaped.
Most plugins are not affected by this change as they return a SafeString as a
result of Template.render already.
2026-07-09 17:50:26 +02:00
Raphael Michel
6411648457
Revert "Update redis requirement from ==7.4.* to ==8.0.* ( #6226 )"
...
This reverts commit 005b3864b1 .
2026-07-09 00:45:32 +02:00
005b3864b1
Update redis requirement from ==7.4.* to ==8.0.* ( #6226 )
...
* Update redis requirement from ==7.4.* to ==8.0.*
Updates the requirements on [redis](https://github.com/redis/redis-py ) to permit the latest version.
- [Release notes](https://github.com/redis/redis-py/releases )
- [Changelog](https://github.com/redis/redis-py/blob/master/CHANGES )
- [Commits](https://github.com/redis/redis-py/compare/v7.4.0...v8.0.0 )
---
updated-dependencies:
- dependency-name: redis
dependency-version: 8.0.0
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
* Remove setex calls
* Update src/pretix/presale/views/user.py
Co-authored-by: luelista <weller@rami.io >
* Fix tests
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raphael Michel <michel@pretix.eu >
Co-authored-by: Raphael Michel <michel@rami.io >
Co-authored-by: luelista <weller@rami.io >
2026-07-08 12:07:54 +02:00
Raphael Michel and GitHub
1ee1c604cf
Tax rules: Correctly write log when changing custom rules ( #6358 )
2026-07-08 11:33:06 +02:00
luelista and GitHub
e425105dbf
Fix link from voucher tag to filtered voucher list ( #6362 )
2026-07-08 11:26:37 +02:00
Martin Gross
738b375042
DevDocs: Bump nodejs to 24
2026-07-08 10:53:14 +02:00
sweenu and GitHub
d09572d999
Remove leftovers from contact url in quick setup ( #6359 )
2026-07-07 19:23:48 +02:00
Lukas Bockstaller and GitHub
634754aacb
repair sendmail rules so we don't send emails to all positions in order independent of checkin status (Z#23235255) ( #6340 )
...
* add repro for Z#23235255
* add testcase for fallback to order.email
* only send to orderpositions included in op_qs
* codestyle
2026-07-07 17:46:52 +02:00
14c3baa2aa
Drop nullability on Order.organizer and OrderPosition.organizer ( #4278 )
...
* Drop nullability on Order.organizer and OrderPosition.organizer
* Rebase migration and add autoclean
* Utilize new relationship for scopes
* Declare reverse noop
* Update src/pretix/base/migrations/0302_resolve_duplicate_codes_and_secrets.py
Co-authored-by: Martin Gross <gross@rami.io >
* Update src/pretix/base/migrations/0302_resolve_duplicate_codes_and_secrets.py
Co-authored-by: Martin Gross <gross@rami.io >
---------
Co-authored-by: Martin Gross <gross@rami.io >
2026-07-07 17:44:19 +02:00
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
Raphael Michel and GitHub
ea2c81e6dc
Improve handling of logout during asynchronous tasks (Z#23238978) ( #6341 )
...
* Handle logout during async task requests properly
* Handle fragments safely on webcheckin logout
* Remove unnecessary comment
* Revert hash change
2026-07-07 16:14:00 +02:00
Raphael Michel
2bd5e90a86
Fix isort
2026-07-07 15:43:00 +02:00
Raphael Michel
8095134400
Add query tagging for periodic tasks
2026-07-07 14:55:32 +02:00