Commit Graph
98 Commits
Author SHA1 Message Date
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
Raphael Michel ae686fab38 Set payment_date for paid orders created via API 2018-05-30 11:34:59 +02:00
Raphael Michel eb6063cc2d Add QR codes for pseudonymization ID 2018-05-28 17:02:56 +02:00
Raphael MichelandGitHub fa326eba6f Introduce original price (#905)
* Introduce original price

* Rebase and styling

* Widget
2018-05-18 22:48:38 +02:00
Raphael Michel 777424ad18 Remove debugging output 2018-05-18 11:54:42 +02:00
Raphael Michel 4985e7e96d Fix X-Page-Generated for paginated results 2018-05-18 11:31:37 +02:00
Raphael Michel 26029508c6 Implement Last-Modified for a number of API resources 2018-05-17 16:09:08 +02:00
Raphael MichelandGitHub 35e8dcf2bc Fix #599 -- Add API to create orders (#911)
* [WIP] Fix #599 -- Add API to create orders

* Add more validation logic

* Add docs and some validation

* Fix test on MySQl

* Validation is fun, let's do more of it!

* Fix live_issues
2018-05-16 12:14:31 +02:00
Raphael MichelandGitHub 1c2acbb57f Add last_modified property to orders (#907) 2018-05-14 11:09:26 +02:00
Raphael MichelandGitHub edeaa1333b Fix #473 -- Internal name for categories and products (#900)
* Fix #473 -- Internal name for categories and products

* fix pdf renderer
2018-05-11 12:53:25 +02:00
Raphael MichelandGitHub 7bccd62a4f Fix #678 -- Data shredders for personally identifiable information (#817)
* Add data shredders for PII

* First working shredder

* Add more shredders

* Add new shredders and download confirmation

* tmp

* PayPal, Stripe, banktransfer

* Add icon to logs

* Untested payment log shredders

* Add waiting list shredder

* First tests

* Add tests for shredders

* Improve templats, link to shredder

* Test payment info shredders

* More tests

* Documentation

* Fix enabled flag in payment provider overview

* Fix minor issues
2018-05-02 15:59:59 +02:00