Commit Graph

68 Commits

Author SHA1 Message Date
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
Raphael Michel
26f258c6cf Isolate cart sessions 2017-10-02 17:00:35 +02:00
Raphael Michel
56338be13e Tax rules and reverse charge (#559)
Tax rules and reverse charge
2017-08-23 13:13:16 +03:00
Raphael Michel
e858edd85c Do not allow vouchers to create negative prices 2017-08-07 12:11:48 +02:00
Raphael Michel
f91d7352a4 Fix AttributeError in test 2017-07-13 22:04:34 +02:00
Raphael Michel
c1158c3175 Allow to mark add-ons as "included" in price 2017-07-12 18:42:09 +02:00
Raphael Michel
8123effa65 Add sub-events and relative date settings (#503)
* Data model

* little crud

* SubEventItemForm etc

* Drop SubEventItem.active, quota editor

* Fix failing tests

* First frontend stuff

* Addons form stuff

* Quota calculation

* net price display on EventIndex

* Add tests, solve some bugs

* Correct quota selection in more places, consolidate pricing logic

* Fix failing quota tests

* Fix TypeError

* Add tests for checkout

* Fixed a bug in QuotaForm

* Prevent immutable cart if a quota was removed from an item

* Add tests for pricing

* Handle waiting list

* Filter in check-in list

* Fixed import lost in rebase

* Fix waiting list widget

* Voucher management

* Voucher redemption

* Fix broken tests

* Add subevents to OrderChangeManager

* Create a subevent during event creation

* Fix bulk voucher creation

* Introduce subevent.active

* Copy from for subevents

* Show active in list

* ICal download for subevents

* Check start and end of presale

* Failing tests / show cart logic

* Test

* Rebase migrations

* REST API integration of sub-events

* Integrate quota calculation into the traditional quota form

* Make subevent argument to add_position optional

* Log-display foo

* pretixdroid and subevents

* Filter by subevent

* Add more tests

* Some mor tests

* Rebase fixes

* More tests

* Relative dates

* Restrict selection in relative datetime widgets

* Filter subevent list

* Re-label has_subevents

* Rebase fixes, subevents in calendar view

* Performance and caching issues

* Refactor calendar templates

* Permission tests

* Calendar fixes and month selection

* subevent selection

* Rename subevents to dates

* Add tests for calendar views
2017-07-11 13:56:00 +02:00
Raphael Michel
b52f2f5a9e Improve add-on products 2017-04-17 14:54:15 +02:00
Raphael Michel
5bcfb958f0 Simpler API for cart removal 2017-04-17 14:54:15 +02:00
Raphael Michel
3c59a870e7 Add new option Item.min_per_order 2017-04-13 14:16:23 +02:00
Raphael Michel
69faab01b2 Add constraint for a maximum number of a ticket per order 2017-03-24 17:11:48 +01:00
Raphael Michel
09020143e7 Refactoring of cart services (#414) 2017-02-21 17:15:43 +01:00
Raphael Michel
7e135be012 Add tests and remove redundant checks 2017-02-17 16:19:03 +01:00
Raphael Michel
0082216d75 Fix failing tests 2016-12-22 18:25:58 +01:00
Raphael Michel
eea6a5e9da Refs #145 -- Vouchers that grant discounts 2016-11-29 16:18:07 +01:00
Raphael Michel
db6fb51fc6 Refs #145 -- Multi-use vouchers 2016-11-27 16:02:40 +01:00
Raphael Michel
9bce339575 Change and refactor _items_from_post_data to deal with multiple fields 2016-11-22 20:38:33 +01:00
FlaviaBastos
bf7db945b0 add empty cart button #161
add failing test for variation item with voucher
2016-11-22 20:38:33 +01:00
FlaviaBastos
a0ce81a538 addd empty cart button and remove all test
#161
2016-11-22 20:38:33 +01:00
Raphael Michel
efc6b6e480 Resolved various warnings, upgrade bootstrap3 2016-09-27 10:50:13 +02:00
Raphael Michel
2a8bbb9952 Fixed missing check for variation.active 2016-09-25 20:54:40 +02:00
Raphael Michel
dff43ed130 Improved fuzzy tests 2016-09-20 17:03:22 +02:00
Raphael Michel
5a9c760633 Fixed bug when modifying an expired cart including a voucher 2016-09-17 23:42:23 +02:00
Raphael Michel
9318652124 Fixed a broken test 2016-09-12 17:31:33 +02:00
Raphael Michel
dadc4463fc Added more tests for voucher redemption 2016-08-15 23:00:44 +02:00
Raphael Michel
63b683096b Resolved two more edge cases in quota handling
Scenario 1) Blocking voucher is used in a CartPosition. Previously
too much was subtracted from the quota.

Scenario 2) When two quotas are assigned to a product and one of them
is sold out, blocking vouchers for the other quota should not enable to
buy the product.
2016-08-15 22:55:18 +02:00
Raphael Michel
f91c95b1bc Added products that require a voucher to be bought/shown 2016-07-28 19:52:07 +02:00
Raphael Michel
09cee356b0 Allow for vouchers that are valid for multiple items 2016-05-04 17:50:19 +02:00
Raphael Michel
112a309a0e Fixed #106 -- added pay-what-you-want tickets 2016-03-24 18:01:09 +01:00
Raphael Michel
9fa063244b Refs #105 -- Added tests for voucher redemption 2016-03-24 15:46:49 +01:00
Raphael Michel
c28b40a118 Unit Tests should create enabled events 2016-02-23 08:58:39 +01:00