Add enable/disable workflow

This commit is contained in:
shamoon
2023-12-26 22:40:11 -08:00
parent 8062378016
commit 18ebae7dd0
14 changed files with 31 additions and 10 deletions

View File

@@ -612,7 +612,7 @@ class Consumer(LoggingMixin):
file name filters, path filters or mail rule filter if specified
"""
overrides = DocumentMetadataOverrides()
for workflow in Workflow.objects.all().order_by("order"):
for workflow in Workflow.objects.filter(enabled=True).order_by("order"):
template_overrides = DocumentMetadataOverrides()
if document_matches_workflow(

View File

@@ -205,6 +205,10 @@ class Migration(migrations.Migration):
models.CharField(max_length=256, unique=True, verbose_name="name"),
),
("order", models.IntegerField(default=0, verbose_name="order")),
(
"enabled",
models.BooleanField(default=True, verbose_name="enabled"),
),
],
),
migrations.CreateModel(

View File

@@ -1086,5 +1086,7 @@ class Workflow(models.Model):
verbose_name=_("actions"),
)
enabled = models.BooleanField(_("enabled"), default=True)
def __str__(self):
return f"Workflow: {self.name}"

View File

@@ -1371,6 +1371,7 @@ class WorkflowSerializer(serializers.ModelSerializer):
"id",
"name",
"order",
"enabled",
"triggers",
"actions",
]

View File

@@ -529,6 +529,7 @@ def run_workflow_updated(sender, document: Document, logging_group=None, **kwarg
def run_workflow(trigger_type: WorkflowTrigger.WorkflowTriggerType, document: Document):
for workflow in Workflow.objects.filter(
enabled=True,
triggers__type=trigger_type,
).order_by("order"):
if matching.document_matches_workflow(