Check-in list export: Filter by checkin_attention

This commit is contained in:
Raphael Michel
2019-12-11 09:16:58 +01:00
parent d33c9332c6
commit 66183e805e

View File

@@ -3,7 +3,9 @@ from collections import OrderedDict
import dateutil.parser import dateutil.parser
from django import forms from django import forms
from django.conf import settings from django.conf import settings
from django.db.models import Case, Exists, Max, OuterRef, Subquery, Value, When from django.db.models import (
Case, Exists, Max, OuterRef, Q, Subquery, Value, When,
)
from django.db.models.functions import Coalesce, NullIf from django.db.models.functions import Coalesce, NullIf
from django.urls import reverse from django.urls import reverse
from django.utils.formats import date_format from django.utils.formats import date_format
@@ -44,6 +46,11 @@ class CheckInListMixin(BaseExporter):
label=_('Include QR-code secret'), label=_('Include QR-code secret'),
required=False required=False
)), )),
('attention_only',
forms.BooleanField(
label=_('Only tickets requiring special attention'),
required=False
)),
('sort', ('sort',
forms.ChoiceField( forms.ChoiceField(
label=_('Sort by'), label=_('Sort by'),
@@ -136,6 +143,9 @@ class CheckInListMixin(BaseExporter):
'resolved_name_part' 'resolved_name_part'
) )
if form_data['attention_only']:
qs = qs.filter(Q(item__checkin_attention=True) | Q(order__checkin_attention=True))
if not cl.include_pending: if not cl.include_pending:
qs = qs.filter(order__status=Order.STATUS_PAID) qs = qs.filter(order__status=Order.STATUS_PAID)
else: else: