* Add expiry dates and individual conditions to gift cards
* Display refund gift cards with more details and prettier interface
* Allow to set gift card expiry and conditions when cancelling event
* Extend gift card search
* Fix#1565 -- Some gift card filters
* Improve list of gift cards
* Allow to edit gift cards
* Note on validity
* Allow to adjust the cancellation fee without JS
* Introduce cancellation requests
* ignore→delete
* Change a few things after Martin's review
* Add a few tests
* Make next url authentication backend dependent
* Rename authentication next_url to get_next_url.
* Add test for custom authentication backend get_next_url.
* Fix typo in docstring of authentication backend get_next_url.
* 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
* Remove check password for event deletion, instead require recent login.
* Reauthenticate for backends using authentication_url.
* Require recent login for data shredder and prompt slug instead of password.
* Fix tests for recent login required on event delete and data shred.
* Pull request remarks for recent login required for event delete and data shred.
* Remove unused imported check_password.
* Allow to import orders
* seats, subevents
* Plugin support
* Add docs
* Warn about lack of quota handling
* Control interface test
* Test skeleton
* First tests for the impotr columns
* Add tests for all columns
* Fix question validation
* Event creation: Add option to select existing team instead of provisioning.
* Event creation: disallow event team provisioning on organizer level.
* Event team provisioning: update default setting location and display strings.
* Update src/pretix/control/views/main.py
Co-Authored-By: Raphael Michel <mail@raphaelmichel.de>
* Reordering questions with drag'n'drop
* Add permission check
* Test permissions for question reordering
* Handle malformed requests for question reordering
* Show first up arrow and last down arrow
* Provide page offset
* Revert "Provide page offset"
This reverts commit 8090bd573f851a74cca442f4651c111b8750948d.
* Reorder questions endpoint with pagination support
* Rudimentary test for reordering endpoint
* Make reordering questions atomic
* cache questions
* Properly support pagination for reorder_questions
* appease linter
* Fix test
* First tabs
* Convert more pages
* Convert question page
* Item form
* Add item_formsets signal
* Revert "Add new signal nav_item"
This reverts commit 1ce613ff89.
* Formset is a word!
* 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
* Change semantics of changing orders
This basically does two things to the "Change products" view of orders and the
OrderChangeManager program API:
1) It decouples changing items or subevents from changing prices.
OrderChangeManager.change_item() and .change_subevent() no longer
touch the price of a position. Instead .change_price() needs to be
called explicitly. However, a client-side JavaScript component now
*proposes* a new price based on the changed item or subevent.
2) The user interface now exposes the possibility of doing multiple
things at the same time, i.e. changing the item, subevent and price
in the same operation. OrderChangeManager already allowed this
before.
(1) is basically a consequence of (2), while (2) is a prerequesite for
e.g. the `seating` branch, where changing the subevent will always
require changing the seat.
* Add tests for price calculation API
* Fix#1247 -- Allow team invites to be resent
* Test resending invalid invites
* Fix tooltip
* Fix test
* Handle invalid types for pk parameter
* Style button
* Upgrade django and stuff
* Update to Django 2.2 and recent versions of similar packages
* Provide explicit orderings to all models used in paginated queries
* Resolve naive datetime warnings in test suite
* Deal with deprecation warnings
* Fix sqlparse version