Commit Graph
161 Commits
Author SHA1 Message Date
Martin Gross 51f5b0645a Respect testmode in CloneEventSerializer 2019-05-28 12:38:10 +02:00
Raphael Michel de0e700fec Store whether we know email addresses are working because links have been clicked 2019-05-15 08:22:53 +02:00
Raphael Michel e7c4121745 Add hidden questions 2019-05-09 10:02:12 +02:00
Raphael Michel 3e8f32e7e3 Fix #1178 -- Invalidate ticket cache after order locale change 2019-05-01 14:01:26 +02:00
Raphael MichelandGitHub a6c72abe75 Change semantics of changing orders (#1260)
* 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
2019-04-30 09:51:19 +02:00
Raphael Michel cc4602c308 API Auth: Respect staff sessions 2019-04-26 16:24:13 +02:00
Raphael Michel a42b31560c Check-in API: Fall back from attendee_name 2019-04-23 17:25:35 +02:00
Raphael Michel e15e7a5877 Check-in API: Return 400 instead of 404 on checking in unpaid orders 2019-04-23 17:18:16 +02:00
Raphael Michel e7384f7e85 Check-in API: require_attention and ignore_status 2019-04-23 17:06:24 +02:00
Raphael Michel ee495f2777 Add property SubEvent.is_public 2019-04-23 10:46:09 +02:00
Martin GrossandGitHub 2eb88840bd Original price for variations (#1258)
* Original price for variations

* Documentation

* API-GET

* Fix existing tests to accomodate new attribute

* Test for variation's original_price on API
2019-04-18 16:13:49 +02:00
Raphael Michel 9ad4607d26 Move ticket cache invalidation to background task 2019-04-18 09:17:01 +02:00
Raphael Michel 0d242a0304 Fix internal error during validation
Sentry PRETIXEU-10A
2019-04-17 15:21:42 +02:00
Raphael Michel beb144f9a0 Fix API log cleanup 2019-04-07 15:31:35 +02:00
Raphael MichelandGitHub 6d1dea7922 Upgrade to Django 2.2 and modern DRF and py.test (#1246)
* 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
2019-04-07 14:09:49 +01:00
Raphael Michel b686978074 Add order lifecycle signals 2019-04-06 15:05:39 +02:00
Raphael Michel f2437c7ff7 Correcly read bytesfield 2019-04-05 15:04:47 +02:00
Raphael Michel dd0b6e6647 Adjust test to internal type change 2019-04-05 14:59:05 +02:00
Raphael Michel f3128591d8 More flexible response content handling 2019-04-05 14:54:36 +02:00
Raphael Michel 0c82e92882 REST API: Add support for idempotency keys 2019-04-05 14:21:51 +02:00
Raphael Michel db0c13a3c2 REST API: Order creation: Allow to set payment_date 2019-04-05 08:55:57 +02:00
Raphael Michel d0d0f9aa4c Fix logic flaw in cart position deletion 2019-04-04 17:18:12 +02:00
Raphael Michel b931d27486 Solve cart deletion issues once and for all 2019-04-04 09:57:57 +02:00
Raphael Michel b261a2041a Actually set the revoked flag 2019-04-02 09:44:31 +02:00
Raphael Michel 2d37c6d94d Make device token revokation more explicit 2019-04-02 09:36:07 +02:00
Raphael Michel e75ae80fb5 REST API: Allow to filter orders by datetime 2019-03-29 17:15:15 +01:00
Raphael Michel 46166159b0 Allow to force order creation through the API 2019-03-28 18:11:06 +01:00
Raphael Michel 991e4127f6 Refs #654 -- Allow to update invoice addresses 2019-03-23 13:51:25 +01:00
Raphael Michel 420649e10a Refs #654 -- REST API: Allow to resend order link 2019-03-23 13:33:57 +01:00
Raphael Michel 0d02e2fe8c Refs #654 -- REST API: Allow to cycle order secrets 2019-03-23 13:25:23 +01:00
Raphael Michel afdba9f268 Refs #654 -- REST API: Allow invoice creation 2019-03-23 13:25:21 +01:00
Raphael Michel c24ce551ba Refs #654 -- REST API: Allow PATCH for some order fields 2019-03-23 00:08:45 +01:00
Raphael Michel 0bb6e460e8 Fix #1195 -- REST API: Fix wrong data type of variation price 2019-03-23 00:08:45 +01:00
Raphael MichelandGitHub 90f881c48e Fix #1001 -- Add product bundles (#1041)
* 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
2019-03-22 14:48:48 +00:00
Martin GrossandRaphael Michel ca7d55082b Refs #654 -- Add writable API for subevents (#1217)
- [x] Write operations for subevents
- [x] Tests
- [x] Documentation
2019-03-21 20:40:59 +00:00
Raphael MichelandGitHub f95e8f374d Allow dependencies between questions (#1202)
- [x] data model
- [x] api
- [x] backend editor
- [x] backend validation logic
- [x] frontend display logic
- [x] frontend validation logic
- [x] test checkout step
- [x] test modify order in frontend
- [x] test modify order in backend
- [x] validation tests
- [x] correctly evaluate dependency tree in frontend?
- [x] copy events
2019-03-13 16:49:20 +01:00
Raphael Michel 5750201bc3 Position API: search in attendee_email 2019-03-04 11:04:39 +01:00
Raphael MichelandGitHub 67059fe323 Add a simple test mode (#1181)
- [x] Provide data model and configuration toggle
- [x] Allow to delete individual test orders
- [x] Add tests
- [x] Add a prominent warning message to the backend if test mode orders exist (even though test mode is off), as this leads to wrong statistics
- [x] Decide if and how to generate invoices for test orders as invoice numbers cannot be repeated or should not have gaps.
- [x] Decide if and how we expose test orders through the API, since our difference pull mechanism relies on the fact that orders cannot be deleted.
- [x] Decide if and how we want to couple test modes of payment providers?
- [ ] pretix.eu: Ignore test orders for billing
- [ ] Adjust payment providers: Mollie, bitpay, cash, fakepayment, sepadebit

![download](https://user-images.githubusercontent.com/64280/53009081-fe420d80-343a-11e9-8361-b8511c988598.png)
2019-02-20 17:51:26 +01:00
Martin Gross 8ffc96bf31 Return pdf_data localized to the order's locale (Z#131360) 2019-02-20 16:47:29 +01:00
Raphael Michel 166f8b8a2a Fix typo in require_approval webhook 2019-02-15 08:50:36 +01:00
Raphael Michel abb770a8e7 Prevent events from being set to None through the API 2019-02-14 10:15:55 +01:00
Raphael Michel 72a2d0da35 Search in e-mail adresses during checkin 2019-02-14 10:15:55 +01:00
Raphael Michel 937cec53f7 Optimize queries for pdf_data=true 2019-02-14 10:15:55 +01:00
Raphael Michel da8f7f163f Check-in API: Include position data 2019-02-12 15:40:06 +01:00
Raphael Michel 2aa246b3d5 Allow to exclude items from ticket generation explicitly 2019-02-01 16:48:58 +01:00
Raphael Michel 303ed07504 Voucher API: Never use a list in log_action(data) 2019-01-28 09:10:18 +01:00
Raphael Michel d5ac155914 Add is_available hook for plugin configs 2019-01-12 16:54:37 +01:00
Raphael MichelandGitHub 60c1ea8aad Allow to keep cancellation fees (#1130)
* Allow to keep cancellation fees

* Add tests and clarifications

* Add API
2019-01-11 15:42:33 +01:00
Raphael Michel 3b54556739 Remove notification type for refunded event 2019-01-10 16:57:27 +01:00
Raphael MichelandGitHub 8abfbba9d0 Refactor cancelling positions and orders in the data model (#1088)
- [x] Data model
- [x] display in order view in backend
- [x] review all usages of OrderPositions.objects
- [x] review all usages of order.positions
- [x] review all other model usages
- [x] review plugins
- [x] plugins backwards-compatible API?
- [x] decide on way forward for REST API
- [x] need to cancel fees
- [x] tests
- [ ] plugins
  - [ ] gdpr
  - [ ] reports
- [x] docs
2019-01-10 16:52:34 +01:00