Commit Graph
126 Commits
Author SHA1 Message Date
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
2e89fc0a94 Questions: filter answers by dateFrame (Z#23216406) (#5706)
* replace manual form with QuestionFilterForm

* move form to form/item.py

* filter using a dateFrameField

* rename QuestionFilterForm to QuestionAnswerFilterForm

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

* pass existing `opqs` into `filter_qs`

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

* clean up filters

* fix view errors

* add labels

* display validation failures on field/label

* fix linting issues

* adjust datetime comparisons from lte to lt & gte to gt

* Change filter-form layout similar to order-filter-form

* improve label texts

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

* use order constants

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

* use Order Constants in Form where possible

* Change phrasing from Subevent to Date

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

* include product variations in products filter

* repair time zone comparisons

* fix linting

* move filter form to form/filter.py

* remove references to timezone.utc

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

* remove manual class statements

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

* removes unnecessary check

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

* fix datetime comparison

* Add full stop to error message to match style

* unify var-names and code-indent

---------

Co-authored-by: Richard Schreiber <schreiber@pretix.eu>
Co-authored-by: Richard Schreiber <schreiber@rami.io>
2025-12-15 12:46:06 +01:00
Richard Schreiber 7bb2e4c170 Improve stats-UI fix (#5243)
* Improve stats-UI fix

* remove unused stats_json
2025-06-18 09:11:16 +02:00
Raphael MichelandRichard Schreiber 8418d03add Questions: Express percentage of tickets (Z#23196542) (#5239)
* Questions: Express percentage of tickets (Z#23196542)

* add missing td for sum

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2025-06-13 11:01:37 +02:00
Raphael MichelandRichard Schreiber 31bb0f4a91 Product list: Show icon for seated products (#5015)
* Product list: Show icon for seated products

* Use updated seat icon

* Update src/pretix/static/pretixbase/scss/_theme.scss

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

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2025-05-06 11:14:28 +02:00
Raphael Michel c1656158f2 Item categories: Show IDs (required for widget usage) 2025-04-19 20:35:33 +02:00
Phin WolkwitzandRaphael Michel 0b8a7349c7 Discounts: Add applicability date ranges (Z#23151897) (#4927)
* Add event date fields, add preliminary range check

* Remove function, use filtered queryset for subevent id limit

* Improve and fix date range check

* Add formfields

* Add tests

* Improve tests

* Add new fields to API and documentation

* Add migration

* Change description according to suggestion

* Change discount apply signature, remove unnecessary query

* Rename new fields, simplify range check

* Rename fields in template

* Apply suggestions from code review

Co-authored-by: Raphael Michel <michel@rami.io>

---------

Co-authored-by: Raphael Michel <michel@rami.io>
2025-03-27 15:36:20 +01:00
Raphael Michel 7652f48dc1 New consistent representation of date ranges with times (Z#23184657) 2025-03-18 14:40:38 +01:00
MiraandRaphael Michel f4ac7e7f65 Add warning that cross-selling can't prevent unwanted combinations (#4596)
* Add warning that cross-selling can't prevent unwanted combinations

* Update src/pretix/control/templates/pretixcontrol/items/category.html

Co-authored-by: Raphael Michel <michel@rami.io>

---------

Co-authored-by: Raphael Michel <michel@rami.io>
2024-10-31 12:59:28 +01:00
Mira 2697ed0c5d QuestionView: Carry over subevent filter to order list (#4543) 2024-10-21 14:45:04 +02:00
Martin Gross 17b2e95569 Questions: Add SubEvent-Filter; Renew Filter-Form Layout (Z#23168996) (#4538) 2024-10-21 13:25:18 +02:00
359df1f51e Cross selling (#4185)
Product categories can now be marked as "cross-selling categories", causing them to 
appear in the add-on checkout step as additional recommendations, depending on 
their cross-selling visibility (always, only if certain products are already in the cart, or 
only if they qualify for a discount according to discount rules).

---------

Co-authored-by: Raphael Michel <michel@rami.io>
Co-authored-by: Richard Schreiber <schreiber@rami.io>
2024-10-14 14:39:49 +02:00
Raphael Michel ff910f293f Item list: Show tax rate even for products with 0 price
Might be neccessary for price input, variations, etc
2024-09-25 12:42:45 +02:00
Raphael Michel 075b9c187f Item list: Fix exclusive tax rules 2024-07-02 09:03:57 +02:00
Raphael MichelandMartin Gross 4fb5c6bef0 New implementation of sales channels (#4111)
Co-authored-by: Martin Gross <gross@rami.io>
2024-06-30 19:24:30 +02:00
Raphael Michel 9fe6916ab5 Item index: use internal category names again 2024-06-26 15:25:04 +02:00
Mira a73c4ad937 Improve List Sorting UI (#4215)
Improve product list UI (allow move between categories, more useful columns and links)
and hide "move up/down" arrows in lists by default if drag-drop is available
2024-06-25 12:54:11 +02:00
Raphael Michel 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
Richard Schreiber 563583cd36 Improve help texts when deleting questions (Z#23134288) 2023-10-24 10:10:46 +02:00
Raphael Michel 1d0dbae77a Question detail view: Show total number of answers 2023-10-04 11:44:53 +02:00
Raphael Michel 5d90a42acf Discounts: Allow "buy X to get Y" with different product sets for X and Y (#3543) 2023-08-28 16:21:52 +02:00
Raphael Michel 9af889ad02 Questions: Warn about deleting answers 2023-05-26 11:16:50 +02:00
Raphael Michel ddade60625 Question: Allow limit of string length (#3214) 2023-04-06 09:58:50 +02:00
Raphael Michel 6902725f3c New check-in features (#3022) 2023-02-09 09:46:46 +01:00
Raphael MichelandRichard Schreiber 603225d042 Separate personalization from admission (#2990)
Co-authored-by: Richard Schreiber <schreiber@rami.io>
2023-01-09 14:57:35 +01:00
Raphael Michel 127eb08f19 Fix invalid link name
Fixes PRETIXEU-6YM
2022-06-27 12:25:19 +02:00
Raphael Michel 3f1521a3c5 Fix typos 2022-04-27 16:03:19 +02:00
Raphael Michel 6fee0ac0a9 Discounts (#2510) 2022-04-27 14:43:16 +02:00
Raphael Michel fdc77f6bd8 Quota deletion: Show internal names of products 2022-01-31 09:56:55 +01:00
Raphael Michel e3d0a18bee Show internal category names in product list 2022-01-31 09:34:13 +01:00
Richard SchreiberandRaphael Michel 8121167d5e Control: Add drag and drop to sort categories and products (#2242)
* add drag and drop to categories

* add drag and drop to products

* add light grey background to dragged element

* add missing th, add sr-only desc of columns

* group up/down/move elements

* improve visualizing drag-area by dimming others

* change up/down-links to buttons in form-post

* limit sorting to POST requests

Co-authored-by: Raphael Michel <michel@rami.io>
2021-10-12 14:46:56 +02:00
Julia LunaandRaphael Michel 64d07a2811 Auto-scheduled emails
Co-authored-by: Raphael Michel <michel@rami.io>
2021-06-03 12:47:07 +02:00
Raphael Michel 93da4801db Allow to manually exclude quotas from calendar availability 2021-05-27 12:05:03 +02:00
Raphael Michel ac4e4a2578 Visibly de-highlight disabled products 2021-05-19 09:53:25 +02:00
Raphael Michel 24bccf8b9c Add Question.valid_file_portrait as well as crop editor for images 2021-04-19 15:40:16 +02:00
Raphael Michel e57291914c Item list: Add more icons 2021-01-22 15:35:26 +01:00
Raphael Michel 7165cc4c3b Show ID of items and variations in backend 2021-01-22 14:48:32 +01:00
Raphael Michel 66af5973ec Add min/max validation for date, datetime, and number questions (#1858) 2020-11-27 11:02:07 +01:00
Raphael Michel 2ebd040a7c Item form: Fancy radio buttons for has_Variations and admission 2020-11-23 15:25:48 +01:00
Raphael Michel 3ced206d04 Show identifier in list of questions 2020-10-24 22:42:27 +02:00
Raphael Michel c01b96bdfc Allow to sort list of quotas 2020-09-25 19:08:42 +02:00
Raphael Michel 1e2b305376 Quota and check-in list list: Include time of subevent 2020-09-18 13:12:04 +02:00
Raphael Michel a685af6433 Clone button for products 2020-07-16 08:53:18 +02:00
Raphael Michel 0cde5288ac Fix trailing whitespace 2020-07-09 10:31:46 +02:00
Raphael Michel 06fbf56c04 Question stats: Show percentage 2020-06-30 23:18:12 +02:00
Raphael Michel 922f12f55e Allow to release quota after exit scans 2020-06-26 16:49:19 +02:00
Raphael Michel 2a5c24482e Question list: Drop pagination, allow to mix ordering with system fields 2020-06-23 13:05:54 +02:00
Martin Gross 25ad2ea475 Fix display of quota items. 2020-05-13 13:56:36 +02:00
Raphael Michel e117545b3f Refactor quota calculation (#1668) 2020-05-07 09:34:27 +02:00
Raphael Michel d224b5387d Replace Travis with GitHub actions and fix many typos (#1657)
* Create django.yml

* Fix working directory

* ..

* .

* ..

* a.

* ..

* .

* Fix typo

* Install hunspell

* maxfail

* Fix install

* .

* Reduce number of typos

* Even less typos

* Postgres debug

* Spelling fixes, yet again

* Postgres with PW

* Fix failing test

* New workflows

* Fix syntax error

* Install gettext

* Test aginst python 3.6 as well

* Clean up strategies

* Add badge, do not ignore migrations

* Use pip cache
2020-04-22 12:07:58 +02:00