Mira Weller
e518b3f06c
Add filter_restricted / allow_restricted params
2026-09-25 18:39:56 +02:00
Mira Weller
88a0482838
Move get_plugins, set_active_plugins, enable_plugin and disable_plugin into PluginsMixin
2026-09-25 17:46:21 +02:00
Mira Weller
7cfa454c2b
Fix: plugin.uninstalled() callback runs only if plugin is disabled via control panel (disable_plugin), not via API (set_active_plugins)
2026-09-25 17:39:57 +02:00
Mira Weller
576b55a995
Add available_plugins API
2026-09-25 17:30:04 +02:00
Mira Weller
313beb1122
Clean up get_all_plugins / get_available_plugins calls
2026-09-25 16:47:35 +02:00
Mira Weller
a89ebddbc4
Clean up get_all_plugins / get_available_plugins calls
2026-09-25 16:43:46 +02:00
Richard Schreiber
ed68719731
Widget: fix calendar view showing old events due to non-unique key (Z#23247433) ( #6585 )
...
* Widget: fix calendar view showing old events due to cache-key (Z#23247433)
* Update EventCalendarCell.vue
2026-09-24 12:00:57 +02:00
9aeb4b9731
Organizer API: Add endpoint for event-meta-properties
...
* Add API-endpoint for event-meta-properties
* Add new doc-file to index, fix spelling and description
* Fix logentry
* Fix logentry again
* validate and add tests
* add meta_properties from organizer only
* fix choices validation
* filter unknown keys from choices due to django-formsets
* Apply batched suggestions from code review
Co-authored-by: Richard Schreiber <wiffbi@gmail.com >
* add safe-guard normalization to None to to_representation
* Apply batched suggestions from code review
Co-authored-by: Raphael Michel <mail@raphaelmichel.de >
* update tests to check for error-messages as well
* fix flake8
* fix permission tests
* Make ObjectListField more flexibel for re-use
* fix validation result
* Improve validation
* Change to I18nField for validation
* update MetaPropertyDictField
* fix docs for i18n strings
* make label_child configurable if MetaPropertyDictField should contain non-localized stuff
* undo test changes in events test
* fix flake8
* Apply batched suggestions from code review
Co-authored-by: Raphael Michel <mail@raphaelmichel.de >
* improve code formatting
---------
Co-authored-by: Richard Schreiber <schreiber@rami.io >
Co-authored-by: Richard Schreiber <schreiber@pretix.eu >
Co-authored-by: Richard Schreiber <wiffbi@gmail.com >
Co-authored-by: Raphael Michel <mail@raphaelmichel.de >
2026-09-24 10:51:23 +02:00
Minding
9324887790
Translate OAuth buttons ( #6590 )
...
* Translate OAuth buttons
* Revert .po changes
2026-09-24 09:52:47 +02:00
Nate Horst
d353384555
Translations: Update Thai
...
Currently translated at 53.0% (3407 of 6419 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/th/
powered by weblate
2026-09-24 09:16:49 +02:00
Raphael Michel
b8f8e49cce
API: Add additional tests for modifying meta data (Z#23247634)
2026-09-23 19:01:52 +02:00
Raphael Michel
806d0a5748
User details: Show list of 2FA devices and allow to reset drift ( #6569 )
...
* User details: Show list of 2FA devices
* Add reset button
* Reset throttle
* Refactoring
* Fix delete paths in tests
2026-09-23 17:51:10 +02:00
Raphael Michel
69e541e5af
Product list: Fix edge case in dependent availabilities (Z#23243701) ( #6532 )
2026-09-23 17:22:54 +02:00
Raphael Michel
0723e6015c
Event header: Remove date directly above other date (Z#23245589) ( #6524 )
...
* Event header: Fix wrapping of date in h2 header (Z#23245589)
This was already correct if the header was a h1
* Revert "Event header: Fix wrapping of date in h2 header (Z#23245589)"
This reverts commit 3d25316fe3 .
* Event header: Remove date directly above other date
This removes the date from the <h2> option used when a header image is
uploaded and the header should still be shown. Rendering the date here
makes little sense, since the infobox with the date is always just a few
lines below. It still makes sense for the <h1> option where it becomes
part of the site header.
2026-09-23 15:54:47 +02:00
Raphael Michel
b8e1ab8258
Voucher API: Add search parameter (Z#23240589) ( #6523 )
2026-09-23 15:54:44 +02:00
Raphael Michel
81764278ae
Email settings: Collapse attendee texts if unused (Z#23243417) ( #6535 )
2026-09-23 14:00:56 +02:00
Nate Horst
f3068e627a
Translations: Update Thai
...
Currently translated at 52.2% (3356 of 6419 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/th/
powered by weblate
2026-09-23 11:41:45 +02:00
Nate Horst
993a3f96e9
Translations: Update Thai
...
Currently translated at 52.1% (3346 of 6419 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/th/
powered by weblate
2026-09-23 11:41:45 +02:00
Nate Horst
1af0b5e442
Translations: Update Thai
...
Currently translated at 51.8% (3330 of 6419 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/th/
powered by weblate
2026-09-23 11:41:45 +02:00
Nate Horst
71b6bf630f
Translations: Update Thai
...
Currently translated at 45.6% (2930 of 6419 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/th/
powered by weblate
2026-09-23 11:41:45 +02:00
Raphael Michel and Martin Gross
59026da06b
Delete PayPal integration v1 ( #6530 )
...
* Delete PayPal integration v1
Leaving only migrations behind
* Try to fix CI
* Fix tests some more
* Rename more plugin name instances in tests and docs
---------
Co-authored-by: Martin Gross <martin@pc-coholic.de >
2026-09-23 11:38:16 +02:00
Raphael Michel
b3e0892d76
Conditionally import sentry SDK during error page rendering
2026-09-23 11:33:05 +02:00
Raphael Michel
3029a6839b
Prevent Sentry SDK from being loaded during tests
2026-09-23 11:29:28 +02:00
Raphael Michel
a826b0a1bd
Customer area: Hide password change link for SSO users ( fixes #6572 ) ( #6580 )
2026-09-22 15:22:43 +02:00
Raphael Michel
7d7474c07d
Refund form: Do not allow individual negative amounts ( #6579 )
2026-09-22 12:47:06 +02:00
Raphael Michel
58023381b9
Merge branch 'refund-offset-perm-check' into 'master'
...
Offset refund: Do not allow to offset to order without access to
See merge request pretix/pretix!52
2026-09-22 12:46:20 +02:00
Raphael Michel
e5c44e7aed
Offset refund: Do not allow to offset to order without access to
2026-09-22 12:46:20 +02:00
Raphael Michel
d77a179606
2FA: Show info on throttled request ( #6581 )
...
* 2FA: Show info on throttled request
* Round up the time
2026-09-22 10:38:26 +02:00
Raphael Michel
29614db1e2
InvoiceShredder: Fix shredding of new fields ( #6577 )
...
* InvoiceShredder: Fix shredding of new fields
* Update src/pretix/base/migrations/0311_fix_unshredded_invoices.py
2026-09-22 10:37:58 +02:00
Raphael Michel
365051cc21
Event metadata: Fix server-side validation of write protection ( #6578 )
2026-09-22 10:00:15 +02:00
Raphael Michel
5c6b0eef6f
Plugin configuration: Allow organizers to see all events ( #6576 )
2026-09-22 09:51:18 +02:00
Raphael Michel
bc0a6b662b
Checkout: Fix VAT ID revalidation after country change ( #6575 )
2026-09-22 09:51:10 +02:00
dependabot[bot] and Richard Schreiber
0bc1aed1a0
Update pypdf requirement from ==6.11.* to ==6.19.* ( #6570 )
...
* Update pypdf requirement from ==6.11.* to ==6.18.*
Updates the requirements on [pypdf](https://github.com/py-pdf/pypdf ) to permit the latest version.
- [Release notes](https://github.com/py-pdf/pypdf/releases )
- [Changelog](https://github.com/py-pdf/pypdf/blob/main/CHANGELOG.md )
- [Commits](https://github.com/py-pdf/pypdf/compare/6.11.0...6.18.1 )
---
updated-dependencies:
- dependency-name: pypdf
dependency-version: 6.18.1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
* Update pyproject.toml
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Richard Schreiber <schreiber@pretix.eu >
2026-09-22 09:38:28 +02:00
Rita Gimenez
0eaa5a081c
Translations: Update Catalan
...
Currently translated at 29.4% (1892 of 6419 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/ca/
powered by weblate
2026-09-21 14:56:27 +02:00
Nate Horst
688c434c4f
Translations: Update Thai
...
Currently translated at 37.1% (2387 of 6419 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/th/
powered by weblate
2026-09-21 14:56:27 +02:00
dependabot[bot] and Raphael Michel
c0474604a1
Update isort requirement from ==8.0.* to ==9.0.* ( #6510 )
...
* Update isort requirement from ==8.0.* to ==9.0.*
Updates the requirements on [isort](https://github.com/PyCQA/isort ) to permit the latest version.
- [Release notes](https://github.com/PyCQA/isort/releases )
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md )
- [Commits](https://github.com/PyCQA/isort/compare/8.0.0...9.0.1 )
---
updated-dependencies:
- dependency-name: isort
dependency-version: 9.0.1
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
* Run isort
---------
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 >
2026-09-21 14:56:14 +02:00
dependabot[bot]
1741d08c2c
Update cryptography requirement from >=50.0.0 to >=50.0.1 ( #6509 )
...
Updates the requirements on [cryptography](https://github.com/pyca/cryptography ) to permit the latest version.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/cryptography/compare/50.0.0...50.0.1 )
---
updated-dependencies:
- dependency-name: cryptography
dependency-version: 50.0.1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-21 14:14:06 +02:00
dependabot[bot]
6bbd808aaa
Bump postcss-selector-parser from 7.1.1 to 7.1.5 ( #6513 )
...
Bumps [postcss-selector-parser](https://github.com/postcss/postcss-selector-parser ) from 7.1.1 to 7.1.5.
- [Release notes](https://github.com/postcss/postcss-selector-parser/releases )
- [Changelog](https://github.com/postcss/postcss-selector-parser/blob/main/CHANGELOG.md )
- [Commits](https://github.com/postcss/postcss-selector-parser/compare/v7.1.1...7.1.5 )
---
updated-dependencies:
- dependency-name: postcss-selector-parser
dependency-version: 7.1.5
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-21 14:13:46 +02:00
dependabot[bot]
aa90c5b3b1
Bump @humanfs/node from 0.16.7 to 0.16.8 ( #6517 )
...
Bumps [@humanfs/node](https://github.com/humanwhocodes/humanfs/tree/HEAD/packages/node ) from 0.16.7 to 0.16.8.
- [Release notes](https://github.com/humanwhocodes/humanfs/releases )
- [Changelog](https://github.com/humanwhocodes/humanfs/blob/main/packages/node/CHANGELOG.md )
- [Commits](https://github.com/humanwhocodes/humanfs/commits/node-v0.16.8/packages/node )
---
updated-dependencies:
- dependency-name: "@humanfs/node"
dependency-version: 0.16.8
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-21 14:13:39 +02:00
dependabot[bot]
bfbabe0e58
Update fakeredis requirement from ==2.37.* to ==2.38.* ( #6563 )
...
Updates the requirements on [fakeredis](https://github.com/cunla/fakeredis-py ) to permit the latest version.
- [Release notes](https://github.com/cunla/fakeredis-py/releases )
- [Commits](https://github.com/cunla/fakeredis-py/compare/v2.37.0...v2.38.0 )
---
updated-dependencies:
- dependency-name: fakeredis
dependency-version: 2.38.0
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-21 14:08:32 +02:00
Raphael Michel and pajowu
aa14505d2c
Money representation in templates: Allow more precision ( #6454 )
...
* Money representation in templates: Allow more precision
When rendering money in templates, we used to have the following logic:
- When the decimal places fit the currency, render with Babel
- When they don't, e.g. we stored 123.67 JPY, even though there are no
fractional Yens, render without Babel with a custom format, but render
the fractional Yens because we'd rather *show* wrong data and make the
bug obvious than hide it.
However, we only did that up to a prevision of two places, we never
showed more. This is still sufficient for core pretix, but we have
plugins that need to operate in fractional cents. Also, we CAN render
everything through babel for consistent formatting.
There is one **risk**: This might cause weird results on SQLite. Since
SQLite has no concept of precise decimal math, results of in-SQL
computations can sometimes experience floating point errors and show
with A LOT of decimal palces. This used to be invisible since the UI
performed the rounding. With this PR – not any more. We'll need to see
how annoying it is, but it should only affect development mode.
This PR also fixes a bug in tax_rate_format that for some reason did not
do what it was supposed to do, even though I tested it back then, weird.
Might even be a Python version thing?
* Update src/pretix/base/templatetags/money.py
Co-authored-by: pajowu <engelhardt@pretix.eu >
* Apply suggestion from @pajowu
Co-authored-by: pajowu <engelhardt@pretix.eu >
* Fix typing stuff
* Fix precision issue
---------
Co-authored-by: pajowu <engelhardt@pretix.eu >
2026-09-18 11:49:12 +02:00
Kara Engelhardt
df69656364
PDF: Fix background page being rotated multiple times
...
transfer_rotation_to_content (or rather add_transformation/replace_content) do not properly duplicate the contentstream they're modifying. this means that if you pass a pdf-level copy of the same bg_page multiple times, the content will be rotated multiple times but the rotation-property ('/Rotate') will only be changed for the first page
pypdfs docs explicitly say that you should not to add_transformation + merge, but instead use merge_transformed_page, which this now does for everything
2026-09-18 11:35:01 +02:00
Kara Engelhardt
82cffd1519
pdf: calculate sizebox based on cropbox and mediabox
2026-09-18 11:33:34 +02:00
Richard Schreiber
7fc527135d
PDF: use artbox before trimbox before mediabox from background-PDF as size for canvas
2026-09-18 11:33:34 +02:00
Raphael Michel
8e39b67ee9
Fix missing translatable field label
2026-09-17 11:56:12 +02:00
dependabot[bot]
289cbe5bfc
Update django-countries requirement from ==9.0.* to ==9.1.* ( #6562 )
...
Updates the requirements on [django-countries](https://github.com/SmileyChris/django-countries ) to permit the latest version.
- [Changelog](https://github.com/SmileyChris/django-countries/blob/main/CHANGES.md )
- [Commits](https://github.com/SmileyChris/django-countries/compare/v9.0.0...v9.1.0 )
---
updated-dependencies:
- dependency-name: django-countries
dependency-version: 9.1.0
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-17 10:43:55 +02:00
Raphael Michel
7143b877c8
Translations: Update German
...
Currently translated at 100.0% (6419 of 6419 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/de/
powered by weblate
2026-09-16 15:46:28 +02:00
dependabot[bot]
e2a78100af
Update pyjwt requirement from ==2.13.* to ==2.14.* ( #6557 )
...
Updates the requirements on [pyjwt](https://github.com/jpadilla/pyjwt ) to permit the latest version.
- [Release notes](https://github.com/jpadilla/pyjwt/releases )
- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst )
- [Commits](https://github.com/jpadilla/pyjwt/compare/2.13.0...2.14.0 )
---
updated-dependencies:
- dependency-name: pyjwt
dependency-version: 2.14.0
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-16 15:46:16 +02:00
dependabot[bot]
ca77467e48
Update sentry-sdk requirement from ==2.68.* to ==2.69.* ( #6556 )
...
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.68.0...2.69.1 )
---
updated-dependencies:
- dependency-name: sentry-sdk
dependency-version: 2.69.1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-16 15:46:07 +02:00
Raphael Michel
d3cbfcd4da
Invoice export: Add transmission-specific data (Z#23239732) ( #6522 )
2026-09-15 16:44:00 +02:00