mirror of
https://github.com/pretix/pretix.git
synced 2026-05-05 15:14:04 +00:00
Allow specifying different override_layout signal in derived classes (Z#23210691) (#5534)
* Fix incorrect exception messages * Allow specifying different override_layout signal in derived classes
This commit is contained in:
@@ -170,7 +170,7 @@ class PluginSignal(Generic[T], django.dispatch.Signal):
|
||||
second receiver and so on. The return value of the last receiver is returned by this method.
|
||||
"""
|
||||
if sender and not isinstance(sender, self.type):
|
||||
raise ValueError("Sender needs to be an event.")
|
||||
raise ValueError(f"Sender needs to be of type {self.type}.")
|
||||
|
||||
response = named.get(chain_kwarg_name)
|
||||
if not self.receivers or self.sender_receivers_cache.get(sender) is NO_RECEIVERS:
|
||||
@@ -192,7 +192,7 @@ class PluginSignal(Generic[T], django.dispatch.Signal):
|
||||
stopping the response chain at the offending receiver.
|
||||
"""
|
||||
if sender and not isinstance(sender, self.type):
|
||||
raise ValueError("Sender needs to be an event.")
|
||||
raise ValueError(f"Sender needs to be of type {self.type}.")
|
||||
|
||||
responses = []
|
||||
if (
|
||||
|
||||
@@ -64,6 +64,7 @@ class PdfTicketOutput(BaseTicketOutput):
|
||||
download_button_text = _('PDF')
|
||||
multi_download_button_text = _('Download tickets (PDF)')
|
||||
long_download_button_text = _('Download ticket (PDF)')
|
||||
override_layout_signal = override_layout
|
||||
|
||||
def __init__(self, event, override_layout=None, override_background=None, override_channel=None):
|
||||
self.override_layout = override_layout
|
||||
@@ -116,7 +117,7 @@ class PdfTicketOutput(BaseTicketOutput):
|
||||
merger = PdfWriter()
|
||||
with language(order.locale, self.event.settings.region):
|
||||
for op in self.get_tickets_to_print(order):
|
||||
layout = override_layout.send_chained(
|
||||
layout = self.override_layout_signal.send_chained(
|
||||
order.event, 'layout', orderposition=op, layout=self.layout_map.get(
|
||||
(op.item_id, self.override_channel or order.sales_channel.identifier),
|
||||
self.layout_map.get(
|
||||
@@ -137,7 +138,7 @@ class PdfTicketOutput(BaseTicketOutput):
|
||||
def generate(self, op):
|
||||
order = op.order
|
||||
|
||||
layout = override_layout.send_chained(
|
||||
layout = self.override_layout_signal.send_chained(
|
||||
order.event, 'layout', orderposition=op, layout=self.layout_map.get(
|
||||
(op.item_id, self.override_channel or order.sales_channel.identifier),
|
||||
self.layout_map.get(
|
||||
|
||||
Reference in New Issue
Block a user