Check-in: New flags for check-in lists (#3577)

This commit is contained in:
Raphael Michel
2023-10-23 15:52:06 +02:00
committed by GitHub
parent da9aa3e133
commit a0831890ad
14 changed files with 82 additions and 13 deletions

View File

@@ -133,10 +133,10 @@ class ScheduledMail(models.Model):
if self.rule.checked_in_status == "no_checkin":
filter_orders_by_op = True
op_qs = op_qs.filter(~Exists(Checkin.objects.filter(position_id=OuterRef('pk'))))
op_qs = op_qs.filter(~Exists(Checkin.objects.filter(position_id=OuterRef('pk'), list__consider_tickets_used=True)))
elif self.rule.checked_in_status == "checked_in":
filter_orders_by_op = True
op_qs = op_qs.filter(Exists(Checkin.objects.filter(position_id=OuterRef('pk'))))
op_qs = op_qs.filter(Exists(Checkin.objects.filter(position_id=OuterRef('pk'), list__consider_tickets_used=True)))
status_q = Q(status__in=self.rule.restrict_to_status)
if 'n__pending_approval' in self.rule.restrict_to_status:

View File

@@ -67,6 +67,7 @@ def send_mails_to_orders(event: Event, user: int, subject: dict, message: dict,
any_checkins=Exists(
Checkin.objects.filter(
Q(position_id=OuterRef('pk')) | Q(position__addon_to_id=OuterRef('pk')),
list__consider_tickets_used=True,
)
),
matching_checkins=Exists(

View File

@@ -373,7 +373,8 @@ class OrderSendView(BaseSenderView):
any_checkins=Exists(
Checkin.all.filter(
Q(position_id=OuterRef('pk')) | Q(position__addon_to_id=OuterRef('pk')),
successful=True
successful=True,
list__consider_tickets_used=True,
)
)
)