forked from CGM_Public/pretix_original
Sendmail rules: Add "missed" state
This commit is contained in:
@@ -41,11 +41,13 @@ class ScheduledMail(models.Model):
|
|||||||
STATE_SCHEDULED = 'scheduled'
|
STATE_SCHEDULED = 'scheduled'
|
||||||
STATE_FAILED = 'failed'
|
STATE_FAILED = 'failed'
|
||||||
STATE_COMPLETED = 'completed'
|
STATE_COMPLETED = 'completed'
|
||||||
|
STATE_MISSED = 'missed'
|
||||||
|
|
||||||
STATE_CHOICES = [
|
STATE_CHOICES = [
|
||||||
(STATE_SCHEDULED, STATE_SCHEDULED),
|
(STATE_SCHEDULED, STATE_SCHEDULED),
|
||||||
(STATE_FAILED, STATE_FAILED),
|
(STATE_FAILED, STATE_FAILED),
|
||||||
(STATE_COMPLETED, STATE_COMPLETED),
|
(STATE_COMPLETED, STATE_COMPLETED),
|
||||||
|
(STATE_MISSED, STATE_MISSED),
|
||||||
]
|
]
|
||||||
|
|
||||||
id = models.BigAutoField(primary_key=True)
|
id = models.BigAutoField(primary_key=True)
|
||||||
|
|||||||
@@ -138,6 +138,12 @@ def sendmail_run_rules(sender, **kwargs):
|
|||||||
if m.computed_datetime != previous:
|
if m.computed_datetime != previous:
|
||||||
m.save(update_fields=['last_computed', 'computed_datetime'])
|
m.save(update_fields=['last_computed', 'computed_datetime'])
|
||||||
|
|
||||||
|
mails.filter(
|
||||||
|
state=ScheduledMail.STATE_SCHEDULED,
|
||||||
|
computed_datetime__lte=timezone.now() - datetime.timedelta(days=2),
|
||||||
|
).update(
|
||||||
|
state=ScheduledMail.STATE_MISSED
|
||||||
|
)
|
||||||
for m_id in mails.filter(
|
for m_id in mails.filter(
|
||||||
state__in=(ScheduledMail.STATE_SCHEDULED, ScheduledMail.STATE_FAILED),
|
state__in=(ScheduledMail.STATE_SCHEDULED, ScheduledMail.STATE_FAILED),
|
||||||
computed_datetime__gte=timezone.now() - datetime.timedelta(days=2),
|
computed_datetime__gte=timezone.now() - datetime.timedelta(days=2),
|
||||||
|
|||||||
Reference in New Issue
Block a user