mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-11 02:23:19 -04:00
Merge pull request #3024 from alphagov/style-org-breadcrumb
Adjust type and spacing to accommodate organisation breadcrumb
This commit is contained in:
@@ -75,20 +75,10 @@ a {
|
||||
|
||||
.heading-large,
|
||||
> .heading-medium {
|
||||
margin: ($gutter / 3) 0 ($gutter / 3 * 2) 0;
|
||||
margin: $gutter-half 0 ($gutter / 3 * 2) 0;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
> .grid-row:first-child {
|
||||
|
||||
.heading-large,
|
||||
.heading-medium {
|
||||
margin: 10px 0 15px 0;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.highlight {
|
||||
@@ -286,5 +276,5 @@ details .arrow {
|
||||
}
|
||||
|
||||
.heading-upcoming-jobs {
|
||||
margin-top: $gutter / 3;
|
||||
margin-top: $gutter-half;
|
||||
}
|
||||
|
||||
@@ -1,3 +1,29 @@
|
||||
@mixin separator {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
width: 20px;
|
||||
height: $gutter;
|
||||
position: relative;
|
||||
|
||||
&:before {
|
||||
content: "";
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: -5px;
|
||||
bottom: 1px;
|
||||
right: 7px;
|
||||
width: 9px;
|
||||
height: 9px;
|
||||
margin: auto 0;
|
||||
-webkit-transform: rotate(45deg);
|
||||
-ms-transform: rotate(45deg);
|
||||
transform: rotate(45deg);
|
||||
border: solid;
|
||||
border-width: 2px 2px 0 0;
|
||||
border-color: $secondary-text-colour;
|
||||
}
|
||||
}
|
||||
|
||||
.message {
|
||||
|
||||
&-name {
|
||||
@@ -10,6 +36,13 @@
|
||||
|
||||
&:hover {
|
||||
color: $link-hover-colour;
|
||||
|
||||
.message-name-separator {
|
||||
&:before {
|
||||
border-color: $link-hover-colour;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
&:focus {
|
||||
@@ -25,14 +58,20 @@
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.message-name-separator {
|
||||
|
||||
margin-right: -2px;
|
||||
margin-left: -2px;
|
||||
|
||||
&:before {
|
||||
border-color: $link-colour;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&-separator {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
color: $secondary-text-colour;
|
||||
padding: 0 4px 0 5px;
|
||||
font-weight: normal;
|
||||
@include separator;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -46,7 +85,13 @@
|
||||
}
|
||||
|
||||
#template-list {
|
||||
|
||||
margin-top: $gutter;
|
||||
|
||||
&.top-gutter-0 {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.template-list {
|
||||
@@ -151,6 +196,11 @@
|
||||
|
||||
.folder-heading {
|
||||
|
||||
.grid-row & {
|
||||
margin: $gutter-half 0 20px 0;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
a,
|
||||
&-folder,
|
||||
&-subfolder {
|
||||
@@ -224,13 +274,7 @@
|
||||
}
|
||||
|
||||
&-separator {
|
||||
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
color: $secondary-text-colour;
|
||||
padding: 0 4px 0 5px;
|
||||
font-weight: normal;
|
||||
|
||||
@include separator;
|
||||
}
|
||||
|
||||
&-manage-link {
|
||||
|
||||
@@ -2,34 +2,44 @@
|
||||
|
||||
padding: 0 $gutter 0 0;
|
||||
|
||||
$padding-top: 14px;
|
||||
$padding-bottom: 11px;
|
||||
|
||||
&-service {
|
||||
|
||||
padding: 11px 0 9px 0;
|
||||
border-bottom: 1px solid $border-colour;
|
||||
margin: 0 0 10px;
|
||||
position: relative;
|
||||
font-size: 0;
|
||||
|
||||
&-name {
|
||||
@include bold-19;
|
||||
margin: 0 0 0 0;
|
||||
padding: $padding-top 0 $padding-bottom 0;
|
||||
display: inline-block;
|
||||
max-width: 50%;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
&-switch {
|
||||
|
||||
@include core-16;
|
||||
@include core-19;
|
||||
text-decoration: none;
|
||||
text-align: right;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
padding: 13px 0 9px 15px;
|
||||
padding: $padding-top 0 $padding-bottom $gutter-half;
|
||||
|
||||
&:hover {
|
||||
color: $link-hover-colour;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
outline: none;
|
||||
border-bottom: 4px solid $yellow;
|
||||
border-bottom: 1px solid $yellow;
|
||||
border-left: 10px solid $yellow;
|
||||
border-right: 3px solid $yellow;
|
||||
right: -3px;
|
||||
@@ -38,16 +48,66 @@
|
||||
|
||||
}
|
||||
|
||||
&-back-to {
|
||||
|
||||
@include core-19;
|
||||
padding: $padding-top $gutter-half $padding-bottom 0;
|
||||
display: inline-block;
|
||||
text-decoration: none;
|
||||
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
color: $link-hover-colour;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
&-breadcrumb {
|
||||
&-organisation-link {
|
||||
|
||||
@include core-19;
|
||||
display: inline-block;
|
||||
width: 6px;
|
||||
height: 11px;
|
||||
margin: 0 5px;
|
||||
background-image: file-url("separator-2x.png");
|
||||
background-size: 6px 11px;
|
||||
background-repeat: no-repeat;
|
||||
max-width: 25%;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
font-weight: normal;
|
||||
text-decoration: none;
|
||||
padding: $padding-top 20px $padding-bottom 0;
|
||||
margin-right: 7px;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
|
||||
&:before {
|
||||
content: "";
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: -1px;
|
||||
bottom: 1px;
|
||||
right: 6px;
|
||||
width: 7px;
|
||||
height: 7px;
|
||||
margin: auto 0;
|
||||
-webkit-transform: rotate(45deg);
|
||||
-ms-transform: rotate(45deg);
|
||||
transform: rotate(45deg);
|
||||
border: solid;
|
||||
border-width: 1px 1px 0 0;
|
||||
border-color: $secondary-text-colour;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
color: $link-hover-colour;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
color: $text-colour;
|
||||
outline: none;
|
||||
box-shadow: 0 1px 0 0 $focus-colour, -3px 0 0 0 $focus-colour, -3px 1px 0 0 $focus-colour;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
li {
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
.table-heading {
|
||||
text-align: left;
|
||||
margin: 40px 0 $gutter-half 0;
|
||||
margin: $gutter-half 0 $gutter-half 0;
|
||||
}
|
||||
|
||||
.dashboard-table {
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
}
|
||||
|
||||
> .heading-medium:first-of-type {
|
||||
margin-top: 10px;
|
||||
margin-top: $gutter-half;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -452,7 +452,10 @@ class Service(JSONModel):
|
||||
"users_with_permission": folder["users_with_permission"]
|
||||
}
|
||||
while folder_attrs["parent_id"] is not None:
|
||||
folder_attrs["name"] = parent["name"] + " / " + folder_attrs["name"]
|
||||
folder_attrs["name"] = [
|
||||
parent["name"],
|
||||
folder_attrs["name"],
|
||||
]
|
||||
if parent["parent_id"] is None:
|
||||
folder_attrs["parent_id"] = None
|
||||
else:
|
||||
|
||||
@@ -79,5 +79,5 @@
|
||||
|
||||
|
||||
{% macro folder_path_separator() %}
|
||||
<span class="folder-heading-separator">/</span>
|
||||
<span class="folder-heading-separator"></span>
|
||||
{% endmacro %}
|
||||
|
||||
@@ -7,11 +7,10 @@
|
||||
{% block fullwidth_content %}
|
||||
<div id="content">
|
||||
<div class="navigation-service">
|
||||
{% if current_user.platform_admin %}
|
||||
<a href="{{ url_for('.organisations') }}" class="navigation-organisation-link">All organisations</a>
|
||||
{% endif %}
|
||||
<div class="navigation-service-name">
|
||||
{% if current_user.platform_admin %}
|
||||
<a href="{{ url_for('.organisations') }}">Organisations</a>
|
||||
<span class="navigation-breadcrumb"></span>
|
||||
{% endif %}
|
||||
{{ current_org.name }}
|
||||
</div>
|
||||
<a href="{{ url_for('main.choose_account') }}" class="navigation-service-switch">Switch service</a>
|
||||
|
||||
@@ -12,9 +12,7 @@
|
||||
{% block fullwidth_content %}
|
||||
<div id="content">
|
||||
<div class="navigation-service">
|
||||
<div class="navigation-service-name">
|
||||
<a href="{{ url_for('.organisations') }}">All organisations</a>
|
||||
</div>
|
||||
<a href="{{ url_for('.organisations') }}" class="navigation-service-back-to">All organisations</a>
|
||||
<a href="{{ url_for('main.choose_account') }}" class="navigation-service-switch">Switch service</a>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -1,6 +1,17 @@
|
||||
{% from "components/checkbox.html" import unlabelled_checkbox %}
|
||||
{% from "components/message-count-label.html" import folder_contents_count, message_count_label %}
|
||||
|
||||
{% macro format_item_name(name) -%}
|
||||
{%- if name is string -%}
|
||||
{{- name -}}
|
||||
{%- else -%}
|
||||
{%- for part in name -%}
|
||||
{{- format_item_name(part) -}}
|
||||
{%- if not loop.last %} <span class="message-name-separator"></span> {% endif -%}
|
||||
{%- endfor -%}
|
||||
{% endif %}
|
||||
{%- endmacro %}
|
||||
|
||||
{% if template_list.template_folder_id and not template_list.templates_to_show %}
|
||||
<p class="template-list-empty">
|
||||
{% if template_list.folder_is_empty %}
|
||||
@@ -10,7 +21,7 @@
|
||||
{% endif %}
|
||||
</p>
|
||||
{% else %}
|
||||
<nav id=template-list>
|
||||
<nav id="template-list" class="{{ 'top-gutter-0' if (not show_template_nav and not show_search_box) else '' }}">
|
||||
{% for item in template_list %}
|
||||
<div class="template-list-item {% if current_user.has_permissions('manage_templates') %}template-list-item-with-checkbox{% endif %} {% if item.ancestors %}template-list-item-hidden-by-default{% endif %} {% if not item.ancestors %}template-list-item-without-ancestors{% endif %}">
|
||||
{% if current_user.has_permissions('manage_templates') %}
|
||||
@@ -24,16 +35,16 @@
|
||||
<h2 class="message-name">
|
||||
{% for ancestor in item.ancestors %}
|
||||
<a href="{{ url_for('.choose_template', service_id=current_service.id, template_type=template_type, template_folder_id=ancestor.id) }}" class="template-list-folder">
|
||||
{{ ancestor.name }}
|
||||
</a> <span class="message-name-separator">/</span>
|
||||
{{- format_item_name(ancestor.name) -}}
|
||||
</a> <span class="message-name-separator"></span>
|
||||
{% endfor %}
|
||||
{% if item.is_folder %}
|
||||
<a href="{{ url_for('.choose_template', service_id=current_service.id, template_type=template_type, template_folder_id=item.id) }}" class="template-list-folder">
|
||||
<span class="live-search-relevant">{{ item.name }}</span>
|
||||
<span class="live-search-relevant">{{ format_item_name(item.name) }}</span>
|
||||
</a>
|
||||
{% else %}
|
||||
<a href="{{ url_for('.view_template', service_id=current_service.id, template_id=item.id) }}" class="template-list-template">
|
||||
<span class="live-search-relevant">{{ item.name }}</span>
|
||||
<span class="live-search-relevant">{{ format_item_name(item.name) }}</span>
|
||||
</a>
|
||||
{% endif %}
|
||||
</h2>
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
{% else %}
|
||||
|
||||
<div class="grid-row">
|
||||
<div class="{% if current_user.has_permissions('manage_templates') %} column-five-sixths {% else %} column-two-thirds {% endif %}">
|
||||
<div class="{% if current_user.has_permissions('manage_templates') %} column-five-sixths {% else %} column-whole {% endif %}">
|
||||
{{ folder_path(
|
||||
folders=template_folder_path,
|
||||
service_id=current_service.id,
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
<a href="{{ url_for('.choose_template_to_copy', service_id=current_service.id, from_folder=ancestor.id) }}" class="template-list-folder">
|
||||
{% endif %}
|
||||
{{ ancestor.name }}
|
||||
</a> <span class="message-name-separator">/</span>
|
||||
</a> <span class="message-name-separator"></span>
|
||||
{% endfor %}
|
||||
{% if item.is_service %}
|
||||
<a href="{{ url_for('.choose_template_to_copy', service_id=current_service.id, from_service=item.service_id) }}" class="template-list-folder">
|
||||
|
||||
@@ -7,14 +7,13 @@
|
||||
{% block fullwidth_content %}
|
||||
<div id="content">
|
||||
<div class="navigation-service">
|
||||
<div class="navigation-service-name">
|
||||
{% if current_service.organisation_id %}
|
||||
{% if current_user.platform_admin or
|
||||
(current_user.belongs_to_organisation(current_service.organisation_id) and current_service.live) %}
|
||||
<a href="{{ url_for('.organisation_dashboard', org_id=current_service.organisation.id) }}">{{ current_service.organisation.name }}</a>
|
||||
<span class="navigation-breadcrumb"></span>
|
||||
{% endif %}
|
||||
{% if current_service.organisation_id %}
|
||||
{% if current_user.platform_admin or
|
||||
(current_user.belongs_to_organisation(current_service.organisation_id) and current_service.live) %}
|
||||
<a href="{{ url_for('.organisation_dashboard', org_id=current_service.organisation_id) }}" class="navigation-organisation-link">{{ current_service.organisation.name }}</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<div class="navigation-service-name">
|
||||
{{ current_service.name }}
|
||||
</div>
|
||||
<a href="{{ url_for('main.choose_account') }}" class="navigation-service-switch">Switch service</a>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<div id="content">
|
||||
{% if current_service and current_service.active and current_user.is_authenticated and current_user.belongs_to_service(current_service.id) %}
|
||||
<div class="navigation-service">
|
||||
<a href="{{ url_for('main.show_accounts_or_dashboard') }}">Back to {{ current_service.name }}</a>
|
||||
<a href="{{ url_for('main.show_accounts_or_dashboard') }}" class="navigation-service-back-to">Back to {{ current_service.name }}</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
<main role="main">
|
||||
|
||||
@@ -1346,7 +1346,7 @@ def test_org_breadcrumbs_do_not_show_if_service_has_no_org(
|
||||
):
|
||||
page = client_request.get('main.service_dashboard', service_id=SERVICE_ONE_ID)
|
||||
|
||||
assert not page.select('.navigation-breadcrumb')
|
||||
assert not page.select('.navigation-organisation-link')
|
||||
|
||||
|
||||
def test_org_breadcrumbs_do_not_show_if_user_is_not_an_org_member(
|
||||
@@ -1369,7 +1369,7 @@ def test_org_breadcrumbs_do_not_show_if_user_is_not_an_org_member(
|
||||
client_request.login(active_caseworking_user, service=service_one_json)
|
||||
page = client_request.get('main.service_dashboard', service_id=SERVICE_ONE_ID, _follow_redirects=True)
|
||||
|
||||
assert not page.select('.navigation-breadcrumb')
|
||||
assert not page.select('.navigation-organisation-link')
|
||||
|
||||
|
||||
def test_org_breadcrumbs_show_if_user_is_a_member_of_the_services_org(
|
||||
@@ -1391,8 +1391,10 @@ def test_org_breadcrumbs_show_if_user_is_a_member_of_the_services_org(
|
||||
mocker.patch('app.models.service.Organisation')
|
||||
|
||||
page = client_request.get('main.service_dashboard', service_id=SERVICE_ONE_ID)
|
||||
|
||||
assert page.select('.navigation-breadcrumb')
|
||||
assert page.select_one('.navigation-organisation-link')['href'] == url_for(
|
||||
'main.organisation_dashboard',
|
||||
org_id=ORGANISATION_ID,
|
||||
)
|
||||
|
||||
|
||||
def test_org_breadcrumbs_do_not_show_if_user_is_a_member_of_the_services_org_but_service_is_in_trial_mode(
|
||||
@@ -1435,4 +1437,7 @@ def test_org_breadcrumbs_show_if_user_is_platform_admin(
|
||||
response = logged_in_platform_admin_client.get(url_for('main.service_dashboard', service_id=SERVICE_ONE_ID))
|
||||
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
|
||||
|
||||
assert page.select('.navigation-breadcrumb')
|
||||
assert page.select_one('.navigation-organisation-link')['href'] == url_for(
|
||||
'main.organisation_dashboard',
|
||||
org_id=ORGANISATION_ID,
|
||||
)
|
||||
|
||||
@@ -55,11 +55,11 @@ def _folder(name, folder_id=None, parent=None, users_with_permission=None):
|
||||
['Email', 'Text message', 'Letter'],
|
||||
[
|
||||
'folder_one 2 folders',
|
||||
'folder_one / folder_one_one 1 template, 1 folder',
|
||||
'folder_one / folder_one_one / folder_one_one_one 1 template',
|
||||
'folder_one / folder_one_one / folder_one_one_one / sms_template_nested Text message template',
|
||||
'folder_one / folder_one_one / letter_template_nested Letter template',
|
||||
'folder_one / folder_one_two Empty',
|
||||
'folder_one folder_one_one 1 template, 1 folder',
|
||||
'folder_one folder_one_one folder_one_one_one 1 template',
|
||||
'folder_one folder_one_one folder_one_one_one sms_template_nested Text message template',
|
||||
'folder_one folder_one_one letter_template_nested Letter template',
|
||||
'folder_one folder_one_two Empty',
|
||||
'folder_two Empty',
|
||||
'sms_template_one Text message template',
|
||||
'sms_template_two Text message template',
|
||||
@@ -103,9 +103,9 @@ def _folder(name, folder_id=None, parent=None, users_with_permission=None):
|
||||
['All', 'Email', 'Letter'],
|
||||
[
|
||||
'folder_one 1 folder',
|
||||
'folder_one / folder_one_one 1 folder',
|
||||
'folder_one / folder_one_one / folder_one_one_one 1 template',
|
||||
'folder_one / folder_one_one / folder_one_one_one / sms_template_nested Text message template',
|
||||
'folder_one folder_one_one 1 folder',
|
||||
'folder_one folder_one_one folder_one_one_one 1 template',
|
||||
'folder_one folder_one_one folder_one_one_one sms_template_nested Text message template',
|
||||
'sms_template_one Text message template',
|
||||
'sms_template_two Text message template',
|
||||
],
|
||||
@@ -126,15 +126,15 @@ def _folder(name, folder_id=None, parent=None, users_with_permission=None):
|
||||
),
|
||||
(
|
||||
'folder_one – Templates – service one – GOV.UK Notify',
|
||||
'Templates / folder_one',
|
||||
'Templates folder_one',
|
||||
[{'template_type': 'all'}],
|
||||
{'template_folder_id': PARENT_FOLDER_ID},
|
||||
['Email', 'Text message', 'Letter'],
|
||||
[
|
||||
'folder_one_one 1 template, 1 folder',
|
||||
'folder_one_one / folder_one_one_one 1 template',
|
||||
'folder_one_one / folder_one_one_one / sms_template_nested Text message template',
|
||||
'folder_one_one / letter_template_nested Letter template',
|
||||
'folder_one_one folder_one_one_one 1 template',
|
||||
'folder_one_one folder_one_one_one sms_template_nested Text message template',
|
||||
'folder_one_one letter_template_nested Letter template',
|
||||
'folder_one_two Empty',
|
||||
],
|
||||
[
|
||||
@@ -152,14 +152,14 @@ def _folder(name, folder_id=None, parent=None, users_with_permission=None):
|
||||
),
|
||||
(
|
||||
'folder_one – Templates – service one – GOV.UK Notify',
|
||||
'Templates / folder_one',
|
||||
'Templates folder_one',
|
||||
[{'template_type': 'sms'}],
|
||||
{'template_type': 'sms', 'template_folder_id': PARENT_FOLDER_ID},
|
||||
['All', 'Email', 'Letter'],
|
||||
[
|
||||
'folder_one_one 1 folder',
|
||||
'folder_one_one / folder_one_one_one 1 template',
|
||||
'folder_one_one / folder_one_one_one / sms_template_nested Text message template',
|
||||
'folder_one_one folder_one_one_one 1 template',
|
||||
'folder_one_one folder_one_one_one sms_template_nested Text message template',
|
||||
],
|
||||
[
|
||||
'folder_one_one 1 folder',
|
||||
@@ -173,7 +173,7 @@ def _folder(name, folder_id=None, parent=None, users_with_permission=None):
|
||||
),
|
||||
(
|
||||
'folder_one – Templates – service one – GOV.UK Notify',
|
||||
'Templates / folder_one',
|
||||
'Templates folder_one',
|
||||
[{'template_type': 'email'}],
|
||||
{'template_type': 'email', 'template_folder_id': PARENT_FOLDER_ID},
|
||||
['All', 'Text message', 'Letter'],
|
||||
@@ -184,7 +184,7 @@ def _folder(name, folder_id=None, parent=None, users_with_permission=None):
|
||||
),
|
||||
(
|
||||
'folder_one_one – folder_one – Templates – service one – GOV.UK Notify',
|
||||
'Templates / folder_one / folder_one_one',
|
||||
'Templates folder_one folder_one_one',
|
||||
[
|
||||
{'template_type': 'all'},
|
||||
{'template_type': 'all', 'template_folder_id': PARENT_FOLDER_ID},
|
||||
@@ -193,7 +193,7 @@ def _folder(name, folder_id=None, parent=None, users_with_permission=None):
|
||||
['Email', 'Text message', 'Letter'],
|
||||
[
|
||||
'folder_one_one_one 1 template',
|
||||
'folder_one_one_one / sms_template_nested Text message template',
|
||||
'folder_one_one_one sms_template_nested Text message template',
|
||||
'letter_template_nested Letter template',
|
||||
],
|
||||
[
|
||||
@@ -209,7 +209,7 @@ def _folder(name, folder_id=None, parent=None, users_with_permission=None):
|
||||
),
|
||||
(
|
||||
'folder_one_one_one – folder_one_one – folder_one – Templates – service one – GOV.UK Notify',
|
||||
'Templates / folder_one / folder_one_one / folder_one_one_one',
|
||||
'Templates folder_one folder_one_one folder_one_one_one',
|
||||
[
|
||||
{'template_type': 'all'},
|
||||
{'template_type': 'all', 'template_folder_id': PARENT_FOLDER_ID},
|
||||
@@ -230,7 +230,7 @@ def _folder(name, folder_id=None, parent=None, users_with_permission=None):
|
||||
),
|
||||
(
|
||||
'folder_one_one_one – folder_one_one – folder_one – Templates – service one – GOV.UK Notify',
|
||||
'Templates / folder_one / folder_one_one / folder_one_one_one',
|
||||
'Templates folder_one folder_one_one folder_one_one_one',
|
||||
[
|
||||
{'template_type': 'email'},
|
||||
{'template_type': 'email', 'template_folder_id': PARENT_FOLDER_ID},
|
||||
@@ -248,7 +248,7 @@ def _folder(name, folder_id=None, parent=None, users_with_permission=None):
|
||||
),
|
||||
(
|
||||
'folder_two – Templates – service one – GOV.UK Notify',
|
||||
'Templates / folder_two',
|
||||
'Templates folder_two',
|
||||
[{'template_type': 'all'}],
|
||||
{'template_folder_id': FOLDER_TWO_ID},
|
||||
['Email', 'Text message', 'Letter'],
|
||||
@@ -259,7 +259,7 @@ def _folder(name, folder_id=None, parent=None, users_with_permission=None):
|
||||
),
|
||||
(
|
||||
'folder_two – Templates – service one – GOV.UK Notify',
|
||||
'Templates / folder_two',
|
||||
'Templates folder_two',
|
||||
[{'template_type': 'sms'}],
|
||||
{'template_folder_id': FOLDER_TWO_ID, 'template_type': 'sms'},
|
||||
['All', 'Email', 'Letter'],
|
||||
@@ -1405,17 +1405,17 @@ def test_show_custom_error_message(
|
||||
{},
|
||||
[
|
||||
['folder_A', '1 template, 2 folders'],
|
||||
['folder_E / folder_F / folder_G', '1 template'],
|
||||
['folder_E folder_F folder_G', '1 template'],
|
||||
['email_template_root', 'Email template'],
|
||||
],
|
||||
[
|
||||
['folder_A', '1 template, 2 folders'],
|
||||
['folder_A', '/', 'folder_C', '1 template'],
|
||||
['folder_A', '/', 'folder_C', '/', 'sms_template_C', 'Text message template'],
|
||||
['folder_A', '/', 'folder_D', 'Empty'],
|
||||
['folder_A', '/', 'sms_template_A', 'Text message template'],
|
||||
['folder_E / folder_F / folder_G', '1 template'],
|
||||
['folder_E / folder_F / folder_G', '/', 'email_template_G', 'Email template'],
|
||||
['folder_A', 'folder_C', '1 template'],
|
||||
['folder_A', 'folder_C', 'sms_template_C', 'Text message template'],
|
||||
['folder_A', 'folder_D', 'Empty'],
|
||||
['folder_A', 'sms_template_A', 'Text message template'],
|
||||
['folder_E folder_F folder_G', '1 template'],
|
||||
['folder_E folder_F folder_G', 'email_template_G', 'Email template'],
|
||||
['email_template_root', 'Email template'],
|
||||
],
|
||||
None,
|
||||
@@ -1423,12 +1423,12 @@ def test_show_custom_error_message(
|
||||
(
|
||||
{'template_type': 'email'},
|
||||
[
|
||||
['folder_E / folder_F / folder_G', '1 template'],
|
||||
['folder_E folder_F folder_G', '1 template'],
|
||||
['email_template_root', 'Email template'],
|
||||
],
|
||||
[
|
||||
['folder_E / folder_F / folder_G', '1 template'],
|
||||
['folder_E / folder_F / folder_G', '/', 'email_template_G', 'Email template'],
|
||||
['folder_E folder_F folder_G', '1 template'],
|
||||
['folder_E folder_F folder_G', 'email_template_G', 'Email template'],
|
||||
['email_template_root', 'Email template'],
|
||||
],
|
||||
None,
|
||||
@@ -1440,9 +1440,9 @@ def test_show_custom_error_message(
|
||||
],
|
||||
[
|
||||
['folder_A', '1 template, 1 folder'],
|
||||
['folder_A', '/', 'folder_C', '1 template'],
|
||||
['folder_A', '/', 'folder_C', '/', 'sms_template_C', 'Text message template'],
|
||||
['folder_A', '/', 'sms_template_A', 'Text message template'],
|
||||
['folder_A', 'folder_C', '1 template'],
|
||||
['folder_A', 'folder_C', 'sms_template_C', 'Text message template'],
|
||||
['folder_A', 'sms_template_A', 'Text message template'],
|
||||
],
|
||||
None,
|
||||
),
|
||||
@@ -1521,7 +1521,6 @@ def test_should_filter_templates_folder_page_based_on_user_permissions(
|
||||
and 'template-list-item' in tag['class']
|
||||
and 'template-list-item-hidden-by-default' not in tag['class']
|
||||
))
|
||||
|
||||
assert [
|
||||
[i.strip() for i in e.text.split("\n") if i.strip()]
|
||||
for e in displayed_page_items
|
||||
|
||||
@@ -428,7 +428,7 @@ def test_user_with_only_send_and_view_sees_letter_page(
|
||||
_test_page_title=False,
|
||||
)
|
||||
assert normalize_spaces(page.select_one('h1').text) == (
|
||||
'Templates / Two week reminder'
|
||||
'Templates Two week reminder'
|
||||
)
|
||||
assert normalize_spaces(page.select_one('title').text) == (
|
||||
'Two week reminder – Templates – service one – GOV.UK Notify'
|
||||
@@ -624,7 +624,7 @@ def test_should_be_able_to_view_a_template_with_links(
|
||||
)
|
||||
|
||||
assert normalize_spaces(page.select_one('h1').text) == (
|
||||
'Templates / Two week reminder'
|
||||
'Templates Two week reminder'
|
||||
)
|
||||
assert normalize_spaces(page.select_one('title').text) == (
|
||||
'Two week reminder – Templates – service one – GOV.UK Notify'
|
||||
@@ -855,27 +855,27 @@ def test_choose_a_template_to_copy(
|
||||
'6 templates'
|
||||
),
|
||||
(
|
||||
'Service 1 / sms_template_one '
|
||||
'Service 1 sms_template_one '
|
||||
'Text message template'
|
||||
),
|
||||
(
|
||||
'Service 1 / sms_template_two '
|
||||
'Service 1 sms_template_two '
|
||||
'Text message template'
|
||||
),
|
||||
(
|
||||
'Service 1 / email_template_one '
|
||||
'Service 1 email_template_one '
|
||||
'Email template'
|
||||
),
|
||||
(
|
||||
'Service 1 / email_template_two '
|
||||
'Service 1 email_template_two '
|
||||
'Email template'
|
||||
),
|
||||
(
|
||||
'Service 1 / letter_template_one '
|
||||
'Service 1 letter_template_one '
|
||||
'Letter template'
|
||||
),
|
||||
(
|
||||
'Service 1 / letter_template_two '
|
||||
'Service 1 letter_template_two '
|
||||
'Letter template'
|
||||
),
|
||||
(
|
||||
@@ -883,27 +883,27 @@ def test_choose_a_template_to_copy(
|
||||
'6 templates'
|
||||
),
|
||||
(
|
||||
'Service 2 / sms_template_one '
|
||||
'Service 2 sms_template_one '
|
||||
'Text message template'
|
||||
),
|
||||
(
|
||||
'Service 2 / sms_template_two '
|
||||
'Service 2 sms_template_two '
|
||||
'Text message template'
|
||||
),
|
||||
(
|
||||
'Service 2 / email_template_one '
|
||||
'Service 2 email_template_one '
|
||||
'Email template'
|
||||
),
|
||||
(
|
||||
'Service 2 / email_template_two '
|
||||
'Service 2 email_template_two '
|
||||
'Email template'
|
||||
),
|
||||
(
|
||||
'Service 2 / letter_template_one '
|
||||
'Service 2 letter_template_one '
|
||||
'Letter template'
|
||||
),
|
||||
(
|
||||
'Service 2 / letter_template_two '
|
||||
'Service 2 letter_template_two '
|
||||
'Letter template'
|
||||
),
|
||||
]
|
||||
@@ -1026,7 +1026,7 @@ def test_choose_a_template_to_copy_from_folder_within_service(
|
||||
)
|
||||
|
||||
assert normalize_spaces(page.select_one('.folder-heading').text) == (
|
||||
'service one / Parent folder'
|
||||
'service one Parent folder'
|
||||
)
|
||||
breadcrumb_links = page.select('.folder-heading a')
|
||||
assert len(breadcrumb_links) == 1
|
||||
@@ -1046,7 +1046,7 @@ def test_choose_a_template_to_copy_from_folder_within_service(
|
||||
'1 template'
|
||||
),
|
||||
(
|
||||
'Child folder non-empty / Should appear in list (nested) '
|
||||
'Child folder non-empty Should appear in list (nested) '
|
||||
'Text message template'
|
||||
),
|
||||
(
|
||||
|
||||
@@ -80,13 +80,13 @@ def test_get_user_template_folders_only_returns_folders_visible_to_user(
|
||||
result = service.get_user_template_folders(User(active_user_with_permissions))
|
||||
assert result == [
|
||||
{
|
||||
'name': "Parent 1 - invisible / 1's Visible child",
|
||||
'name': ["Parent 1 - invisible", "1's Visible child"],
|
||||
'id': mocker.ANY,
|
||||
'parent_id': None,
|
||||
'users_with_permission': [active_user_with_permissions['id']],
|
||||
},
|
||||
{
|
||||
'name': "Parent 1 - invisible / 1's Invisible child / 1's Visible grandchild",
|
||||
'name': ["Parent 1 - invisible", ["1's Invisible child", "1's Visible grandchild"]],
|
||||
'id': mocker.ANY,
|
||||
'parent_id': None,
|
||||
'users_with_permission': [active_user_with_permissions['id']],
|
||||
@@ -98,7 +98,7 @@ def test_get_user_template_folders_only_returns_folders_visible_to_user(
|
||||
'users_with_permission': [active_user_with_permissions['id']],
|
||||
},
|
||||
{
|
||||
'name': "2's Invisible child / 2's Visible grandchild",
|
||||
'name': ["2's Invisible child", "2's Visible grandchild"],
|
||||
'id': mocker.ANY,
|
||||
'parent_id': VIS_PARENT_FOLDER_ID,
|
||||
'users_with_permission': [active_user_with_permissions['id']],
|
||||
@@ -124,13 +124,13 @@ def test_get_template_folders_shows_user_folders_when_user_id_passed_in(
|
||||
result = service.get_template_folders(user=User(active_user_with_permissions))
|
||||
assert result == [
|
||||
{
|
||||
'name': "Parent 1 - invisible / 1's Visible child",
|
||||
'name': ["Parent 1 - invisible", "1's Visible child"],
|
||||
'id': mocker.ANY,
|
||||
'parent_id': None,
|
||||
'users_with_permission': [active_user_with_permissions['id']]
|
||||
},
|
||||
{
|
||||
'name': "Parent 1 - invisible / 1's Invisible child / 1's Visible grandchild",
|
||||
'name': ["Parent 1 - invisible", ["1's Invisible child", "1's Visible grandchild"]],
|
||||
'id': mocker.ANY,
|
||||
'parent_id': None,
|
||||
'users_with_permission': [active_user_with_permissions['id']]
|
||||
|
||||
Reference in New Issue
Block a user