mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-18 21:49:37 -04:00
Merge branch 'main' of https://github.com/GSA/notifications-admin into 1043-move-account-info-into-utility-nav
This commit is contained in:
@@ -88,6 +88,7 @@ from app.navigation import (
|
||||
HeaderNavigation,
|
||||
MainNavigation,
|
||||
OrgNavigation,
|
||||
SecondaryNavigation,
|
||||
)
|
||||
from app.notify_client import InviteTokenError
|
||||
from app.notify_client.api_key_api_client import api_key_api_client
|
||||
@@ -128,6 +129,7 @@ navigation = {
|
||||
"main_navigation": MainNavigation(),
|
||||
"header_navigation": HeaderNavigation(),
|
||||
"org_navigation": OrgNavigation(),
|
||||
"secondary_navigation": SecondaryNavigation(),
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -39,6 +39,9 @@ i.e.
|
||||
.usa-nav__secondary {
|
||||
.usa-nav__link {
|
||||
padding: 0;
|
||||
&.usa-current {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -240,7 +243,7 @@ td.table-empty-message {
|
||||
}
|
||||
|
||||
.navigation-service.usa-breadcrumb {
|
||||
-bottom: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
// Dashboard
|
||||
|
||||
@@ -87,39 +87,7 @@ class HeaderNavigation(Navigation):
|
||||
"uploads",
|
||||
"view_job",
|
||||
"view_jobs",
|
||||
"confirm_edit_user_email",
|
||||
"confirm_edit_user_mobile_number",
|
||||
"edit_user_email",
|
||||
"edit_user_mobile_number",
|
||||
"edit_user_permissions",
|
||||
"invite_user",
|
||||
"manage_users",
|
||||
"remove_user_from_service",
|
||||
"usage",
|
||||
"link_service_to_organization",
|
||||
"service_add_email_reply_to",
|
||||
"service_add_sms_sender",
|
||||
"service_confirm_delete_email_reply_to",
|
||||
"service_confirm_delete_sms_sender",
|
||||
"service_edit_email_reply_to",
|
||||
"service_edit_sms_sender",
|
||||
"service_email_reply_to",
|
||||
"service_name_change",
|
||||
"service_set_auth_type",
|
||||
"service_set_channel",
|
||||
"send_files_by_email_contact_details",
|
||||
"service_set_inbound_number",
|
||||
"service_set_inbound_sms",
|
||||
"service_set_international_sms",
|
||||
"service_set_reply_to_email",
|
||||
"service_set_sms_prefix",
|
||||
"service_verify_reply_to_address",
|
||||
"service_verify_reply_to_address_updates",
|
||||
"service_settings",
|
||||
"service_sms_senders",
|
||||
"set_free_sms_allowance",
|
||||
"set_message_limit",
|
||||
"set_rate_limit",
|
||||
},
|
||||
"pricing": {
|
||||
"how_to_pay",
|
||||
@@ -236,6 +204,21 @@ class MainNavigation(Navigation):
|
||||
"usage": {
|
||||
"usage",
|
||||
},
|
||||
"user-profile": {
|
||||
"user_profile",
|
||||
"user_profile_confirm_delete_mobile_number",
|
||||
"user_profile_email",
|
||||
"user_profile_email_authenticate",
|
||||
"user_profile_email_confirm",
|
||||
"user_profile_mobile_number",
|
||||
"user_profile_mobile_number_authenticate",
|
||||
"user_profile_mobile_number_confirm",
|
||||
"user_profile_mobile_number_delete",
|
||||
"user_profile_name",
|
||||
"user_profile_password",
|
||||
"user_profile_preferred_timezone",
|
||||
"user_profile_disable_platform_admin_view",
|
||||
},
|
||||
"settings": {
|
||||
"link_service_to_organization",
|
||||
"service_add_email_reply_to",
|
||||
@@ -297,6 +280,58 @@ class CaseworkNavigation(Navigation):
|
||||
}
|
||||
|
||||
|
||||
class SecondaryNavigation(Navigation):
|
||||
mapping = {
|
||||
"settings": {
|
||||
"link_service_to_organization",
|
||||
"service_add_email_reply_to",
|
||||
"service_add_sms_sender",
|
||||
"service_confirm_delete_email_reply_to",
|
||||
"service_confirm_delete_sms_sender",
|
||||
"service_edit_email_reply_to",
|
||||
"service_edit_sms_sender",
|
||||
"service_email_reply_to",
|
||||
"service_name_change",
|
||||
"service_set_auth_type",
|
||||
"service_set_channel",
|
||||
"send_files_by_email_contact_details",
|
||||
"service_set_inbound_number",
|
||||
"service_set_inbound_sms",
|
||||
"service_set_international_sms",
|
||||
"service_set_reply_to_email",
|
||||
"service_set_sms_prefix",
|
||||
"service_verify_reply_to_address",
|
||||
"service_verify_reply_to_address_updates",
|
||||
"service_settings",
|
||||
"service_sms_senders",
|
||||
"set_free_sms_allowance",
|
||||
"set_message_limit",
|
||||
"set_rate_limit",
|
||||
"confirm_edit_user_email",
|
||||
"confirm_edit_user_mobile_number",
|
||||
"edit_user_email",
|
||||
"edit_user_mobile_number",
|
||||
"edit_user_permissions",
|
||||
"invite_user",
|
||||
"manage_users",
|
||||
"remove_user_from_service",
|
||||
"user_profile",
|
||||
"user_profile_confirm_delete_mobile_number",
|
||||
"user_profile_email",
|
||||
"user_profile_email_authenticate",
|
||||
"user_profile_email_confirm",
|
||||
"user_profile_mobile_number",
|
||||
"user_profile_mobile_number_authenticate",
|
||||
"user_profile_mobile_number_confirm",
|
||||
"user_profile_mobile_number_delete",
|
||||
"user_profile_name",
|
||||
"user_profile_password",
|
||||
"user_profile_preferred_timezone",
|
||||
"user_profile_disable_platform_admin_view",
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
class OrgNavigation(Navigation):
|
||||
mapping = {
|
||||
"dashboard": {
|
||||
|
||||
@@ -69,21 +69,26 @@
|
||||
"active": header_navigation.is_selected('support')
|
||||
}
|
||||
] %}
|
||||
{% set secondaryNavigation = [
|
||||
{
|
||||
"href": url_for('main.user_profile'),
|
||||
"text": current_user.name,
|
||||
"active": header_navigation.is_selected('user-profile')
|
||||
},
|
||||
{
|
||||
"href": url_for('.service_settings', service_id=current_service.id),
|
||||
"text": "Settings"
|
||||
},
|
||||
{
|
||||
"href": url_for('main.sign_out'),
|
||||
"text": "Sign out"
|
||||
}
|
||||
{% if current_service %}
|
||||
{% set secondaryNavigation = [
|
||||
{
|
||||
"href": url_for('.service_settings', service_id=current_service.id),
|
||||
"text": "Settings",
|
||||
"active": secondary_navigation.is_selected('settings')
|
||||
},
|
||||
{
|
||||
"href": url_for('main.sign_out'),
|
||||
"text": "Sign out"
|
||||
}
|
||||
] %}
|
||||
{% else %}
|
||||
{% set secondaryNavigation = [
|
||||
{
|
||||
"href": url_for('main.sign_out'),
|
||||
"text": "Sign out"
|
||||
}
|
||||
] %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% set navigation = [
|
||||
{
|
||||
@@ -114,13 +119,13 @@
|
||||
] %}
|
||||
{% set secondaryNavigation = [
|
||||
{
|
||||
"href": url_for('main.user_profile'),
|
||||
"text": current_user.name,
|
||||
"active": header_navigation.is_selected('user-profile')
|
||||
"href": url_for('.service_settings', service_id=current_service.id),
|
||||
"text": "Settings",
|
||||
"active": secondary_navigation.is_selected('settings')
|
||||
},
|
||||
{
|
||||
"href": url_for('main.sign_out'),
|
||||
"text": "Sign out"
|
||||
"href": url_for('main.sign_out'),
|
||||
"text": "Sign out"
|
||||
}
|
||||
] %}
|
||||
{% endif %}
|
||||
|
||||
@@ -88,11 +88,6 @@
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
<!-- <li class="usa-nav__secondary-item">
|
||||
<a href="javascript:void(0)">
|
||||
Sign in
|
||||
</a>
|
||||
</li> -->
|
||||
</ul>
|
||||
<!-- <section aria-label="Search component">
|
||||
<form class="usa-search usa-search--small margin-bottom-2" role="search">
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
{% if not current_user.has_permissions('view_activity') %}
|
||||
<li class="usa-sidenav__item"><a class="{{ casework_navigation.is_selected('sent-messages') }}" href="{{ url_for('.view_notifications', service_id=current_service.id, status='sending,delivered,failed') }}">Sent messages</a></li>
|
||||
{% endif %}
|
||||
<li class="usa-sidenav__item"><a class="{{ main_navigation.is_selected('team-members') }}" href="{{ url_for('.manage_users', service_id=current_service.id) }}">Team members</a></li>
|
||||
{% if current_user.has_permissions('manage_service', allow_org_user=True) %}
|
||||
<li class="usa-sidenav__item"><a class="{{ main_navigation.is_selected('usage') }}" href="{{ url_for('.usage', service_id=current_service.id) }}">Usage</a></li>
|
||||
{% endif %}
|
||||
|
||||
@@ -1,20 +1,16 @@
|
||||
{% if help %}
|
||||
{% include 'partials/tour.html' %}
|
||||
{% include 'partials/tour.html' %}
|
||||
{% else %}
|
||||
<nav class="nav">
|
||||
{% if current_user.has_permissions() %}
|
||||
{% if current_user.has_permissions('view_activity') %}
|
||||
<li class="usa-sidenav__item"><a class="{{ main_navigation.is_selected('dashboard') }}" href="{{ url_for('.service_dashboard', service_id=current_service.id) }}">Dashboard</a></li>
|
||||
{% endif %}
|
||||
{% if current_user.has_permissions('manage_service', allow_org_user=True) %}
|
||||
<li class="usa-sidenav__item"><a class="{{ main_navigation.is_selected('usage') }}" href="{{ url_for('.usage', service_id=current_service.id) }}">Usage</a></li>
|
||||
{% endif %}
|
||||
{% if current_user.has_permissions('manage_api_keys', 'manage_service') %}
|
||||
<li class="usa-sidenav__item"><a class="{{ main_navigation.is_selected('settings') }}" href="{{ url_for('.service_settings', service_id=current_service.id) }}">Settings</a></li>
|
||||
{% endif %}
|
||||
{% elif current_user.has_permissions(allow_org_user=True) %} -->
|
||||
<li class="usa-sidenav__item"><a class="usa-link{{ main_navigation.is_selected('team-members') }}" href="{{ url_for('.manage_users', service_id=current_service.id) }}">Team members</a></li>
|
||||
{% endif %}
|
||||
<ul class="usa-sidenav">
|
||||
{# {% if current_user.has_permissions() %} #}
|
||||
<li class="usa-sidenav__item"><a class="{{ main_navigation.is_selected('settings') }}"
|
||||
href="{{ url_for('.service_settings', service_id=current_service.id) }}">General</a></li>
|
||||
<li class="usa-sidenav__item"><a class="{{ main_navigation.is_selected('user-profile') }}"
|
||||
href="{{ url_for('main.user_profile', service_id=current_service.id) }}">User profile</a></li>
|
||||
<li class="usa-sidenav__item"><a class="{{ main_navigation.is_selected('team-members') }}"
|
||||
href="{{ url_for('.manage_users', service_id=current_service.id) }}">Team members</a></li>
|
||||
{# {% endif %} #}
|
||||
</ul>
|
||||
</nav>
|
||||
{% endif %}
|
||||
|
||||
34
app/templates/settings_template.html
Normal file
34
app/templates/settings_template.html
Normal file
@@ -0,0 +1,34 @@
|
||||
{% extends "admin_template.html" %}
|
||||
|
||||
{% block per_page_title %}
|
||||
{% block service_page_title %}{% endblock %} – {{ current_service.name }}
|
||||
{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
<div class="grid-container">
|
||||
<div class="grid-row margin-top-5">
|
||||
{% if help %}
|
||||
<div class="grid-col-3">
|
||||
{% else %}
|
||||
<div class="grid-col-3">
|
||||
{% endif %}
|
||||
{% include "settings_nav.html" %}
|
||||
</div>
|
||||
{% if help %}
|
||||
<div class="grid-col-8">
|
||||
{% else %}
|
||||
<div class="grid-col-9 padding-left-4">
|
||||
{% endif %}
|
||||
{% block beforeContent %}
|
||||
{% block backLink %}{% endblock %}
|
||||
{% endblock %}
|
||||
<main id="main-content" role="main" class="usa-prose site-prose margin-bottom-10">
|
||||
{% block content %}
|
||||
{% include 'flash_messages.html' %}
|
||||
{% block maincolumn_content %}{% endblock %}
|
||||
{% endblock %}
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
@@ -1,4 +1,4 @@
|
||||
{% extends "withnav_template.html" %}
|
||||
{% extends "settings_template.html" %}
|
||||
{% from "components/tick-cross.html" import tick_cross %}
|
||||
{% from "components/live-search.html" import live_search %}
|
||||
{% from "components/components/button/macro.njk" import usaButton %}
|
||||
@@ -9,8 +9,8 @@
|
||||
|
||||
{% block maincolumn_content %}
|
||||
|
||||
<div class="display-flex flex-justify flex-align-center">
|
||||
<h1 class="font-body-xl margin-0">
|
||||
<div class="display-flex flex-justify flex-align-center margin-bottom-2">
|
||||
<h1 class="font-body-2xl margin-0">
|
||||
Team members
|
||||
</h1>
|
||||
{% if current_user.has_permissions('manage_service') %}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{% extends "withnav_template.html" %}
|
||||
{% extends "settings_template.html" %}
|
||||
{% from "components/banner.html" import banner_wrapper %}
|
||||
{% from "components/table.html" import mapping_table, row, settings_row, text_field, optional_text_field, edit_field, field, boolean_field with context %}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{% extends "withoutnav_template.html" %}
|
||||
{% extends "settings_template.html" %}
|
||||
{% from "components/table.html" import list_table, row, field %}
|
||||
{% from "components/table.html" import mapping_table, row, text_field, optional_text_field, edit_field, field, boolean_field with context %}
|
||||
|
||||
|
||||
@@ -1,8 +1,18 @@
|
||||
# Notify Sprint Goals Log
|
||||
|
||||
|
||||
## Sprint: Y (12/6/23)
|
||||
(Sprint X was canceled due to Thanksgiving)
|
||||
## Sprint: Z (12/21/23)
|
||||
|
||||
| | Goals | Impact | Milestone(s) |
|
||||
|-------------|-----------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------|--------------|
|
||||
| Engineering | Spend time [identifying](https://github.com/GSA/notifications-api/issues/656), [fixing](https://github.com/GSA/notifications-api/issues/645), and [displaying](https://github.com/GSA/notifications-admin/issues/964) various applicable message part limits, devise ways to [create better access to reports](https://github.com/GSA/notifications-admin/issues/855), implement Login.gov on staging environment, advance epic to [remove phone numbers from db](https://github.com/GSA/notifications-api/issues/667) | Better track annual and smart-retention limits, install required auth, make reports easier to find, expand message send volume for partners | Building Notify.gov |
|
||||
| UX | [Re-think Notify IA](https://github.com/GSA/notifications-admin/issues/910), start implementing dashboard changes, improve [team member section](https://github.com/GSA/notifications-admin/issues/1031)| Improve UX | Building Notify.gov|
|
||||
| Security | Complete necessary control families | Aim to have package completed with enough time to allow for long assessment| Secure ATO |
|
||||
| Content | Make content [more clear about limits](https://github.com/GSA/notifications-admin/issues/963), make content clearer by [adding `parts` where necessary](https://github.com/GSA/notifications-admin/issues/963), test making [editing content easier](https://github.com/GSA/notifications-admin/issues/976) with existing templates | Improve clarity of message parts for users, streamline content editing for the team| Building Notify.gov |
|
||||
| Ops | Assist in Tech to Gov process | |
|
||||
|
||||
## Sprint: Xingu Scale-Backed Antbird (12/6/23)
|
||||
(Sprint X was canceled due to Thanksgiving, so this is X & Y)
|
||||
|
||||
| | Goals | Impact | Milestone(s) |
|
||||
|-------------|-----------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------|--------------|
|
||||
|
||||
@@ -135,7 +135,6 @@ def test_service_navigation_for_org_user(
|
||||
"Send messages",
|
||||
"Sent messages",
|
||||
"Team members",
|
||||
"Usage",
|
||||
),
|
||||
200,
|
||||
),
|
||||
|
||||
@@ -400,9 +400,9 @@ def test_navigation_urls(
|
||||
assert [a["href"] for a in page.select(".nav a")] == [
|
||||
"/services/{}/templates".format(SERVICE_ONE_ID),
|
||||
"/services/{}".format(SERVICE_ONE_ID),
|
||||
"/services/{}/users".format(SERVICE_ONE_ID),
|
||||
"/services/{}/usage".format(SERVICE_ONE_ID),
|
||||
"/services/{}/service-settings".format(SERVICE_ONE_ID),
|
||||
# "/services/{}/users".format(SERVICE_ONE_ID),
|
||||
# "/services/{}/service-settings".format(SERVICE_ONE_ID),
|
||||
# '/services/{}/api'.format(SERVICE_ONE_ID),
|
||||
]
|
||||
|
||||
@@ -418,7 +418,7 @@ def test_caseworkers_get_caseworking_navigation(
|
||||
client_request.login(active_caseworking_user)
|
||||
page = client_request.get("main.choose_template", service_id=SERVICE_ONE_ID)
|
||||
assert normalize_spaces(page.select_one("header + .grid-container nav").text) == (
|
||||
"Send messages Sent messages Team members"
|
||||
"Send messages Sent messages"
|
||||
)
|
||||
|
||||
|
||||
@@ -433,5 +433,5 @@ def test_caseworkers_see_jobs_nav_if_jobs_exist(
|
||||
client_request.login(active_caseworking_user)
|
||||
page = client_request.get("main.choose_template", service_id=SERVICE_ONE_ID)
|
||||
assert normalize_spaces(page.select_one("header + .grid-container nav").text) == (
|
||||
"Send messages Sent messages Team members"
|
||||
"Send messages Sent messages"
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user