Mira Weller
95cd0d5e38
Squashed commit of the following:
...
commit 2177bebf6a
Merge: ea613bf271 d08216d8c5
Author: Mira Weller <weller@rami.io >
Date: Fri Aug 7 21:22:31 2026 +0200
Merge branch 'master' into questions-vue3
commit ea613bf271
Author: Mira Weller <weller@rami.io >
Date: Fri Aug 7 21:21:35 2026 +0200
wip
commit c8bed5e3b9
Author: Mira Weller <weller@rami.io >
Date: Fri Aug 7 10:15:00 2026 +0200
rename get_cart to get_cart_positions (keep old name alive)
commit 1ec27fff05
Author: Mira Weller <weller@rami.io >
Date: Fri Aug 7 10:01:38 2026 +0200
filter questionnaires by sales channel
commit 0294f205d0
Author: Mira Weller <weller@rami.io >
Date: Thu Aug 6 20:06:05 2026 +0200
refactor: extract build_requested_valid_from_field method
commit 3424aacdc3
Author: Mira Weller <weller@rami.io >
Date: Thu Aug 6 20:05:44 2026 +0200
rename presale question forms and mixins
commit 4012889076
Author: Mira Weller <weller@rami.io >
Date: Thu Aug 6 19:42:29 2026 +0200
rebase migration
commit fe15d71cd2
Merge: 3ea7ea31b6 4d9dfa88fe
Author: Mira Weller <weller@rami.io >
Date: Thu Aug 6 19:25:44 2026 +0200
Merge branch 'master' into questions-vue3
# Conflicts:
# src/pretix/base/forms/questions.py
# src/pretix/base/middleware.py
# src/pretix/base/templates/pretixbase/redirect.html
commit 3ea7ea31b6
Author: Mira Weller <weller@rami.io >
Date: Fri Jul 24 17:37:46 2026 +0200
wip
commit 5b34a25fb5
Author: Mira Weller <weller@rami.io >
Date: Wed Jun 17 16:21:11 2026 +0200
use questionnaire data for rendering checkout questions step
commit 9467f1d08d
Author: Mira Weller <weller@rami.io >
Date: Wed Jun 17 15:54:14 2026 +0200
refactor: extract build_system_question_field method
commit 85344a7690
Author: Mira Weller <weller@rami.io >
Date: Wed Jun 17 15:50:41 2026 +0200
refactor: extract build_user_question_field method
commit 3b47f4aaa7
Author: Mira Weller <weller@rami.io >
Date: Wed Jun 17 15:49:34 2026 +0200
refactor: cartpos / orderpos
commit 0309b05121
Author: Mira Weller <weller@rami.io >
Date: Thu Mar 19 13:52:18 2026 +0100
vite config: allow cors access from pretix.work subdomains
commit ad092ae0d1
Author: Mira Weller <weller@rami.io >
Date: Wed Jun 17 12:35:33 2026 +0200
re-add vue-slicksort dep
commit 9f42d679cc
Author: Mira Weller <weller@rami.io >
Date: Wed Jun 17 12:28:53 2026 +0200
rebase migration
commit 9eae9c6de7
Merge: 84c51e031e 694b915d89
Author: Mira Weller <weller@rami.io >
Date: Wed Jun 17 12:24:49 2026 +0200
Merge branch 'master' into questions-vue3
# Conflicts:
# .github/workflows/tests.yml
# .gitignore
# Dockerfile
# package-lock.json
# package.json
# src/pretix/base/management/commands/runserver.py
# src/pretix/base/middleware.py
# src/pretix/base/templatetags/vite.py
# src/pretix/control/forms/global_settings.py
# src/pretix/control/templates/pretixcontrol/checkin/list_edit.html
# src/pretix/control/views/item.py
# src/pretix/presale/views/widget.py
# src/pretix/settings.py
# src/pretix/static/pretixcontrol/js/ui/checkinrules/App.vue
# src/pretix/static/pretixcontrol/js/ui/checkinrules/constants.ts
# src/pretix/static/pretixcontrol/js/ui/checkinrules/django-interop.ts
# src/pretix/static/pretixcontrol/js/ui/checkinrules/lookup-select2.vue
# src/pretix/static/pretixcontrol/js/ui/checkinrules/timefield.vue
# src/pretix/static/pretixcontrol/js/ui/checkinrules/viz-node.vue
# src/pretix/static/pretixpresale/widget/index.html
# src/pretix/static/pretixpresale/widget/src/api.ts
# src/pretix/static/pretixpresale/widget/src/button.ts
# src/pretix/static/pretixpresale/widget/src/components/PriceBox.vue
# src/pretix/static/pretixpresale/widget/src/main.ts
# src/pretix/static/pretixpresale/widget/src/sharedStore.ts
# src/pretix/static/pretixpresale/widget/src/utils.ts
# src/pretix/static/pretixpresale/widget/src/widget.ts
# src/tests/e2e/conftest.py
# vite.config.ts
commit 84c51e031e
Merge: 902ee9242e 222b453b43
Author: Mira Weller <weller@rami.io >
Date: Wed Jun 17 12:20:05 2026 +0200
Merge branch 'master' into questions-vue3
commit 902ee9242e
Author: Mira Weller <weller@rami.io >
Date: Wed Jun 17 12:19:26 2026 +0200
css comment
commit b758efd4a9
Author: Mira Weller <weller@rami.io >
Date: Wed Jun 17 12:19:19 2026 +0200
question dependencies
commit c68fe00502
Author: Mira Weller <weller@rami.io >
Date: Wed Jun 17 12:18:00 2026 +0200
add data field edit link
commit b7da9bb6c1
Author: Mira Weller <weller@rami.io >
Date: Wed Jun 17 12:16:20 2026 +0200
handle hidden questions
commit 897120d3da
Author: Mira Weller <weller@rami.io >
Date: Tue May 12 13:04:08 2026 +0200
add ts model definitions
commit 09abc5725e
Author: Mira Weller <weller@rami.io >
Date: Tue May 12 11:30:12 2026 +0200
reorder and save
commit 9a7d5abb1f
Author: Mira Weller <weller@rami.io >
Date: Tue May 12 11:29:37 2026 +0200
fix unhandled exception in taxrules API
commit 3cee5f524b
Author: Mira Weller <weller@rami.io >
Date: Tue May 5 18:12:21 2026 +0200
use slicksort for reordering questionnaires and questions
commit 3a1a6b988e
Author: Mira Weller <weller@rami.io >
Date: Tue Apr 28 19:23:35 2026 +0200
improve i18n, implement "add text block" dialog
commit bdc720f5a2
Author: Mira Weller <weller@rami.io >
Date: Fri Mar 27 18:57:22 2026 +0100
wip
commit 583184af38
Author: Mira Weller <weller@rami.io >
Date: Thu Mar 19 21:45:32 2026 +0100
change existing views
commit 63d9f7cea8
Author: Mira Weller <weller@rami.io >
Date: Thu Mar 19 21:45:32 2026 +0100
adapt vue app to new data model (wip)
commit c3d6fb1bd6
Author: Mira Weller <weller@rami.io >
Date: Thu Mar 19 21:44:47 2026 +0100
add Questionnaire and QuestionnaireChild models and their API; migrate existing data
commit bb43acd257
Author: Mira Weller <weller@rami.io >
Date: Thu Mar 19 13:52:28 2026 +0100
vite config: add questionnaires app
commit e0744951e8
Author: Mira Weller <weller@rami.io >
Date: Thu Mar 19 13:52:18 2026 +0100
vite config: allow cors access from pretix.work subdomains
commit fef1e356f7
Author: Mira Weller <weller@rami.io >
Date: Thu Mar 19 13:33:24 2026 +0100
fix out-of-the-box experience
commit 81775f5d2d
Author: Mira Weller <weller@rami.io >
Date: Thu Mar 19 13:33:24 2026 +0100
setup questionnaires vue app, add code from question editor proof of concept
commit 4bbcc398cc
Merge: a924d0a266 58840a5fd6
Author: Mira Weller <weller@rami.io >
Date: Thu Mar 19 13:13:32 2026 +0100
Merge remote-tracking branch 'refs/remotes/origin/master' into questions-vue3
2026-08-07 21:49:47 +02:00
Raphael Michel and GitHub
f3ffce4e5b
Question form: Allow to unset required boolean questions (Z#23239887) ( #6382 )
...
Proper fix for #6366
2026-07-28 10:59:34 +02:00
Raphael Michel and GitHub
49247062bc
Drop second component from many time picker fields ( #6150 )
2026-07-17 17:42:51 +02:00
Raphael Michel and GitHub
ffca102a8a
Question form: Do not store invalid False values for required boolean questions (Z#23239887) ( #6366 )
2026-07-10 16:42:10 +02:00
Raphael Michel and GitHub
7732794317
Do not use redis cache at import time ( #6321 )
...
During our [2026-06-27 incident](https://pretix.eu/about/en/blog/20260630-pretix-hosted-outage/ ),
we noticed that pretix is using redis at import time. This means that
gunicorn and celery process were unable to start on servers who could
currently not reach redis. This is kinda mitigated through auto-restart
on systemd or docker level, but that's not really how it is supposed to
work. Celery even has smart retry/reconnect logic that becomes pointless
this way.
2026-07-07 10:47:12 +02:00
luelista and GitHub
3f8ed0f722
Only set vat_id_validated if vat_id non-empty ( #6210 )
2026-07-06 11:21:53 +02:00
Richard Schreiber and GitHub
ce5af572cc
Improve error messages for name-parts inputs (Z#23234440) ( #6187 )
...
* Improve error messages for name-parts inputs (Z#23234440)
* fix isort after flake8
* correct spelling of .med in user-provided title/name
* fix search instead of match
2026-05-19 15:23:30 +02:00
Martin Gross and Martin Gross
7e457f7430
Set max_length to 70 but for all name fields together and not only every single one.
2026-04-21 10:45:00 +02:00
Martin Gross and Martin Gross
5faa85ed40
isort
2026-04-21 10:45:00 +02:00
Martin Gross and Martin Gross
1b88a84a83
Move validation into form field.
2026-04-21 10:45:00 +02:00
Phin Wolkwitz and GitHub
c143d50290
Update django to 5.2
2026-03-24 16:33:28 +01:00
2e01887e79
Invoice address: Special validation for Belgium (Z#23224796) ( #5970 )
...
* Invoice address: Special validation for Belgium (Z#23224796)
* Update src/pretix/base/invoicing/peppol.py
Co-authored-by: pajowu <engelhardt@pretix.eu >
---------
Co-authored-by: pajowu <engelhardt@pretix.eu >
2026-03-10 09:57:44 +01:00
Richard Schreiber and GitHub
50da7d4261
Fix help-text on date-questions not being translatable ( #5875 )
2026-02-06 08:40:55 +01:00
Raphael Michel and GitHub
c84bd4046d
Invoice address: Make Peppol required in Belgium if available (Z#23220397) ( #5808 )
...
* Invoice address: Make Peppol required in Belgium if available (Z#23220397)
* Fix failing test, remove template bit that's now impossible
2026-01-26 09:52:06 +01:00
59c09e27fd
Update django-phonenumber-field requirement from ==7.3.* to ==8.3.* ( #5522 )
...
* Update django-phonenumber-field requirement from ==7.3.* to ==8.3.*
Updates the requirements on [django-phonenumber-field](https://github.com/stefanfoulis/django-phonenumber-field ) to permit the latest version.
- [Release notes](https://github.com/stefanfoulis/django-phonenumber-field/releases )
- [Changelog](https://github.com/stefanfoulis/django-phonenumber-field/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/stefanfoulis/django-phonenumber-field/compare/7.3.0...8.3.0 )
---
updated-dependencies:
- dependency-name: django-phonenumber-field
dependency-version: 8.3.0
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
* Remove invalid geo codes
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raphael Michel <michel@rami.io >
2026-01-05 17:31:39 +01:00
5a1bcae085
Invoice address: Improve VAT ID input ( #5647 )
...
* Remove unmaintained depdendency vat_moss
* VAT ID normalization: Auto-add country codes
* VAT ID: County-specific labels
* Invoice address: Allow to set VAT ID as required per country
* Fix failing tests
* Update src/pretix/base/settings.py
Co-authored-by: luelista <weller@rami.io >
* Review fixes
---------
Co-authored-by: luelista <weller@rami.io >
2025-12-03 16:48:19 +01:00
luelista and GitHub
9098eb2a26
Only store transmission email if invoice receiver is a business (Z#23210414) ( #5535 )
...
* Use the transmission info transformation methods
Use form_data_to_transmission_info and transmission_info_to_form_data to convert between database representation and form data
* Only store transmission email address if invoice receiver is a business
* Fix default implementation of form_data_to_transmission_info
* Update src/pretix/base/forms/questions.py
2025-10-21 09:22:17 +02:00
Raphael Michel and GitHub
177a7d07fc
Update license header ( #5540 )
2025-10-10 15:32:46 +02:00
Raphael Michel
32be6a159e
Checkout: Hotfix data-trigger-address-info and company_required
2025-08-20 08:59:27 +02:00
05c74b7ad6
Pluggable invoice transmission methods ( #5020 )
...
* Flexible invoice transmission
* UI work
* Add peppol and output
* API support
* Profile integration
* Simplify form for individuals
* Remove sent_to_customer usage
* more steps
* Revert "Bank transfer: Allow to send the invoice direclty to the accounting department (#2975 )"
This reverts commit cea6c340be .
* minor fixes
* Fixes after rebase
* update stati
* Backend view
* Transmit and show status
* status, retransmission
* API retransmission
* More fields
* API docs
* Plugin docs
* Update migration
* Add missing license headers
* Remove dead code, fix current tests
* Run isort
* Update regex
* Rebase migration
* Fix migration
* Add tests, fix bugs
* Rebase migration
* Apply suggestion from @luelista
Co-authored-by: luelista <weller@rami.io >
* Apply suggestion from @luelista
Co-authored-by: luelista <weller@rami.io >
* Apply suggestion from @luelista
Co-authored-by: luelista <weller@rami.io >
* Apply suggestion from @luelista
Co-authored-by: luelista <weller@rami.io >
* Apply suggestion from @luelista
Co-authored-by: luelista <weller@rami.io >
* Make migration reversible
* Add TransmissionType.enforce_transmission
* Fix registries API usage after rebase
* Remove code I forgot to delete
* Update transmission status display depending on type
* Add testmode_supported
* Update src/pretix/static/pretixbase/js/addressform.js
Co-authored-by: luelista <weller@rami.io >
* Update src/pretix/static/pretixbase/js/addressform.js
Co-authored-by: luelista <weller@rami.io >
* Update src/pretix/static/pretixbase/js/addressform.js
Co-authored-by: luelista <weller@rami.io >
* New mechanism for non-required invoice forms
* Update src/pretix/base/invoicing/transmission.py
Co-authored-by: luelista <weller@rami.io >
* Declare testmode_supported for email
* Make transmission_email_other an implementation detail
* Fix failing tests and add new ones
* Update src/pretix/base/services/invoices.py
Co-authored-by: luelista <weller@rami.io >
* Add emails to email history
* Fix comma error
* More generic default email text
* Cleanup
* Remove "email invoices" button and refine logic
* Rebase migration
* Fix edge case
---------
Co-authored-by: luelista <weller@rami.io >
2025-08-19 17:59:45 +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
Richard Schreiber and GitHub
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 Michel and GitHub
d255c40a0b
[A11y] Do not set autocomplete section if autocomplete is off ( #5194 )
2025-06-03 11:08:17 +02:00
Richard Schreiber and GitHub
3a48279b22
[A11y] add group labelling to single input name-widget ( #5195 )
2025-06-02 15:53:35 +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 Michel and GitHub
6c7041c875
Add a label for empty salutation option (Z#23183319) ( #4913 )
2025-03-27 12:09:04 +01:00
Raphael Michel and GitHub
0cca053d45
Address form: Add provinces for Italy
2025-03-17 10:36:29 +01:00
Mira and GitHub
af3418db54
Fix company & vat_id dependencies on is_business ( #4777 )
2025-01-27 11:55:39 +01:00
Martin Gross and GitHub
9622bf41a1
InvoiceForm: Display vat_id especially if company_required (Z#23180046) ( #4775 )
2025-01-23 12:09:45 +01:00
Raphael Michel and GitHub
13452b5d8c
Make BaseInvoiceForm more reusable ( #4669 )
...
* Make BaseInvoiceForm more reusable
* Remove code
2024-12-13 16:28:21 +01:00
ae8ec42905
Fix backend validation if name is required as part of a required non-business invoice address ( #4674 )
...
---------
Co-authored-by: Raphael Michel <michel@rami.io >
2024-12-09 12:27:59 +01:00
Richard Schreiber and GitHub
d1989c3cd3
Fix all-optional in address-form for resellers ( #4672 )
2024-12-02 09:46:33 +01:00
Raphael Michel
61cb2e15cf
Fix validation crash of InvoiceNameForm
2024-11-29 20:08:36 +01:00
Mira and GitHub
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
Mira and GitHub
c10efc692d
Let organizers specify a helptext for the custom invoice field (Z#23167497) ( #4520 )
2024-10-14 09:22:58 +02:00
Raphael Michel and GitHub
2619a658c9
Widget: Allow passing more invoice data fields ( #4162 )
2024-05-23 11:19:59 +02:00
Raphael Michel and GitHub
9f297fbd25
Widget: Fix data-invoice-address-country being overridden by GeoIP ( #4168 )
2024-05-23 11:17:54 +02:00
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
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
8a155d5fe3
Name formats: Allow empty salutation ( #3801 )
...
* Name formats: Allow empty salutation
* Update src/pretix/base/forms/questions.py
Co-authored-by: Felix Rindt <felix@rindt.me >
---------
Co-authored-by: Felix Rindt <felix@rindt.me >
2024-01-09 15:29:00 +01:00
Raphael Michel
7545e92373
[SECURITY] Do not allow Pillow to parse EPS files
2023-09-12 11:50:01 +02:00
Raphael Michel
50ff968c17
Fix #3391 -- Don't crash on GeoIP lookup failure
2023-06-06 17:12:38 +02:00
Raphael Michel and GitHub
bd32b33ba9
Bump Django to 4.1.* ( #2989 )
2023-06-05 09:56:31 +02:00
Raphael Michel
84180f5af4
Fix address validation for attendee data
2023-05-25 13:34:55 +02:00
Raphael Michel and GitHub
11e3bd4d39
Add support for GeoIP data ( #3230 )
2023-04-17 09:50:46 +02:00
Raphael Michel and GitHub
ddade60625
Question: Allow limit of string length ( #3214 )
2023-04-06 09:58:50 +02:00
Richard Schreiber and GitHub
08a85b3dab
Order edit form: fix yes/no-question not being optional (Z#23117305) ( #3149 )
2023-03-06 12:03:08 +01:00
Raphael Michel and GitHub
f63408504e
Allow to define ticket validity through a product ( #3105 )
2023-02-13 14:46:52 +01:00
Raphael Michel
59d46ddded
Revert "First steps into pytz deprecation"
...
This reverts commit e4e7d50659 .
2023-02-01 13:15:18 +01:00
Raphael Michel
e4e7d50659
First steps into pytz deprecation
2023-02-01 13:12:24 +01:00