Skip to content

Commit

Permalink
fix: handler application does not need consent for applicant terms
Browse files Browse the repository at this point in the history
  • Loading branch information
sirtawast committed Aug 21, 2023
1 parent 44cc717 commit d104701
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions backend/benefit/applications/api/v1/serializers/application.py
Original file line number Diff line number Diff line change
Expand Up @@ -1074,6 +1074,30 @@ def _validate_employee_consent(self, instance):

def _update_applicant_terms_approval(self, instance, approve_terms):
if ApplicantTermsApproval.terms_approval_needed(instance):
# Ignore applicant's terms if app origin is from handler
if instance.application_origin == ApplicationOrigin.HANDLER:
return

# Ignore updated applicant's terms if all term consents have been previously accepted
# This is "good enough" (confirmed this from City's benefit team)
if instance.applicant_terms_approval.selected_applicant_consents:
all_consents = sorted(
list(
instance.applicant_terms_approval.selected_applicant_consents.values_list(
"id"
)
)
)
accepted_consents = sorted(
list(
instance.applicant_terms_approval.terms.applicant_consents.values_list(
"id"
)
)
)
if accepted_consents == all_consents:
return

if not approve_terms:
raise serializers.ValidationError(
{"approve_terms": _("Terms must be approved")}
Expand Down

0 comments on commit d104701

Please sign in to comment.