mirror of
https://github.com/pretix/pretix.git
synced 2026-05-06 15:24:02 +00:00
24
src/pretix/plugins/badges/tasks.py
Normal file
24
src/pretix/plugins/badges/tasks.py
Normal file
@@ -0,0 +1,24 @@
|
||||
import logging
|
||||
from typing import List
|
||||
|
||||
from django.core.files.base import ContentFile
|
||||
|
||||
from pretix.base.models import (
|
||||
CachedFile, Event, OrderPosition, cachedfile_name,
|
||||
)
|
||||
from pretix.celery_app import app
|
||||
|
||||
from .exporters import render_pdf
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@app.task()
|
||||
def badges_create_pdf(fileid: int, event: int, orders: List[int]) -> int:
|
||||
file = CachedFile.objects.get(id=fileid)
|
||||
event = Event.objects.get(id=event)
|
||||
|
||||
pdfcontent = render_pdf(event, OrderPosition.objects.filter(order_id__in=orders))
|
||||
file.file.save(cachedfile_name(file, file.filename), ContentFile(pdfcontent.read()))
|
||||
file.save()
|
||||
return file.pk
|
||||
Reference in New Issue
Block a user