Raphael Michel and GitHub
5c448279f0
API: Make all mutating endpoints transactional ( #6430 )
...
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.
2026-08-05 16:52:28 +02:00
df0b580dd6
Pluggable permissions ( #5728 )
...
* 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 >
2026-03-17 14:43:56 +01:00
Lukas Bockstaller and GitHub
fd9ed15065
include acceptor slug in log/webhook event ( #5906 )
2026-02-19 10:00:11 +01:00
Lukas Bockstaller and GitHub
99c257d392
adds webhooks for giftcards (Z#23205473) ( #5834 )
...
* adds giftcard webhook events
* maps issuer_id of giftcard to organizer_id for logging
* adds new giftcard logtypes for transactions that aren't manual
* log_action calls cleanup
* drop acceptance webhook
* add acceptor_id to the giftcard transaction webhook event
* add missing log_action statements
* add new webhooks to docs
* fix tests
* fix linting
2026-02-11 12:51:09 +01:00
Richard Schreiber and GitHub
1a40215e91
Fix N+1 queries in API ( #5684 )
...
* Fix N+1 query in API quotas list
* fix membership N+1
* fix vouchers N+1 budget_used
* rename and reuse Voucher.annotate_budget_used_orders to budget_used
* fix flake8
2025-12-03 15:37:40 +01:00
Raphael Michel and GitHub
177a7d07fc
Update license header ( #5540 )
2025-10-10 15:32:46 +02:00
Martin Gross and GitHub
39e5711e95
API/Organizer: Allow Device-Token access to Organizer settings; expose mf0aes_random_uid ( #5326 )
2025-09-26 14:41:11 +02:00
a51a6123f5
Organizer-level plugins ( #5305 )
...
* Add version notes to the docs
* Adapt signal handling
* Add UI
* Add API
* API and tests
* Fix registry
* Update doc/development/api/plugins.rst
Co-authored-by: Felix Rindt <felix@rindt.me >
* Fix failing tests
* Apply suggestions from code review
Co-authored-by: Richard Schreiber <schreiber@rami.io >
* Update src/pretix/control/templates/pretixcontrol/organizers/plugin_events.html
Co-authored-by: luelista <weller@rami.io >
* Update src/pretix/control/templates/pretixcontrol/organizers/plugins.html
Co-authored-by: luelista <weller@rami.io >
* Update src/pretix/control/templates/pretixcontrol/organizers/plugins.html
Co-authored-by: luelista <weller@rami.io >
* Update src/pretix/control/navigation.py
Co-authored-by: luelista <weller@rami.io >
* Update src/pretix/control/urls.py
Co-authored-by: luelista <weller@rami.io >
* Apply suggestion from @wiffbi
* REbase migration
* Fix review note
* Fix test cases
* Remove plugin from all events if disabled on org level
* Update doc/development/api/plugins.rst
* Unify registries
* Rebase migration
---------
Co-authored-by: Felix Rindt <felix@rindt.me >
Co-authored-by: Richard Schreiber <schreiber@rami.io >
Co-authored-by: luelista <weller@rami.io >
2025-08-19 11:33:34 +02:00
8d6d885f6e
API: Add various filtering options
...
* API: Add various filtering options (#23158339 )
* fix query-param description
* simplify payment provider qs-filter
---------
Co-authored-by: Richard Schreiber <schreiber@rami.io >
2024-07-08 21:31:54 +02:00
4fb5c6bef0
New implementation of sales channels ( #4111 )
...
Co-authored-by: Martin Gross <gross@rami.io >
2024-06-30 19:24:30 +02:00
f0a06cd9fe
Replace SCSS compilation with CSS variables ( #4191 )
...
* Replace SCSS compilation with CSS variables
* Update tests
* Update src/pretix/presale/style.py
Co-authored-by: Mira <weller@rami.io >
* Update src/pretix/presale/context.py
Co-authored-by: Mira <weller@rami.io >
* Update src/pretix/presale/views/widget.py
Co-authored-by: Mira <weller@rami.io >
* Update src/pretix/presale/context.py
Co-authored-by: Mira <weller@rami.io >
* Update src/pretix/static/pretixbase/scss/_variables.scss
Co-authored-by: Richard Schreiber <schreiber@rami.io >
* Last minor changes
* Rename file
---------
Co-authored-by: Mira <weller@rami.io >
Co-authored-by: Richard Schreiber <schreiber@rami.io >
2024-06-25 13:01:20 +02:00
Raphael Michel
9299ac5813
API: Fix N+1 query in gift card list
2023-10-17 14:55:42 +02:00
Raphael Michel and GitHub
c0419518c3
GiftCard: Add more information to transactions ( #3308 )
2023-05-12 09:38:35 +02:00
Raphael Michel and GitHub
6fac1aeb62
Add new gift card to orderposition relationship ( #3291 )
2023-05-09 09:54:46 +02:00
d0b449ea89
Reusable media ( #3131 )
...
Co-authored-by: Martin Gross <gross@rami.io >
2023-04-03 10:45:22 +02:00
Raphael Michel
4c9640561c
Increase size of monetary decimal fields
2023-03-16 21:26:37 +01:00
Raphael Michel and GitHub
7d4b575150
Ensure total ordering of paginated lists ( #3061 )
2023-02-24 10:51:51 +01:00
3c1f3a26cf
Always make explicit which tables to lock ( #3058 )
...
Co-authored-by: Richard Schreiber <schreiber@rami.io >
2023-01-25 11:44:11 +01:00
5a8c567d02
API: allow setting password when creating customer ( #2758 )
...
Co-authored-by: Raphael Michel <michel@rami.io >
2022-08-16 14:40:24 +02:00
0d407ce36f
API: Allow to send activation email when creating customers ( #2729 )
...
Co-authored-by: Raphael Michel <michel@rami.io >
2022-07-25 12:16:48 +02:00
Raphael Michel
157484b42a
Revert accidental commit "Make new functionality optional"
...
This reverts commit af7d32462873fbbfc3a44a06424bd3c941c3b5f2.
2022-07-25 11:53:23 +02:00
Raphael Michel
839585a3a9
Make new functionality optional
2022-07-25 11:52:32 +02:00
Raphael Michel
49a9b71ea3
Fix #2090 -- Test mode for memberships
2021-05-27 11:47:42 +02:00
Raphael Michel and GitHub
8e79eb570e
Customer accounts & Memberships ( #2024 )
2021-05-04 16:56:06 +02:00
Raphael Michel and GitHub
a93287207b
pretix Community Edition moves to AGPLv3-based license ( #2023 )
2021-04-12 10:33:47 +02:00
Raphael Michel
5b81507600
API: Allow to use uploaded files in settings fields
2021-01-07 11:18:23 +01:00
55d8639ecc
REST API: Add organizer-level settings ( #1866 )
...
Co-authored-by: Martin Gross <gross@rami.io >
2020-12-03 15:19:11 +01:00
Raphael Michel and GitHub
99c3981e2d
Gift card API: Allow to inspect transactions ( #1868 )
2020-12-02 16:10:05 +01:00
Raphael Michel and GitHub
c78e88a1ba
Allow to create devices through the API ( #1785 )
2020-09-25 18:16:18 +02:00
Raphael Michel
22c6553a48
Fix API for organizers and events with a . in their slug
2020-09-16 16:37:55 +02:00
Raphael Michel
af84354e51
Resolve some warnings in the test suite
2020-03-09 14:57:19 +01:00
Raphael Michel
381fa5e1cd
Allow to add a text to gift card transactions
2020-03-02 12:47:39 +01:00
Raphael Michel
3d41d1331a
API: Support for cross-organizer gift cards
2020-03-02 12:19:02 +01:00
Raphael Michel and GitHub
5e61342ff5
Add an API for teams ( #1562 )
...
* Add Team resource to API
* Add team memer endpoints
* Add team invites endpoint
* Add token endpoints
2020-01-25 15:22:50 +01:00
Raphael Michel
e67ff83378
Do not allow to create negative gift cards through the API
2019-12-12 14:18:47 +01:00
Raphael Michel
4b2f25ce8a
Add testmode for gift cards
2019-10-17 18:05:04 +02:00
Raphael Michel
b3e6f44027
Add double-spend safeguard
2019-10-17 16:04:22 +02:00
Raphael Michel
b07d9d167d
Add an API
2019-10-17 16:04:22 +02:00
Raphael Michel and GitHub
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
30f0318de6
API: Add stable and configurable filtering to events and organizers endpoints
2019-06-03 10:19:16 +02:00
Raphael Michel
1ba4047b1b
API-level tests
2018-09-25 10:28:07 +02:00
Raphael Michel and GitHub
afd766999c
Upgrade to Django 2.1 ( #710 )
...
* Upgrade to Django 2.0
* more models
* i18n foo
* Update setup.py
* Fix Sentry exception PRETIXEU-JC
* Enforce slug uniqueness
* Import sorting
* Upgrade to Django 2.1
* Travis config
* Try to fix PostgreSQL failure
* Smaller test matrix
* staticfiles→static
* Include request in all authenticate() calls
2018-08-06 12:48:46 +02:00
Raphael Michel and GitHub
69d10489b8
Implement OAuth2 provider ( #927 )
...
- [x] Application management
- [x] Link
- [ ] Tests
- [x] Authorize flow
- [x] Tests
- [x] Refresh token handling
- [x] Tests
- [x] Revocation endpoint
- [x] Tests
- [x] Mitigate: https://github.com/jazzband/django-oauth-toolkit/issues/585
- [x] API authenticator / permission driver
- [x] Test
- [x] Enforce organizer restriction
- [x] Tests
- [x] Enforce scope restriction
- [x] Tests
- [x] Show current applications to user
- [x] Revoke
- [x] Tests
- [x] Log new authorizations
- [x] notify user
- [x] Ensure other grant types are not available
- [x] Documentation
- [x] check if revoking access toking, then refreshing gets rid of organizer constraint
- [x] Show logentry foo
2018-06-05 12:58:04 +02:00
Raphael Michel and GitHub
a284e0c2f7
Add auditable superuser mode ( #824 )
...
* Remove is_superuser everywhere
* Session handling
* List of sessions, relative timeout
* Absolute timeout
* Optionally pseudo-force audit comments
* Fix failing tests
* Add tests
* Add docs
* Rebsae migration
* Typos
* Fix tests
2018-03-28 14:16:58 +02:00
Raphael Michel and GitHub
b2d4bea1d0
Refs #314 -- Read-only REST API ( #513 )
...
* initial commit
* API auth
* Hierarchical URLs
* Add session auth
* Strong hierarchy
* Add filters
* Add i18n fields, questions
* More viewsets and serializers
* Ticket download
* Add OrderPosition serializer
* View-level permissions
* More tests
* More tests
* Add basic API docs
* Add REST API to docs frontpage
* Tests for order endpoints
* Add invoice tests
* Voucher and waitinglist tests
* Doc draft
* order docs
* Docs on all viewsets
* Disable DRF docs, style sphinx, style browsable API
* Fix tests
* deprecated imports
* Test foo
* Attendee names
* Fix migration problems
* Remove browsable API, plugin integration
* Doc fixes
2017-06-19 11:16:04 +02:00