Skip to content

Commit

Permalink
Merge pull request #400 from dimagi/pkv/fix-completed-work-status-bug
Browse files Browse the repository at this point in the history
Fix review_status missing from query
  • Loading branch information
pxwxnvermx authored Sep 20, 2024
2 parents ba7c532 + 56ac14f commit 4170ccc
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions commcare_connect/opportunity/utils/completed_work.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from commcare_connect.opportunity.models import CompletedWorkStatus
from commcare_connect.opportunity.models import CompletedWorkStatus, VisitReviewStatus, VisitValidationStatus


def update_status(completed_works, opportunity_access, compute_payment=True):
Expand All @@ -11,16 +11,16 @@ def update_status(completed_works, opportunity_access, compute_payment=True):
continue

if opportunity_access.opportunity.auto_approve_payments:
visits = completed_work.uservisit_set.values_list("status", "reason")
if any(status == "rejected" for status, _ in visits):
visits = completed_work.uservisit_set.values_list("status", "reason", "review_status")
if any(status == VisitValidationStatus.rejected for status, *_ in visits):
completed_work.status = CompletedWorkStatus.rejected
completed_work.reason = "\n".join(reason for _, reason in visits if reason)
elif all(status == "approved" for status, _ in visits):
completed_work.reason = "\n".join(reason for _, reason, _ in visits if reason)
elif all(status == VisitValidationStatus.approved for status, *_ in visits):
completed_work.status = CompletedWorkStatus.approved

if (
opportunity_access.opportunity.managed
and not all(review_status == "agree" for *_, review_status in visits)
and not all(review_status == VisitReviewStatus.agree for *_, review_status in visits)
and completed_work.status == CompletedWorkStatus.approved
):
completed_work.status = CompletedWorkStatus.pending
Expand Down

0 comments on commit 4170ccc

Please sign in to comment.