* datasync: add immediate parameter to enqueue_order
* interactive argument for order_placed signal
The ``interactive`` argument specifies whether the order was
placed interactively, by a customer (as opposed to via a bulk
import or the REST API).
* use bulk=True instead of interactive=False to mark bulk imports
Add a registry for datasync providers and an associated sync queue, to be used by
plugins that transfer data from pretix orders to external systems.
Additionally, provide a generic data mapping interface to be used in settings pages
of such plugins, to let users configure which information from pretix to fill into
which data fields of the external system.
---------
Co-authored-by: Raphael Michel <michel@rami.io>
Move display of LogEntry details from the `logentry_display` and
`logentry_object_link` signals to a class hierarchy based approach.
For each action_type, an instance of a subclass of `LogEntryType`
is registered in the `log_entry_types` registry.
Analogous to EventPluginSignal, this registry is an `EventPluginRegistry`,
so it keeps track of the plugin the LogEntryType is defined in.
---------
Co-authored-by: Raphael Michel <michel@rami.io>
Co-authored-by: Richard Schreiber <schreiber@rami.io>
* Generalize import process from orders to more models
* Add voucher import
* Model import: Guess assignments of based on column headers
* Fix lock_seats being pointless
* Update docs
* Update doc/development/api/import.rst
Co-authored-by: Richard Schreiber <schreiber@rami.io>
* Update src/pretix/base/modelimport_vouchers.py
Co-authored-by: Richard Schreiber <schreiber@rami.io>
---------
Co-authored-by: Richard Schreiber <schreiber@rami.io>
* Let plugins allow/prevent the download of individual tickets in an order (#3836)
(extends the functionality of the allow_ticket_download signal)
(cherry picked from commit e20edab98f)
* fix bug where in some cases, only the first ticket could be downloaded
* remove duplicate context generation
* allow text templates in frontpage_text
* refactor: move placeholder functionality to separate file
* fix wrong class name, code style
* update year in license header
* undo license header update
* use new function name
* render only the placeholders that are actually used in the message
* refactoring
* add str(...) call
* Update doc/development/api/placeholder.rst
Co-authored-by: Raphael Michel <michel@rami.io>
* rename register_mail_placeholders to register_template_placeholders
(deprecate old name)
* isort
* add signals to docs
---------
Co-authored-by: Raphael Michel <michel@rami.io>
* Add and send signal for refund requests
* Add and send signal for notifications
* Revert changes
* Fix typo
Co-authored-by: Mira <weller@rami.io>
* Document parameters
---------
Co-authored-by: Mira <weller@rami.io>
* 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>
* Allow to import orders
* seats, subevents
* Plugin support
* Add docs
* Warn about lack of quota handling
* Control interface test
* Test skeleton
* First tests for the impotr columns
* Add tests for all columns
* Fix question validation