Commit Graph

1407 Commits

Author SHA1 Message Date
Raphael Michel
ce06672334 Event list: Do not carry page through filter form 2024-06-19 18:19:51 +02:00
Raphael Michel
ebda10542e Add IE11 banner to frontend (#4207) 2024-06-10 14:29:17 +02:00
Raphael Michel
d463878514 Do not use price suggestion if voucher is used (Z#23155018) (#4195) 2024-06-04 11:57:26 +02:00
Richard Schreiber
9d380557e1 SEO improvements - add h1.sr-only if only header-image is used
* add hidden h1 with event-title if header-image only

* add event-title to alt-attribute of header-image

* add hidden setting for google_site_verification
2024-05-28 09:18:15 +02:00
Raphael Michel
4b5cd35a0e Add a "the" 2024-05-24 10:47:49 +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
2619a658c9 Widget: Allow passing more invoice data fields (#4162) 2024-05-23 11:19:59 +02:00
Mira
49c4cc639f Fix time machine permission via pretix_event_access sessions for staff users (#4160) 2024-05-22 13:13:50 +02:00
Raphael Michel
86ddca15ca Keep Python 3.9 compatibility for now / Revert "Fix more Python 3.12 warnings"
This reverts commit 294b3966b0.
2024-05-22 09:02:25 +02:00
Raphael Michel
294b3966b0 Fix more Python 3.12 warnings 2024-05-21 14:40:41 +02:00
Mira
9a807df158 Fix pretix_event_access (custom domain) sessions for staff users (#4158) 2024-05-21 13:26:12 +02:00
Mira
ba99fe597c Use correct condition for time machine check in template (#4151) 2024-05-17 11:29:54 +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
b8c0887f79 Widget: Fix CORS for cached JS 2024-05-07 09:31:56 +02:00
Raphael Michel
cebb6d3b43 Introduce locking to prevent duplicate invoices (Z#23150548) (#4067)
* Introduce locking to prevent duplicate invoices

This is not a perfect solution as it does not handle all code paths to
create invoices, but it handles all that seem likely to be triggered
concurrently

* Review note
2024-04-30 10:43:13 +02:00
Raphael Michel
044f0c5480 Fix N+1 query in event calendar found by sentry (#4104)
* Fix N+1 query in event calendar found by sentry

* isort

---------

Co-authored-by: Mira Weller <weller@rami.io>
2024-04-29 18:41:50 +02:00
Raphael Michel
b6a42ac8d2 Widget: Document and improve situation around COEP (Z#23149909) (#4051) 2024-04-22 13:15:33 +02:00
Richard Schreiber
cff073f0d6 Fix: show human-readable country name in profile description for custom country-code questions (#4078) 2024-04-18 11:08:21 +02:00
Raphael Michel
f532853021 Memberships: Prefer valid_from over event date for .is_valid() (#4003)
* Memberships: Prefer valid_from over event date for .is_valid()

* Fix tests

* Add parameter description

* Use reasonable default for requested_valid_from if membership starts in the future

* Set datetimepicker viewDate to closest allowed date

* Keep current value on going back to QuestionsStep

* Fix min_date/max_date in SplitDateTimePickerWidget

* Remove unused import

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

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

* Respect variations

---------

Co-authored-by: Mira Weller <weller@rami.io>
2024-03-27 12:11:20 +01:00
Martin Gross
8cb187502d Event Fonts: Only run register_event_fonts with actual, still existing events (FIXES PRETIXEU-9WE) 2024-03-26 17:13:13 +01:00
Richard Schreiber
97eaeac4f2 Fix: improve order-change headline on customer’s order page (Z#23148804) (#4012) 2024-03-26 11:19:17 +01:00
Martin Gross
d67f5c650c Event-specific fonts and Web-Embedded Fonts (Z#23130701) (#3893) 2024-03-26 09:55:08 +01:00
Raphael Michel
273c1ae0a6 Waiting list: Allow to set auto-disable date (Z#23141338) (#4004)
* Waiting list: Allow to set auto-disable date (Z#23141338)

* ADd warning on non-esries events
2024-03-22 11:17:02 +01:00
Richard Schreiber
3651c88289 Widget: pass utm-params from embedding page to presale 2024-03-20 09:19:02 +01:00
Raphael Michel
99b4c5bd36 Fix cart grouping function to include membership and validity (#3991)
* Fix cart grouping function to include membership and validity

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

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

---------

Co-authored-by: Mira <weller@rami.io>
2024-03-19 10:17:26 +01:00
Raphael Michel
9f794290dc Memberships: Check valid_from/valid_until for parallel usage (#3975) 2024-03-15 16:40:41 +01:00
Mira
304d290f22 Presale: improve clientside handling of max-count for add-on products
* Fix typo in error message

* Use exclusive checkboxes for addon items with max_count == 1 and !multi_allowed

* combine exclusive items + variations

* move exclusive to containing fieldset

* fix add-on-exclusive

* add max_count check

* fix plus/minus-stepper buttons bubbling

* Update src/pretix/static/pretixpresale/js/ui/main.js

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2024-03-14 09:17:42 +01:00
Richard Schreiber
7592a8a575 Presale: add data-attribute price to each item’s article-element
* Presale: add data-attribute price to article

* fix price for items (defaul_price)

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

* add data-price to voucher and addons, unlocalize price

* use universal display_price for items and variation, respect net or gross

---------

Co-authored-by: Mira <weller@rami.io>
2024-03-14 09:15:44 +01:00
Raphael Michel
2c7ada6e86 OIDC: Do not expect uid to be string 2024-03-12 10:52:20 +01:00
Raphael Michel
f7dfd51c2c Open invoices on new page 2024-03-07 10:57:41 +01:00
Raphael Michel
5b587774bb Fix context processors on error pages 2024-02-28 11:39:48 +01:00
Raphael Michel
63894ca3da Update django-bootstrap3 requirement from ==23.1.* to ==23.6 (#3894)
* Update django-bootstrap3 requirement from ==23.1.* to ==23.6

 Removing our previous workarounds

* Fix import
2024-02-14 14:35:45 +01:00
Till Kemper
0871482681 Add product variation to addon-label when modifying order (#3864)
* Added Variation of Product by Additional Products

at Postion Name by Additional Products the Variant should missing. added it with the prefix -

* Update src/pretix/presale/templates/pretixpresale/event/order_modify.html

---------

Co-authored-by: Raphael Michel <mail@raphaelmichel.de>
2024-02-07 09:48:01 +01:00
Mira
fa3265b1fb Let plugins prevent the download of individual tickets in an order (#3858)
* Let plugins allow/prevent the download of individual tickets in an order (#3836)

(extends the functionality of the allow_ticket_download signal)

(cherry picked from commit e20edab98f)

* fix bug where in some cases, only the first ticket could be downloaded
2024-02-06 17:35:59 +01:00
Mira
22f91f7aa2 Improve UI to configure unavailable items handling (Z#23131828) (#3739)
* start impl of unavailability modes ui

* add db migration

* use new widget for more fields

* improve contrast

* use new widget for hide_without_voucher field

* improved wording

* rebase migration

* undo changes to require_membership_hidden

* code formatting

* move unavail_reason logic around

* enforce consistent state of hide_without_voucher / require_voucher

* annotate unavailability info in get_grouped_items

* remove MSIE6 compat

* add unavailability reasons to widget

* remove test output

* Apply suggestions from code review

text improvements

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

* add css fix for jumping items due to tooltip

* dynamically retrieve unavailability reason message

* widget: simplify logic conditions

* add available_{from,until}_mode to api and api docs

* rebase migration

* rebase migration

* add unavailable_*_mode to ItemVariation

* add available_*_mode to API docs for items

* fix wrong reference

* fix test cases

* add available_*_mode to item variation form

* apply unavailability modes to subevents and variations (presale)

* /o\

* apply unavailability modes to subevents and variations (widget)

* display unavailability mode in subevent product settings

* fix widget test

* fix api item tests

* copy available_*_mode when copying an item

* Apply suggestions from code review

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

* Add unavail mode indicator to bulk create and edit forms

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
Co-authored-by: Raphael Michel <michel@rami.io>
2024-02-06 12:27:19 +01:00
Mira
bac673f3ab Allow template syntax in event text (Z#23140046) (#3815)
* remove duplicate context generation

* allow text templates in frontpage_text

* refactor: move placeholder functionality to separate file

* fix wrong class name, code style

* update year in license header

* undo license header update

* use new function name

* render only the placeholders that are actually used in the message

* refactoring

* add str(...) call

* Update doc/development/api/placeholder.rst

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

* rename register_mail_placeholders to register_template_placeholders
(deprecate old name)

* isort

* add signals to docs

---------

Co-authored-by: Raphael Michel <michel@rami.io>
2024-02-06 11:32:03 +01:00
Martin Gross
9d115c30d7 Revert "Let plugins allow/prevent the download of individual tickets in an order (#3836)"
This reverts commit e20edab98f.
2024-02-02 16:09:42 +01:00
Mira
e20edab98f Let plugins allow/prevent the download of individual tickets in an order (#3836)
(extends the functionality of the allow_ticket_download signal)
2024-02-01 17:45:58 +01:00
Raphael Michel
1b3f27852d Calendar: Fix week day header for incomplete months 2024-01-29 13:32:36 +01:00
Raphael Michel
fab29088e6 Event calendar: Don't skip week if it is still sunday 2024-01-29 12:57:35 +01:00
Raphael Michel
467469f26d Fix typo 2024-01-29 10:35:40 +01:00
Raphael Michel
15d3fbc02e Fix auto-selected date in calendar with long-running events (Z#23141457) (#3829)
* Fix auto-selected date in calendar with long-running events (Z#23141457)

* Review fixes

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

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

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2024-01-26 19:22:45 +01:00
Raphael Michel
eac88b5ef7 Widget: Fix language on first iframe request 2024-01-26 11:44:02 +01:00
Raphael Michel
b7f0c3cc6c Fix cookie detection 2024-01-25 10:35:26 +01:00
Kian Cross
f9f629299b Ensure customer_signed_in signal is fired for popup login (#3835)
In a7f7c64, a `customer_signed_in` in signal was introduced. However,
when a user currently logs in using a popup, the signal is not fired.
This commit resolves this.
2024-01-25 10:03:50 +01:00
Raphael Michel
6af2d38a98 Add __Host- prefix to CSRF and session cookie, remove cookie_domain (#3831)
* Add __Host- prefix to CSRF and session cookie, remove cookie_domain

* Fix tests
2024-01-25 09:45:56 +01:00
Phin Wolkwitz
0a154dc79f Presale: Fix booking period error message logic (Z#23115841) (#3832)
* Fix presale start and end error message logic

* Improve readability
2024-01-23 15:58:35 +01:00
Raphael Michel
6474240d49 Fix display price for vouchers with all_bundles_included 2024-01-22 17:43:11 +01:00
Raphael Michel
61c12ca871 Checkout: Update text for missing membership 2024-01-11 10:58:01 +01:00