Raphael Michel
874b38db17
Mark order as paid immediately
2019-04-15 12:58:20 +02:00
Raphael Michel
b686978074
Add order lifecycle signals
2019-04-06 15:05:39 +02:00
Raphael Michel
d4795868d6
Correcly cancel payments when starting a new one
2019-03-26 09:41:03 +01:00
Raphael Michel
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
Raphael Michel
516fab52da
Do not send payment reminders to orders pending approval
2019-03-20 23:09:13 +01:00
Raphael Michel
a21ea34944
Bank transfer: Properly deal with fees of aborted payment methods
2019-03-15 11:31:32 +01:00
Raphael Michel
ac4ecfbe69
OrderChangeManager: Fix a type error for orders without tax
2019-02-26 13:10:53 +01:00
Raphael Michel
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

2019-02-20 17:51:26 +01:00
Raphael Michel
2d2d62045a
Do not mark orders as paid when changed to free if they require approval
2019-02-14 18:38:33 +01:00
Raphael Michel
f23de7e2c0
Order change: Allow to ignore quotas
2019-02-11 16:15:54 +01:00
Raphael Michel
d073007fd7
Order change: Allow to keep price when changing items
2019-02-11 16:15:13 +01:00
Raphael Michel
bf36ad009f
Don't request a refund if there's actually no money involved
2019-02-08 11:27:09 +01:00
Raphael Michel
ec4227651a
Do not try to reduce voucher usage below 0
2019-02-06 10:35:54 +01:00
Raphael Michel
cce4379d3e
Type-cast cancellation fee
2019-01-24 10:11:24 +01:00
Raphael Michel
06eddb2c6d
Self-service refund form ( #1135 )
...
* Auto-refund
* Add missing template
* Notification for requested refund
* Model-level tests
* Add front-end tests
* Default to notify
2019-01-18 17:24:42 +01:00
Raphael Michel
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
a8836cbeec
Remove some irregularities in 8abfbba9
2019-01-10 17:41:18 +01:00
Raphael Michel
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
Raphael Michel
cf4b2544f2
Never create implicit payments for orders that require approval
2018-12-14 10:42:08 +01:00
Raphael Michel
47b7d7b36c
Add separate notification category for orders that require approval
2018-11-30 15:30:35 +01:00
Raphael Michel
ba15c34ce1
Fix #1106 -- Do not send reminders to orders placed in the last two hours
2018-11-30 15:16:12 +01:00
Raphael Michel
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
0f76779fb1
Fix involuntarily created invoices
2018-11-21 13:07:28 +01:00
Raphael Michel
b49b2035bd
Cancel payments if the pending price of the order changes
2018-11-20 17:41:33 +01:00
Raphael Michel
8ffc6550da
Do not allow orders with unavailable items to be completed
2018-11-13 17:55:56 +01:00
Raphael Michel
31cec76809
Generate invoice after expired order is extended
2018-11-12 13:08:12 +01:00
Raphael Michel
b9534f23f5
Delete add-ons explicitly
2018-11-12 11:11:33 +01:00
Raphael Michel
c8cc527aee
OrderChangeManager: Do not mark order pending when adjusting price to actual payment
2018-10-31 10:42:44 +01:00
Raphael Michel
4a1c3088a9
Locking in OrderChangeManager caused unexpected problems
2018-10-31 10:04:53 +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
d99517c8d1
Fix #917 -- Attach tickets to emails ( #1034 )
2018-10-03 11:06:50 +02:00
Raphael Michel
1ba4047b1b
API-level tests
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
10dd5278e7
Fix bug in previous commit
2018-09-13 12:32:07 +02:00
Raphael Michel
befa6527e4
Attach invoice to order approval email
2018-09-13 12:19:30 +02:00
Raphael Michel
b5cd3bf0af
Do not send paid email for free orders
2018-08-21 11:03:56 +02:00
Felix Rindt
8183648902
Rename module async to tasks ( #994 )
...
Fixes #993
2018-08-21 10:53:40 +02:00
Raphael Michel
08c5992447
OrderChangeManager: Allow free→paid
2018-08-17 09:16:48 +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
c702814203
Do not use deepcopy on models
2018-08-07 15:45:22 +02:00
Raphael Michel
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
0e332d291a
Fix locale of download reminder email
2018-06-11 15:32:08 +02:00
Raphael Michel
c06e7348c4
Fix language of cancellation email subject
2018-06-06 15:33:31 +02:00
Raphael Michel
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
42c9e21d04
Refs #654 -- API call to mark order as refunded
2018-06-01 10:38:34 +02:00
Raphael Michel
bbb78aa5e6
Refs #928 -- Allow to regenerate secrets of specific tickets
2018-05-31 12:57:06 +02:00
Jakob Schnell
1689925508
Fix #707 -- Setup automated spell-checking for translations ( #896 )
...
This will:
* set up potypo
* add wordlists, edgecases and phrases
* fix english typos across the codebase
* fix german typos and translation
2018-05-27 11:59:10 +02:00