Badges: Use ExportError instead of OrderError

This commit is contained in:
Raphael Michel
2022-11-08 10:24:56 +01:00
parent 3ae42b0c57
commit 8ca38bdbaf
3 changed files with 4 additions and 4 deletions

View File

@@ -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()

View File

@@ -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)

View File

@@ -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