From 8ca38bdbaffc5b06c8d59f3ff1090b10d0c4cd2c Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Tue, 8 Nov 2022 10:24:56 +0100 Subject: [PATCH] Badges: Use ExportError instead of OrderError --- src/pretix/plugins/badges/exporters.py | 3 +-- src/pretix/plugins/badges/tasks.py | 3 ++- src/pretix/plugins/badges/views.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pretix/plugins/badges/exporters.py b/src/pretix/plugins/badges/exporters.py index a6904b233..84ec0145a 100644 --- a/src/pretix/plugins/badges/exporters.py +++ b/src/pretix/plugins/badges/exporters.py @@ -61,7 +61,6 @@ from pretix.base.i18n import language from pretix.base.models import Order, OrderPosition, Question, QuestionAnswer from pretix.base.pdf import Renderer from pretix.base.services.export import ExportError -from pretix.base.services.orders import OrderError from pretix.base.settings import PERSON_NAME_SCHEMES from pretix.helpers.templatetags.jsonfield import JSONExtract from pretix.plugins.badges.models import BadgeItem, BadgeLayout @@ -185,7 +184,7 @@ def render_pdf(event, positions, opt): op_renderers = [(op, renderermap.get(op.item_id, default_renderer)) for op in positions if renderermap.get(op.item_id, default_renderer)] if not len(op_renderers): - raise OrderError(_("None of the selected products is configured to print badges.")) + raise ExportError(_("None of the selected products is configured to print badges.")) # render each badge on its own page first merger = PdfMerger() diff --git a/src/pretix/plugins/badges/tasks.py b/src/pretix/plugins/badges/tasks.py index 22c54ab40..7394b29ec 100644 --- a/src/pretix/plugins/badges/tasks.py +++ b/src/pretix/plugins/badges/tasks.py @@ -32,11 +32,12 @@ from pretix.base.services.tasks import EventTask from pretix.celery_app import app from .exporters import OPTIONS, render_pdf +from ...base.services.export import ExportError logger = logging.getLogger(__name__) -@app.task(base=EventTask, throws=(OrderError,)) +@app.task(base=EventTask, throws=(OrderError, ExportError,)) def badges_create_pdf(event: Event, fileid: int, positions: List[int]) -> int: file = CachedFile.objects.get(id=fileid) diff --git a/src/pretix/plugins/badges/views.py b/src/pretix/plugins/badges/views.py index e5152eb64..3f1fada64 100644 --- a/src/pretix/plugins/badges/views.py +++ b/src/pretix/plugins/badges/views.py @@ -235,7 +235,7 @@ class LayoutEditorView(BaseEditorView): class OrderPrintDo(EventPermissionRequiredMixin, AsyncAction, View): task = badges_create_pdf permission = 'can_view_orders' - known_errortypes = ['OrderError'] + known_errortypes = ['OrderError', 'ExportError'] def get_success_message(self, value): return None