Compare commits
2 commits
20c5f13ea0
...
af3b043a46
Author | SHA1 | Date | |
---|---|---|---|
af3b043a46 | |||
3b61931bf0 |
2 changed files with 11 additions and 3 deletions
BIN
db.sqlite3
Normal file
BIN
db.sqlite3
Normal file
Binary file not shown.
|
@ -897,10 +897,18 @@ def final_settlement_step(request, instance_id, step_id):
|
||||||
# Ensure step instance exists
|
# Ensure step instance exists
|
||||||
step_instance, _ = StepInstance.objects.get_or_create(process_instance=instance, step=step, defaults={'status': 'in_progress'})
|
step_instance, _ = StepInstance.objects.get_or_create(process_instance=instance, step=step, defaults={'status': 'in_progress'})
|
||||||
|
|
||||||
# Build approver statuses for template
|
# Build approver statuses for template (include reason to display in UI)
|
||||||
reqs = list(step.approver_requirements.select_related('role').all())
|
reqs = list(step.approver_requirements.select_related('role').all())
|
||||||
approvals_map = {a.role_id: a.decision for a in step_instance.approvals.select_related('role').all()}
|
approvals = list(step_instance.approvals.select_related('role').all())
|
||||||
approver_statuses = [{'role': r.role, 'status': approvals_map.get(r.role_id)} for r in reqs]
|
approvals_by_role = {a.role_id: a for a in approvals}
|
||||||
|
approver_statuses = [
|
||||||
|
{
|
||||||
|
'role': r.role,
|
||||||
|
'status': (approvals_by_role.get(r.role_id).decision if approvals_by_role.get(r.role_id) else None),
|
||||||
|
'reason': (approvals_by_role.get(r.role_id).reason if approvals_by_role.get(r.role_id) else ''),
|
||||||
|
}
|
||||||
|
for r in reqs
|
||||||
|
]
|
||||||
# dynamic permission to control approve/reject UI
|
# dynamic permission to control approve/reject UI
|
||||||
try:
|
try:
|
||||||
user_roles_qs = getattr(getattr(request.user, 'profile', None), 'roles', Role.objects.none())
|
user_roles_qs = getattr(getattr(request.user, 'profile', None), 'roles', Role.objects.none())
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue