Commit Graph

306 Commits

Author SHA1 Message Date
Raphael Michel
31f2cc1fdc Fix LOGIN_URL setting 2018-04-16 15:26:38 +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
6ab0a839b1 Fix accidental push of wrong MEDIA_URL default 2018-03-20 17:13:48 +01:00
Raphael Michel
843751b53f Revert accidental push of test settings (yes, the password has been changed) 2018-03-20 14:23:18 +01:00
Raphael Michel
1f083a52eb Increase maximum filename size of FileFields 2018-03-20 13:21:20 +01:00
Raphael Michel
e7458f3032 Add custom thumbnailer 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
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
Tim Freund
aecb536a34 Use config.getboolean to get metrics enabled value (#770)
Given the following configuration:

[metrics]
enabled=False

Using config.get results in a METRICS_ENABLED value that always
evaluates to True. This PR switches to config.getboolean so that metrics
can be disabled without deleting the configuration values.
2018-02-18 17:40:13 +01:00
Raphael Michel
4ccf33af03 Add support for orders without email addresses 2018-02-04 22:42:41 +01:00
Raphael Michel
14da25bd9e Allow administrators to impersonate other users 2018-01-29 12:25:11 +01:00
Raphael Michel
cf1883a039 Add celery queue "background" 2017-12-11 16:56:28 +01:00
Raphael Michel
fade09ca8f Add custom celery routing (#698) 2017-12-11 16:07:19 +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
96b57994d9 Make raw config file data accessible to plugins 2017-10-29 16:11:54 +01:00
Raphael Michel
c16dd0c9b6 Refs #654 -- API: Status operations on orders resource (#640)
* API: Write operations on orders resource

* Add order API endpoint /extend/
2017-10-27 13:31:31 +02:00
Raphael Michel
cbfd722c92 Fix #635 -- Visually indicate optional and required fields (#638) 2017-10-12 16:00:49 +02:00
Raphael Michel
29b157f287 CSP: Add reporting endpoint 2017-09-28 18:43:45 +02:00
Raphael Michel
2f15d410fe Add optional timeouts for backend sessions 2017-09-04 19:50:32 +02:00
Raphael Michel
56338be13e Tax rules and reverse charge (#559)
Tax rules and reverse charge
2017-08-23 13:13:16 +03:00
Nicole Klünder
bbed8e5fae throw exception if PRETIX_CONFIG_FILE can not be opened (#581)
If the environment variable PRETIX_CONFIG_FILE is set but the file can not be read because it does not exists or permission is denied, pretix just runs with default settings. When setting up a new installation this can be confusing and difficult to debug.

I think it is safe to assume that someone who sets PRETIX_CONFIG_FILE aims to point it at a readable file, so raising with a more understandable exception is expected or at least helpful. Otherwise, the user will usually get a DisallowedHost exception because the [pretix]url config variable is not set which is not as helpful.
2017-07-31 18:33:16 +02:00
Raphael Michel
d2b0e7209f Use a choice field for invoice address countries 2017-07-19 12:08:18 +02:00
Johan von Forstner
921834c917 Fix os.chown call on Windows (#563) 2017-07-18 11:42:30 +02:00
Raphael Michel
670bfa18de Slug widget 2017-07-17 20:54:39 +02:00
Raphael Michel
130f619b05 Fix raven integration 2017-07-17 20:29:56 +02:00
Raphael Michel
d644b8fe01 Fix detection of core modules after ae910eb7 2017-07-13 20:33:08 +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
Raphael Michel
9de9d96e35 Do not expose "Deutsch (Du)" in name-local 2017-07-06 09:26:26 +02:00
Raphael Michel
a530eda9fc Add CSRF_TRUSTED_ORIGINS to settings.py 2017-06-30 11:55:59 +02:00
Raphael Michel
b2d4bea1d0 Refs #314 -- Read-only REST API (#513)
* initial commit

* API auth

* Hierarchical URLs

* Add session auth

* Strong hierarchy

* Add filters

* Add i18n fields, questions

* More viewsets and serializers

* Ticket download

* Add OrderPosition serializer

* View-level permissions

* More tests

* More tests

* Add basic API docs

* Add REST API to docs frontpage

* Tests for order endpoints

* Add invoice tests

* Voucher and waitinglist tests

* Doc draft

* order docs

* Docs on all viewsets

* Disable DRF docs, style sphinx, style browsable API

* Fix tests

* deprecated imports

* Test foo

* Attendee names

* Fix migration problems

* Remove browsable API, plugin integration

* Doc fixes
2017-06-19 11:16:04 +02:00
Tobias Kunze
0f2875e89a [Django 1.11] Upgrade to Django 1.11 2017-05-26 09:44:11 +02:00
Tobias Kunze
41e56adfdb Make checkin lists available by default (#508) 2017-05-25 16:47:09 +02:00
Raphael Michel
24b1d2afcb Disable CssAbsoluteFilter 2017-05-24 14:34:20 +02:00
Matthew Emerson
4accbef6a9 Fix #446 -- Choices for Event.currenxy attribute (#452)
* Change event currency to a choice attribute

* Added pycountry to requirements for currency list

* Fixed issues from flake8

* Added tests for event currency and added pycountry to setup.py

* Removed whitespace from test/control/test_events.py
2017-04-06 12:08:55 +02:00
Raphael Michel
99395c722d Run CommonMiddleware before metrics (because of APPEND_SLASH) 2017-03-27 21:52:00 +02:00
Raphael Michel
e0e3a72268 Add metrics for request/task counting 2017-03-25 21:17:12 +01:00
Raphael Michel
f9646d9325 Do casual reads only on Galera 2017-03-08 18:15:39 +01:00
Raphael Michel
2302dbade6 Even slightly more CSP refactoring 2017-03-07 22:30:15 +01:00
Raphael Michel
af4a2c7184 Run tests on multiple Python versions and databases (#424)
* Test against more python versions

* Add testing on MySQL

* Add testing on PostgreSQL
2017-03-02 11:59:09 +01:00
Raphael Michel
08e7a29623 MySQL Galera workaround (#416) 2017-02-22 16:59:23 +01:00
Raphael Michel
c639cd96f5 Moved static files and celery.py 2017-01-04 22:00:28 +01:00
Raphael Michel
67de7150e5 Built-in support for sentry 2017-01-04 21:04:47 +01:00
Raphael Michel
b6e42d64da Upgrade to Celery 4 2017-01-04 20:12:50 +01:00
Raphael Michel
f8b38dca82 Fix #110 -- Turn off process-local cache 2016-11-29 17:19:05 +01:00
Jonas Große Sundrup
d3327b1e45 Add basic instrumentation possibilities to pretix (#271)
* add basic instrumentation possibilities to pretix

* make tabs to spaces

* apply flake8

* implement upstreams suggestions, round 1

* adjust naming of redis-connection

* address noredis

* add view for metrics

* implement HTTP basic auth in front of metrics-endpoint

* rename labelset

* make flake8-clean

* implement upstreams suggestions, round 2

* correct minor slipups

* fix missing return

* let isort add an empty line

* implement test for counter

* implement upstream suggestions, round 3

* correct typo

* implement first test for view

* finish view-test

* fix deprecated keyword

* implement upstream-suggestions, round 4

* implement test for gauge

* test exceptions as well

* add db-decorator
2016-11-20 14:46:45 +01:00
Raphael Michel
dcc2229775 Keep redis sessions around longer 2016-11-12 21:25:53 +01:00
Raphael Michel
7af45ce59d Add profiling utilities 2016-11-10 13:58:41 +01:00
Raphael Michel
302c6da17f Fix integration of django-statici18n 2016-11-09 19:47:42 +01:00
Raphael Michel
45b960b97c Use django-statici18n in production 2016-11-09 19:08:51 +01:00
Raphael Michel
059e6bace5 Insert debug toolbar before other middlewares 2016-11-08 14:13:18 +01:00