Commit Graph
91 Commits
Author SHA1 Message Date
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 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 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 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 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 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 05daeb561c Use <details> und <summary> instead of panel-collapse 2018-05-10 12:04:29 +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 ca603f41db New color scheme and UI design 2018-04-25 17:13:20 +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
Raphael Michel a284e0c2f7 Add auditable superuser mode (#824)
* Remove is_superuser everywhere

* Session handling

* List of sessions, relative timeout

* Absolute timeout

* Optionally pseudo-force audit comments

* Fix failing tests

* Add tests

* Add docs

* Rebsae migration

* Typos

* Fix tests
2018-03-28 14:16:58 +02:00
Raphael Michel 28506538a3 Add quick-start assistant for new users (#833)
* First draft for quick-setup

* Add payment

* Fix stripe w/o connect

* cols

* Add tests
2018-03-26 20:52:24 +02:00
Raphael Michel 3a7e0da80b Backend UX: Restructure payment settings 2018-03-24 18:18:28 +01:00
Raphael Michel 511cdbbfe2 Add correct flag for pt-br 2018-03-18 18:09:16 +01:00
Raphael Michel 4373eae1fe Fix danish flag for real 2018-03-08 15:22:10 +01:00
Raphael Michel 096de6cddf Fix flag for the Danish language 2018-03-08 14:50:22 +01:00
Leonardo d4dd1861a9 Fix #740 -- Date picker: Fix line height for decade span (#761)
* Fix line height for decade span

* Move to own file
2018-03-03 11:31:23 +01:00
Raphael Michel fef211b220 Change typeahead.css and morris.css to scss files 2018-02-04 21:06:44 +01:00
Raphael Michel 14da25bd9e Allow administrators to impersonate other users 2018-01-29 12:25:11 +01:00
Raphael Michel e12caf186c Use Select2 for subevent and other long selections (#763)
* Use Select2 for subevent and other long selections

* Minor correction
2018-01-26 16:47:33 +01:00
Raphael Michel 67121decbf Copy some frontend styles to the backend 2018-01-24 19:13:57 +01:00
Raphael Michel 128203800c Implement notifications for admin users (#700)
* First stab at notification settings

* Add "global" setting for notification levels

* Trigger notification task

* Get users with permission for event

* Actually send notification emails

* More notifications

* Allow to turn off notifications

* Link in email to pause all notifications

* Add NotificationType to wordlist

* Add notification tests

* Add documentation

* Rebase fixes
2017-12-14 22:06:08 +01:00
Raphael Michel 9e84e78215 Pagination improvements, allow to select page size 2017-12-09 19:54:39 +01:00
Raphael Michel 497679284a Bank CSV import: Allow dealing with files of more than a few hundred lines during first import 2017-12-07 18:29:08 +01:00
Raphael Michel 353dce789d Fix #515 -- Add check-in lists (#693)
* Data model and migration

* Some backwards compatibility

* CRUD for checkin lists

* Show and perform checkins

* Correct numbers in table and dashboard widget

* event creation and cloning

* Allow to link specific exports and pass options per query

* Play with the CSV export

* PDF export

* Collapse exports by default

* Improve PDF exporter

* Addon stuff

* Subevent stuff, pretixdroid tests

* pretixdroid tests

* Add CRUD API

* Test compatibility

* Fix test

* DB-independent sorting behavior

* Add CRUD and coyp tests

* Re-enable pretixdroid plugin

* pretixdroid config

* Tests & fixes
2017-12-04 18:12:23 +01:00
Raphael Michel 8d90c9e03a Add icon columns to product overview 2017-11-26 14:19:02 +01:00
Raphael Michel 2a3adb135b Fix position of "Optional" label on small screens 2017-11-22 12:09:52 +01:00
Ben Hagan 5376ce4bdb Fix #611 -- Fix overflow in payment information (#656)
Small style change that fixes long word overflow in .panel-body elements
in admin interface.
2017-10-30 12:02:35 +01:00
Raphael Michel c616c8ce29 Show paid tickets instead of available quota in event list 2017-10-18 13:05:25 +02:00
Raphael Michel 53bb2b2945 Use scrolling multiple choice widget in more places 2017-10-17 11:40:17 +02:00
Raphael Michel b4928f662a Add frontend support for long multiple choice widgets 2017-10-13 15:57:42 +02:00
Raphael Michel cbfd722c92 Fix #635 -- Visually indicate optional and required fields (#638) 2017-10-12 16:00:49 +02:00
Raphael Michel 411c537438 UI for settings propagation 2017-10-07 18:13:06 +02:00