Don’t allow unstyled links

They should always be styled with the `govuk-link` class from GOV.UK
Frontend, or another custom class.
This commit is contained in:
Chris Hill-Scott
2020-05-29 17:25:11 +01:00
parent 4df99bd27f
commit 84f67bf1dd
5 changed files with 8 additions and 5 deletions
+1 -1
View File
@@ -93,7 +93,7 @@ def create_api_key(service_id):
disabled_options = [KEY_TYPE_NORMAL]
option_hints[KEY_TYPE_NORMAL] = Markup(
'Not available because your service is in '
'<a href="/features/trial-mode">trial mode</a>'
'<a class="govuk-link govuk-link--no-visited-state" href="/features/trial-mode">trial mode</a>'
)
if current_service.has_permission('letter'):
option_hints[KEY_TYPE_TEAM] = 'Cannot be used to send letters'
+4 -2
View File
@@ -22,7 +22,8 @@ def accept_invite(token):
message = Markup("""
Youre signed in as {}.
This invite is for another email address.
<a href={}>Sign out</a> and click the link again to accept this invite.
<a href={} class="govuk-link govuk-link--no-visited-state">Sign out</a>
and click the link again to accept this invite.
""".format(
current_user.email_address,
url_for("main.sign_out", _external=True)))
@@ -78,7 +79,8 @@ def accept_org_invite(token):
message = Markup("""
Youre signed in as {}.
This invite is for another email address.
<a href={}>Sign out</a> and click the link again to accept this invite.
<a class="govuk-link govuk-link--no-visited-state" href={}>Sign out</a>
and click the link again to accept this invite.
""".format(
current_user.email_address,
url_for("main.sign_out", _external=True)))
@@ -21,7 +21,7 @@
This is an API-only feature.
</p>
<p class="govuk-body">
To send a file by email, follow the instructions in our <a href={{ url_for('main.documentation') }}>API documentation</a>.
To send a file by email, follow the instructions in our <a class="govuk-link govuk-link--no-visited-state" href={{ url_for('main.documentation') }}>API documentation</a>.
</p>
<h2 class="heading-medium">{% if contact_details %}Change contact details for{% else %}Add contact details to{% endif %} the file download page</h2>
<p class="govuk-body">
+1 -1
View File
@@ -453,7 +453,7 @@ def test_signed_in_existing_user_cannot_use_anothers_invite(
assert page.h1.string.strip() == 'Youre not allowed to see this page'
flash_banners = page.find_all('div', class_='banner-dangerous')
assert len(flash_banners) == 1
banner_contents = flash_banners[0].text.strip()
banner_contents = normalize_spaces(flash_banners[0].text)
assert "Youre signed in as test@user.gov.uk." in banner_contents
assert "This invite is for another email address." in banner_contents
assert "Sign out and click the link again to accept this invite." in banner_contents
+1
View File
@@ -3030,6 +3030,7 @@ def client_request(
if _test_for_elements_without_class and _expected_status not in (301, 302):
for tag, hint in (
('p', 'govuk-body'),
('a', 'govuk-link govuk-link--no-visited-state'),
):
element = page.select_one(f'{tag}:not([class])')
if (