Commit Graph
54 Commits
Author SHA1 Message Date
Raphael MichelandGitHub 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 MichelandGitHub d85ddb5bda Integrate django-scopes (#1319)
* Install django-scopes

* Fix tests.api

* Update tasks and cronjobs

* Fix remaining tests

* Remove unused import

* Fix tests after rebase

* Disable scopes for get_Events_with_any_permission

* Disable scopes for a management command
2019-06-17 10:46:55 +02:00
Raphael Michel 33f0892052 Adjust tests to c7774dfdb 2019-05-16 12:02:49 +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 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
Raphael Michel 78544cdb30 Implement a strong locking check to avoid race conditions during payment 2019-02-12 16:24:32 +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 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
Raphael Michel 3c57895101 Don't mark orders as pending unnecessarily 2019-01-03 09:50:56 +01:00
Raphael Michel b93e7fcb60 Fix #1067 -- Allow to manually create partial payments 2018-12-02 18:32:16 +01:00
Raphael Michel aee44a3284 Fix marking an overpaid order as paid manually 2018-11-20 10:39:48 +01:00
Raphael Michel 31cec76809 Generate invoice after expired order is extended 2018-11-12 13:08:12 +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 7c72ca089b Do not allow to mark an order as unpaid 2018-09-03 15:41:18 +02:00
Raphael Michel 21530f315f Properly restrict refunds to full payment amount 2018-09-03 15:41:05 +02:00
Raphael Michel f60a99c357 Tests 2018-08-14 11:31:41 +02:00
Raphael Michel 18a378976b Fix #571 -- Partial payments and refunds 2018-08-06 12:24:36 +02:00
Raphael Michel 11ff81f852 Fix 85420602 and add tests 2018-06-01 13:40:08 +02:00
Raphael Michel f7f151d2a9 Fix #767 -- Allow to obtain the list of orders for a question answer 2018-04-23 11:51:28 +02:00
Raphael MichelandGitHub f8cc332ed7 Use "cancel" method instead of "refund" for free orders (#743)
* Use "cancel" method instead of "refund" for free orders

* Adjust API
2018-01-15 21:46:16 +01:00
Raphael Michel cb6f6247fd Marking orders as paid now ignores waiting list 2017-10-24 12:48:38 +02:00
Raphael Michel ce2101a8e1 Fix tests that suddenly broke 2017-10-10 18:34:54 +02:00
Raphael Michel bbade75061 Add option to ignore quota when extending expired orders 2017-10-10 12:40:18 +02:00
Raphael Michel e5728662c5 Allow to extend expired order even if waiting list entries exist 2017-09-12 18:50:13 +02:00
Raphael MichelandGitHub 56338be13e Tax rules and reverse charge (#559)
Tax rules and reverse charge
2017-08-23 13:13:16 +03:00
DanielandRaphael Michel b90894c20f Fix #543 -- Allow send mail from order (#550)
- Add send email directly for order
- Add email history (from mass and custom) to each specific order
2017-07-18 11:45:30 +02:00
Raphael MichelandGitHub 8123effa65 Add sub-events and relative date settings (#503)
* Data model

* little crud

* SubEventItemForm etc

* Drop SubEventItem.active, quota editor

* Fix failing tests

* First frontend stuff

* Addons form stuff

* Quota calculation

* net price display on EventIndex

* Add tests, solve some bugs

* Correct quota selection in more places, consolidate pricing logic

* Fix failing quota tests

* Fix TypeError

* Add tests for checkout

* Fixed a bug in QuotaForm

* Prevent immutable cart if a quota was removed from an item

* Add tests for pricing

* Handle waiting list

* Filter in check-in list

* Fixed import lost in rebase

* Fix waiting list widget

* Voucher management

* Voucher redemption

* Fix broken tests

* Add subevents to OrderChangeManager

* Create a subevent during event creation

* Fix bulk voucher creation

* Introduce subevent.active

* Copy from for subevents

* Show active in list

* ICal download for subevents

* Check start and end of presale

* Failing tests / show cart logic

* Test

* Rebase migrations

* REST API integration of sub-events

* Integrate quota calculation into the traditional quota form

* Make subevent argument to add_position optional

* Log-display foo

* pretixdroid and subevents

* Filter by subevent

* Add more tests

* Some mor tests

* Rebase fixes

* More tests

* Relative dates

* Restrict selection in relative datetime widgets

* Filter subevent list

* Re-label has_subevents

* Rebase fixes, subevents in calendar view

* Performance and caching issues

* Refactor calendar templates

* Permission tests

* Calendar fixes and month selection

* subevent selection

* Rename subevents to dates

* Add tests for calendar views
2017-07-11 13:56:00 +02:00
Raphael Michel 3fa39798e5 Fix test failures 2017-06-29 18:03:16 +02:00
Raphael Michel b7f8832633 Fix test_order_list 2017-06-29 12:11:20 +02:00
Raphael Michel 6ae5c5e6ce Fix tests failing after last commit 2017-06-19 16:17:08 +02:00
Raphael Michel 123d2f6120 Allow to add positions to an existing order 2017-06-19 15:22:57 +02:00
Raphael MichelandGitHub d08a0bdb00 Refs #39 -- New concept of "teams" (#478)
* New models

* CRUD UI

* UI for adding/removing team members

* Log display for teams

* Fix invitations, move frontend

* Drop old models (incomplete)

* Drop more old stuff

* Drop even more old stuff

* Fix tests

* Fix permission test

* flake8 fix

* Add tests fore the new code

* Rebase migrations
2017-05-03 16:55:37 +02:00
JahongirandRaphael Michel ccb981e6ce Issue #449: Display and change order locale (#459)
* Add more security headers (#458)

* Include some missing security headers

This change adds the following security headers:
* X-Content-Type-Options to prevent content type sniffing
* Referrer-Policy to prevent leaking referrer information when navigating away from the instance

* Migrate from Docker sample to manual configuration

Migrate the additional security headers from the Docker configuration sample to the manual configuration guide.

Add DS_Store to gitingore

* Show order locale in order details

* Add OrderLocaleChange view and OrderLocaleForm

Refactor OrderLocaleForm. Add test
2017-04-11 10:45:46 +02:00
Raphael Michel ad35110166 Offer download options per position, not per order 2016-11-02 14:51:05 +01:00
Raphael Michel 05ecfdb9e2 Refs #273 -- Add backwards migration (noop) and fix tests 2016-10-20 17:56:48 +02:00
Raphael Michel b5a23224c8 Added admin action to make an expired order pending again 2016-10-03 11:14:20 +02:00
Raphael Michel 3bc2ddf79d Fixed a test that should have never worked 2016-09-27 11:06:43 +02:00
Raphael Michel 84fd7cb166 Merge remote-tracking branch 'remotes/flaviabastos/187_unify_canceled_spelling' 2016-09-21 19:07:15 +02:00
Flavia Bastos 8ef6439c44 Unify spelling of 'canceled'
Issue 187
Remove typeahead JS file.
2016-09-21 10:35:41 -06:00
Raphael MichelandGitHub 1faacef9d4 Always process tasks through celery (#245) 2016-09-21 10:38:31 +02:00
Raphael Michel d1f79faef2 New tests and minor fixes 2016-09-20 16:13:13 +02:00
Raphael Michel fcee787ff5 Fixed a test that failed because of a new feature 2016-09-05 22:38:49 +02:00
Raphael MichelandGitHub b21ed4d99f Fix #163 -- Form to change orders (#191) 2016-08-31 19:10:11 +02:00
Raphael Michel 944b5db0bf Refs #82 -- Make order expiry more clear (#116) 2016-05-07 17:03:32 +02:00
Raphael Michel 36f3a815a1 Fixed a bug in Order._is_still_available 2016-04-04 10:33:53 +02:00
Raphael Michel d133d2abff Removed CleanerVersion layer [backwards-incompatible!] 2015-12-12 13:08:33 +01:00
Raphael Michel 55c35a4930 Added tests for control order view 2015-10-19 15:38:20 +02:00
Raphael Michel 3b0e72440a Fixed small b ugs in the order view 2015-10-19 15:34:55 +02:00
Raphael Michel 80235fce26 Added tests for (and improved) download in control panel 2015-10-19 00:16:48 +02:00
Raphael Michel 93d027cec6 Make all orders "guest orders" 2015-10-05 11:24:00 +02:00