Commit Graph

280 Commits

Author SHA1 Message Date
Richard Schreiber
d103d8782b [A11y] fix calendar nav dropdown (#5078)
* [A11y] fix calendar nav dropdown

* update organizer calender

* keep cal-nav on one line

* simplify html

* unify calendar layouts

* fix rounding issue with .input-group select+button

* add comment to explain complex css

* fix calendar dropdown due to too broad css-selector

* reduce spacing of top-nav

* fix input-group-btn double line through rounding issue
2025-05-14 10:01:16 +02:00
Richard Schreiber
caf291630c [A11y] add skip-link to main content (#5087)
* [A11y] add skip-link to main content

* fix contrast for skip-link

* fix overlay with back-to-organizer-link

* add fallback if no main-element

* update nav-label
2025-05-13 13:37:21 +02:00
Richard Schreiber
57d33e1eb1 [A11y] fix issues with labels and tabindex in widget (#5083) 2025-05-13 13:36:11 +02:00
Richard Schreiber
b6007a1af4 [A11y] fix widget buy button being disabled (#5084)
* [A11y] fix widget buy button being disabled

* make dialog an alertdialog for better close-button support
2025-05-13 10:00:35 +02:00
Richard Schreiber
6f92f2324f Fix JavaScript-based required label 2025-05-12 16:35:18 +02:00
Richard Schreiber
c487373340 [A11y] validate dates only server-side for better error message support (#5073) 2025-05-07 12:03:46 +02:00
Richard Schreiber
3dedfd6ee0 [A11y] fix tablist issues (#5060) 2025-05-05 12:16:04 +02:00
Richard Schreiber
929a2eb6e3 Fix datepicker date display when using min/max (Z#23185544) 2025-04-16 18:12:27 +02:00
Richard Schreiber
2bb324f885 Fix datepicker locale when using min/max 2025-04-09 14:38:27 +02:00
Richard Schreiber
f70874b21c [A11y] Widget: add missing labels to dialog and iframe 2025-03-27 13:20:13 +01:00
Richard Schreiber
1c8bcca846 [A11y] Improve focus management for widget overlay 2025-03-27 13:18:59 +01:00
Raphael Michel
42399c3488 Date picker: Guess default time 23:59 for end dates (Z#23182900) (#4917)
* Date picker: Guess default time 23:59 for end dates (Z#23182900)

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

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

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

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

---------

Co-authored-by: luelista <weller@rami.io>
2025-03-27 11:04:02 +01:00
Richard Schreiber
de9a86c614 Fix label matching when copying answers (#4946) 2025-03-24 17:25:33 +01:00
Mira
999055f082 Refactor copy_to_first_ticket, fixes issue #4860 (#4865)
---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2025-03-20 15:48:11 +01:00
Raphael Michel
7652f48dc1 New consistent representation of date ranges with times (Z#23184657) 2025-03-18 14:40:38 +01:00
Richard Schreiber
3eff74bf4c Refactor widget redeeming voucher form (#4890) 2025-03-17 11:38:59 +01:00
Raphael Michel
e38ff7021d Widget: Fix missing consent parameters 2025-03-04 18:25:58 +01:00
Raphael Michel
d9e8dd70e4 New mechanism to transfer cookie consent from the widget (Z#23181715) (#4875)
* Cookie consent: Add separate storage layer for widget

* Widget: Move cookie consent out of widget_data

* Add consent parameter to forms
2025-03-04 15:28:03 +01:00
Raphael Michel
79975e6174 Widget: Fix opening a subevent dynamically (#4876) 2025-02-28 11:18:11 +01:00
Mira
4872082780 Prioritize widget-provided cookie consent information over localStorage (Z#23181715) (#4862)
* Prioritize widget-provided cookie consent information over localStorage

* Hide cookie-consent-reopen link if external consent info from widget present
2025-02-24 17:15:03 +01:00
Raphael Michel
f53ae59698 Address form: Fix "copy from above" for the "State" field 2025-02-14 13:09:30 +01:00
Richard Schreiber
943193e8e0 Fix copying invoice answers with special chars in placeholder 2025-02-11 10:54:18 +01:00
Richard Schreiber
59a7845ac4 [A11y] Improve focus handling for widget overlay
* move iframe after close-button to follow tab-order

* add missing prevActiveElement

* prepare focus-handling for error_message

* iframe.src through prop instead of directly accessing it

* do not change close button HTML-element for compatability

* make all overlay elements role=dialog and modals

* fix close button

* fix re-opening of iframe

* make error-message read out when shown

* Improve handling of frame_src with frame_loading

* manually focus continue or close button in alert-box

* fix btn-focus in transition

* Improve quantity group
2025-01-28 11:04:38 +01:00
Mira Weller
f014a9bbd3 Reapply "Implement hidden_if_item_available_mode option (Z#23177008) (#4776)"
This reverts commit 5cd7959e86.
2025-01-24 14:48:28 +01:00
Mira Weller
5cd7959e86 Revert "Implement hidden_if_item_available_mode option (Z#23177008) (#4776)"
This reverts commit b847612e1a.
2025-01-24 14:07:55 +01:00
Mira
b847612e1a Implement hidden_if_item_available_mode option (Z#23177008) (#4776) 2025-01-24 11:24:50 +01:00
Richard Schreiber
c25d6988a7 Widget: add option to always show event info 2025-01-16 11:54:24 +01:00
Richard Schreiber
f02b1be659 [A11y] Improve grouping and labels in widget’s product list 2024-12-18 15:24:28 +01:00
Richard Schreiber
5b99788354 Unify event list view on organizer and event-series (#4702) 2024-12-18 13:32:26 +01:00
Mira
a4385c8b6e Use new fieldset panels throughout checkout (#4688)
Use <fieldset> accordion-panels in checkout_customer, checkout_payment and 
order_pay_change. Unify markup in checkout_payment and order_pay_change. 
Adapt Javascript in the dynamic PayPal and Stripe payment forms.

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2024-12-12 15:48:27 +01:00
Richard Schreiber
18801f2d1c Widget: add unique html_id to use in labels, etc. 2024-12-11 08:30:44 +01:00
Richard Schreiber
e5f29bd592 Widget: add span around currency for easier styling 2024-12-11 08:29:55 +01:00
Mira
da91f5f117 Animation in <fieldset> accordion (#4682) 2024-12-06 12:46:40 +01:00
Mira
6317233150 New accordion panels using <fieldset> (#4681) 2024-12-04 14:34:42 +01:00
Richard Schreiber
4d94158ff0 Improve organizer/event-series calendar UI on mobile 2024-12-04 08:17:52 +01:00
Mira
e8e9698a31 Update address field logic (Z#23163120) (#4659)
* Move country-dependent JS logic to separate file (avoids code duplication for presale and control)
* Correctly apply "required" attribute to address state field
* Load address format information when selecting country
* Fix some other bugs and inconsistencies
2024-11-29 14:56:56 +01:00
Richard Schreiber
71e82fda81 Auto-fill questions from invoice address (Z#23143497) (#4303)
* Match invoice address to questions by id, placeholder and label

* make label-text extraction more robust

* match actual label as well
2024-07-23 11:54:10 +02:00
Raphael Michel
808775c76b Widget: Do not open seating plan when pressing return in input field (#4163) 2024-05-23 11:18:09 +02:00
Raphael Michel
b6a42ac8d2 Widget: Document and improve situation around COEP (Z#23149909) (#4051) 2024-04-22 13:15:33 +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
Richard Schreiber
3651c88289 Widget: pass utm-params from embedding page to presale 2024-03-20 09:19:02 +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
3e2c12cdb0 Presale: fix auto-unchecked button-checkboxes (#3968) 2024-03-08 19:33:06 +01:00
Mira
eee39b1300 Widget: fix availability of variations whose base item is unavailable (#3873)
* widget: fix variation/item unavailability

In case of an item variation, check the unavailability reasons of the item itself
as well as the variation.

* widget: Don't display waiting list on otherwise unavailable items
2024-02-13 22:25:08 +01:00
Phin Wolkwitz
cb17d80b63 Widget: Fix variations collapse indicator placement (#3883) 2024-02-12 13:51:25 +01:00
Phin Wolkwitz
365ccf159e Widget: Change text when expanding variations (Z#23141075) (#3852)
* Add text change to variation toggle
* Add svg caret
* Fix svg and css
* update caret-svg, add fill-link-color and animation
* Use computed property for link text
* Rename variable according to code review
* Improve texts

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2024-02-09 13:29:40 +01:00
Richard Schreiber
92e6ffc7ef Fix widget unavailability_reason 2024-02-06 13:55:34 +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
Richard Schreiber
abbf7bdd69 Widget: add support for html inside pretix-button 2024-01-17 09:39:33 +01:00
Raphael Michel
bbf360b569 Widget: Allow to call subevents by URL isntead of attribute 2023-11-28 09:37:45 +01:00