Skip to content

Commit

Permalink
add reviewer to bpmn
Browse files Browse the repository at this point in the history
  • Loading branch information
NvdLaan committed Jan 30, 2025
1 parent 0a679d9 commit cb7a966
Show file tree
Hide file tree
Showing 6 changed files with 1,081 additions and 2 deletions.
1,029 changes: 1,029 additions & 0 deletions app/apps/workflow/bpmn_files/default/process_vve_ok/1.9.0/process_vve_ok.bpmn

Large diffs are not rendered by default.

26 changes: 26 additions & 0 deletions app/apps/workflow/migrations/0008_caseusertask_author.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Generated by Django 5.0.8 on 2025-01-30 09:17

import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
("workflow", "0007_workflowoption"),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]

operations = [
migrations.AddField(
model_name="caseusertask",
name="requires_review",
field=models.ForeignKey(
null=True,
on_delete=django.db.models.deletion.PROTECT,
related_name="case_user_tasks",
to=settings.AUTH_USER_MODEL,
),
),
]
19 changes: 18 additions & 1 deletion app/apps/workflow/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import os


from apps.users import auth
from apps.events.models import CaseEvent, TaskModelEventEmitter
from apps.cases.models import Case, CaseStateType
from django.conf import settings
Expand Down Expand Up @@ -199,6 +200,13 @@ def _create_user_tasks(self, wf):
due_date=make_aware(datetime.datetime.today()),
case=self.case,
workflow=self,
initiated_by=(
auth.get_user_model().objects.get(id=self.data.get("author"))
if self.data.get("author")
else None
),
requires_review=task.task_spec.extensions.get("requires_review", False)
or False,
)
for task in ready_tasks
if not CaseUserTask.objects.filter(
Expand Down Expand Up @@ -392,8 +400,17 @@ class CaseUserTask(models.Model):
related_name="tasks",
on_delete=models.CASCADE,
)

initiated_by = models.ForeignKey(
to=settings.AUTH_USER_MODEL,
related_name="case_user_tasks",
on_delete=models.PROTECT,
null=True,
)
objects = BulkCreateSignalsManager()
requires_review = models.BooleanField(
default=False,
help_text="Indicates whether this task requires review by another user.",
)

@property
def get_form_variables(self):
Expand Down
6 changes: 6 additions & 0 deletions app/apps/workflow/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@
class CaseUserTaskSerializer(serializers.ModelSerializer):
case = serializers.PrimaryKeyRelatedField(queryset=Case.objects.all())
homeowner_association = serializers.SerializerMethodField()
initiated_by = serializers.SerializerMethodField()

def get_initiated_by(self, obj):
return obj.initiated_by.email if obj.initiated_by else None

def get_homeowner_association(self, obj):
return (
Expand All @@ -35,6 +39,8 @@ class Meta:
"completed",
"case",
"homeowner_association",
"initiated_by",
"requires_review",
)


Expand Down
2 changes: 1 addition & 1 deletion app/apps/workflow/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ def _complete_task_common(self, serializer, save_document=False):
"value": serializer.validated_data.get("name"),
}
serializer.save()

variables["author"] = author.id
task_data = {
"case_user_task_id": case_user_task_id,
"description": task.name,
Expand Down
1 change: 1 addition & 0 deletions app/config/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -249,6 +249,7 @@ def get_redis_url():
"1.6.0": {},
"1.7.0": {},
"1.8.0": {},
"1.9.0": {},
},
},
"sub_workflow": {
Expand Down

0 comments on commit cb7a966

Please sign in to comment.