Skip to content

Commit

Permalink
fix: re-enrollment needs to consider if expiry date needs to be sent
Browse files Browse the repository at this point in the history
  • Loading branch information
angela-tran committed Mar 21, 2024
1 parent 4de91de commit d4f1998
Showing 1 changed file with 21 additions and 15 deletions.
36 changes: 21 additions & 15 deletions benefits/enrollment/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,9 +102,9 @@ def index(request):
return success(request)
# else if expiration date has passed, then re-enroll
elif expiration.is_expired(matching_group_funding_source):
client.link_concession_group_funding_source(funding_source_id=funding_source.id, group_id=group_id)
analytics.returned_success(request, group_id)
return success(request)
return _link_concession_group_funding_source(
request, eligibility, client, matching_group_funding_source, group_id
)
# else expiration date hasn't passed, so calculate re-enrollment date and show user
else:
reenrollment_date = expiration.calculate_reenrollment_date( # noqa
Expand All @@ -115,18 +115,9 @@ def index(request):
# todo for #1921: show reenrollment_date to user
# funding source has not been linked to the group yet
else:
# if eligibility_type does not supports_expiration, then just link it
if not eligibility.supports_expiration:
client.link_concession_group_funding_source(funding_source_id=funding_source.id, group_id=group_id)
# else eligibility_type supports_expiration, so calculate expiration date from today and include in request
else:
expiry_date = expiration.calculate_expiry_date(matching_group_funding_source, eligibility.expiration_days)
client.link_concession_group_funding_source(
funding_source_id=funding_source.id, group_id=group_id, expiry_date=expiry_date
)

analytics.returned_success(request, eligibility.group_id)
return success(request)
return _link_concession_group_funding_source(
request, eligibility, client, matching_group_funding_source, group_id
)

except HTTPError as e:
analytics.returned_error(request, str(e))
Expand Down Expand Up @@ -156,6 +147,21 @@ def index(request):
return TemplateResponse(request, TEMPLATE_INDEX, context)


def _link_concession_group_funding_source(request, eligibility, client: Client, matching_group_funding_source, group_id):
# if eligibility_type does not supports_expiration, then just link it
if not eligibility.supports_expiration:
client.link_concession_group_funding_source(funding_source_id=matching_group_funding_source.id, group_id=group_id)
# else eligibility_type supports_expiration, so calculate expiration date from today and include in request
else:
expiry_date = expiration.calculate_expiry_date(matching_group_funding_source, eligibility.expiration_days)
client.link_concession_group_funding_source(
funding_source_id=matching_group_funding_source.id, group_id=group_id, expiry_date=expiry_date
)

analytics.returned_success(request, eligibility.group_id)
return success(request)


@decorator_from_middleware(EligibleSessionRequired)
def retry(request):
"""View handler for a recoverable failure condition."""
Expand Down

0 comments on commit d4f1998

Please sign in to comment.