Commit Graph

89 Commits

Author SHA1 Message Date
Raphael Michel
22dfa0e61d Use select2 input for category fields 2020-02-04 18:22:03 +01:00
Raphael Michel
11d0c37415 Try to discourage accidentally setting Item.hidden_if_available 2019-12-01 12:31:09 +01:00
Raphael Michel
f5e7e0e309 Fix crash if Bundle.designated_price is set to null 2019-11-27 16:07:22 +01:00
Martin Gross
54091b9721 Add question type: phone number (#1462)
* Add Phonenumber-Field as to Questions

* Add setup requirements

* Add list of ask-during-checkin restricted question types and enforce it

* Fix requirements

* Fix crash using custom locales

* Re-format phone numbers when outputting to humans

* Initialize country code field with a guess for the customer's country

* Document TEL type in API docs
2019-11-13 12:52:07 +01:00
Raphael Michel
302966808e More docs and payments 2019-10-17 17:19:31 +02:00
Raphael Michel
8c50b7409f Add Item.issue_giftcard 2019-10-17 16:04:22 +02:00
Martin Gross
e34511b984 Fix #1446 - Migrate NullBooleanSelect from 1/2/3 to unknown/true/false 2019-10-16 10:11:51 +02:00
Martin Gross
eafed2e213 Enforce that questions cannot depend on other question which are asked during checkin (Z#2352753) 2019-10-14 10:12:09 +02:00
Raphael Michel
738413e8fd Allow to copy categories and quotas 2019-09-19 16:59:25 +02:00
Raphael Michel
7fc7dd0163 Allow to print question answers on invoices 2019-08-30 17:24:57 +02:00
Raphael Michel
ad8f109e77 Add Item.allow_waitinglist 2019-07-29 16:27:27 +02:00
Raphael Michel
c1d89284a4 Use tabs for all long settings and CRUD forms (#1352)
* First tabs

* Convert more pages

* Convert question page

* Item form

* Add item_formsets signal

* Revert "Add new signal nav_item"

This reverts commit 1ce613ff89.

* Formset is a word!
2019-07-29 09:35:00 +02:00
Raphael Michel
e83e8cdcc0 Allow to hide a product unless a specific quota is sold out (#1351)
* Allow to hide a product unless a specific quota is sold out

* Fix required property

* Add API property and copy between events
2019-07-25 16:14:24 +02:00
Raphael Michel
307b1a2748 Fix that allow_cancel is 0 for UI-created events 2019-07-18 17:38:12 +02:00
Raphael Michel
a02ea45dba Allow quotas to "close" when once full (#1344)
* Model

* Some UI

* API and logging

* Permission check

* Add tests

* Move option around
2019-07-16 14:02:27 +02:00
Raphael Michel
53a0d62d93 Allow dependent questions to depend on multiple values (#1336) 2019-07-11 13:32:45 +02:00
Raphael Michel
491753008d Introduce Item.show_quota_left 2019-07-10 16:08:21 +02:00
Raphael Michel
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
594803ec17 Make product.tax_rule required as soon as tax rules exist to avoid users from screwing up their taxes 2019-05-28 08:59:02 +02:00
Raphael Michel
e7c4121745 Add hidden questions 2019-05-09 10:02:12 +02:00
Martin Gross
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
243e4ac4c8 Allow not to ask for invoice addresses on free orders 2019-04-04 09:57:57 +02: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
27990b3fbb Prevent users from setting up dependencies for check-in questions 2019-03-13 17:10:23 +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
2c91a17927 Item form: Smaller description field 2019-03-13 11:26:13 +01:00
Raphael Michel
0e89d4c0f7 Fix an AttributeError introduced in 104f84b7 2019-02-26 14:18:42 +01:00
Raphael Michel
104f84b7a8 Log change to quota when creating an item 2019-02-26 13:10:53 +01:00
Raphael Michel
2aa246b3d5 Allow to exclude items from ticket generation explicitly 2019-02-01 16:48:58 +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
5695e1d9c8 SplitDateTimeField: Consider field empty if only a time is given 2018-09-21 16:54:22 +02:00
Raphael Michel
61e5c6b468 Fix bug editing addon products 2018-09-10 17:40:56 +02:00
Raphael Michel
f52447ff58 Model field 2018-08-14 10:46:32 +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
febcf237ca Prevent a KeyError during form validation 2018-07-19 09:27:17 +02:00
Raphael Michel
5e158c3bd7 Prevent a KeyError with invalid add-on configuration 2018-07-19 09:27:17 +02:00
Raphael Michel
e46b33544d Fix race condition in formset validation 2018-07-11 14:57:31 +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
Raphael Michel
fa326eba6f Introduce original price (#905)
* Introduce original price

* Rebase and styling

* Widget
2018-05-18 22:48:38 +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
ce68f52ca0 Add badge printing capabilities (#868)
Add badge printing capabilities
2018-04-22 12:02:51 +02:00
Raphael Michel
253f336509 Add free_price field when copying products 2018-03-24 18:18:28 +01:00
Raphael Michel
f21da0cc2b Add identifier field to questions 2018-03-13 09:09:50 +01:00
Raphael Michel
3c3e59e932 Refs #99 -- Improve support for currencies with less than 2 decimal places (#783)
* Refs #99 -- Fix stripe support for zero-decimal currencies

* Add new money formatting method

* Force decimal places in many places

* Locale-aware currency rendering

* Fix currencies in more places

* More currency fixes
2018-02-26 10:46:07 +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
d0dfde382c Questions at check-in time (#745)
Questions at check-in time
2018-01-22 22:55:54 +01:00
Raphael Michel
91ed869dba Correctly assign positions of newly created products 2017-11-23 20:55:36 +01:00
Raphael Michel
53bb2b2945 Use scrolling multiple choice widget in more places 2017-10-17 11:40:17 +02:00
Raphael Michel
3eeb70ae36 Form UX: Add more helpful placeholders 2017-10-06 11:05:24 +02:00