Commit Graph
64 Commits
Author SHA1 Message Date
9afc71c245 Update src/pretix/control/views/checkin.py
Co-authored-by: pajowu <engelhardt@pretix.eu>
2026-07-27 13:54:06 +02:00
Raphael Michelandpajowu 1087db9529 Check-in history: Avoid JOINs
On a test dataset, this was a speedup from 18s to 900ms
2026-07-27 13:54:06 +02:00
775fdd1ccb Check-in API: Add reusable media exchange (#6115)
* Add Reusable Media Exchange to Checkin API

* isort

* Remove debugging leftover

* Apply suggestions from code review

Co-authored-by: robbi5 <maxi@richt.name>

* Add media_exchange_supported to CheckinRPCRedeemInputSerializer

* SecurityProfiles: Add api-v1:reusablemedia-lookup and -detail for SCAN

* Simplify media exchange checks

* Apply suggestions from code review

Co-authored-by: Raphael Michel <mail@raphaelmichel.de>

* Wording: re-usable --> reusable

* Deny checkins if media-exchange is required but device does not support it.

* Remove media_exchange_supported-Flag: Checkin will always be denied if media needs to be exchanged; apps will fall back to explanation text

* CheckinRPC: Also perform media exchange

* Use media_policy from item, not as a checkinrpc parameter

* my own review notes

* Fixes, cleanup, rebase

* block expired media

* Fix query

* add logging

* Refactor link_action into media policy, gift card support

* Block illegal policy-type combination

* Drop add_to_reusable_medium, decide all by policy

* Fix test failure

* fix test on postgres

* Expose reusable_media_usage_enforced to devies

* Explicitly set update view

---------

Co-authored-by: robbi5 <maxi@richt.name>
Co-authored-by: Maximilian Richt <richt@pretix.eu>
Co-authored-by: Raphael Michel <mail@raphaelmichel.de>
Co-authored-by: Raphael Michel <michel@rami.io>
Co-authored-by: Raphael Michel <michel@pretix.eu>
2026-06-11 16:25:13 +02:00
luelistaandGitHub edf97a13cd Don't show warning if inactive products are used in checkin-rules (Z#23236197) (#6242) 2026-06-09 12:48:03 +02:00
df0b580dd6 Pluggable permissions (#5728)
* Data model draft

* Refactor query and assignment usages of old permissions

* Backend UI

* API serializer

* Big string replace

* Docs, tests and fixes for teams api

* Update docs for device auth

* Eliminate old names

* Make tests pass

* Use new permissions, remove inconsistencies

* Add test for translations

* Show plugin permissions

* Add permission for seating plans

* Fix plugin activation

* Fix failing test

* Refactor to permission groups

* Update doc/api/resources/devices.rst

Co-authored-by: luelista <weller@rami.io>

* Update doc/api/resources/events.rst

Co-authored-by: luelista <weller@rami.io>

* Update src/pretix/api/serializers/organizer.py

Co-authored-by: luelista <weller@rami.io>

* Fix typo

* Fix python version compat

* Replacement after rebase

* Add proper permission handling for exports

* Docs for exporters

* Runtime linting of permission names

* Fix typos

* Show export page even without orders permission

* More legacy compat

* Do not strongly validate before plugins are loaded

* Rebase migration

* Add permission for outgoing mails

* Review notes

* Update doc/api/resources/teams.rst

Co-authored-by: Richard Schreiber <schreiber@pretix.eu>

* Clean up logic around exporters

* Review and failures

* Fix migration leading to forbidden combination

* Handle permissions on event copying

* Remove print-statements

* Make test clearer

* Review feedback

* Add AnyPermissionOf

* migration safety

---------

Co-authored-by: luelista <weller@rami.io>
Co-authored-by: Richard Schreiber <schreiber@pretix.eu>
2026-03-17 14:43:56 +01:00
Raphael MichelandGitHub 177a7d07fc Update license header (#5540) 2025-10-10 15:32:46 +02:00
423f0cbb90 Add button to reset entire check-in stack (Z#23188730) (#5312)
* Show print logs to admins

* Add button to reset entire check-in stack (Z#23188730)

* isort

* Update src/pretix/control/templates/pretixcontrol/checkin/reset.html

Co-authored-by: Richard Schreiber <schreiber@rami.io>

* Update src/pretix/control/templates/pretixcontrol/checkin/reset.html

Co-authored-by: Richard Schreiber <schreiber@rami.io>

* Update src/pretix/control/templates/pretixcontrol/checkin/reset.html

Co-authored-by: Richard Schreiber <schreiber@rami.io>

* Update src/pretix/control/templates/pretixcontrol/checkin/lists.html

Co-authored-by: Richard Schreiber <schreiber@rami.io>

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2025-07-18 10:02:18 +02:00
a601c75923 CheckIns: Display a source_type icon (barcode/nfc) where known (#4628)
Co-authored-by: Raphael Michel <michel@rami.io>
2024-11-18 17:50:43 +01:00
Raphael MichelandGitHub 3d85d9d865 Remove deprecated auto_checkin_sales_channels (#4587)
* Remove deprecated auto_checkin_sales_channels

* Fix Query count
2024-11-06 12:30:41 +01:00
Raphael Michel d160c9fd67 Fix crash in checkin list action view (PRETIXEU-AN8) 2024-10-09 17:11:10 +02:00
4fb5c6bef0 New implementation of sales channels (#4111)
Co-authored-by: Martin Gross <gross@rami.io>
2024-06-30 19:24:30 +02:00
Raphael MichelandGitHub 8a3b313cb6 Check-in: Show more information (#3576)
* Check-in: Show more information

* Add change notes

* Rebase migration

* Add "expand" option to checkinrpc

* REmove accidental file

* Docs fixes

* REbase migration

* Rebase migration

* Fix typo

* REbase migration

* Make web-checkin look more like new android checkin
2023-11-28 14:52:12 +01:00
Raphael MichelandGitHub 3d68c83907 Improve check-in deletion (#3688)
* Improve check-in deletion

* Add pluralization

* Disable buttons if nothing selected
2023-11-06 10:30:02 +01:00
Raphael MichelandGitHub eb04fdf4d2 Check-in rules: New variables (#3521) 2023-09-12 09:43:57 +02:00
Raphael MichelandGitHub c0031e4579 Add bulk operations for orders (#3548)
* Add bulk operations for orders

* UI tweaks

* Fix test failures

* Fix filter form

* Add tests

* Run isort
2023-09-06 17:02:21 +02:00
Raphael MichelandGitHub ce73d4831e Allow to sort the list of check-in lists (Z#23128978) (#3568) 2023-09-06 13:23:54 +02:00
Raphael Michel 90fb034897 Check-in simulator: Fix usage of simulated time in rules 2023-07-11 09:17:02 +02:00
Raphael MichelandGitHub 002416e435 Add check-in simulator (#3380) 2023-06-13 14:57:24 +02:00
Raphael MichelandGitHub bd32b33ba9 Bump Django to 4.1.* (#2989) 2023-06-05 09:56:31 +02:00
Raphael Michel 3b615fea6d Fix inconsistent naming of log messages 2023-05-03 10:03:51 +02:00
Raphael MichelandGitHub 7d4b575150 Ensure total ordering of paginated lists (#3061) 2023-02-24 10:51:51 +01:00
Raphael MichelandGitHub 6902725f3c New check-in features (#3022) 2023-02-09 09:46:46 +01:00
Raphael Michel 59d46ddded Revert "First steps into pytz deprecation"
This reverts commit e4e7d50659.
2023-02-01 13:15:18 +01:00
Raphael Michel e4e7d50659 First steps into pytz deprecation 2023-02-01 13:12:24 +01:00
Raphael Michel 8ca128912e Fix TypeError in failing bulk-checkin-action 2023-01-25 11:17:03 +01:00
Raphael Michel 7f09b4c903 Check-in list: Do not show auto-exits as auto-entries 2023-01-24 18:59:59 +01:00
Raphael Michel 433262f6fc Prepare for DeleteView change in Django 4.0 2023-01-24 14:16:01 +01:00
Raphael Michel a2f2d25169 Allow users with can_checkin_orders permission to use the bulk actions of the check-in list view 2023-01-04 18:13:24 +01:00
Raphael Michel bd299f9afb Fix crash during manual check-in (PRETIXEU-6WX) 2022-06-13 14:06:30 +02:00
Raphael Michel 635344a32f Fix large number of SQL queries in check-in history 2022-06-13 11:38:42 +02:00
86085d9368 Allow to bulk-select many tickets to check in or out (#2678)
* Allow to bulk-select many tickets to check in or out

* Update tests

* Add permission test

* Update src/pretix/control/templates/pretixcontrol/checkin/index.html

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

* Update src/pretix/static/pretixbase/js/asynctask.js

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

* Remove console.warn

* Simplify stuff

* minor refactor

* fix missing checked-out success message

Co-authored-by: Richard Schreiber <wiffbi@gmail.com>
Co-authored-by: Richard Schreiber <schreiber@rami.io>
2022-06-10 12:14:44 +02:00
Raphael MichelandGitHub 22920a7318 Analyze check-in rules for missing products (#2582) 2022-04-11 18:53:07 +02:00
Raphael Michel 39736ef0d4 Check-in list: Allow to filter by date 2021-07-19 14:27:23 +02:00
Raphael MichelandGitHub c7ef79be90 Store all check-in attempts, not only successful ones (#2074) 2021-06-05 13:00:58 +02:00
Raphael Michel 7e0fa33661 Reduce SQL query load on check-in list viewer 2021-05-28 18:51:01 +02:00
Raphael MichelandGitHub a93287207b pretix Community Edition moves to AGPLv3-based license (#2023) 2021-04-12 10:33:47 +02:00
Raphael Michel 0bfc436970 Check-in list: Redirect back toe diting after save 2020-08-25 16:19:11 +02:00
Raphael Michel b6fc02255d Allow to clone check-in lists 2020-08-25 15:52:46 +02:00
Raphael Michel d1146add38 Allow to re-check-in someone through the backend 2020-08-24 17:27:06 +02:00
Raphael Michel b1ee355663 Fix Checkin.MultipleObjectsReturned in backend checkin 2020-05-25 15:46:31 +02:00
Raphael MichelandGitHub c056db46b6 Overhaul of our check-in features (#1647) 2020-05-13 18:01:49 +02:00
Raphael MichelandGitHub af23d6e4bf Upgrade to Django 3.0 and other dependencies (#1568)
* Upgrade Django to 3.0 and other dependencies to recent versions

* Fix otp version contsraint

* Remove six dependency

* Resolve some warnings

* Fix failing tests

* Update django-countries

* Resolve all RemovedInDjango31Warnings in test suite

* Run isort

* Fix import

* Update PostgreSQL version on travis
2020-03-23 15:02:20 +01:00
6e88054af7 Send signal on checkin (#1546)
* Send signal when orderposition is checked in

* Add position_checked_in signal to documentation

* Rename signal to checkin_created

* Update general.rst

* Update signals.py

Co-authored-by: Raphael Michel <mail@raphaelmichel.de>
2020-02-04 18:26:35 +01:00
Raphael Michel 50dabb5b26 Show seat in web and PDF check-in list 2019-11-22 13:32:39 +01:00
Martin Gross dc51d51338 Add hint to devices in checkinlist overview 2019-10-14 11:40:57 +02:00
Martin GrossandRaphael Michel 748a389acb Auto-check-in for specific sales channels (#1409)
* Autocheckin data model/cosmetics

* Expose automatically checked-in OrderPositions

* Expose automatically checked-in OrderPositions in CSV/PDF Exports

* Fix some tests, try to fix MultiStringField/CheckboxSelectMultiple

* Actually fix MultiStringField/CheckboxSelectMultiple.
(Not pretty, but it works)

* Fix more tests

* Squash migration

* Also fix CSV/nameparts-test

* Changes for Autocheckin code-review

* Perform Auto-Checkins through new core plugin

* Update config-doc to reflect also checkinlists

* Explicitly output AutoCheckin Yes/No for CSV-Export (+ fix test)

* Move autocheckin from plugin to service

* API-doc

* Fix API-doc spelling

* Checkinlist-API and autocheckin order tests

* Performance improvement when reading checkinlists for autocheckin

Co-Authored-By: Raphael Michel <michel@rami.io>

* Autocheckin test for order created through API

* Resolve migration conflict
2019-10-08 15:50:22 +02:00
Raphael Michel ce6e46dfd2 Fix performance of check-in list API list 2019-09-26 15:18:53 +02:00
Raphael Michel e7384f7e85 Check-in API: require_attention and ignore_status 2019-04-23 17:06:24 +02:00
Raphael Michel e70738ae0c Fix percentage bar in list of check-in lists 2019-03-04 18:44:21 +01:00
Raphael Michel 89d612beed Fix bug in checkinlist view 2019-02-11 16:39:50 +01:00