From 1a6c24b22d044980da10ab5d8878c33d64351965 Mon Sep 17 00:00:00 2001 From: Kegan Maher Date: Fri, 14 Jul 2023 04:51:55 +0000 Subject: [PATCH 01/11] feat(models): sign out link template --- benefits/core/migrations/0001_initial.py | 4 ++-- benefits/core/models.py | 4 ++-- tests/pytest/conftest.py | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/benefits/core/migrations/0001_initial.py b/benefits/core/migrations/0001_initial.py index ee5978058..a50c8006b 100644 --- a/benefits/core/migrations/0001_initial.py +++ b/benefits/core/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 4.2.3 on 2023-07-11 17:22 +# Generated by Django 4.2.3 on 2023-07-14 04:51 from django.db import migrations, models import django.db.models.deletion @@ -14,7 +14,7 @@ class Migration(migrations.Migration): name="AuthProvider", fields=[ ("id", models.AutoField(primary_key=True, serialize=False)), - ("sign_out_button_label", models.TextField(null=True)), + ("sign_out_link_template", models.TextField(null=True)), ("client_name", models.TextField()), ("client_id", models.TextField()), ("authority", models.TextField()), diff --git a/benefits/core/models.py b/benefits/core/models.py index eee1962af..8592eaa2b 100644 --- a/benefits/core/models.py +++ b/benefits/core/models.py @@ -42,7 +42,7 @@ class AuthProvider(models.Model): """An entity that provides authentication for eligibility verifiers.""" id = models.AutoField(primary_key=True) - sign_out_button_label = models.TextField(null=True) + sign_out_link_template = models.TextField(null=True) client_name = models.TextField() client_id = models.TextField() authority = models.TextField() @@ -142,7 +142,7 @@ def uses_auth_verification(self): @property def supports_sign_out(self): - return bool(self.is_auth_required and self.auth_provider.sign_out_button_label) + return bool(self.is_auth_required and self.auth_provider.sign_out_link_template) @staticmethod def by_id(id): diff --git a/tests/pytest/conftest.py b/tests/pytest/conftest.py index e3625d90f..4f7004a97 100644 --- a/tests/pytest/conftest.py +++ b/tests/pytest/conftest.py @@ -44,7 +44,7 @@ def model_PemData(): @pytest.fixture def model_AuthProvider(): auth_provider = AuthProvider.objects.create( - sign_out_button_label="Sign out", + sign_out_link_template="core/includes/sign-out-link.html", client_name="Client", client_id="1234", authority="https://example.com", @@ -66,7 +66,7 @@ def model_AuthProvider_with_verification(model_AuthProvider): def model_AuthProvider_with_verification_no_sign_out(model_AuthProvider): model_AuthProvider.scope = "scope" model_AuthProvider.claim = "claim" - model_AuthProvider.sign_out_button_label = None + model_AuthProvider.sign_out_link_template = None model_AuthProvider.save() return model_AuthProvider @@ -85,7 +85,7 @@ def model_AuthProvider_without_verification(model_AuthProvider): def model_AuthProvider_without_verification_no_sign_out(model_AuthProvider): model_AuthProvider.scope = None model_AuthProvider.claim = None - model_AuthProvider.sign_out_button_label = None + model_AuthProvider.sign_out_link_template = None model_AuthProvider.save() return model_AuthProvider From 60320d6dc47a06a65e01f64d8e69234d17b9cfe2 Mon Sep 17 00:00:00 2001 From: Kegan Maher Date: Fri, 14 Jul 2023 04:56:36 +0000 Subject: [PATCH 02/11] refactor: simplify auth context, new field --- benefits/core/context_processors.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/benefits/core/context_processors.py b/benefits/core/context_processors.py index 7207a32c5..e5890fa6a 100644 --- a/benefits/core/context_processors.py +++ b/benefits/core/context_processors.py @@ -2,7 +2,6 @@ The core application: context processors for enriching request context data. """ from django.conf import settings -from django.urls import reverse from . import models, session @@ -44,15 +43,11 @@ def authentication(request): if verifier: data = { - "required": verifier.is_auth_required, "logged_in": session.logged_in(request), - "supports_sign_out": verifier.supports_sign_out, - "sign_out_route": reverse("oauth:logout"), } if verifier.is_auth_required: - auth_provider = verifier.auth_provider - data["sign_out_button_label"] = auth_provider.sign_out_button_label + data["sign_out_link_template"] = verifier.auth_provider.sign_out_link_template return {"authentication": data} else: From 0bbbe0a543344f5b85c78dadefc323d1d382a166 Mon Sep 17 00:00:00 2001 From: Kegan Maher Date: Fri, 14 Jul 2023 05:04:33 +0000 Subject: [PATCH 03/11] feat(template): define senior sign out link --- .../core/includes/sign-out-link--senior.html | 6 +++++ .../core/includes/sign-out-link.html | 23 +++++++++---------- benefits/locale/en/LC_MESSAGES/django.po | 8 +++---- benefits/locale/es/LC_MESSAGES/django.po | 8 +++---- 4 files changed, 25 insertions(+), 20 deletions(-) create mode 100644 benefits/core/templates/core/includes/sign-out-link--senior.html diff --git a/benefits/core/templates/core/includes/sign-out-link--senior.html b/benefits/core/templates/core/includes/sign-out-link--senior.html new file mode 100644 index 000000000..6eda77de7 --- /dev/null +++ b/benefits/core/templates/core/includes/sign-out-link--senior.html @@ -0,0 +1,6 @@ +{% extends "core/includes/sign-out-link.html" %} +{% load i18n %} + +{% block button_text %} + {% translate "core.buttons.senior.signout" %} +{% endblock button_text %} diff --git a/benefits/core/templates/core/includes/sign-out-link.html b/benefits/core/templates/core/includes/sign-out-link.html index 8833403f2..9694abfaa 100644 --- a/benefits/core/templates/core/includes/sign-out-link.html +++ b/benefits/core/templates/core/includes/sign-out-link.html @@ -1,16 +1,15 @@ - -{% load i18n %} - -{% if authentication %} - {% if authentication.supports_sign_out and authentication.logged_in %} -
-
-