From e251f5c5b871ee29286600ec7701223ca46351d3 Mon Sep 17 00:00:00 2001 From: Mira Weller Date: Thu, 6 Mar 2025 15:21:16 +0100 Subject: [PATCH] Improve error messages --- src/pretix/base/datasync/datasync.py | 7 +++++-- src/pretix/control/logdisplay.py | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/pretix/base/datasync/datasync.py b/src/pretix/base/datasync/datasync.py index 34c2e96604..6bdaab857f 100644 --- a/src/pretix/base/datasync/datasync.py +++ b/src/pretix/base/datasync/datasync.py @@ -223,7 +223,10 @@ class OutboundSyncProvider: def get_field_value(self, inputs, mapping_entry): key = mapping_entry["pretix_field"] - required_input, label, ptype, enum_opts, getter = self.data_fields.get(key) + try: + required_input, label, ptype, enum_opts, getter = self.data_fields[key] + except KeyError: + raise SyncConfigError(['Field "%s" is not valid for %s. Please check your %s settings.' % (key, "/".join(inputs.keys()), self.display_name)]) input = inputs[required_input] val = getter(input) if isinstance(val, list): @@ -271,7 +274,7 @@ class OutboundSyncProvider: def sync_order(self, order): if not self.order_valid_for_sync(order): - logger.debug("Skipping order (not valid for sync)", order) + logger.debug("Skipping order %r (not valid for sync)", order) return logger.debug("Syncing order %r", order) diff --git a/src/pretix/control/logdisplay.py b/src/pretix/control/logdisplay.py index a7dd8aaa88..4160c716bc 100644 --- a/src/pretix/control/logdisplay.py +++ b/src/pretix/control/logdisplay.py @@ -438,7 +438,7 @@ class OrderDataSyncLogentrytype(OrderLogEntryType): if obj and 'external_link_href' in obj and 'external_link_display_name' in obj )) - return mark_safe(super().display(logentry, data) + "".join("

" + link + "

" for link in links)) + return mark_safe(escape(super().display(logentry, data)) + "".join("

" + link + "

" for link in links)) @log_entry_types.new_from_dict({ @@ -449,7 +449,7 @@ class OrderDataSyncErrorLogentrytype(OrderLogEntryType): errmes = data["error"] if not isinstance(errmes, list): errmes = [errmes] - return mark_safe(escape(self.plain) + "".join("

" + escape(msg) + "

" for msg in errmes)) + return mark_safe(escape(super().display(logentry, data)) + "".join("

" + escape(msg) + "

" for msg in errmes)) @receiver(signal=logentry_display, dispatch_uid="pretixcontrol_logentry_display")