Commit Graph

56 Commits

Author SHA1 Message Date
Raphael Michel
d0b449ea89 Reusable media (#3131)
Co-authored-by: Martin Gross <gross@rami.io>
2023-04-03 10:45:22 +02:00
Raphael Michel
6902725f3c New check-in features (#3022) 2023-02-09 09:46:46 +01:00
Raphael Michel
57fa29a0e9 API: Fix default ordering of check-in list positions 2023-01-25 16:36:08 +01:00
Raphael Michel
5d42dc97c2 API: Use a more sane default ordering for checkin-list 2023-01-25 14:35:20 +01:00
Raphael Michel
018c3d70e3 API: Allow to set order of check-in lists 2023-01-04 18:29:35 +01:00
Raphael Michel
0d1ebf4e58 API: Add RPC-style check-in endpoints to support multi-event scan (#2719) 2022-07-19 16:43:03 +02:00
Raphael Michel
129e831e06 Add option to scan add-on based on its parent position's secret (#2705) 2022-07-06 10:32:05 +02:00
Raphael Michel
39f7bfe16f [SECURITY] Add untrusted_input flag to ticket redemption API 2022-07-05 14:42:58 +02:00
Raphael Michel
08590f9d98 Explicitly store whether checkins were offline (#2617) 2022-05-17 14:32:14 +02:00
Raphael Michel
6c06d72bf1 Fix all offline scans being marked as forced 2022-04-29 15:55:55 +02:00
Raphael Michel
2beb0b20ca Check-in API: Work around libpretixsync issue with space encoding 2021-10-26 10:46:28 +02:00
Tim Neumann
b95f556d8f Add config options for max file upload sizes (#2199)
* feat(config): Add config options for max file upload sizes

Closes #2198

* Apply suggestions from code review

Fix docs and comment in settings.py

Co-authored-by: Richard Schreiber <wiffbi@gmail.com>

* Fix import order using isort

Co-authored-by: Richard Schreiber <wiffbi@gmail.com>
2021-09-09 15:55:06 +02:00
Raphael Michel
4655d8237f Check-in API: Improve handling of unknown ticket codes 2021-07-23 10:49:33 +02:00
Raphael Michel
e4f542b060 Check-in: Return "revoked" code even in online mode 2021-06-22 17:56:50 +02:00
Raphael Michel
c7ef79be90 Store all check-in attempts, not only successful ones (#2074) 2021-06-05 13:00:58 +02:00
Raphael Michel
403b8191e4 Upgrade to Django 3.2 (#2056) 2021-05-07 12:00:30 +02:00
Raphael Michel
b5fdba796b Check-in rules: Make logic results understandable (#2050)
Co-authored-by: Richard Schreiber <schreiber@rami.io>
2021-05-07 09:45:18 +02:00
Raphael Michel
9ab61f3e27 Fix missing serializer context 2021-05-06 13:32:34 +02:00
Raphael Michel
a93287207b pretix Community Edition moves to AGPLv3-based license (#2023) 2021-04-12 10:33:47 +02:00
Raphael Michel
92a50cb2d1 Web-based check-in interface (#1985) 2021-03-30 09:34:11 +02:00
Raphael Michel
01c3b08583 API: Allow to answer file upload questions during ticket redemption 2021-01-07 11:18:23 +01:00
Raphael Michel
22bba28bea Add pluggable ticket secret generators (#1809) 2020-10-19 15:00:55 +02:00
Raphael Michel
6e20f33ef5 Add logdisplay 2020-10-19 14:50:40 +02:00
Raphael Michel
4ef95346a7 API: Use algorithm to count number of checked in orders consistently with backend 2020-10-19 12:58:13 +02:00
Raphael Michel
fcd0c65567 API: Add "currently inside" to checkin statistics 2020-10-19 12:43:16 +02:00
Raphael Michel
7c212ba79d Allow redeem by secret with special chars 2020-10-18 16:04:42 +02:00
Raphael Michel
3bfaf55094 Check-in list API: Show items in event default language 2020-10-07 10:04:26 +02:00
Raphael Michel
fae35cc56f Improve error handling of check-in scans 2020-09-03 14:30:18 +02:00
Raphael Michel
606d13e303 Check-in list API: Add `subevent_match` filter 2020-08-21 17:20:37 +02:00
Raphael Michel
c056db46b6 Overhaul of our check-in features (#1647) 2020-05-13 18:01:49 +02:00
Raphael Michel
ce6e46dfd2 Fix performance of check-in list API list 2019-09-26 15:18:53 +02:00
Raphael Michel
a99616b1e0 API: Check-in response code for canceled 2019-07-18 15:01:33 +02:00
Raphael Michel
b727207e79 API: Fix query for check-in list status 2019-07-01 17:18:22 +02:00
Raphael Michel
93089d87e3 Add support for reserved seating (#1228)
* Initial work on seating

* Add seat guids

* Add product_list_top

* CartAdd: Ignore item when a seat is passed

* Cart display

* product_list_top → render_seating_plan

* Render seating plan in voucher redemption

* Fix failing tests

* Add tests for extending cart positions with seats

* Add subevent_forms to docs

* Update schema, migrations

* Dealing with expired orders

* steps to order change

* Change order positions

* Allow to add seats

* tests for ocm

* Fix things after rebase

* Seating plans API

* Add more tests for cart behaviour

* Widget support

* Adjust widget tests

* Re-enable CSP

* Update schema

* Api: position.seat

* Add guid to word list

* API: (sub)event.seating_plan

* Vali fixes

* Fix api

* Fix reference in test

* Fix test for real
2019-06-25 11:00:03 +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
a42b31560c Check-in API: Fall back from attendee_name 2019-04-23 17:25:35 +02:00
Raphael Michel
e15e7a5877 Check-in API: Return 400 instead of 404 on checking in unpaid orders 2019-04-23 17:18:16 +02:00
Raphael Michel
e7384f7e85 Check-in API: require_attention and ignore_status 2019-04-23 17:06:24 +02:00
Raphael Michel
6d1dea7922 Upgrade to Django 2.2 and modern DRF and py.test (#1246)
* Upgrade django and stuff

* Update to Django 2.2 and recent versions of similar packages

* Provide explicit orderings to all models used in paginated queries

* Resolve naive datetime warnings in test suite

* Deal with deprecation warnings

* Fix sqlparse version
2019-04-07 14:09:49 +01:00
Raphael Michel
937cec53f7 Optimize queries for pdf_data=true 2019-02-14 10:15:55 +01:00
Raphael Michel
da8f7f163f Check-in API: Include position data 2019-02-12 15:40:06 +01:00
Raphael Michel
3cb94f702d Revert accidental commit part 2019-01-04 10:24:06 +01:00
Raphael Michel
ddeae224fb Log SMTP failures and retry after some error codes 2019-01-04 09:54:43 +01:00
Raphael Michel
734e77d1a3 API: Allow to redeem ticket by secret 2018-12-18 12:23:07 +01:00
Raphael Michel
c2d03f5e6b Fix #526 -- Add a webhook system (#1073)
- [x] Data model
- [x] UI
- [x] Fire hooks
- [x] Unit tests
- [x] Display logs
- [x] API to modify hooks
- [x] Documentation
- [x] More hooks!
2018-11-08 16:38:05 +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
7c155d307b Return 404 for invalid check-in list ID 2018-08-31 12:16:15 +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
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
d8e5c9f033 API: Fix insufficient permission check 2018-04-26 09:11:33 +02:00