We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Enrollment: Success (signed out): Use the full-screen with no image
![image](https://user-images.githubusercontent.com/3673236/167704977-ba0cd831-ae56-488c-b720-cceeaba6707f.png)

Use the fullscreen view instead

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `benefits/enrollment/views.py`
Content:
```
1 """
2 The enrollment application: view definitions for the benefits enrollment flow.
3 """
4 import logging
5 
6 from django.conf import settings
7 from django.http import JsonResponse
8 from django.template.response import TemplateResponse
9 from django.urls import reverse
10 from django.utils.decorators import decorator_from_middleware
11 from django.utils.translation import pgettext, gettext as _
12 
13 from benefits.core import models, session, viewmodels
14 from benefits.core.middleware import EligibleSessionRequired, VerifierSessionRequired, pageview_decorator
15 from . import api, forms
16 
17 
18 logger = logging.getLogger(__name__)
19 
20 
21 def _index(request):
22     """Helper handles GET requests to enrollment index."""
23     agency = session.agency(request)
24 
25     tokenize_button = "tokenize_card"
26     tokenize_retry_form = forms.CardTokenizeFailForm("enrollment:retry")
27     tokenize_success_form = forms.CardTokenizeSuccessForm(auto_id=True, label_suffix="")
28 
29     page = viewmodels.Page(
30         title=_("enrollment.pages.index.title"),
31         content_title=_("enrollment.pages.index.content_title"),
32         icon=viewmodels.Icon("idcardcheck", pgettext("image alt text", "core.icons.idcardcheck")),
33         paragraphs=[_("enrollment.pages.index.p[0]"), _("enrollment.pages.index.p[1]"), _("enrollment.pages.index.p[2]")],
34         classes="text-lg-center",
35         forms=[tokenize_retry_form, tokenize_success_form],
36         buttons=[
37             viewmodels.Button.primary(
38                 text=_("enrollment.buttons.payment_partner"), id=tokenize_button, url=f"#{tokenize_button}"
39             ),
40         ],
41     )
42     context = {}
43     context.update(page.context_dict())
44 
45     # add agency details
46     agency_vm = viewmodels.TransitAgency(agency)
47     context.update(agency_vm.context_dict())
48 
49     # and payment processor details
50     processor_vm = viewmodels.PaymentProcessor(
51         model=agency.payment_processor,
52         access_token_url=reverse("enrollment:token"),
53         element_id=f"#{tokenize_button}",
54         color="#046b99",
55         name=f"{agency.long_name} {_('partnered with')} {agency.payment_processor.name}",
56     )
57     context.update(processor_vm.context_dict())
58     logger.warning(f"card_tokenize_url: {context['payment_processor'].card_tokenize_url}")
59 
60     # the tokenize form URLs are injected to page-generated Javascript
61     context["forms"] = {
62         "tokenize_retry": reverse(tokenize_retry_form.action_url),
63         "tokenize_success": reverse(tokenize_success_form.action_url),
64     }
65 
66     return TemplateResponse(request, "enrollment/index.html", context)
67 
68 
69 def _enroll(request):
70     """Helper calls the enrollment APIs."""
71     logger.debug("Read tokenized card")
72     form = forms.CardTokenizeSuccessForm(request.POST)
73     if not form.is_valid():
74         raise Exception("Invalid card token form")
75     card_token = form.cleaned_data.get("card_token")
76 
77     eligibility = session.eligibility(request)
78     if eligibility:
79         logger.debug(f"Session contains an {models.EligibilityType.__name__}")
80     else:
81         raise Exception("Session contains no eligibility information")
82 
83     agency = session.agency(request)
84 
85     response = api.Client(agency).enroll(card_token, eligibility.group_id)
86 
87     if response.success:
88         return success(request)
89     else:
90         raise Exception("Updated customer_id does not match enrolled customer_id")
91 
92 
93 @decorator_from_middleware(EligibleSessionRequired)
94 def token(request):
95     """View handler for the enrollment auth token."""
96     if not session.enrollment_token_valid(request):
97         agency = session.agency(request)
98         response = api.Client(agency).access_token()
99         session.update(request, enrollment_token=response.access_token, enrollment_token_exp=response.expiry)
100 
101     data = {"token": session.enrollment_token(request)}
102 
103     return JsonResponse(data)
104 
105 
106 @decorator_from_middleware(EligibleSessionRequired)
107 def index(request):
108     """View handler for the enrollment landing page."""
109     session.update(request, origin=reverse("enrollment:index"))
110 
111     if request.method == "POST":
112         response = _enroll(request)
113     else:
114         response = _index(request)
115 
116     return response
117 
118 
119 @decorator_from_middleware(EligibleSessionRequired)
120 def retry(request):
121     """View handler for a recoverable failure condition."""
122     if request.method == "POST":
123         form = forms.CardTokenizeFailForm(request.POST)
124         if form.is_valid():
125             agency = session.agency(request)
126             page = viewmodels.Page(
127                 title=_("enrollment.pages.retry.title"),
128                 icon=viewmodels.Icon("bankcardquestion", pgettext("image alt text", "core.icons.bankcardquestion")),
129                 content_title=_("enrollment.pages.retry.title"),
130                 paragraphs=[_("enrollment.pages.retry.p[0]")],
131                 buttons=viewmodels.Button.agency_contact_links(agency),
132             )
133             page.buttons.append(viewmodels.Button.primary(text=_("core.buttons.retry"), url=session.origin(request)))
134             return TemplateResponse(request, "enrollment/retry.html", page.context_dict())
135         else:
136             raise Exception("Invalid retry submission.")
137     else:
138         raise Exception("This view method only supports POST.")
139 
140 
141 @pageview_decorator
142 @decorator_from_middleware(VerifierSessionRequired)
143 def success(request):
144     """View handler for the final success page."""
145     request.path = "/enrollment/success"
146     session.update(request, origin=reverse("enrollment:success"))
147     verifier = session.verifier(request)
148 
149     if verifier.requires_authentication:
150         if settings.OAUTH_CLIENT_NAME is None:
151             raise Exception("EligibilityVerifier requires authentication, but OAUTH_CLIENT_NAME is None")
152 
153         if session.logged_in(request):
154             button = viewmodels.Button.logout()
155             page = viewmodels.Page(
156                 title=_("enrollment.pages.success.title"),
157                 icon=viewmodels.Icon("bankcardcheck", pgettext("image alt text", "core.icons.bankcardcheck")),
158                 content_title=_("enrollment.pages.success.content_title"),
159                 button=button,
160                 classes="logged-in",
161             )
162         else:
163             page = viewmodels.Page(
164                 title=_("enrollment.pages.success.title"),
165                 content_title=_("enrollment.pages.success.logout.title"),
166                 classes="logged-out",
167             )
168     else:
169         page = viewmodels.Page(
170             title=_("enrollment.pages.success.title"),
171             content_title=_("enrollment.pages.success.content_title"),
172             icon=viewmodels.Icon("bankcardcheck", pgettext("image alt text", "core.icons.bankcardcheck")),
173         )
174 
175     help_link = reverse("core:help")
176     context_dict = {**page.context_dict(), **{"help_link": help_link}}
177 
178     return TemplateResponse(request, "enrollment/success.html", context_dict)
179
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/benefits/enrollment/views.py b/benefits/enrollment/views.py
--- a/benefits/enrollment/views.py
+++ b/benefits/enrollment/views.py
@@ -145,32 +145,26 @@
     request.path = "/enrollment/success"
     session.update(request, origin=reverse("enrollment:success"))
     verifier = session.verifier(request)
+    icon = viewmodels.Icon("bankcardcheck", pgettext("image alt text", "core.icons.bankcardcheck"))
+    page = viewmodels.Page(
+        title=_("enrollment.pages.success.title"),
+        content_title=_("enrollment.pages.success.content_title"),
+    )
 
     if verifier.requires_authentication:
         if settings.OAUTH_CLIENT_NAME is None:
             raise Exception("EligibilityVerifier requires authentication, but OAUTH_CLIENT_NAME is None")
 
         if session.logged_in(request):
-            button = viewmodels.Button.logout()
-            page = viewmodels.Page(
-                title=_("enrollment.pages.success.title"),
-                icon=viewmodels.Icon("bankcardcheck", pgettext("image alt text", "core.icons.bankcardcheck")),
-                content_title=_("enrollment.pages.success.content_title"),
-                button=button,
-                classes="logged-in",
-            )
+            page.buttons = [viewmodels.Button.logout()]
+            page.classes = ["logged-in"]
+            page.icon = icon
         else:
-            page = viewmodels.Page(
-                title=_("enrollment.pages.success.title"),
-                content_title=_("enrollment.pages.success.logout.title"),
-                classes="logged-out",
-            )
+            page.classes = ["logged-out"]
+            page.content_title = _("enrollment.pages.success.logout.title")
+            page.noimage = True
     else:
-        page = viewmodels.Page(
-            title=_("enrollment.pages.success.title"),
-            content_title=_("enrollment.pages.success.content_title"),
-            icon=viewmodels.Icon("bankcardcheck", pgettext("image alt text", "core.icons.bankcardcheck")),
-        )
+        page.icon = icon
 
     help_link = reverse("core:help")
     context_dict = {**page.context_dict(), **{"help_link": help_link}}

{"golden_diff": "diff --git a/benefits/enrollment/views.py b/benefits/enrollment/views.py\n--- a/benefits/enrollment/views.py\n+++ b/benefits/enrollment/views.py\n@@ -145,32 +145,26 @@\n     request.path = \"/enrollment/success\"\n     session.update(request, origin=reverse(\"enrollment:success\"))\n     verifier = session.verifier(request)\n+    icon = viewmodels.Icon(\"bankcardcheck\", pgettext(\"image alt text\", \"core.icons.bankcardcheck\"))\n+    page = viewmodels.Page(\n+        title=_(\"enrollment.pages.success.title\"),\n+        content_title=_(\"enrollment.pages.success.content_title\"),\n+    )\n \n     if verifier.requires_authentication:\n         if settings.OAUTH_CLIENT_NAME is None:\n             raise Exception(\"EligibilityVerifier requires authentication, but OAUTH_CLIENT_NAME is None\")\n \n         if session.logged_in(request):\n-            button = viewmodels.Button.logout()\n-            page = viewmodels.Page(\n-                title=_(\"enrollment.pages.success.title\"),\n-                icon=viewmodels.Icon(\"bankcardcheck\", pgettext(\"image alt text\", \"core.icons.bankcardcheck\")),\n-                content_title=_(\"enrollment.pages.success.content_title\"),\n-                button=button,\n-                classes=\"logged-in\",\n-            )\n+            page.buttons = [viewmodels.Button.logout()]\n+            page.classes = [\"logged-in\"]\n+            page.icon = icon\n         else:\n-            page = viewmodels.Page(\n-                title=_(\"enrollment.pages.success.title\"),\n-                content_title=_(\"enrollment.pages.success.logout.title\"),\n-                classes=\"logged-out\",\n-            )\n+            page.classes = [\"logged-out\"]\n+            page.content_title = _(\"enrollment.pages.success.logout.title\")\n+            page.noimage = True\n     else:\n-        page = viewmodels.Page(\n-            title=_(\"enrollment.pages.success.title\"),\n-            content_title=_(\"enrollment.pages.success.content_title\"),\n-            icon=viewmodels.Icon(\"bankcardcheck\", pgettext(\"image alt text\", \"core.icons.bankcardcheck\")),\n-        )\n+        page.icon = icon\n \n     help_link = reverse(\"core:help\")\n     context_dict = {**page.context_dict(), **{\"help_link\": help_link}}\n", "issue": "Enrollment: Success (signed out): Use the full-screen with no image\n![image](https://user-images.githubusercontent.com/3673236/167704977-ba0cd831-ae56-488c-b720-cceeaba6707f.png)\r\n\r\nUse the fullscreen view instead\n", "before_files": [{"content": "\"\"\"\nThe enrollment application: view definitions for the benefits enrollment flow.\n\"\"\"\nimport logging\n\nfrom django.conf import settings\nfrom django.http import JsonResponse\nfrom django.template.response import TemplateResponse\nfrom django.urls import reverse\nfrom django.utils.decorators import decorator_from_middleware\nfrom django.utils.translation import pgettext, gettext as _\n\nfrom benefits.core import models, session, viewmodels\nfrom benefits.core.middleware import EligibleSessionRequired, VerifierSessionRequired, pageview_decorator\nfrom . import api, forms\n\n\nlogger = logging.getLogger(__name__)\n\n\ndef _index(request):\n    \"\"\"Helper handles GET requests to enrollment index.\"\"\"\n    agency = session.agency(request)\n\n    tokenize_button = \"tokenize_card\"\n    tokenize_retry_form = forms.CardTokenizeFailForm(\"enrollment:retry\")\n    tokenize_success_form = forms.CardTokenizeSuccessForm(auto_id=True, label_suffix=\"\")\n\n    page = viewmodels.Page(\n        title=_(\"enrollment.pages.index.title\"),\n        content_title=_(\"enrollment.pages.index.content_title\"),\n        icon=viewmodels.Icon(\"idcardcheck\", pgettext(\"image alt text\", \"core.icons.idcardcheck\")),\n        paragraphs=[_(\"enrollment.pages.index.p[0]\"), _(\"enrollment.pages.index.p[1]\"), _(\"enrollment.pages.index.p[2]\")],\n        classes=\"text-lg-center\",\n        forms=[tokenize_retry_form, tokenize_success_form],\n        buttons=[\n            viewmodels.Button.primary(\n                text=_(\"enrollment.buttons.payment_partner\"), id=tokenize_button, url=f\"#{tokenize_button}\"\n            ),\n        ],\n    )\n    context = {}\n    context.update(page.context_dict())\n\n    # add agency details\n    agency_vm = viewmodels.TransitAgency(agency)\n    context.update(agency_vm.context_dict())\n\n    # and payment processor details\n    processor_vm = viewmodels.PaymentProcessor(\n        model=agency.payment_processor,\n        access_token_url=reverse(\"enrollment:token\"),\n        element_id=f\"#{tokenize_button}\",\n        color=\"#046b99\",\n        name=f\"{agency.long_name} {_('partnered with')} {agency.payment_processor.name}\",\n    )\n    context.update(processor_vm.context_dict())\n    logger.warning(f\"card_tokenize_url: {context['payment_processor'].card_tokenize_url}\")\n\n    # the tokenize form URLs are injected to page-generated Javascript\n    context[\"forms\"] = {\n        \"tokenize_retry\": reverse(tokenize_retry_form.action_url),\n        \"tokenize_success\": reverse(tokenize_success_form.action_url),\n    }\n\n    return TemplateResponse(request, \"enrollment/index.html\", context)\n\n\ndef _enroll(request):\n    \"\"\"Helper calls the enrollment APIs.\"\"\"\n    logger.debug(\"Read tokenized card\")\n    form = forms.CardTokenizeSuccessForm(request.POST)\n    if not form.is_valid():\n        raise Exception(\"Invalid card token form\")\n    card_token = form.cleaned_data.get(\"card_token\")\n\n    eligibility = session.eligibility(request)\n    if eligibility:\n        logger.debug(f\"Session contains an {models.EligibilityType.__name__}\")\n    else:\n        raise Exception(\"Session contains no eligibility information\")\n\n    agency = session.agency(request)\n\n    response = api.Client(agency).enroll(card_token, eligibility.group_id)\n\n    if response.success:\n        return success(request)\n    else:\n        raise Exception(\"Updated customer_id does not match enrolled customer_id\")\n\n\n@decorator_from_middleware(EligibleSessionRequired)\ndef token(request):\n    \"\"\"View handler for the enrollment auth token.\"\"\"\n    if not session.enrollment_token_valid(request):\n        agency = session.agency(request)\n        response = api.Client(agency).access_token()\n        session.update(request, enrollment_token=response.access_token, enrollment_token_exp=response.expiry)\n\n    data = {\"token\": session.enrollment_token(request)}\n\n    return JsonResponse(data)\n\n\n@decorator_from_middleware(EligibleSessionRequired)\ndef index(request):\n    \"\"\"View handler for the enrollment landing page.\"\"\"\n    session.update(request, origin=reverse(\"enrollment:index\"))\n\n    if request.method == \"POST\":\n        response = _enroll(request)\n    else:\n        response = _index(request)\n\n    return response\n\n\n@decorator_from_middleware(EligibleSessionRequired)\ndef retry(request):\n    \"\"\"View handler for a recoverable failure condition.\"\"\"\n    if request.method == \"POST\":\n        form = forms.CardTokenizeFailForm(request.POST)\n        if form.is_valid():\n            agency = session.agency(request)\n            page = viewmodels.Page(\n                title=_(\"enrollment.pages.retry.title\"),\n                icon=viewmodels.Icon(\"bankcardquestion\", pgettext(\"image alt text\", \"core.icons.bankcardquestion\")),\n                content_title=_(\"enrollment.pages.retry.title\"),\n                paragraphs=[_(\"enrollment.pages.retry.p[0]\")],\n                buttons=viewmodels.Button.agency_contact_links(agency),\n            )\n            page.buttons.append(viewmodels.Button.primary(text=_(\"core.buttons.retry\"), url=session.origin(request)))\n            return TemplateResponse(request, \"enrollment/retry.html\", page.context_dict())\n        else:\n            raise Exception(\"Invalid retry submission.\")\n    else:\n        raise Exception(\"This view method only supports POST.\")\n\n\n@pageview_decorator\n@decorator_from_middleware(VerifierSessionRequired)\ndef success(request):\n    \"\"\"View handler for the final success page.\"\"\"\n    request.path = \"/enrollment/success\"\n    session.update(request, origin=reverse(\"enrollment:success\"))\n    verifier = session.verifier(request)\n\n    if verifier.requires_authentication:\n        if settings.OAUTH_CLIENT_NAME is None:\n            raise Exception(\"EligibilityVerifier requires authentication, but OAUTH_CLIENT_NAME is None\")\n\n        if session.logged_in(request):\n            button = viewmodels.Button.logout()\n            page = viewmodels.Page(\n                title=_(\"enrollment.pages.success.title\"),\n                icon=viewmodels.Icon(\"bankcardcheck\", pgettext(\"image alt text\", \"core.icons.bankcardcheck\")),\n                content_title=_(\"enrollment.pages.success.content_title\"),\n                button=button,\n                classes=\"logged-in\",\n            )\n        else:\n            page = viewmodels.Page(\n                title=_(\"enrollment.pages.success.title\"),\n                content_title=_(\"enrollment.pages.success.logout.title\"),\n                classes=\"logged-out\",\n            )\n    else:\n        page = viewmodels.Page(\n            title=_(\"enrollment.pages.success.title\"),\n            content_title=_(\"enrollment.pages.success.content_title\"),\n            icon=viewmodels.Icon(\"bankcardcheck\", pgettext(\"image alt text\", \"core.icons.bankcardcheck\")),\n        )\n\n    help_link = reverse(\"core:help\")\n    context_dict = {**page.context_dict(), **{\"help_link\": help_link}}\n\n    return TemplateResponse(request, \"enrollment/success.html\", context_dict)\n", "path": "benefits/enrollment/views.py"}], "after_files": [{"content": "\"\"\"\nThe enrollment application: view definitions for the benefits enrollment flow.\n\"\"\"\nimport logging\n\nfrom django.conf import settings\nfrom django.http import JsonResponse\nfrom django.template.response import TemplateResponse\nfrom django.urls import reverse\nfrom django.utils.decorators import decorator_from_middleware\nfrom django.utils.translation import pgettext, gettext as _\n\nfrom benefits.core import models, session, viewmodels\nfrom benefits.core.middleware import EligibleSessionRequired, VerifierSessionRequired, pageview_decorator\nfrom . import api, forms\n\n\nlogger = logging.getLogger(__name__)\n\n\ndef _index(request):\n    \"\"\"Helper handles GET requests to enrollment index.\"\"\"\n    agency = session.agency(request)\n\n    tokenize_button = \"tokenize_card\"\n    tokenize_retry_form = forms.CardTokenizeFailForm(\"enrollment:retry\")\n    tokenize_success_form = forms.CardTokenizeSuccessForm(auto_id=True, label_suffix=\"\")\n\n    page = viewmodels.Page(\n        title=_(\"enrollment.pages.index.title\"),\n        content_title=_(\"enrollment.pages.index.content_title\"),\n        icon=viewmodels.Icon(\"idcardcheck\", pgettext(\"image alt text\", \"core.icons.idcardcheck\")),\n        paragraphs=[_(\"enrollment.pages.index.p[0]\"), _(\"enrollment.pages.index.p[1]\"), _(\"enrollment.pages.index.p[2]\")],\n        classes=\"text-lg-center\",\n        forms=[tokenize_retry_form, tokenize_success_form],\n        buttons=[\n            viewmodels.Button.primary(\n                text=_(\"enrollment.buttons.payment_partner\"), id=tokenize_button, url=f\"#{tokenize_button}\"\n            ),\n        ],\n    )\n    context = {}\n    context.update(page.context_dict())\n\n    # add agency details\n    agency_vm = viewmodels.TransitAgency(agency)\n    context.update(agency_vm.context_dict())\n\n    # and payment processor details\n    processor_vm = viewmodels.PaymentProcessor(\n        model=agency.payment_processor,\n        access_token_url=reverse(\"enrollment:token\"),\n        element_id=f\"#{tokenize_button}\",\n        color=\"#046b99\",\n        name=f\"{agency.long_name} {_('partnered with')} {agency.payment_processor.name}\",\n    )\n    context.update(processor_vm.context_dict())\n    logger.warning(f\"card_tokenize_url: {context['payment_processor'].card_tokenize_url}\")\n\n    # the tokenize form URLs are injected to page-generated Javascript\n    context[\"forms\"] = {\n        \"tokenize_retry\": reverse(tokenize_retry_form.action_url),\n        \"tokenize_success\": reverse(tokenize_success_form.action_url),\n    }\n\n    return TemplateResponse(request, \"enrollment/index.html\", context)\n\n\ndef _enroll(request):\n    \"\"\"Helper calls the enrollment APIs.\"\"\"\n    logger.debug(\"Read tokenized card\")\n    form = forms.CardTokenizeSuccessForm(request.POST)\n    if not form.is_valid():\n        raise Exception(\"Invalid card token form\")\n    card_token = form.cleaned_data.get(\"card_token\")\n\n    eligibility = session.eligibility(request)\n    if eligibility:\n        logger.debug(f\"Session contains an {models.EligibilityType.__name__}\")\n    else:\n        raise Exception(\"Session contains no eligibility information\")\n\n    agency = session.agency(request)\n\n    response = api.Client(agency).enroll(card_token, eligibility.group_id)\n\n    if response.success:\n        return success(request)\n    else:\n        raise Exception(\"Updated customer_id does not match enrolled customer_id\")\n\n\n@decorator_from_middleware(EligibleSessionRequired)\ndef token(request):\n    \"\"\"View handler for the enrollment auth token.\"\"\"\n    if not session.enrollment_token_valid(request):\n        agency = session.agency(request)\n        response = api.Client(agency).access_token()\n        session.update(request, enrollment_token=response.access_token, enrollment_token_exp=response.expiry)\n\n    data = {\"token\": session.enrollment_token(request)}\n\n    return JsonResponse(data)\n\n\n@decorator_from_middleware(EligibleSessionRequired)\ndef index(request):\n    \"\"\"View handler for the enrollment landing page.\"\"\"\n    session.update(request, origin=reverse(\"enrollment:index\"))\n\n    if request.method == \"POST\":\n        response = _enroll(request)\n    else:\n        response = _index(request)\n\n    return response\n\n\n@decorator_from_middleware(EligibleSessionRequired)\ndef retry(request):\n    \"\"\"View handler for a recoverable failure condition.\"\"\"\n    if request.method == \"POST\":\n        form = forms.CardTokenizeFailForm(request.POST)\n        if form.is_valid():\n            agency = session.agency(request)\n            page = viewmodels.Page(\n                title=_(\"enrollment.pages.retry.title\"),\n                icon=viewmodels.Icon(\"bankcardquestion\", pgettext(\"image alt text\", \"core.icons.bankcardquestion\")),\n                content_title=_(\"enrollment.pages.retry.title\"),\n                paragraphs=[_(\"enrollment.pages.retry.p[0]\")],\n                buttons=viewmodels.Button.agency_contact_links(agency),\n            )\n            page.buttons.append(viewmodels.Button.primary(text=_(\"core.buttons.retry\"), url=session.origin(request)))\n            return TemplateResponse(request, \"enrollment/retry.html\", page.context_dict())\n        else:\n            raise Exception(\"Invalid retry submission.\")\n    else:\n        raise Exception(\"This view method only supports POST.\")\n\n\n@pageview_decorator\n@decorator_from_middleware(VerifierSessionRequired)\ndef success(request):\n    \"\"\"View handler for the final success page.\"\"\"\n    request.path = \"/enrollment/success\"\n    session.update(request, origin=reverse(\"enrollment:success\"))\n    verifier = session.verifier(request)\n    icon = viewmodels.Icon(\"bankcardcheck\", pgettext(\"image alt text\", \"core.icons.bankcardcheck\"))\n    page = viewmodels.Page(\n        title=_(\"enrollment.pages.success.title\"),\n        content_title=_(\"enrollment.pages.success.content_title\"),\n    )\n\n    if verifier.requires_authentication:\n        if settings.OAUTH_CLIENT_NAME is None:\n            raise Exception(\"EligibilityVerifier requires authentication, but OAUTH_CLIENT_NAME is None\")\n\n        if session.logged_in(request):\n            page.buttons = [viewmodels.Button.logout()]\n            page.classes = [\"logged-in\"]\n            page.icon = icon\n        else:\n            page.classes = [\"logged-out\"]\n            page.content_title = _(\"enrollment.pages.success.logout.title\")\n            page.noimage = True\n    else:\n        page.icon = icon\n\n    help_link = reverse(\"core:help\")\n    context_dict = {**page.context_dict(), **{\"help_link\": help_link}}\n\n    return TemplateResponse(request, \"enrollment/success.html\", context_dict)\n", "path": "benefits/enrollment/views.py"}]}