Richard Schreiber
6d8d06e78f
fix isort
2024-04-15 16:26:11 +02:00
Richard Schreiber
3bde9d8b0e
Fix: show country name in countrycodes question in profile description
2024-04-15 16:26:11 +02:00
Richard Schreiber
11956a8f4d
fix isort
2024-04-15 16:25:25 +02:00
Raphael Michel
d0c58713c4
Badge/ticket export: Allow to sort by company
2024-04-15 10:55:40 +02:00
Raphael Michel
46da0bda61
Placeholders: Use dynamic sample for name_for_salutation
2024-04-15 10:55:40 +02:00
Raphael Michel
009e3a6d36
Respect Order.valid_if_pending for mail_attach_ical_paid_only ( #4065 )
2024-04-12 15:00:00 +02:00
Martin Gross
c01855270b
Approval Process: Attach ical to approval-messages if properly configured ( #4064 )
2024-04-12 11:18:21 +02:00
dependabot[bot]
2df1585b71
Update sentry-sdk requirement from ==1.44.* to ==1.45.* ( #4058 )
...
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/1.44.0...1.45.0 )
---
updated-dependencies:
- dependency-name: sentry-sdk
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-11 13:33:01 +02:00
Raphael Michel
bf48ae567f
NREI export: Fix parsing of stripe data
2024-04-11 09:27:55 +02:00
dependabot[bot]
5a72c72d18
Update django-otp requirement from ==1.3.* to ==1.4.* ( #4057 )
...
Updates the requirements on [django-otp](https://github.com/django-otp/django-otp ) to permit the latest version.
- [Changelog](https://github.com/django-otp/django-otp/blob/master/CHANGES.rst )
- [Commits](https://github.com/django-otp/django-otp/compare/v1.3.0...v1.4.0 )
---
updated-dependencies:
- dependency-name: django-otp
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-10 09:56:40 +02:00
Raphael Michel
ac02f3b417
API: Fix crash in order creation (PRETIXEU-9XS)
2024-04-10 09:40:35 +02:00
Martin Gross
58add74b3a
Stripe: Add PayPal ( #4049 ) (Z#23123667)
2024-04-09 10:06:58 +02:00
Raphael Michel
0067c3537d
Fix invalid orders being created in a complex situation ( #4054 )
...
This was a bug that took days to find. The story goes like this: A cart
is created with four positions that each include four bundled positions.
A discount is applied, changing the price of *one* of the four top-level
positions to a reduced value. The list of position IDs gets passed to
`perform_order()`, which later passes it on to `transform_cart_positions()`.
`transform_cart_positions()`, however, receives the positions in an order
that has the first-level product *after* the bundled products that
belong to it. Therefore, it can't properly assign the parent-child
relationship between the positions.
The main reason is that cart positions are processed in "database order"
in a number of places, i.e. we make `SELECT` queries without an explicit
`ORDER BY` statement, leading the database to respond in unspecified
order. This is the case for `get_cart()` and hence for `CartMixin.positions`,
and hence for the list of position IDs that is passed to `perform_order()`
and hence for the order in which discounts are processed.
Therefore, if this "databse order" of the cart positions changes, the
discount compuation in `_check_positions()` might make a different choice
of *which* cart position should receive the discount than the CartManager
originally did. That's not nice, but most customers would not even
notice that a different one of their four (otherwise identical) tickets
is now discounted than the cart originally showed.
This leads to `_check_positions()` changing the price on two of the
cart positions. However, it only changes the price on the copy of
the CartPosition object that is directly part of the positions array,
while the `addon_to` attribute of its bundled positions contain a
*different* representation of the same cart position, that is not
refreshed to have the updated price now in the database.
This causes the `CartPosition.sort_key` of the bundled products to be
significantly different from the one of their parent products, which can
cause `transform_cart_positions()` to try to insert them before their
respective parent product, which is how the bug leads to the nasty end
result.
Now, I'm still not sure why this has happened *now* for the first time,
but I suspect it *might* even have something to do with our operations
team tuning our autovacuum parameters on our production installation,
which might make it *more likely* that newly created cart positions are
arbitrarily stored on PostgreSQL disk pages in a different order than
they were inserted than before.
This commit now fixes the bug now in two ways, each of which would be
sufficient to fix it for now, but together they make it hopefully more
stable in the future:
- `perform_order` no longer respects the order of the position IDs it
gets passed in, but instead uses the order last displayed in the cart.
Additionally, both `CartManager` and `_check_positions()` now sort
positions by their `pk` value before applying discounts to ensure
consistent choice of which position is discounted (using `sort_key`
here does not make much sense since it includes sorting by price,
which is about to change).
- `_check_positions()` makes sure that after its completion, only one
copy of the same `CartPosition` is in use that has the current price.
Additionally, this commit makes sure `sort_key` cache is cleared after
e.g. a price change.
It was hard to write a regression test, since "database order" is, by
definition, unreliable, but I tried my best.
2024-04-08 16:55:54 +02:00
Raphael Michel
64ae1d08a6
Docs: Fix incorrect API response
2024-04-05 17:28:44 +02:00
Raphael Michel
ca25c3c81e
Add logging for special bug case (Z#23149646)
2024-04-04 18:13:54 +02:00
Raphael Michel
abbe9ec897
Order creation: Fail loudly on invalid addon-to relationship
2024-04-03 17:21:47 +02:00
Raphael Michel
a7735d5d9e
API: Allow request_valid_from in the past ( #4048 )
2024-04-03 17:21:25 +02:00
Raphael Michel
174c81a22b
Translations: Update German (informal) (de_Informal)
...
Currently translated at 100.0% (5598 of 5598 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/de_Informal/
powered by weblate
2024-04-03 13:15:57 +02:00
Raphael Michel
38c6294ede
Translations: Update German
...
Currently translated at 100.0% (5598 of 5598 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/de/
powered by weblate
2024-04-03 13:15:57 +02:00
Raphael Michel
217ae90642
Update po files
...
[CI skip]
Signed-off-by: Raphael Michel <michel@rami.io >
2024-04-03 12:43:52 +02:00
Raphael Michel
0c998ca884
Remove special handling of translations in pretix/helpers
2024-04-03 12:43:20 +02:00
Raphael Michel
b1691f867d
Translations: Update German (informal) (de_Informal)
...
Currently translated at 100.0% (5594 of 5594 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/de_Informal/
powered by weblate
2024-04-03 11:43:39 +02:00
Raphael Michel
72e451b27b
Translations: Update German
...
Currently translated at 100.0% (5594 of 5594 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/de/
powered by weblate
2024-04-03 11:43:39 +02:00
Raphael Michel
8124ced6c1
Update po files
...
[CI skip]
Signed-off-by: Raphael Michel <michel@rami.io >
2024-04-03 11:22:25 +02:00
Raphael Michel
a3139944f6
Send notifications about login with new client or country ( #4032 )
...
* Send notifications about login with new client or country
* Rebase migration
* Remove immediately
* Fix isort
* Text update
2024-04-03 11:19:20 +02:00
Felix Schäfer
48493c517b
Add database.disable_server_side_cursors option ( #4016 )
2024-04-03 10:16:48 +02:00
dependabot[bot]
535a29bf4b
Update css-inline requirement from ==0.13.* to ==0.14.* ( #4043 )
...
Updates the requirements on [css-inline](https://github.com/Stranger6667/css-inline ) to permit the latest version.
- [Release notes](https://github.com/Stranger6667/css-inline/releases )
- [Changelog](https://github.com/Stranger6667/css-inline/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Stranger6667/css-inline/compare/c-v0.13.0...c-v0.14.0 )
---
updated-dependencies:
- dependency-name: css-inline
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-03 10:16:13 +02:00
dependabot[bot]
9d415f5179
Update pillow requirement from ==10.2.* to ==10.3.* ( #4044 )
...
Updates the requirements on [pillow](https://github.com/python-pillow/Pillow ) to permit the latest version.
- [Release notes](https://github.com/python-pillow/Pillow/releases )
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst )
- [Commits](https://github.com/python-pillow/Pillow/compare/10.2.0...10.3.0 )
---
updated-dependencies:
- dependency-name: pillow
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-03 10:16:03 +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
22e5579ed1
Translations: Update German (informal) (de_Informal)
...
Currently translated at 100.0% (5585 of 5585 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/de_Informal/
powered by weblate
2024-04-03 10:14:56 +02:00
Raphael Michel
79cd84e243
Translations: Update German
...
Currently translated at 100.0% (5585 of 5585 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/de/
powered by weblate
2024-04-03 10:14:56 +02:00
Raphael Michel
fad4b8846c
Translations: Update German (informal) (de_Informal)
...
Currently translated at 100.0% (5585 of 5585 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/de_Informal/
powered by weblate
2024-04-03 10:14:56 +02:00
Raphael Michel
0f4790afd8
Translations: Update German
...
Currently translated at 100.0% (5585 of 5585 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/de/
powered by weblate
2024-04-03 10:14:56 +02:00
Raphael Michel
2068a5ac29
Update po files
...
[CI skip]
Signed-off-by: Raphael Michel <michel@rami.io >
2024-04-02 17:53:26 +02:00
Raphael Michel
440c97061c
Fix duplicate key on SQLite ( #4038 )
...
* Fix duplicate key on SQLite
* Update migration
2024-04-02 17:37:37 +02:00
Raphael Michel
3b6d0c4341
Translations: Add Slovak
2024-04-02 17:28:11 +02:00
Raphael Michel
06ac4b0250
Translations: Add Slovak
2024-04-02 17:28:11 +02:00
Raphael Michel
a233b92f6f
Add disable date of waiting list to event timeline ( #4036 )
2024-04-02 17:15:41 +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
Mira
50838b9cea
Update github action versions ( #4033 )
2024-04-02 13:53:09 +02:00
Raphael Michel
c68ee56d51
Log discarding a valid session for suspicious reasons ( #4025 )
2024-04-02 13:52:30 +02:00
Thatthep
5c0587c30e
Translations: Update Thai
...
Currently translated at 0.6% (36 of 5574 strings)
Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/th/
powered by weblate
2024-04-02 11:45:11 +02:00
Raphael Michel
f3f42a8a42
Login: Add logging for incorrect JS hostnames
2024-04-02 11:34:43 +02:00
dependabot[bot]
20d0a9a0ed
Update django-countries requirement from ==7.5.* to ==7.6.* ( #4031 )
...
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.rst )
- [Commits](https://github.com/SmileyChris/django-countries/compare/v7.5...v7.6.1 )
---
updated-dependencies:
- dependency-name: django-countries
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-02 11:07:51 +02:00
Raphael Michel
cda8144ff0
Enforce uniqueness of order codes and ticket secrets ( #3988 )
...
* Enforce uniqueness of order codes and ticket secrets
* Fix test cases which created orders with identical codes
---------
Co-authored-by: Mira Weller <weller@rami.io >
2024-04-02 11:07:40 +02:00
dependabot[bot]
43e8875c1e
Update sentry-sdk requirement from ==1.42.* to ==1.44.* ( #4021 )
...
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/1.42.0...1.44.0 )
---
updated-dependencies:
- dependency-name: sentry-sdk
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-02 10:26:37 +02:00
dependabot[bot]
28c142b2ed
Update pytest-mock requirement from ==3.12.* to ==3.14.* ( #4009 )
...
Updates the requirements on [pytest-mock](https://github.com/pytest-dev/pytest-mock ) to permit the latest version.
- [Release notes](https://github.com/pytest-dev/pytest-mock/releases )
- [Changelog](https://github.com/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pytest-dev/pytest-mock/compare/v3.12.0...v3.14.0 )
---
updated-dependencies:
- dependency-name: pytest-mock
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-02 10:14:24 +02:00
dependabot[bot]
46203fd8ba
Bump @babel/core from 7.24.0 to 7.24.3 in /src/pretix/static/npm_dir ( #4027 )
...
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core ) from 7.24.0 to 7.24.3.
- [Release notes](https://github.com/babel/babel/releases )
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md )
- [Commits](https://github.com/babel/babel/commits/v7.24.3/packages/babel-core )
---
updated-dependencies:
- dependency-name: "@babel/core"
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-02 10:13:39 +02:00
dependabot[bot]
52e45c37df
Update webauthn requirement from ==2.0.* to ==2.1.* ( #4022 )
...
Updates the requirements on [webauthn](https://github.com/duo-labs/py_webauthn ) to permit the latest version.
- [Release notes](https://github.com/duo-labs/py_webauthn/releases )
- [Changelog](https://github.com/duo-labs/py_webauthn/blob/master/CHANGELOG.md )
- [Commits](https://github.com/duo-labs/py_webauthn/compare/v2.0.0...v2.1.0 )
---
updated-dependencies:
- dependency-name: webauthn
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-02 10:13:17 +02:00