* 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
* MKBDIGI-185: Added update/create to events
* MKBDIGI-185: Added validation for 'slug, 'live' on event endpoint
* MKBDIGI-185: Code formatting
* MKBDIGI-185: Added 'plugins' to 'event' endpoint
* MKBDIGI-185: Merge migrations
* MKBDIGI-185: Cleaned up static methods
* EBILL-5: Added delete endpoint for event
* EBILL-5: Merge migrations
* EBILL-5: Fixed imports
* EBILL-5: Changed plugins to only list plugins enabled for the event
* EBILL-5: Added clone event endpoint
* EBILL-5: Removed permissions check API test for events
* EBILL-5: Merged master, updated migrations
* EBILL-5: Updated api permissions check for CRUD on events
* EBILL-5: Removed 'unique_together' constraint on event model
* EBILL-5: Removed call to changed static methods in test
* EBILL-5: Changed Event 'has_paid_things' to a property for consistency
* EBILL-5: Fixed created response code in documentation
* EBILL-6: Documentation fixes
* EBILL-6: Fixed typo
* EBILL-6: Fixed permissions
* EBILL-6: Added note on copying settings to documentation
* EBILL-6: Created model method for deleting sub objects on event before delete
* EBILL-6: Fixed typo
* EBILL-6: Re-added meta_data as read-only
* EBILL-6: Fixed permissions test
* EBILL-6: Added plugins issues check before live. Moved issues property from form to Event model.
* EBILL-6: Upped version number in documentation
* Add write support for MetaDataField
* EBILL-6: Expanded documentation for the clone endpoint, made behaviour of 'is_public' similar to 'plugins' for consistency
* EBILL-6: Re-added EventCRUDPermission
* EBILL-16: Updated documentation with permission model for the API
* EBILL-16: Added 'has_subevents' validation to ensure it cannot be changed once event is created.
* EBILL-16: Fixed event clone not differentiating between "not set" and "deliberately set to False"
* EBILL-16: Fixed event live validation
* EBILL-16: Added logging of live activated/deactivated
* EBILL-16: Fixed create event bug when no 'meta_data' supplied
* EBILL-16: Typo fixed
* EBILL-16: Added log display for "event created"
* EBILL-16: Enabling a plugin now calls 'installed' if applicable and log entries are added
* EBILL-16: Updated tests for events
* Do not allow enabling restricted plugins via the API
* Remove unused code
* Data model and migration
* Some backwards compatibility
* CRUD for checkin lists
* Show and perform checkins
* Correct numbers in table and dashboard widget
* event creation and cloning
* Allow to link specific exports and pass options per query
* Play with the CSV export
* PDF export
* Collapse exports by default
* Improve PDF exporter
* Addon stuff
* Subevent stuff, pretixdroid tests
* pretixdroid tests
* Add CRUD API
* Test compatibility
* Fix test
* DB-independent sorting behavior
* Add CRUD and coyp tests
* Re-enable pretixdroid plugin
* pretixdroid config
* Tests & fixes
* MKBDIGI-183: Added quotas API write methods
* MKBDIGI-183: Fixed code formatting
* MKBDIGI-183: Added test for permission requirements
* MKBDIGI-183: Documentation corrections
* MKBDIGI-183: Removed redundant create/update locks
* MKBDIGI-183: Added quota validation to check that items and variations corresponds to each other
* MKBDIGI-183: Added quota validation to check that item belong to the same event as the endpoint
* MKBDIGI-183: Added subevent validation to check that subevent belong to the same event as the endpoint
* MKBDIGI-183: Added subevent validation to check that subevent is null for non-series events
* MKBDIGI-183: Changed validation error text
* MKBDIGI-183: Added logging for subevents
* MKBDIGI-183: Fixed code formatting
* MKBDIGI-183: Fixed validation error in API test
* MKBDIGI-183: Fixed documentation errors
* MKBDIGI-183: Fixed typos in validation messages
* MKBDIGI-183: Refactored validation loop vars check
* MKBDIGI-183: Updated error strings in test assersions
* MKBDIGI-183: Fixed logging for API quota update to account changing subevents