Commit Graph
708 Commits
Author SHA1 Message Date
Raphael Michel 734e77d1a3 API: Allow to redeem ticket by secret 2018-12-18 12:23:07 +01:00
Raphael Michel 633061e203 Avoid paid orders without payment_date 2018-12-18 10:07:17 +01:00
Raphael Michel 47b7d7b36c Add separate notification category for orders that require approval 2018-11-30 15:30:35 +01:00
Raphael Michel ca59237ebf Use regular asynctasks for order PDF generation 2018-11-26 13:21:25 +01:00
Raphael Michel 8127c32ef5 More tolerant i18n deserializing 2018-11-23 16:15:23 +01:00
Raphael MichelandGitHub 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 a8223ad354 Fix missing return statement 2018-11-19 17:12:48 +01:00
Raphael Michel 584ced87db Add /me API endpoint 2018-11-09 11:34:40 +01:00
Raphael Michel 901953d988 Add a Retry-After to 409 responses 2018-11-09 11:13:24 +01:00
Raphael Michel 8c34a47138 Voucher API: Bulk creation 2018-11-09 10:50:21 +01:00
Raphael Michel 0fe3db634c Voucher API: Reduce number of event locks 2018-11-09 10:46:27 +01:00
Raphael MichelandGitHub c2d03f5e6b Fix #526 -- Add a webhook system (#1073)
- [x] Data model
- [x] UI
- [x] Fire hooks
- [x] Unit tests
- [x] Display logs
- [x] API to modify hooks
- [x] Documentation
- [x] More hooks!
2018-11-08 16:38:05 +01:00
Raphael Michel 4477f8001e Adjust test for previous commit 2018-11-07 11:53:13 +01:00
Raphael Michel 5390b0b191 API: Allow to sort orders by modification date 2018-11-07 10:29:41 +01:00
Raphael Michel 97de8cea08 Allow cart creation without attendee name 2018-11-06 18:16:54 +01:00
Raphael Michel cd465c1aad Fix not passing an attendee name in the API 2018-11-06 17:42:18 +01:00
Raphael MichelandGitHub 94be46ffdb Fix #978 -- Allow to split names (#1049)
- [x] attendee names
- [x] Invoice address names
- [x] Data migration
- [x] API serializers
  - [x] orderposition
  - [x] cartposition
  - [x] invoiceaddress
  - [x] checkinlistposition
- [x] position API search
- [x] invoice API search
- [x] business/individual required toggle
- [x] Split columns in CSV exports
- [x] ticket editor
- [x] shredder
- [x] ticket/invoice sample data
- [x] order search
- [x] Handle changed naming scheme
- [x] tests
- [x] make use in:
  - [x] Boabee
  - [x] Certificate download order
  - [x] Badge download order
  - [x] Ticket download order
- [x] Document new MySQL requirement
- [x] Plugins
2018-11-05 15:43:21 +01:00
Raphael Michel df2d8925ed Prevent some race conditions 2018-10-29 17:27:12 +01:00
Raphael Michel 0dbcfdc5ac Allow to enable ticket downloads for pending orders 2018-10-03 12:15:43 +02:00
Raphael Michel 96bc64c456 Do not break invoices if order has no locale 2018-09-27 17:15:49 +02:00
Raphael Michel 0369deb72d Fix permission for access to root event resource 2018-09-27 10:01:57 +02:00
Raphael Michel feb262644e Orders API: Reduce query load imposed by ?pdf_data=true by multiple orders of magnitude 2018-09-25 17:39:58 +02:00
Raphael Michel 63ba393c12 Proper permission handling and testing 2018-09-25 12:29:05 +02:00
Raphael Michel 304ad4e3db Restrict list of events 2018-09-25 10:54:36 +02:00
Raphael Michel 1ba4047b1b API-level tests 2018-09-25 10:28:07 +02:00
Raphael Michel 1aca5fb6ff Fix wrong action parameter 2018-09-25 10:28:07 +02:00
Raphael Michel 7860d690fa Add endpoints to update, roll and revoke devices 2018-09-25 10:28:07 +02:00
Raphael Michel 6d01c99d38 Auth mechanism 2018-09-25 10:28:07 +02:00
Raphael Michel ee951a7448 API: Add subevent list on organizer level 2018-09-24 12:59:44 +02:00
Raphael Michel 9935ba370d Event list API: Do not show events without any access permissions 2018-09-24 12:44:45 +02:00
Raphael Michel e815cce143 Event list API: Add filters 2018-09-24 12:36:12 +02:00
Raphael Michel 1ae97f5477 API: Allow to filter order positions by voucher 2018-08-31 12:53:37 +02:00
Raphael Michel 7c155d307b Return 404 for invalid check-in list ID 2018-08-31 12:16:15 +02:00
Raphael Michel 35ddf6790e Add mark_refunded parameter to refund creation 2018-08-21 15:48:22 +02:00
Raphael Michel f60a99c357 Tests 2018-08-14 11:31:41 +02:00
Raphael Michel 248b94c296 Approvals 2018-08-14 10:46:55 +02:00
Raphael Michel 779756f1ab API: Allow to delete order positions 2018-08-13 18:09:10 +02:00
Raphael Michel 5d68a5133e Add pseudonymization_id filter to API 2018-08-13 08:55:57 +02:00
Raphael Michel 67897dfcc0 Fix #406 -- Allow moving waiting list entries to the top or bottom 2018-08-07 10:53:07 +02:00
Raphael MichelandGitHub 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 18a378976b Fix #571 -- Partial payments and refunds 2018-08-06 12:24:36 +02:00
Raphael Michel 427f78b14d OrderCreateSerializer: Do not crash on optional fields missing 2018-07-19 09:27:36 +02:00
Raphael Michel 47f8e5b8c6 API: FIll meta info 2018-06-15 12:04:40 +02:00
Raphael Michel ff9d480b6e Orders API: Improve validation errors 2018-06-13 11:08:54 +02:00
Raphael MichelandGitHub 5d7931fcaf API: CartPositions (#948) 2018-06-11 13:18:37 +02:00
Raphael MichelandGitHub e3450baeb3 Fix #549 -- Multiple PDF ticket layouts (#938)
- [x] Data model
- [x] CRUD
- [x] Editor
- [x] Migration from old settings
- [x] Clone files when copying events
  - [x] badges?
- [x] Actual ticket output
- [x] Default layout on event creation
- [x] Link well from ticketing settings
- [x] Tests
- [x] Shipping plugin
  - [x] Migration
  - [x] Settings
  - [x] Create default
- [x] API
2018-06-06 15:27:55 +02:00
Raphael MichelandGitHub 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 850b9e5e3d Fix oversight in a95a208e 2018-06-05 11:27:31 +02:00
Raphael Michel a95a208e1b API: Optional pdf_data field 2018-06-04 18:40:38 +02:00
Raphael Michel 42c9e21d04 Refs #654 -- API call to mark order as refunded 2018-06-01 10:38:34 +02:00