* 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>
The 'offsetting' payment method includes a clear description specifying
which order the offsetting applies to, but the associated refund does
not. This commit ensures refunds use the same message as payments,
making the associated order explicit.
* Allow ticket QR code colour to be configured
This commit introduces a feature enabling users to customise the QR
code colour in the ticket editor.
* Remove redundant argument from `Dict.get` call
Co-authored-by: Raphael Michel <mail@raphaelmichel.de>
---------
Co-authored-by: Raphael Michel <mail@raphaelmichel.de>
* Do not apply vouchers on "free price" items where more than minimum price is selected
* Do apply vouchers on "free price" items if exactly the minimum price is selected
* Update cart.py
* Add test cases, fix bug in adjacent test
* Fix code style
---------
Co-authored-by: Raphael Michel <michel@rami.io>
* Invoice renderer: Group invoice lines even with addons (Z#23173618)
* Add unit test
* Update src/pretix/base/invoice.py
Co-authored-by: Mira <weller@rami.io>
---------
Co-authored-by: Mira Weller <weller@rami.io>
Create LogEntryType definitions for all missing action_types (order changes, check-in events, settings changes of PaymentProviders and TicketOutputs).
Check whether the stored content_object is of the expected model type, preventing incorrect links.
Refactoring:
- Move the base LogEntryType definitions for our models to their own file
- Move HTML escaping into make_link to make it less likely to oversee in the LogEntryType definitions
- Log pretix.event.order.deleted with the deleted Order model as content_object, matching the other *.deleted action_types
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>
* refactor to use namedtuples for the sub-fields and sub-widgets
* fix RelativeDateTimeField.set_event: apply relative_to filter not only to minutes, but to days as well
* fix bug in RelativeDateTimeField.clean: validate days relation_to instead of minutes relation_to when "Relative date" is selected
---------
Co-authored-by: Raphael Michel <michel@rami.io>