359df1f51e
Cross selling ( #4185 )
...
Product categories can now be marked as "cross-selling categories", causing them to
appear in the add-on checkout step as additional recommendations, depending on
their cross-selling visibility (always, only if certain products are already in the cart, or
only if they qualify for a discount according to discount rules).
---------
Co-authored-by: Raphael Michel <michel@rami.io >
Co-authored-by: Richard Schreiber <schreiber@rami.io >
2024-10-14 14:39:49 +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
Raphael Michel and Mira
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
eac88b5ef7
Widget: Fix language on first iframe request
2024-01-26 11:44:02 +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
Mira
65dbf03a12
Fix #3701 -- Don't use static cookie_domain on custom domains ( #3728 )
2023-11-20 11:33:45 +01: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 and Richard Schreiber
603225d042
Separate personalization from admission ( #2990 )
...
Co-authored-by: Richard Schreiber <schreiber@rami.io >
2023-01-09 14:57:35 +01:00
Raphael Michel
9624b1c505
Support for external gift cards ( #2912 )
2022-11-23 14:52:56 +01:00
Raphael Michel
9d1cfd1eb6
Clarify cart order ( #2844 )
2022-10-10 12:59:49 +02:00
Raphael Michel and Richard Schreiber
c90cb1f19c
Change sort order in cart to keep subevents together ( #2730 )
...
Co-authored-by: Richard Schreiber <wiffbi@gmail.com >
2022-07-25 18:35:10 +02:00
Raphael Michel and Richard Schreiber
b74f5508b7
Group identical add-ons in cart ( #2500 )
...
Co-authored-by: Richard Schreiber <schreiber@rami.io >
2022-03-01 15:49:16 +01:00
3dcfa57b70
A11y improvements ( #2081 )
...
Co-authored-by: Raphael Michel <michel@rami.io >
Co-authored-by: Raphael Michel <mail@raphaelmichel.de >
2021-10-17 16:56:16 +02:00
Raphael Michel
8e79eb570e
Customer accounts & Memberships ( #2024 )
2021-05-04 16:56:06 +02:00
Raphael Michel
a93287207b
pretix Community Edition moves to AGPLv3-based license ( #2023 )
2021-04-12 10:33:47 +02:00
Raphael Michel
c47e41ac8a
Merge pull request #1874 from pretix/perf2020
2020-12-14 17:02:01 +01:00
Raphael Michel
04bfa63a5e
Add region setting to supplement localization ( #1875 )
2020-12-14 13:15:38 +01:00
Raphael Michel
1f21d1420c
Fix import order
2020-12-14 11:45:23 +01:00
Raphael Michel
571fef4ed8
Re-structure some querying on cart and order pages to reduce load
2020-12-13 16:31:17 +01:00
Raphael Michel
b51bd2118e
Do not create session cookie on first page view
2020-12-07 22:29:05 +01:00
Felix Rindt and Raphael Michel
896ba5b06b
Fix #1740 - Do not group gift card positions ( #1743 )
...
Co-authored-by: Raphael Michel <michel@rami.io >
2020-08-04 10:18:04 +02:00
Raphael Michel
b305ac012c
Fix price field when increasing number of bundles in cart
2020-07-21 17:23:30 +02:00
Raphael Michel
e70f593a94
Minor SQL performance improvements
2020-04-17 12:14:37 +02:00
Raphael Michel
c7dd50de0d
CartMixin: Prevent None values in sorting function
2020-04-02 16:53:17 +02:00
Raphael Michel
b02196434b
Re-compute fees after applying a giftcard
2020-04-01 17:09:58 +02:00
Raphael Michel
af23d6e4bf
Upgrade to Django 3.0 and other dependencies ( #1568 )
...
* Upgrade Django to 3.0 and other dependencies to recent versions
* Fix otp version contsraint
* Remove six dependency
* Resolve some warnings
* Fix failing tests
* Update django-countries
* Resolve all RemovedInDjango31Warnings in test suite
* Run isort
* Fix import
* Update PostgreSQL version on travis
2020-03-23 15:02:20 +01:00
Raphael Michel
99f3db04a9
Allow to redeem a voucher for an existing cart ( #1517 )
...
* Allow to redeem a voucher for an existing cart
* Bundle behaviour
2019-12-11 15:58:22 +01:00
Martin Gross
e4582dd9ed
Add itemcount (Items, excluding AddOns) to fragment_cart ( #1514 )
...
* Add itemcount (Items, excluding AddOns) to fragment_cart
* Simplify itemcount
2019-12-05 16:45:41 +01:00
Raphael Michel
d46278f04f
Set cookies with SameSite=None if possible ( #1509 )
2019-12-03 14:50:18 +01:00
Raphael Michel
06a744ea2d
Refactor cart management into new helper function cached_invoice_address
2019-11-13 11:42:03 +01:00
Raphael Michel
8f112f8d9a
Pass cart positions to fee_calculation_for_cart
2019-11-04 11:00:48 +01:00
Raphael Michel
a3707a962b
Fix problems with CartMixin on empty order
...
Fix PRETIXEU-18A
2019-07-15 10:46:38 +02:00
Raphael Michel
93089d87e3
Add support for reserved seating ( #1228 )
...
* Initial work on seating
* Add seat guids
* Add product_list_top
* CartAdd: Ignore item when a seat is passed
* Cart display
* product_list_top → render_seating_plan
* Render seating plan in voucher redemption
* Fix failing tests
* Add tests for extending cart positions with seats
* Add subevent_forms to docs
* Update schema, migrations
* Dealing with expired orders
* steps to order change
* Change order positions
* Allow to add seats
* tests for ocm
* Fix things after rebase
* Seating plans API
* Add more tests for cart behaviour
* Widget support
* Adjust widget tests
* Re-enable CSP
* Update schema
* Api: position.seat
* Add guid to word list
* API: (sub)event.seating_plan
* Vali fixes
* Fix api
* Fix reference in test
* Fix test for real
2019-06-25 11:00:03 +02:00
Raphael Michel
d85ddb5bda
Integrate django-scopes ( #1319 )
...
* Install django-scopes
* Fix tests.api
* Update tasks and cronjobs
* Fix remaining tests
* Remove unused import
* Fix tests after rebase
* Disable scopes for get_Events_with_any_permission
* Disable scopes for a management command
2019-06-17 10:46:55 +02:00
Raphael Michel
243e4ac4c8
Allow not to ask for invoice addresses on free orders
2019-04-04 09:57:57 +02:00
Raphael Michel
307ee36e52
Do not show invisible questions in order overview
2019-03-13 17:06:49 +01:00
Raphael Michel
55841ea660
Make sure total is calculated as a Decimal
2019-02-12 16:27:37 +01:00
Raphael Michel
be3ca7c561
Sort cart positions by reasonable values
2018-11-14 15:36:50 +01:00
Raphael Michel
94be46ffdb
Fix #978 -- Allow to split names ( #1049 )
...
- [x] attendee names
- [x] Invoice address names
- [x] Data migration
- [x] API serializers
- [x] orderposition
- [x] cartposition
- [x] invoiceaddress
- [x] checkinlistposition
- [x] position API search
- [x] invoice API search
- [x] business/individual required toggle
- [x] Split columns in CSV exports
- [x] ticket editor
- [x] shredder
- [x] ticket/invoice sample data
- [x] order search
- [x] Handle changed naming scheme
- [x] tests
- [x] make use in:
- [x] Boabee
- [x] Certificate download order
- [x] Badge download order
- [x] Ticket download order
- [x] Document new MySQL requirement
- [x] Plugins
2018-11-05 15:43:21 +01:00
Tobias Kunze
3bf3ff1ee2
Allow empty plugin responses ( #1056 )
...
While plugin developers are supposed to return an empty dictionary, it's
conceivable that they might just put in a `return` if their field is not
needed, and pretix being generous about this would be cool.
2018-10-30 10:11:39 +01:00
Raphael Michel
b379c8380d
Do not create cart ID for every shop page visitor
2018-03-10 14:07:40 +01:00
Raphael Michel
d0dfde382c
Questions at check-in time ( #745 )
...
Questions at check-in time
2018-01-22 22:55:54 +01:00
Raphael Michel
d97df9cddd
Checkout UX: Do not show minutes with decimal places in the countdown
2017-12-11 16:07:24 +01:00
Raphael Michel
10103b58f0
Synchronize cart countdown with server time
2017-11-01 20:46:37 +01:00
Raphael Michel
65116563fd
Add docs on session handling
2017-10-29 00:50:09 +02:00
Raphael Michel
9767243a6d
Fix #277 -- Embeddable shop ( #622 )
...
* Vendor vue.js
* Refactor item_group_by_category to support vouchers
* Widget: Show product list
* Widget: free prices
* Widget: pictures and loading indicator
* Widget: First iframe steps
* Widget: Do not rerender iframe
* Widget: Error handling
* Improve widget
* Widget: localization tech
* Fix invoice style
* Voucher attribute and waiting list
* Add some iframe chrome
* First step to namespaced carts
* More isolation steps
* More cart isolation things
* More cart isolation things
* Mobile stuff
* Show cart on checkout pages
* PayPal and Stripe support
* Enable downloads
* Locale handling
* change text "save URL to this exact page"
* Widget: voucher redemption
* Widget: CSS
* CSS: Responsive
* Widget: CSS improvements
* Widget: Add embedding code generator
* Widget: Error messages and SSL check
* First tests
* Widget: tests
* Don't use IDs in widgets
* Widget: static files caching
2017-10-28 21:54:27 +02:00
Raphael Michel
c6a7b52e34
Reduce number of redundant SQL queries
2017-10-18 10:27:57 +02:00
Raphael Michel
26f258c6cf
Isolate cart sessions
2017-10-02 17:00:35 +02:00
Raphael Michel
00834cd5e0
Fix test_checkoutflow
2017-09-13 18:29:08 +02:00