Commit Graph

133 Commits

Author SHA1 Message Date
Raphael Michel
3c2de09216 Integrate orders and vouchers into navigation typeahead 2019-06-19 09:16:33 +02:00
Martin Gross
ae71492902 Assign flag for Greek (el) 2019-05-31 12:41:33 +02:00
Martin Gross
b3436c1a93 Prepend current organizer to typeahead 2019-05-28 12:29:54 +02:00
Raphael Michel
f9d4669423 Timeline: Fix padding 2019-05-19 14:18:23 +02:00
Raphael Michel
c6b18b31a1 Display a timeline on the dashboard (#1290)
* Timeline data model

* Display timeline

* …

* More events

* Plugin support

* Fix docs typo
2019-05-17 17:32:38 +02:00
Raphael Michel
32aa4b4f3e Fix #1286 -- Autofill quota names with products 2019-05-16 11:41:30 +02:00
Raphael Michel
5d8e3e28d6 Assign flag for zh_Hans 2019-05-09 17:00:30 +02:00
Raphael Michel
6841a30d8f Fix #1153 -- Show preview of uploaded pictures in the backend 2019-05-01 14:01:26 +02:00
Raphael Michel
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
e0063fce52 Allow superusers to inspect payments and refunds 2019-04-17 10:15:14 +02:00
Raphael Michel
84ccaed94a Fix German strings
How did that happen?
2019-03-15 08:55:35 +01:00
Raphael Michel
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
206a0a28c7 Render markdown in all e-mail previews 2019-03-08 12:15:06 +01:00
Raphael Michel
38066ca5ab Minor CSS helpers 2019-02-22 22:41:42 +01:00
Raphael Michel
5096121ac7 Improve QR code widget 2019-02-21 15:24:40 +01:00
Raphael Michel
ca4c21a843 Show QR code of a ticket directly from order details 2019-02-21 15:23:29 +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

![download](https://user-images.githubusercontent.com/64280/53009081-fe420d80-343a-11e9-8361-b8511c988598.png)
2019-02-20 17:51:26 +01:00
Raphael Michel
d505422e0f Order overview: Make table easier to read 2019-02-07 15:28:51 +01:00
Raphael Michel
80b5750756 New content for / index page 2019-01-18 17:24:28 +01:00
Raphael Michel
f37d265534 Refresh design for auth and error pages 2019-01-18 17:24:28 +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
aad1fda31f Register nl_Informal translation 2019-01-02 10:12:17 +01:00
Raphael Michel
3fe2dfe810 Add signal order_position_buttons 2018-12-19 12:29:52 +01:00
Raphael Michel
efca46945a Fix #953 -- Render markdown in email text previews 2018-12-02 17:11:09 +01:00
Raphael Michel
0734715bab Only warn about bad-contrasat colors 2018-11-13 15:53:18 +01:00
Raphael Michel
09a9d610f8 Make navigation structure more approachable to new users (#1083)
* Move event selector to sidebar

* Unify navigation

* Fix confusing icons
2018-11-12 11:30:36 +01:00
Raphael Michel
0b1a6e4745 Fix symmetry 2018-11-06 14:57:22 +01:00
Raphael Michel
18cb29b425 Show date in event picker 2018-11-05 22:45:33 +01:00
Raphael Michel
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
7a945daefc Fix #957 -- Integrate BezahlCode and GiroCode 2018-10-29 12:57:26 +01:00
Raphael Michel
e60ff6b777 Allow to store strucutred SEPA bank transfer details 2018-10-24 00:21:33 +02:00
Raphael Michel
f848561d25 Expose log details for admins 2018-10-01 14:13:44 +02:00
Raphael Michel
6d01c99d38 Auth mechanism 2018-09-25 10:28:07 +02:00
Raphael Michel
4db4790270 Custom HTML email renderers and new email style (#991)
* Custom HTML email renderers

* Move inline_css call

* Small fixes

* New HTML mail style for pretix

* Thumbs

* Inlinestyle for notifications

* Documentation

* Set line-height
2018-08-16 12:01:23 +02:00
Raphael Michel
85e9808550 Fix quirk in data-display-dependency 2018-08-11 10:48:48 +02:00
Raphael Michel
18a378976b Fix #571 -- Partial payments and refunds 2018-08-06 12:24:36 +02:00
Raphael Michel
6b9c3ad4e7 PDF Layout: Make pretix logo a layout element, not a background element 2018-07-10 13:24:27 +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
eb6063cc2d Add QR codes for pseudonymization ID 2018-05-28 17:02:56 +02:00
Raphael Michel
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 Michel
05daeb561c Use <details> und <summary> instead of panel-collapse 2018-05-10 12:04:29 +02:00
Raphael Michel
0a9aeca3bc Bulk deletion for subevents 2018-05-09 11:13:34 +02:00
Raphael Michel
f4b77e6b03 Discourage long event short forms 2018-05-04 10:58:19 +02:00
Raphael Michel
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
Raphael Michel
97bf958b74 Allow to re-auth by using the U2F token 2018-04-26 20:24:03 +02:00
Raphael Michel
ca603f41db New color scheme and UI design 2018-04-25 17:13:20 +02:00
Raphael Michel
edbdb17a2f Fix #850 -- Admission time should be allowed to be before event start 2018-04-24 17:46:58 +02:00
Raphael Michel
87c54f07c6 Move PDF editor out of plugin and into core 2018-04-09 09:40:18 +02:00
Raphael Michel
7939503a11 Bulk creation for event series dates (#848)
* copy-from things

* Some frontend

* rrule UI

* .

* Fixes

* UI improvements

* First test

* Tests
2018-04-03 18:21:27 +02:00
Raphael Michel
bb10d25561 Fix #782 -- Select2 widget for item selection for vouchers 2018-04-03 12:10:34 +02:00