Commit Graph

66 Commits

Author SHA1 Message Date
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
affc6254a8 Fix potential XSS in questions [not a vulnerability, thanks to CSP] 2019-03-12 09:20:48 +01:00
Raphael Michel
c278687487 Allow creating multiple events in different tabs at the same time 2019-02-26 13:10:53 +01:00
Martin Gross
37183aced7 Disable Autocomplete for Date/Time-fields 2019-02-12 16:16:12 +01:00
Raphael Michel
af5aece639 Add beneficiaries to invoice addresses 2019-01-12 16:54:37 +01:00
Raphael Michel
01a6861453 Always query emails case-insensitively 2019-01-02 15:12:48 +01:00
Raphael Michel
2bb2a40509 Add new signal checkout_all_optional 2018-12-11 16:44:15 +01:00
Raphael Michel
1f200271af Allow rich text in question help texts 2018-11-05 18:07:15 +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
d08cc12240 Do not break on short VAT IDs 2018-10-29 11:41:26 +01:00
Flavia Bastos
a2acd336eb Fix #970 -- invoice info consistency (#1043)
resolves: Issue #970
2018-10-17 01:50:00 +02:00
Raphael Michel
cea1032180 SplitDateTimeField: Adjust placeholders to actual locale 2018-09-21 16:54:22 +02:00
Raphael Michel
5695e1d9c8 SplitDateTimeField: Consider field empty if only a time is given 2018-09-21 16:54:22 +02:00
Raphael Michel
06d9c48ed4 Allow to restrict payment methods by invoice address country 2018-09-19 16:10:40 +02:00
Lukas Bockstaller
a643abe293 Prevent email enumeration (#1000)
Here is my attempt to prevent user enumeration. 
I've made the following changes:

**Application:**
- replaces success and failure messages in the form with two (with/without redis) information messages 
- adds logging for attempted password resets of unknown users
- adds logging for failing emails

**Tests:**
- test_unknown asserts a redirect instead of a ok
- adds test_email_reset_twice_redis to assert the correct logging of a twice reset email 
- adds a FakeRedis class similiar to the one implemented in test_metrics.py. I could refactor them into the testutils folder if prefered. 

Please excuse the commit mess. I am currently fighting with my tooling.
2018-08-31 10:28:39 +02:00
Raphael Michel
3d5cc98df5 Add option to require company name 2018-08-10 16:05:20 +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
008b4a134b Allow to require invoice name only 2018-05-11 12:58:14 +02:00
Raphael Michel
66eabd3bd6 Fix PlaceholderValidator to catch placehodlers with invalid characters 2018-04-29 14:29:40 +02:00
Raphael Michel
840cee206a Compatibility with an external file storage separated in pub/ and priv/ 2018-03-20 11:55:46 +01:00
Raphael Michel
162f37e00f Support for inofficial languages 2018-03-08 13:19:57 +01:00
Raphael Michel
3955299983 Catch VAT WebServiceError 2018-03-01 09:21:21 +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
04b679a4a7 Fix question form handling of type H 2018-02-03 15:41:56 +01:00
Raphael Michel
1ee6e31538 Fix #190 and #472 -- Change of questions within pretix control 2018-01-26 12:43:47 +01:00
Raphael Michel
817038563f Detect more invalid placeholder specs 2018-01-22 09:02:57 +01:00
Raphael Michel
84d1d758c1 Re-add option to set user timezone 2017-10-13 15:55:58 +02:00
Raphael Michel
2f15d410fe Add optional timeouts for backend sessions 2017-09-04 19:50:32 +02:00
Raphael Michel
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
AV-room
caf75fafdf Fix #454 -- Email field is now required on user settings page (#511) 2017-06-02 17:42:42 +02:00
Raphael Michel
5a68eb345f Fix broken language field filtering in payment settings 2017-04-21 14:26:19 +02:00
Raphael Michel
92aa65a839 Small refinements on the previous commit 2017-04-14 18:05:02 +02:00
Alexey Kislitsin
bd5337a2c2 Fix #448 -- Add PlaceholderValidator (#465)
* Integrated PlaceholderValidator to MailForm at plugins/sendmail

* Integrated PlaceholderValidator to MailForm and MailSettingsForm

* Typo
2017-04-14 18:04:30 +02:00
Raphael Michel
984d5c716b Integrate hierarkey package (#460) 2017-04-10 18:11:21 +02:00
Raphael Michel
91c48c50e5 Fix unclear labels and validations 2017-03-30 23:34:28 +02:00
Raphael Michel
8b7d2314b8 Use django-i18nfield library (#418) 2017-02-27 21:16:28 +01:00
Raphael Michel
0acee0e362 Get rid of User.givenname and User.familyname 2017-01-07 16:35:04 +01:00
Raphael Michel
e6f731ad77 New event creation wizard 2017-01-01 19:47:02 +01:00
Raphael Michel
70199eb7ae Randomize filenames of settings files and delete old versions 2016-10-23 19:14:16 +02:00
Raphael Michel
aecf263de7 2FA: Registraion of U2F devices 2016-10-09 12:59:43 +02:00
Raphael Michel
2f24af824e 2FA: Support for adding TOTP-based devices 2016-10-09 12:59:43 +02:00
Raphael Michel
d682b8121d Fixed saving boolean fields in SettingsForm 2016-07-31 20:42:29 +02:00
Raphael Michel
825b985f81 Fixed a problem with deleting files from the settings 2016-07-29 20:59:06 +02:00
Tobias Kunze
bfc721978d Fixed minor documentation errors and mistakes (#151) 2016-07-14 20:01:38 +02:00
Raphael Michel
09e5c43c55 Fixed #143 -- Password strength validation errors in the right place 2016-06-10 15:33:32 +02:00
Raphael Michel
e5edf53f00 Disable Chrome's autofill for various form fields 2016-06-06 23:07:49 +02:00
Raphael Michel
87b7685cf9 Fixed overwriting files in SettingsForm 2016-06-06 22:46:07 +02:00
Raphael Michel
e4b1cf8d6f Document setting storage and mail sending 2016-05-29 20:34:20 +02:00
Raphael Michel
ead7d8ed78 Improved and documented i18n and background tasks 2016-05-29 20:02:31 +02:00
Jason Estibeiro
e685f8e819 Added basic Django password validations and updated .gitignore (#136) 2016-05-11 13:38:31 +02:00