Commit Graph
55 Commits
Author SHA1 Message Date
luelistaandGitHub 6e647b41e4 Use format_html in dashboard widgets (#6369)
This changes the API of pretix.control.signals.event_dashboard_widgets and 
pretix.control.signals.user_dashboard_widgets, such that the "content" key of
returned dictionaries must contain a SafeString if HTML therein is to be 
rendered.
2026-07-16 12:56:39 +02:00
luelistaandGitHub 430c6dd269 Use SafeStrings for plugin signals returning HTML that should be rendered (#6343)
As a security precaution, we change the contract of some signals such that a 
SafeString needs to be returned if HTML should be rendered without further 
escaping.

Before, the `{% signal ... %}` and `{% eventsignal ... %}` template tags 
called mark_safe themselves on all strings returned from signals. That could
lead to unsafe coding practices, where untrusted values are interpolated into
HTML format strings. However, such interpolations should usually be performed 
using helpers such Django's format_html, which automatically escapes inputs
and returns a SafeString.
Now, we call conditional_escape on signal results, so that any HTML not explicitly
marked as safe gets escaped.

Most plugins are not affected by this change as they return a SafeString as a 
result of Template.render already.
2026-07-09 17:50:26 +02:00
Raphael MichelandGitHub 748054de56 Add read-only details page for subevents (#6151)
* Add read-only details page for subevents

* Document signal

* Review notes

* Fix incorrect subquery
2026-06-04 11:19:04 +02:00
George HickmanandGitHub 21225e7753 Add the order_approve_info signal (#6228) 2026-06-02 08:25:36 +02:00
Raphael MichelandGitHub 177a7d07fc Update license header (#5540) 2025-10-10 15:32:46 +02:00
Raphael MichelandGitHub baab35b81f Items: Allow plugins to put forms above a formset (#5460) 2025-09-15 18:11:18 +02:00
luelistaandGitHub e5301dcdc5 Clarify plugin signal docstrings (#5397) 2025-09-05 18:27:04 +02:00
a51a6123f5 Organizer-level plugins (#5305)
* Add version notes to the docs

* Adapt signal handling

* Add UI

* Add API

* API and tests

* Fix registry

* Update doc/development/api/plugins.rst

Co-authored-by: Felix Rindt <felix@rindt.me>

* Fix failing tests

* Apply suggestions from code review

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

* Update src/pretix/control/templates/pretixcontrol/organizers/plugin_events.html

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

* Update src/pretix/control/templates/pretixcontrol/organizers/plugins.html

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

* Update src/pretix/control/templates/pretixcontrol/organizers/plugins.html

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

* Update src/pretix/control/navigation.py

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

* Update src/pretix/control/urls.py

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

* Apply suggestion from @wiffbi

* REbase migration

* Fix review note

* Fix test cases

* Remove plugin from all events if disabled on org level

* Update doc/development/api/plugins.rst

* Unify registries

* Rebase migration

---------

Co-authored-by: Felix Rindt <felix@rindt.me>
Co-authored-by: Richard Schreiber <schreiber@rami.io>
Co-authored-by: luelista <weller@rami.io>
2025-08-19 11:33:34 +02:00
Raphael Michel 3aec460614 Add docs for 50f048fa8 2023-10-26 13:49:26 +02:00
Kian CrossandGitHub 65ecdc184e Recognise title and template attributes on item_forms signal (#3492) 2023-07-24 17:35:39 +02:00
Raphael MichelandGitHub 403b8191e4 Upgrade to Django 3.2 (#2056) 2021-05-07 12:00:30 +02:00
Raphael MichelandGitHub a93287207b pretix Community Edition moves to AGPLv3-based license (#2023) 2021-04-12 10:33:47 +02:00
Raphael Michel 4a2ac110b3 Voucher bulk creation: More efficient implementation and async task 2021-03-14 18:19:49 +01:00
Raphael Michel e09853c6c6 SubEvent editing: Pass copy_from to plugins 2021-01-27 18:22:36 +01:00
Raphael Michel 821599dc1a Add advanced search to order list 2020-11-17 13:24:22 +01:00
Raphael Michel e8f3a66a8e Add signal pretix.control.signals.event_dashboard_top 2020-09-06 17:25:47 +02:00
Raphael Michel d4a491fc1b Add new signal pretix.control.signals.order_search_filter_q 2019-11-28 11:18:09 +01:00
Raphael MichelandGitHub c1d89284a4 Use tabs for all long settings and CRUD forms (#1352)
* First tabs

* Convert more pages

* Convert question page

* Item form

* Add item_formsets signal

* Revert "Add new signal nav_item"

This reverts commit 1ce613ff89.

* Formset is a word!
2019-07-29 09:35:00 +02:00
Raphael MichelandGitHub 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 1ce613ff89 Add new signal nav_item 2019-06-14 12:20:27 +02:00
Raphael Michel dc0590ea91 Fix grammar 2019-05-29 09:19:26 +02:00
Raphael Michel bc5e5d0a27 Fix #1307 -- Document hierarchies in navigation signals 2019-05-29 09:17:43 +02:00
Raphael Michel e87628c902 Ensure that we document all signals 2019-05-09 10:02:12 +02:00
Raphael Michel 3fe2dfe810 Add signal order_position_buttons 2018-12-19 12:29:52 +01:00
Raphael Michel 693965af28 Add signal html_page_start 2018-08-11 12:52:46 +02:00
Raphael Michel b4d97d9432 Add signal for new OAuth applications 2018-06-05 15:47:13 +02:00
Raphael MichelandGitHub ce68f52ca0 Add badge printing capabilities (#868)
Add badge printing capabilities
2018-04-22 12:02:51 +02:00
Raphael Michel 0201aa9bd1 Fix signal documentation 2018-04-12 12:24:32 +02:00
Jakob SchnellandRaphael Michel 9ab39904e8 Implement automatic spell-check for docs (#688)
* [WIP] Implement automatic spell-check for docs

fixes #663

The only thing unclear to me so far is how the output of `make spelling`
should be checked - is there a possibility to check for a file (i.e.
`_build/spelling/output.txt`) to be empty, and report a failed build
otherwise?

* fix typo in requirements.txt

* add enchant library

* travis should report errors, order spelling wordlist

* change travis.yml to easier troubleshoot build issues

* fixed more typos, added more words

* add more words, fix more typos

* added more words

* added more words

* revert changes to .travis.yml
2017-12-11 11:41:59 +01:00
Raphael Michel 09a9dfe591 Add signal pretix.control.signals.event_settings_widget 2017-11-01 19:53:17 +01:00
Raphael Michel 06fe076ce2 Add request argument to pretix.control.signals.order_info 2017-09-27 18:19:47 +02:00
Raphael Michel d38f29ac7c Add signal pretix.control.signals.order_info 2017-09-26 11:47:46 +02:00
Raphael Michel 3345f48986 nav_event_settings should be an EventPluginSignal 2017-09-13 16:21:14 +02:00
Raphael Michel db5f0aa02d Fix #156 -- Plug-in settings navigation hook 2017-09-06 09:31:33 +02:00
Raphael Michel cd6b1a2327 Allow subevent filtering in dashboard 2017-08-24 16:12:50 +02:00
Raphael Michel 57143a434e Add new signal voucher_form_validation 2017-08-10 17:06:16 +02:00
Raphael Michel 4f015f1d96 Replace organizer_edit_tabs by nav_organizer 2017-04-27 10:00:09 +02:00
Raphael Michel 39513448f3 Add signal nav_global 2017-04-26 14:34:48 +02:00
Raphael Michel 5048963aa2 Fix trailing whitespace 2017-04-06 15:04:31 +02:00
morrmeandRaphael Michel 8d16e2b59b Fix #444 -- Add alternative text to the top-right navigation (#457)
* Update base.html

* Update base.html

* Update signals.py
2017-04-06 14:13:12 +02:00
Raphael Michel ba455a3630 Add request to organizer_edit_tabs signal and actually send it 2017-01-27 11:08:52 +01:00
Raphael Michel 123f47ab39 Added tabs to the organizer page 2017-01-27 11:03:56 +01:00
Raphael Michel ecb1eedcba Add nav_topbar signal 2017-01-08 00:07:19 +01:00
Tobias KunzeandRaphael Michel 3930fc749a Fix #179 -- New flexbox layout for dashboard (#344)
* Use flexbox for better tiling

Replaces 'width' by 'display_size' and reduces sorting complexity.

* CSS improvements, Responsiveness
2016-12-01 17:36:29 +01:00
Tobias KunzeandRaphael Michel b6dc2661ae Add signal to display html in quota detail view (#264) 2016-10-08 15:53:01 +02:00
Tobias KunzeandRaphael Michel bfc721978d Fixed minor documentation errors and mistakes (#151) 2016-07-14 20:01:38 +02:00
Raphael Michel 35a9ab8f62 Added signals that allow to modify the voucher form 2016-07-03 16:52:56 +02:00
Raphael Michel 7b456a620d Added voucher_redeem_info signal and improved signal documentation 2016-07-03 15:51:09 +02:00
Raphael Michel 1014e3f0f4 Added a personal dashboard 2016-02-23 09:30:50 +01:00
Raphael Michel 4f35a16787 Event dashboard with a flat design and plugin hooks 2016-02-22 16:14:01 +01:00