Mira Weller
59cebf3ee8
Rebased --- 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-09-15 16:37:22 +02:00
Lukas Bockstaller and pajowu
c4a5a9a84d
BasePaymentProvider & PayPal2: allow to cancel pending payments on a per payment basis (Z#23240966) ( #6472 )
...
* move payment into pending on PENDING_REVIEW webhook
* mark approved payment as pending
* extend BasePaymentProvider to gate aborting pending payments on a payment per payment basis
* add timeout to paypal after which a pending payment can be canceled
* formatting
* add missing negation
* cleanup abort_pending_allowed methods
* Apply suggestions from code review
Co-authored-by: pajowu <pajowu@pajowu.de >
* check all capture elements
* rename method and change defaults
* remove left over Constant
* flake8 .
---------
Co-authored-by: pajowu <pajowu@pajowu.de >
2026-08-13 17:28:54 +02:00
luelista
bf066909a7
Remove more usages of |safe ( #6363 )
...
* Replace |safe with |escapejson where appropriate
* Use JSON encoding for data-replace-with-qr
2026-07-16 13:14:37 +02:00
Raphael Michel and pajowu
15c194c0a3
Add base class for historical payment providers ( #6336 )
...
* Add base class for historical payment providers
* Update src/pretix/base/payment.py
Co-authored-by: pajowu <engelhardt@pretix.eu >
---------
Co-authored-by: pajowu <engelhardt@pretix.eu >
2026-07-10 11:10:32 +02:00
sweenu
388eb7de96
BasePaymentProvider: Fix type hinting on execute_payment() ( #6078 )
2026-07-06 11:19:53 +02:00
Raphael Michel
5db1a5b8af
Rename confusingly named helpers for URL generation ( #6280 )
...
* Rename confusingly named helpers for URL generation
* new name
* fix old call
* Revert "new name"
This reverts commit a6e9a488b62b9bc7c2800c402e432765a838cbc6.
* New name
2026-06-22 09:11:55 +02:00
Lukas Bockstaller and pajowu
c39f1bfcc2
handle gift card payment via create order api endpoint (Z#23224691) ( #5968 )
...
* adds safeguard to prevent empty giftcard transactions on giftcards of value 0.00
* implement giftcard payment via order create
* styling
* let create_transactions() handle all the mailing
* docs
* provide more context for failed transactions
* documentation lectoring
* reject duplicate gift card secrets
* make payment_provider and use_gift_cards exclusive
* handle unknown gift cards
* Apply suggestion from @pajowu
Co-authored-by: pajowu <engelhardt@pretix.eu >
* Update src/pretix/control/templates/pretixcontrol/giftcards/payment.html
Co-authored-by: pajowu <engelhardt@pretix.eu >
---------
Co-authored-by: pajowu <engelhardt@pretix.eu >
2026-03-16 08:51:27 +01:00
Raphael Michel
4f449ce6b4
Mail: Handle all rendering in mail.py, return values for log ( #5895 )
...
* Mail: Handle all rendering in mail.py, return values for log
* Apply suggestions from code review
2026-03-10 09:53:09 +01:00
Lukas Bockstaller
fd9ed15065
include acceptor slug in log/webhook event ( #5906 )
2026-02-19 10:00:11 +01:00
Lukas Bockstaller
99c257d392
adds webhooks for giftcards (Z#23205473) ( #5834 )
...
* adds giftcard webhook events
* maps issuer_id of giftcard to organizer_id for logging
* adds new giftcard logtypes for transactions that aren't manual
* log_action calls cleanup
* drop acceptance webhook
* add acceptor_id to the giftcard transaction webhook event
* add missing log_action statements
* add new webhooks to docs
* fix tests
* fix linting
2026-02-11 12:51:09 +01:00
Raphael Michel
0e7bb43a5a
Manual payment: Fix using hidden method for existing order ( #5850 )
2026-02-02 12:32:53 +01:00
Raphael Michel
b02e1a1515
Gift card payment: Clean-up some code ( #5574 )
...
* Remove apparently unused code
* Move templates that do not belong in pretixcontrol
2025-11-03 17:38:56 +01:00
3e972eddbf
Allow to round taxes on order-level ( #5019 )
...
* Allow to round taxes on order-level
* Rename get_cart_total
* Persist rounding mode with order
* Add general docs
* Order creation API
* Update fee algorithm
* Rounding on payment method change
* Round when splitting order
* Fix failing tests
* Add settings page
* Add tests
* Replace algorithm
* Add test case for currency rounding
* Improve order change
* Update flowchart
* Update discount logic (more hypothetical, we don't store rounding on cart positions atm)
* Rename internal method
* Fix typo
* Update help text
* Apply suggestions from code review
Co-authored-by: luelista <weller@rami.io >
* Order rounding refactor (#5571 )
* Add RoundingCorrectionMixin providing before-rounding-values as properties
* Use gross_price_before_rounding in more places
* Update doc/development/algorithms/pricing.rst
Co-authored-by: Martin Gross <gross@rami.io >
* Allow to override on perform_order
* Rebase migration
* Fix event cancellation
---------
Co-authored-by: luelista <weller@rami.io >
Co-authored-by: Martin Gross <gross@rami.io >
2025-10-30 11:49:31 +01:00
Phin Wolkwitz
8a3da37b45
Connect giftcards with customer accounts ( #5126 )
...
Connect giftcards with customer accounts, show giftcards during checkout and in account , show giftcard list in backend customer view
2025-10-16 13:20:00 +02:00
Raphael Michel
177a7d07fc
Update license header ( #5540 )
2025-10-10 15:32:46 +02:00
Raphael Michel and luelista
457115f4ca
Add refund comment to gift card transaction text (Z#23208349) ( #5499 )
...
* Add refund comment to gift card transaction text (Z#23208349)
* Update src/pretix/base/models/giftcards.py
Co-authored-by: luelista <weller@rami.io >
---------
Co-authored-by: luelista <weller@rami.io >
2025-10-02 09:38:32 +02:00
Raphael Michel
c53fc8df4e
Developer docs: Remove some ancient history ( #5224 )
2025-06-10 12:20:41 +02:00
Richard Schreiber and Raphael Michel
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 Schreiber
f4478da5ce
Fix handling of empty giftcard-code
2025-04-30 07:15:18 +02:00
Kian Cross
06efb37d5d
Clarify description for offsetting refunds ( #4943 )
...
The 'offsetting' payment method includes a clear description specifying
which order the offsetting applies to, but the associated refund does
not. This commit ensures refunds use the same message as payments,
making the associated order explicit.
2025-03-25 16:52:04 +01:00
Raphael Michel
03bdfe3540
Base payment provider: Reorder fields
2025-03-16 10:40:47 +01:00
Raphael Michel
58db550e23
Do not allow to cancel pending payments by default (Z#23179178)
2025-02-03 17:07:19 +01:00
Raphael Michel
6b199a2b9c
Allow to enter gift cards into the voucher input (Z#23171961) ( #4670 )
2024-12-05 13:43:46 +01:00
Raphael Michel
0a5f3e6dd5
Fix availability of payment methods in time machine (Z#23162163) ( #4390 )
2024-08-13 12:52:14 +02:00
Raphael Michel and Martin Gross
4fb5c6bef0
New implementation of sales channels ( #4111 )
...
Co-authored-by: Martin Gross <gross@rami.io >
2024-06-30 19:24:30 +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
Martin Gross and Raphael Michel
5c833cd493
Add special input widgets for markdown fields ( #1577 )
...
* Add markdown text input widgets
* Update src/pretix/static/pretixcontrol/scss/_forms.scss
* Improvements
---------
Co-authored-by: Raphael Michel <michel@rami.io >
2024-04-23 14:40:30 +02:00
Raphael Michel
9513b6e8d7
Gift card payment: Fix public_name fallback
2024-03-15 17:09:21 +01:00
Martin Gross
45ac391998
BasePaymentProvider: skip country check if ia.country == '' (Z#23143749) ( #3859 )
2024-02-05 16:51:04 +01:00
Raphael Michel
e0e2b2d7f7
Allow hidden payment methods on payment method change ( #3682 )
...
* Allow hidden payment methods on payment method change
* Save hashes to meta data
2023-11-03 13:42:34 +01:00
Raphael Michel and Mira
ecb4c34e08
Payment providers: Allow to set an availability start date per method (Z#23126769) ( #3569 )
...
Co-authored-by: Mira <weller@rami.io >
2023-09-14 11:08:37 +02:00
Phin Wolkwitz
3f07050d42
Payment: Add setting to prevent reminder mails (Z#23123914) ( #3573 )
...
Adds a checkbox in each payment provider's settings controlling whether sending out expiry reminders should be prevented
2023-09-07 14:27:09 +02:00
Mira
53027b621f
Update payment.py ( #3559 )
2023-08-31 15:18:23 +02:00
Martin Gross and Richard Schreiber
41cded095c
PProv: Implement detection of wallets such as Google Pay and Apple Pay ( #3444 )
...
Co-authored-by: Richard Schreiber <schreiber@rami.io >
2023-07-11 11:51:43 +02:00
Raphael Michel
cc7f249cb8
Fix crash if a tax rule on a fee prevents sale (PRETIXEU-8MZ)
2023-06-23 11:49:09 +02:00
Raphael Michel
bd32b33ba9
Bump Django to 4.1.* ( #2989 )
2023-06-05 09:56:31 +02:00
Raphael Michel
c0419518c3
GiftCard: Add more information to transactions ( #3308 )
2023-05-12 09:38:35 +02:00
Raphael Michel
8dfc77a927
Manual payment: Support for "invoice immediately"
2023-03-17 15:25:51 +01:00
Raphael Michel
e358bacfa3
Expose some payment details in exports
2023-02-15 13:21:55 +01:00
Raphael Michel
c2c7e58fd6
Add BasePaymentProvider.refund_matching_id
2023-02-15 12:03:47 +01:00
Raphael Michel
6941dda489
Doc: Upgrade to Sphinx 6 ( #3113 )
2023-02-10 16:37:57 +01:00
Raphael Michel
749f5c7e6c
Invoices: Visibly mark paid invoices ( #3094 )
2023-02-07 11:34:38 +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
Raphael Michel and Richard Schreiber
3c1f3a26cf
Always make explicit which tables to lock ( #3058 )
...
Co-authored-by: Richard Schreiber <schreiber@rami.io >
2023-01-25 11:44:11 +01:00
Raphael Michel
cea6c340be
Bank transfer: Allow to send the invoice direclty to the accounting department ( #2975 )
2022-12-14 14:08:50 +01:00
Raphael Michel
b64c5735a8
Make str.format_map with untrusted input safer ( #2931 )
2022-12-08 13:49:07 +01:00
Raphael Michel
6a8df75a9f
Fix regression in handling gift card payments ( #2936 )
2022-12-05 11:32:27 +01:00
Raphael Michel
f782324d5f
Allow to adjust name and description of gift card payments
2022-11-24 16:36:24 +01:00
Raphael Michel
9624b1c505
Support for external gift cards ( #2912 )
2022-11-23 14:52:56 +01:00