diff --git a/benefits/enrollment/views.py b/benefits/enrollment/views.py index d8b7ef32c..d6acc4b14 100644 --- a/benefits/enrollment/views.py +++ b/benefits/enrollment/views.py @@ -81,7 +81,7 @@ def index(request): # POST back after transit processor form, process card token if request.method == "POST": - return enrollment_post(request, agency, flow) + return enrollment_post(request, agency, flow, success, reenrollment_error, system_error) # GET enrollment index else: @@ -105,7 +105,7 @@ def index(request): return TemplateResponse(request, flow.enrollment_index_template, context) -def enrollment_post(request, agency, flow): +def enrollment_post(request, agency, flow, success_function, reenrollment_error_function, system_error_function): """Processes the card token returned from transit processor form.""" form = forms.CardTokenizeSuccessForm(request.POST) if not form.is_valid(): @@ -141,7 +141,7 @@ def enrollment_post(request, agency, flow): client.link_concession_group_funding_source( group_id=group_id, funding_source_id=funding_source.id, expiry=session.enrollment_expiry(request) ) - return success(request) + return success_function(request) else: # already_enrolled if group_funding_source.expiry_date is None: # update expiration of existing enrollment, return success @@ -150,7 +150,7 @@ def enrollment_post(request, agency, flow): funding_source_id=funding_source.id, expiry=session.enrollment_expiry(request), ) - return success(request) + return success_function(request) else: is_expired = _is_expired(group_funding_source.expiry_date) is_within_reenrollment_window = _is_within_reenrollment_window( @@ -164,19 +164,19 @@ def enrollment_post(request, agency, flow): funding_source_id=funding_source.id, expiry=session.enrollment_expiry(request), ) - return success(request) + return success_function(request) else: # re-enrollment error, return enrollment error with expiration and reenrollment_date - return reenrollment_error(request) + return reenrollment_error_function(request) else: # eligibility does not support expiration if not already_enrolled: # enroll user with no expiration date, return success client.link_concession_group_funding_source(group_id=group_id, funding_source_id=funding_source.id) - return success(request) + return success_function(request) else: # already_enrolled if group_funding_source.expiry_date is None: # no action, return success - return success(request) + return success_function(request) else: # remove expiration date, return success raise NotImplementedError("Removing expiration date is currently not supported") @@ -186,7 +186,7 @@ def enrollment_post(request, agency, flow): analytics.returned_error(request, str(e)) sentry_sdk.capture_exception(e) - return system_error(request) + return system_error_function(request) else: analytics.returned_error(request, str(e)) raise Exception(f"{e}: {e.response.json()}") diff --git a/benefits/in_person/templates/in_person/enrollment/reenrollment_error.html b/benefits/in_person/templates/in_person/enrollment/reenrollment_error.html new file mode 100644 index 000000000..e69de29bb diff --git a/benefits/in_person/templates/in_person/enrollment/retry.html b/benefits/in_person/templates/in_person/enrollment/retry.html new file mode 100644 index 000000000..e69de29bb diff --git a/benefits/in_person/templates/in_person/enrollment/success.html b/benefits/in_person/templates/in_person/enrollment/success.html new file mode 100644 index 000000000..e69de29bb diff --git a/benefits/in_person/templates/in_person/enrollment/system_error.html b/benefits/in_person/templates/in_person/enrollment/system_error.html new file mode 100644 index 000000000..e69de29bb diff --git a/benefits/in_person/views.py b/benefits/in_person/views.py index 5ed038dd0..68d21d5a1 100644 --- a/benefits/in_person/views.py +++ b/benefits/in_person/views.py @@ -21,7 +21,7 @@ def enrollment(request): # POST back after transit processor form, process card token if request.method == "POST": - return enrollment_post(request, agency, flow) + return enrollment_post(request, agency, flow, success, reenrollment_error, system_error) # GET enrollment page else: tokenize_retry_form = forms.CardTokenizeFailForm(routes.IN_PERSON_ENROLLMENT_RETRY, "form-card-tokenize-fail-retry") @@ -47,12 +47,16 @@ def enrollment(request): def reenrollment_error(request): - pass + return TemplateResponse(request, "in_person/enrollment/reenrollment_error.html") def retry(request): - pass + return TemplateResponse(request, "in_person/enrollment/retry.html") -def system_error(requesT): - pass +def success(request): + return TemplateResponse(request, "in_person/enrollment/success.html") + + +def system_error(request): + return TemplateResponse(request, "in_person/enrollment/system_error.html")