Commit Graph

1338 Commits

Author SHA1 Message Date
Raphael Michel
6744371417 Fix tz bug 2024-10-25 12:54:38 +02:00
Raphael Michel
ff22b893f1 Experimental fixture 2024-10-25 12:54:38 +02:00
Raphael Michel
e37aba4f80 Remove mention of travis CI, it is long dead 2024-10-25 12:54:38 +02:00
Raphael Michel
7a870ee521 Fix test that does not work on postgresql 2024-10-25 00:02:52 +02:00
Mira
a10bf2a939 Include "Cross-selling condition products" option when cloning category (#4534)
* Include "Cross-selling condition products" option when cloning category

* Add test case

* Remove print
2024-10-23 17:12:03 +02:00
Raphael Michel
99ce7effde Add ticket renderer RPC API (Z#23165429) (#4525)
---------

Co-authored-by: Mira Weller <weller@rami.io>
2024-10-15 12:11:09 +02:00
Mira
359df1f51e Cross selling (#4185)
Product categories can now be marked as "cross-selling categories", causing them to 
appear in the add-on checkout step as additional recommendations, depending on 
their cross-selling visibility (always, only if certain products are already in the cart, or 
only if they qualify for a discount according to discount rules).

---------

Co-authored-by: Raphael Michel <michel@rami.io>
Co-authored-by: Richard Schreiber <schreiber@rami.io>
2024-10-14 14:39:49 +02:00
Raphael Michel
8f0a277c7b Fix tax rule calculation of negative amounts (PRETIXEU-ANN) 2024-10-11 15:28:07 +02:00
Raphael Michel
221f14cc21 API: Fix crash PRETIXEU-AN5 2024-10-09 12:25:36 +02:00
Felix Schäfer
1dda2eb4fb Fix reauth loops with redirect style authentication plugins (#4512)
* Test reauth with redirect style auth #4498

* Fix reauth loops with redirect style auth #4498
2024-10-09 09:24:49 +02:00
Raphael Michel
8efe276ed0 Fix negative prices in bundles when tax rate is 0 (#4513) 2024-10-09 08:16:01 +02:00
Raphael Michel
6cc9529d9a Authentication: Support for fallback secret keys in get_session_auth_hash (#4481)
* Authentication: Support for fallback secret keys in get_session_auth_hash

* Update src/pretix/presale/utils.py

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

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2024-10-07 16:58:37 +02:00
Raphael Michel
1334a570e4 Generate email confirmation secret from tagged_secret (#4480) 2024-10-07 13:58:08 +02:00
Raphael Michel
9bf4fb2d0f Sendmail: Fix incorrect filtering of subevents when mailing to attendees (Z#23166274) (#4474) 2024-09-25 17:55:33 +02:00
Raphael Michel
32d6ded003 Stricten password validation to match PCI DSS requirements (#4467)
* Stricten password validation to match PCI DSS requirements

* Review fix

* Fix a file header
2024-09-17 13:29:17 +02:00
Raphael Michel
24e2b1b9ab Import: Parse iso dates 2024-09-12 09:32:25 +02:00
Raphael Michel
a01d105829 Bank Transfer: Fix weird error code on duplicate match (Z#23164140) (#4428) 2024-08-29 13:58:37 +02:00
Raphael Michel
b1bfa1acee API: Provide useful device_id in checkins (Z#23163025) (#4427) 2024-08-29 12:36:27 +02:00
Raphael Michel
54079797d2 Event list: Do not include old or inactive subevents in event list (Z#23163541) (#4415) 2024-08-28 09:28:35 +02:00
Mira
91e69f793d Show weekday in subevent dates [Z#23161884] (#4383) 2024-08-27 22:22:44 +02:00
Raphael Michel
a6f93b6cf0 Seats API: Add is_available filter (Z#23163419) (#4409)
* Seats API: Add is_available filter (Z#23163419)

* docs
2024-08-21 17:43:13 +02:00
Raphael Michel
b96374fcf6 Do not create duplicate memberships on order changes (Z#23163336) (#4408) 2024-08-21 17:30:42 +02:00
Mira
dc1973f4ff Add API endpoint /seats to event (Z#23159536) (#4321)
* add API endpoint /seats to event

* fix logging

* add Seat annotations

* add seats endpoint for subevents

* return ids of occupying objects instead of boolean flags

* wip

* include orderposition instead of order in seat info

* add API documentation

* Apply suggestions from code review

Co-authored-by: Raphael Michel <michel@rami.io>

* Apply suggestions from code review

* Clarify API docs

* add api examples

* add test cases

* require can_view_orders permission for retrieving seats

* improve permission handling

* Revert "improve permission handling"

This reverts commit f32b532cc68760a8a4af03208bd17e75e8c5723d.

* improve permission handling (minimal version)

* formatting

* add permission tests

* fix bug

* update permission checks

* Apply suggestions from code review

Co-authored-by: Raphael Michel <michel@rami.io>

* add tests for permission checks

* add tests for expand=voucher and expand=cartposition

* remove unused parameter

* test query count

* codestyle

---------

Co-authored-by: Raphael Michel <michel@rami.io>
2024-08-02 09:17:46 +02:00
Raphael Michel
13720e731e Easier PCI DSS compliance for payment pages (#4273)
* Assign names to compressed scripts

* Make PCI-relevant pages detectable

* Make payment summary markup more consistant to easy work in tracking plugin

* Add docs note
2024-07-31 13:11:38 +02:00
Raphael Michel
a65f94fa85 Autocheckin: Fix handling of mixed orders 2024-07-31 10:05:12 +02:00
Raphael Michel
ad33785f4c API: Allow to set seating_allow_blocked_seats_for_channel (Z#23159519) (#4333) 2024-07-30 16:28:08 +02:00
Raphael Michel
cab360bdb6 Move auto check-in to plugin with more functionality (#4331)
* Move auto check-in to plugin with more functionality

* Rename field

* Add to MANIFEST.in
2024-07-29 09:46:53 +02:00
Raphael Michel
fa3ac69b8e API: Allow to filter enabled webhooks (Z#23160605) (#4336)
* API: Allow to filter enabled webhooks (Z#23160605)

* Fix naming

* Fix isort
2024-07-26 17:04:12 +02:00
Raphael Michel
17f1d571b0 API: Allow querying invoices with multiple order codes (Z#23158921) (#4332) 2024-07-26 16:32:29 +02:00
Richard Schreiber
22e2143623 API: add api_meta to order 2024-07-18 10:01:03 +02:00
Martin Gross
d63e2ebe2d Chore/flake8: Remove extra blank line 2024-07-12 12:34:39 +02:00
Mira
032e958a00 Fix test cases for checkinlist export (#4301) 2024-07-12 11:58:10 +02:00
Raphael Michel
8d6d885f6e API: Add various filtering options
* API: Add various filtering options (#23158339)

* fix query-param description

* simplify payment provider qs-filter

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2024-07-08 21:31:54 +02:00
Raphael Michel
73038b0d97 Fix enforcement of restricted plugins (#4286) 2024-07-03 17:14:03 +02:00
Raphael Michel
a173e347ea Optimize availability queries 2024-07-02 18:29:44 +02:00
Raphael Michel
e618441231 API: Fix crash expanding variations 2024-07-02 14:44:35 +02:00
Raphael Michel
cd57f1f024 API: Fix creation of embedded variations with explicit sales channels 2024-07-02 09:25:19 +02:00
Raphael Michel
4539c6523b Fix failing tests 2024-07-01 09:24:42 +02:00
Raphael Michel
4fb5c6bef0 New implementation of sales channels (#4111)
Co-authored-by: Martin Gross <gross@rami.io>
2024-06-30 19:24:30 +02:00
Raphael Michel
f0a06cd9fe Replace SCSS compilation with CSS variables (#4191)
* Replace SCSS compilation with CSS variables

* Update tests

* Update src/pretix/presale/style.py

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

* Update src/pretix/presale/context.py

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

* Update src/pretix/presale/views/widget.py

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

* Update src/pretix/presale/context.py

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

* Update src/pretix/static/pretixbase/scss/_variables.scss

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

* Last minor changes

* Rename file

---------

Co-authored-by: Mira <weller@rami.io>
Co-authored-by: Richard Schreiber <schreiber@rami.io>
2024-06-25 13:01:20 +02:00
Mira
a73c4ad937 Improve List Sorting UI (#4215)
Improve product list UI (allow move between categories, more useful columns and links)
and hide "move up/down" arrows in lists by default if drag-drop is available
2024-06-25 12:54:11 +02:00
Raphael Michel
877401d8c0 Remove subevent.items (#4220) 2024-06-14 14:49:55 +02:00
Raphael Michel
fe54a42fc7 Web checkin: Render special cases of pending state in search (Z#23154934) (#4193) 2024-06-04 21:53:30 +02:00
Mira
05a2f411db Improve order secret handling (#4139)
- use hmac.compare_digest for all secret comparisons
- use salted_hmac with sha256 instead of plain sha1 for hashed secrets
- move secret handling into helper functions
2024-05-23 14:30:16 +02:00
Raphael Michel
e93e5c047c Waiting list: Fix pathological performance on large series with seating (#4169) 2024-05-23 11:51:48 +02:00
Mira
b638c00952 Time machine mode [Z#23129725] (#3961)
Allows organizers to test their shop as if it were a different date and time.

Implemented using a time_machine_now() function which is used instead of regular now(), which can overlay the real date time with a value from a ContextVar, assigned from a session value in EventMiddleware.

For more information, see doc/development/implementation/timemachine.rst

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
Co-authored-by: Raphael Michel <michel@rami.io>
2024-05-17 10:52:17 +02:00
Raphael Michel
e8f7cea1bf Allow attendees to modify their data (Z#23152886) (#4138)
* Allow attendees to modify their data

* Allow attendees to change ticket information

* Update src/pretix/control/templates/pretixcontrol/event/settings.html

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

* Update src/pretix/presale/views/order.py

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

* Update src/pretix/base/services/placeholders.py

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

* Tests fix

* Fix test

---------

Co-authored-by: Mira <weller@rami.io>
2024-05-08 15:18:33 +02:00
Raphael Michel
0e20d897d2 Prevent parallel refunds for the same order (Z#23152965) (#4136) 2024-05-07 14:32:02 +02:00
Mira
541b8f5bd6 Discounts: Fix edge case in computation (#4126)
* Add new test case for discounts:

Two discounts:
- "For every 1 item1, you get three item2 for 10 % off."
- "For every 1 item1, you get five item3 for 10 % off."
Cart: 2x item1, 2x item2, 6x item3
Expected result: 2x item1 full price, 2x item2 discounted, 5x item3 discounted, 1x item3 full price

* Fix discount calculation bug

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

Co-authored-by: Raphael Michel <michel@rami.io>

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

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

---------

Co-authored-by: Raphael Michel <michel@rami.io>
Co-authored-by: Richard Schreiber <schreiber@rami.io>
2024-05-02 18:21:56 +02:00
Raphael Michel
247c4c6c9c Do not remove unavailable addons when changing order (Z#23150855) (#4086) 2024-04-29 18:11:20 +02:00