Commit Graph
2998 Commits
Author SHA1 Message Date
luelistaandGitHub 4e89772c2d Normalize IDN email addresses (#5350) 2025-08-07 09:44:15 +02:00
d5bccf8726 Queueing and mapping utilities for outbound data sync (#4881)
Add a registry for datasync providers and an associated sync queue, to be used by 
plugins that transfer data from pretix orders to external systems. 
Additionally, provide a generic data mapping interface to be used in settings pages 
of such plugins, to let users configure which information from pretix to fill into
which data fields of the external system.

---------

Co-authored-by: Raphael Michel <michel@rami.io>
2025-08-06 14:34:04 +02:00
Luca Sorace "StranckandGitHub 4285612162 OrderPayment.fail: Change race condition detection condition (#5320) 2025-08-05 09:57:14 +02:00
Raphael Michel a3b1e4d208 OIDC client: Add more logging 2025-08-05 09:48:16 +02:00
Richard SchreiberandGitHub 6f920e6bcd Add event's location to order confirmation mail (Z#23185285) (#5341)
* Add event's location to order confirmation mail

* make location oneline
2025-08-04 15:02:53 +02:00
Martin Gross d8f9f9478d Exporter/orderlist: Add link to position order page (Z#23202597) 2025-07-31 12:39:06 +02:00
Raphael MichelandGitHub 61ff0a767a Order list export: Add order URL (Z#23201166) (#5316) 2025-07-18 10:03:14 +02:00
e2ae553c69 Add Spanish (LatAm) and improve how we count language coverage (Z#23200505) (#5308)
* Add Spanish (LatAm) and improve how we count language coverage

* Apply suggestions from code review

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

* Fix license header

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2025-07-17 17:06:25 +02:00
Raphael MichelandGitHub 0dd66f9468 runperiodic: Robustness against closed DB connections (#5314) 2025-07-16 15:35:19 +02:00
Raphael MichelandGitHub 04e92e9f2f Order import: Allow to create multiple multi-ticket orders (#5304)
* Order import: Allow to create multiple multi-ticket orders

* Update src/pretix/base/modelimport_orders.py

* Fix failing test
2025-07-14 10:03:16 +02:00
Richard SchreiberandGitHub 14d6013292 FormFields: remove placeholders duplicating labels (#5135) 2025-07-10 16:06:36 +02:00
Raphael MichelandGitHub 13833b05b1 PDF editor: Add variable for price including bundles (Z#23197864) (#5284) 2025-07-08 17:21:43 +02:00
Martin GrossandGitHub 6bc88b3c0d Invoice: Add spacer before optional intro text (#5297) 2025-07-08 11:15:11 +02:00
Raphael Michel 19a7042c16 Fix migration for large databases 2025-06-30 19:45:46 +02:00
14ed6982a5 New data model for default tax rule and new options for cancellation fees (#4962)
* New data model for default tax rule

* Remove misleading empty label when field is not optional

* Allow to split cancellation fee

* Fix API and tests

* Update migration

* Update src/tests/api/test_taxrules.py

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

* Update src/tests/api/test_taxrules.py

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

* Review note

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

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

* Flip API behaviour for default

* Fix failing tests

* Fix failing test

* Split migration

---------

Co-authored-by: luelista <weller@rami.io>
2025-06-30 16:47:09 +02:00
Richard SchreiberandGitHub f66a41f6a7 Presale: remove webmanifest (#5275)
* Remove webmanifest from presale

* move webmanifest from presale to base urls
2025-06-30 09:33:42 +02:00
Raphael Michel eb912f1e22 Remove useless translation tag 2025-06-27 09:27:48 +02:00
5d3fc62ba4 Questions: Validate type changes (Z#23197118) (#5259)
* Questions: Validate type changes (Z#23197118)

* Update src/pretix/base/forms/questions.py

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

* Update src/pretix/base/forms/questions.py

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

* Update src/pretix/base/forms/questions.py

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

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

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

* Fix failing test

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2025-06-24 17:54:28 +02:00
Raphael MichelandGitHub d67e1116f4 Address forms: Add "federal entity" of Mexico to state list 2025-06-24 10:05:36 +02:00
Raphael MichelandGitHub 40855e14d9 Fix non-total ordering of items (fixes flaky test) (#5251) 2025-06-23 10:04:12 +02:00
70f71c8077 Email: Remove more characters from sender name (Z#23197264) (#5248)
* Email: Remove more characters from sender name (Z#23197264)

* fix typo

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2025-06-16 10:49:08 +02:00
luelistaandGitHub b5e20df508 Use proper log entry types for waiting list emails (#5070) (#5219) 2025-06-12 14:03:40 +02:00
luelistaandGitHub df48adef1b Filter payment method sales channels when cloning event to new organizer (Z#23196085) (#5220) 2025-06-11 10:56:58 +02:00
Richard SchreiberandGitHub 24c02751cc Fix phone tel-country-code label and autocomplete (#5227)
* Fix phone tel-country-code label and autocomplete

* Add autocomplete sectioning for MultiWidget
2025-06-10 20:34:08 +02:00
Raphael MichelandGitHub c53fc8df4e Developer docs: Remove some ancient history (#5224) 2025-06-10 12:20:41 +02:00
luelistaandGitHub 87fb3d2df8 Event timeline: add direct links, payment provider availability (Z#23195903) (#5209)
* link directly to tabs/fields
* add missing payment provider availability_start dates
2025-06-05 12:59:26 +02:00
Raphael MichelandGitHub d255c40a0b [A11y] Do not set autocomplete section if autocomplete is off (#5194) 2025-06-03 11:08:17 +02:00
Richard SchreiberandGitHub 3a48279b22 [A11y] add group labelling to single input name-widget (#5195) 2025-06-02 15:53:35 +02:00
66a4a34383 [A11y] fix giftcard-checkout error messages (#5175)
* [A11y] fix giftcard-checkout error messages

* move validation to payment_form

* Update checkout_payment.html

* move already-used check to clean as well

* fix tests

* fix code style issue

* fix giftcard-payment in redeem-view

* Fix responsiveness on checkout

* Fix paying for existing orders

* fix cart.py for new GiftCardPaymentForm-signature

* fix order_tests

---------

Co-authored-by: Raphael Michel <michel@rami.io>
2025-05-30 13:29:33 +02:00
Richard SchreiberandGitHub 001780e4a0 [A11y] add aria-label to inline seat.svg icon (#5183) 2025-05-30 12:57:09 +02:00
e46e689f01 Allow to add declaration of accessibility (#5140)
* Allow to add declaration of accessibility

* add fallback for empty accessibility_title

* unify label format (not "Title for")

* move title to top and set helptext before text

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2025-05-28 13:23:04 +02:00
Richard Schreiber 7979514efd [A11y] fix fallback powered by 2025-05-27 08:55:36 +02:00
5962536a11 Dialog for cart renewal, async task without page refresh (#5148)
* async_task: deduplicate response handling code

* extend cart without full page reload

* update dialog markup

* fix error response from CartExtend

* refactor asynctask, make sure waitingDialog.show() re-initializes dialog contents

* add cart expiry notification

* add aria references to other dialogs

* improve error handling

* fix error if max_extend=None

* different message for expiring soon and expired carts

* refactor dialog css

* add classes to further dialog elements

* switch extend-cart-dialog and loadingmodal to <dialog>

* Backport simple_block_tag from Django 5.2

* Use simple_block_tag for {% dialog %} tag

* add alertdialog role

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

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

* fix mobile dialog styles not being overwritten

* asynctask dialog: prevent close by escape on chrome

* remove dynamic aria-live from #cart-deadline

dynamic aria-live is generally not well supported and as we have the dialog now anyways, we can remove it

* move continue-button to right

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

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

* Fix CSS for old-style dialog

* fix heading display/level

* align dialogs at the top as they originally were

* fix </div> from merge-conflict

* fix missing grow for dialog-content

* improve cart-extend-button ui

* do not show cart-extend-dialog onload

* improve message if 0 minutes

* do not save messae in session if ajax_dont_redirect

* add ajax_dont_redirect to async_task_check_url

* improve draw_deadline to only update #cart-deadline if necessary

* add renew-confirmation-message

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
Co-authored-by: Raphael Michel <michel@rami.io>
2025-05-27 07:17:50 +02:00
Richard SchreiberandGitHub 6e306055cb [A11y] fix contrast for default success color (#5143)
* [A11y] fix contrast for default success color

* change success color in settings as well
2025-05-23 10:15:55 +02:00
Raphael MichelandGitHub 3a195b6ef9 Waiting list export: Add product IDs (Z#23192538) (#5134) 2025-05-22 21:42:14 +02:00
7756b6745c [A11y] move timezone info inline instead of tooltip (#5130)
* [A11y] move timezone info inline instead of tooltip

* Update text as suggested from code review

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

* Rebase migration

* Delete src/pretix/base/migrations/0280_event_is_remote.py

---------

Co-authored-by: Raphael Michel <michel@rami.io>
2025-05-22 16:48:11 +02:00
c2d5d40be6 OrderChangeManager: Respect addons on cancellation check (Z#23193427) (#5132)
* OrderChangeManager: Respect addons on cancellation check (Z#23193427)

* Update src/tests/base/test_orders.py

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

---------

Co-authored-by: luelista <weller@rami.io>
2025-05-22 16:04:50 +02:00
luelistaandGitHub a84beef269 [A11y] Cart renewal (#5109)
Allow customers to extend their cart reservation up to 11 times the configured reservation time
2025-05-21 17:02:21 +02:00
Richard SchreiberandGitHub 7c59ec51ca [A11y] switch modal dialogs to <dialog> tag (#5128)
* add templatetag {% dialog %} using <dialog> tag
* new dialog style
* show dialog when empty add-to-cart instead of disabling the button
* update cookieconsent-modal to use new template tag
2025-05-21 16:52:49 +02:00
Richard SchreiberandGitHub e7d024b146 [A11y] change footer poweredby-link to pretix.eu if no poweredby_url (#5111) 2025-05-15 12:30:48 +02:00
4f4903b00e Metrics: Fix Content Type header (#5099)
* Metrics: Fix Content Type header

Now it follows the PrometheusText1.0.0 ContentType header specified from their code: https://github.com/prometheus/prometheus/blob/32d306854b77352fec62f5df1268d745b84dfd96/config/config.go#L516-L529

* Update src/pretix/base/views/metrics.py

---------

Co-authored-by: Raphael Michel <mail@raphaelmichel.de>
2025-05-13 18:42:02 +02:00
Raphael MichelandGitHub 5bc1fb8e81 Allow to set multiple email invoice recipients (Z#23190766) (#5090) 2025-05-13 10:31:07 +02:00
Raphael MichelandGitHub 1caa71cdbe Improve validation of Norwegian VAT IDs (#5089) 2025-05-12 17:04:58 +02:00
31bb0f4a91 Product list: Show icon for seated products (#5015)
* Product list: Show icon for seated products

* Use updated seat icon

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

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

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2025-05-06 11:14:28 +02:00
Richard SchreiberandGitHub f4478da5ce Fix handling of empty giftcard-code 2025-04-30 07:15:18 +02:00
Richard SchreiberandGitHub b3919973f1 Fix order export for empty attendee_name_parts 2025-04-29 13:35:25 +02:00
Raphael MichelandGitHub e1027e3e8c OrderChangeManager: Re-use same instances of OrderPosition/OrderFee 2025-04-29 12:38:41 +02:00
7ca2f8ec04 [A11y] add min/max as help_text to date/time inputs
* [A11y] add min/max as help_text to date/time inputs

* update text

* Fix help-text (suggestions from code review)

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

---------

Co-authored-by: Raphael Michel <michel@rami.io>
2025-04-29 09:10:29 +02:00
Raphael MichelandRaphael Michel 384d0c4824 Order changes: Correctly respect tax rules when adding or changing items (Z#23190086) 2025-04-28 13:06:45 +02:00
Richard SchreiberandGitHub 9d01072880 [A11y] allow users to scale website
* on smaller screens, make fontsize bigger for inputs to not have iPhones zoom on focus
2025-04-23 14:36:28 +02:00