mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-05-03 11:29:28 -05:00
Use match for date field conditionals
This commit is contained in:
parent
3a3dd3608e
commit
8ba5b535c3
@ -345,38 +345,27 @@ def check_scheduled_workflows():
|
|||||||
logger.debug(
|
logger.debug(
|
||||||
f"Checking trigger {trigger} with offset {offset_td} against field: {trigger.schedule_date_field}",
|
f"Checking trigger {trigger} with offset {offset_td} against field: {trigger.schedule_date_field}",
|
||||||
)
|
)
|
||||||
if (
|
match trigger.schedule_date_field:
|
||||||
trigger.schedule_date_field
|
case WorkflowTrigger.ScheduleDateField.ADDED:
|
||||||
== WorkflowTrigger.ScheduleDateField.ADDED
|
documents = Document.objects.filter(
|
||||||
):
|
added__lt=timezone.now() - offset_td,
|
||||||
documents = Document.objects.filter(
|
)
|
||||||
added__lt=timezone.now() - offset_td,
|
case WorkflowTrigger.ScheduleDateField.CREATED:
|
||||||
)
|
documents = Document.objects.filter(
|
||||||
elif (
|
created__lt=timezone.now() - offset_td,
|
||||||
trigger.schedule_date_field
|
)
|
||||||
== WorkflowTrigger.ScheduleDateField.CREATED
|
case WorkflowTrigger.ScheduleDateField.MODIFIED:
|
||||||
):
|
documents = Document.objects.filter(
|
||||||
documents = Document.objects.filter(
|
modified__lt=timezone.now() - offset_td,
|
||||||
created__lt=timezone.now() - offset_td,
|
)
|
||||||
)
|
case WorkflowTrigger.ScheduleDateField.CUSTOM_FIELD:
|
||||||
elif (
|
cf_instances = CustomFieldInstance.objects.filter(
|
||||||
trigger.schedule_date_field
|
field=trigger.schedule_date_custom_field,
|
||||||
== WorkflowTrigger.ScheduleDateField.MODIFIED
|
value_date__lt=timezone.now() - offset_td,
|
||||||
):
|
)
|
||||||
documents = Document.objects.filter(
|
documents = Document.objects.filter(
|
||||||
modified__lt=timezone.now() - offset_td,
|
id__in=cf_instances.values_list("document", flat=True),
|
||||||
)
|
)
|
||||||
elif (
|
|
||||||
trigger.schedule_date_field
|
|
||||||
== WorkflowTrigger.ScheduleDateField.CUSTOM_FIELD
|
|
||||||
):
|
|
||||||
cf_instances = CustomFieldInstance.objects.filter(
|
|
||||||
field=trigger.schedule_date_custom_field,
|
|
||||||
value_date__lt=timezone.now() - offset_td,
|
|
||||||
)
|
|
||||||
documents = Document.objects.filter(
|
|
||||||
id__in=cf_instances.values_list("document", flat=True),
|
|
||||||
)
|
|
||||||
if documents.count() > 0:
|
if documents.count() > 0:
|
||||||
logger.debug(
|
logger.debug(
|
||||||
f"Found {documents.count()} documents for trigger {trigger}",
|
f"Found {documents.count()} documents for trigger {trigger}",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user