Commit Graph
98 Commits
Author SHA1 Message Date
Mira Weller e6f56bfdc2 Fix dynamic validity and add test cases 2024-04-30 21:49:58 +02:00
Mira Weller 9610e9c89f Pass time_machine_now to async tasks 2024-04-30 21:49:58 +02:00
Raphael Michel 4cd2381a5e Fix CartManager.apply_voucher to handle all_bundles_included 2024-01-22 17:55:32 +01:00
Raphael Michel 4fb49820af Add upper limit on positions in an order (#3806)
* Add upper limit on positions in an order

* Fix form validation
2024-01-19 18:14:45 +01:00
Raphael Michel 10a83935d9 CartManager: Fix TransactionManagementError
Bug occured when extending a product and deleting it at the same time
2023-08-22 13:42:56 +02:00
Raphael MichelandRichard Schreiber c75c080c5c Vouchers: Allow to set all addons or bundles as included (#3322)
Co-authored-by: Richard Schreiber <schreiber@rami.io>
2023-05-22 11:59:27 +02:00
Richard SchreiberandPhin Wolkwitz e9b22b7d33 Cart: ensure free price input is decimal (PRETIXEU-80N)
Co-authored-by: Phin Wolkwitz <wolkwitz@rami.io>
2023-03-21 08:51:49 +01:00
Richard Schreiber a7f9e100d2 Clean up localization or error messages in cart (#3049) 2023-01-30 17:24:09 +01:00
Raphael Michel f923c2fed0 Fix price calculation of included add-ons in expired carts 2022-11-18 17:24:02 +01:00
Raphael Michel e32e7e2a50 Add clever handling of plus button in cart with voucher (#2893) 2022-11-14 16:55:39 +01:00
Raphael Michel d69d70cfb1 Voucher: Add min_usages parameter (#2853) 2022-10-20 18:07:24 +02:00
Raphael Michel 6fee0ac0a9 Discounts (#2510) 2022-04-27 14:43:16 +02:00
Raphael Michelandser8phin 6f0da5c2ca TaxRules: Add internal_name and keep_gross_if_rate_changes (#2422)
Co-authored-by: ser8phin <eva.wolkwitz@gmx.de>
2022-01-21 15:39:27 +01:00
Raphael Michel 17adde99fa Allow to restrict availability of variations by date, sales channel, and voucher (#2202) 2021-09-15 12:04:17 +02:00
Raphael Michel 4acf660906 Fix #1567 -- Per-subevent availability of items (#2040) 2021-04-29 15:34:58 +02:00
Raphael Michel a93287207b pretix Community Edition moves to AGPLv3-based license (#2023) 2021-04-12 10:33:47 +02:00
Martin Gross b3e95f54dd Add option to limit events to specific sales channels (#1867) 2020-12-03 17:10:54 +01:00
Raphael Michel d999971249 Allow to disable self-choice seating 2020-09-06 17:25:47 +02:00
Raphael Michel a635ea527e Fix failing tests 2020-08-26 16:33:31 +02:00
Raphael Michel 7bd9a01f5e Fix error in price calculation in connection with free prices and bundles 2020-07-21 17:23:08 +02:00
Raphael Michel 3c5948d2e0 Allow selecting the same add-on multiple times (#1717) 2020-07-20 10:21:12 +02:00
Raphael Michel 6e9d921af6 Allow country specific tax rules (#1714) 2020-07-08 15:00:13 +02:00
Raphael Michel 481e29c3b2 Allow to explicitly disable products for certain subevents 2020-06-20 19:10:44 +02:00
Raphael Michel de9c450648 Week calendar and more improvements to subevent calendars (#1672) 2020-05-07 15:48:47 +02:00
Raphael Michel f65cf8e86a Fix checks for min_per_order and max_per_order in combination with variations 2020-02-27 15:08:35 +01:00
Raphael Michel 8e2821b398 Add a maximum budget to vouchers (#1526)
* Data model changes

* Fix test failures

* Adjustments

* Some tests and API support

* Check when extending orders

* Make things more deterministic, fix style

* Do not apply negative discounts

* Update price_before_voucher on item/subevent changes

* Add tests for price_before_voucher in combination with free price

* Fix InvoiceAddress.DoesNotExist
2020-01-03 16:15:17 +01:00
Raphael Michel c1fa0d1559 Fix #1524 -- Bug in CartManager's max_per_item validation 2019-12-16 09:45:36 +01:00
Raphael Michel 3da79ad36b Remove positivity constraint in apply_voucher 2019-12-12 12:02:12 +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 0474651070 Add unlimited_items_per_order-flag to Sales Channels (#1508)
* Add unlimited_items_per_order-flag to Sales Channels

* Test for unlimited_items_per_order Sales Channels-flag

* Fix test
2019-11-28 16:31:38 +01:00
Raphael Michel a2c1c69d7e Seat-specific vouchers (#1486)
* Basic functionality

* API

* Do not delete seats with vouchers

* Show seat in list of seats

* Validate availability of seats

* Fix invalid logic in Seat.is_available

* Show voucher name in edit form
2019-11-15 10:56:34 +01:00
Martin Gross 2b18621c76 Add flag testmode_supported to sales channels (#1455)
* Add testmode-support-flag to SalesChannels

* Make saleschannels/testmode-warnings even more dangerous!

* Add warning for payment-methods that do support testmode but are being used in a non-testmode order caused by a saleschannel in a testmode-shop.

* Remove redundant testmode_supported-flag for WebshopSalesChannel

* Raise error on API when sales_channel does not support testmode

* Tests

* Fix style issue after merge
2019-10-21 10:07:02 +02:00
Raphael Michel ca1c387a41 Allow quota-level vouchers for hidden products (#1123)
* Changes in checks

* Backwards-compatible implementation

* Add test

* Fix voucher bulk form
2019-07-07 13:36:04 +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 02e936ee7a Fix #522 -- Do not allow any orders after the last date of payments 2019-04-23 09:46:34 +02:00
Raphael Michel 2810e2a760 CartManager: Do not try to extend positions while they are being removed 2019-04-04 09:57:57 +02:00
Raphael Michel 90f881c48e Fix #1001 -- Add product bundles (#1041)
* Data model + Editor

* Cart and order management

* Rebase migrations

* Fix typos, add tests on cart handling

* Add tests for checkout and quotas

* Add API endpoints

* Validation of settings

* Front page tax display

* Voucher handling

* Widget foo

* Show correct net pricing

* Front page tests

* reverse charge foo

* Allow to require bundling

* Fix test failure on postgres
2019-03-22 14:48:48 +00:00
Raphael Michel b4290384e1 Add sales channels (#1103)
- [x] Data model
- [x] Enforce constraint
- [x] Filter order list
- [x] Set channel on created order
- [x] Products API
- [x] Order API
- [x] Tests
- [x] Filter reports
- [x] Resellers
- [ ] deploy plugins
  - [ ] posbackend
  - [ ] resellers
  - [ ] reports
- [x] Ticketlayouts
- [x] Support in pretixPOS
2018-11-23 15:35:09 +01:00
Raphael Michel beb0ded6dc Allow to pass user data to the widget (#1095)
- [x] Logic
- [x] Tests
- [x] Docs
- [x] find a way to integrate with tracking
2018-11-20 17:55:37 +01:00
Raphael Michel b9534f23f5 Delete add-ons explicitly 2018-11-12 11:11:33 +01:00
Raphael Michel e47dd3058b Adjust tests to error messages 2018-09-11 09:02:08 +02:00
Raphael Michel 421f690f42 Add test for cascading of cart item removal 2018-04-26 14:14:00 +02:00
Raphael Michel 9ca61f9ef5 Remove left-over print statements from debugging 2018-03-26 10:21:14 +02:00
Raphael Michel ded539ce7a Ignore event end date for subevents 2018-02-07 13:51:22 +01:00
Raphael Michel 67678e35bb Disable shop and waiting list after end of event 2018-02-04 14:14:49 +01:00
Raphael Michel f68a6d1119 Fix redirect assertions 2018-02-01 18:13:59 +01:00
Ben Hagan 764b9dda7e Fix #489 -- Handle Vouchers With Unavailable Items (#659)
* Fix #489 -- Handle Vouchers With Unavailable Items

* Add regression test
2017-11-01 22:05:10 +01: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 d63cc80507 Fix quota handling to allow for "add-on swapping" 2017-10-27 00:49:56 +02:00