All of our API endpoints that do something in the system do at least two
SQL queries, one for the actual change and one for the log entry. Often
many more. We want all of this to happen in a transaction so we know an
API call was executed or not at all, not half-way.
* Data model draft
* Refactor query and assignment usages of old permissions
* Backend UI
* API serializer
* Big string replace
* Docs, tests and fixes for teams api
* Update docs for device auth
* Eliminate old names
* Make tests pass
* Use new permissions, remove inconsistencies
* Add test for translations
* Show plugin permissions
* Add permission for seating plans
* Fix plugin activation
* Fix failing test
* Refactor to permission groups
* Update doc/api/resources/devices.rst
Co-authored-by: luelista <weller@rami.io>
* Update doc/api/resources/events.rst
Co-authored-by: luelista <weller@rami.io>
* Update src/pretix/api/serializers/organizer.py
Co-authored-by: luelista <weller@rami.io>
* Fix typo
* Fix python version compat
* Replacement after rebase
* Add proper permission handling for exports
* Docs for exporters
* Runtime linting of permission names
* Fix typos
* Show export page even without orders permission
* More legacy compat
* Do not strongly validate before plugins are loaded
* Rebase migration
* Add permission for outgoing mails
* Review notes
* Update doc/api/resources/teams.rst
Co-authored-by: Richard Schreiber <schreiber@pretix.eu>
* Clean up logic around exporters
* Review and failures
* Fix migration leading to forbidden combination
* Handle permissions on event copying
* Remove print-statements
* Make test clearer
* Review feedback
* Add AnyPermissionOf
* migration safety
---------
Co-authored-by: luelista <weller@rami.io>
Co-authored-by: Richard Schreiber <schreiber@pretix.eu>
* Fix not allowing program times on event series (API/copy)
* Return 400 when reading endpoint in event series
* add docs program times not available on event series
* fix isort
* Add program times for items
* Fix frontend date validation
* Add ical data for program times [wip]
* Improve ical data for program times
* Remove duplicate code and add comments
* Adjust migration
* Remove program times form for event series
* Add pdf placeholder [wip]
* Improve explanation text with suggestion
Co-authored-by: Raphael Michel <michel@pretix.eu>
* Fix import sorting
* Improve ical generation
* Improve ical entry description
* Fix migration
* Add copyability for program times fot items and events
* Update migration
* Add API endpoints/functions, fix isort
* Improve variable name
Co-authored-by: Richard Schreiber <schreiber@rami.io>
* Remove todo comment
* Add documentation, Change endpoint name
* Change related name
* Remove unnecessary code block
* Add program times to item API
* Fix imports
* Add log text
* Use daterange helper
* Add and update API tests
* Add another API test
* Add program times to cloning tests
* Update query count because of program times query
* Invalidate cached tickets on program time changes
* Reduce invalidation calls
* Update migration after rebase
* Apply improvements to invalidation from review
Co-authored-by: Richard Schreiber <schreiber@rami.io>
* remove unneccessary attr=item param
* remove unnecessary kwargs for formset_factory
* fix local var name being overwritten in for-loop
* fix empty formset being saved
* Use subevent if available
* make code less verbose
* remove double event-label in ical desc
* fix unnecessary var re-assign
* fix ev vs p.subevent
---------
Co-authored-by: Raphael Michel <michel@pretix.eu>
Co-authored-by: Richard Schreiber <schreiber@rami.io>
* 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
* 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
* 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
* 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