mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-05 10:53:28 -05:00
Add prompt to add first template to dashboard
https://www.pivotaltracker.com/story/show/112814667 > As you need to have templates to send any notifications, we should be nudging > people to do that when they sign in. > > This should be in the dashboard, with a link to manage templates. > > Should be bright and shiny and only show if the service has no templates. This commit adds the above. It also rationalises the language (some places used ‘create template’, others used ‘add template’, this changes everything to the latter).
This commit is contained in:
@@ -2,6 +2,7 @@ from flask import (abort, render_template, session)
|
||||
from flask_login import login_required
|
||||
from app.main import main
|
||||
from app.main.dao.services_dao import get_service_by_id
|
||||
from app.main.dao import templates_dao
|
||||
from client.errors import HTTPError
|
||||
from ._jobs import jobs
|
||||
|
||||
@@ -9,6 +10,13 @@ from ._jobs import jobs
|
||||
@main.route("/services/<int:service_id>/dashboard")
|
||||
@login_required
|
||||
def service_dashboard(service_id):
|
||||
try:
|
||||
templates = templates_dao.get_service_templates(service_id)['data']
|
||||
except HTTPError as e:
|
||||
if e.status_code == 404:
|
||||
abort(404)
|
||||
else:
|
||||
raise e
|
||||
try:
|
||||
service = get_service_by_id(service_id)
|
||||
session['service_name'] = service['data']['name']
|
||||
@@ -22,4 +30,5 @@ def service_dashboard(service_id):
|
||||
jobs=jobs,
|
||||
free_text_messages_remaining='25,000',
|
||||
spent_this_month='0.00',
|
||||
has_templates=bool(len(templates)),
|
||||
service_id=service_id)
|
||||
|
||||
@@ -15,7 +15,7 @@ GOV.UK Notify | Manage templates
|
||||
<h1 class="heading-xlarge">Templates</h1>
|
||||
|
||||
<p>
|
||||
<a href="{{ url_for('.add_service_template', service_id=service_id) }}">Create new template</a>
|
||||
<a href="{{ url_for('.add_service_template', service_id=service_id) }}">Add new template</a>
|
||||
|
||||
{% for template in templates %}
|
||||
{% if template.get_field('template_type') == 'sms' %}
|
||||
|
||||
@@ -8,6 +8,15 @@
|
||||
|
||||
{% block maincolumn_content %}
|
||||
|
||||
{% if not has_templates %}
|
||||
{{ banner(
|
||||
'<a href="{}">Add a template</a> to start sending notifications'.format(
|
||||
url_for(".add_service_template", service_id=service_id)
|
||||
)|safe,
|
||||
type="tip"
|
||||
)}}
|
||||
{% endif %}
|
||||
|
||||
<ul class="grid-row job-totals">
|
||||
<li class="column-half">
|
||||
{{ big_number(
|
||||
|
||||
@@ -4,6 +4,7 @@ from flask import url_for, session
|
||||
def test_should_show_recent_jobs_on_dashboard(app_,
|
||||
api_user_active,
|
||||
mock_get_service,
|
||||
mock_get_service_templates,
|
||||
mock_get_user,
|
||||
mock_get_user_by_email,
|
||||
mock_login):
|
||||
|
||||
@@ -17,6 +17,7 @@ def test_sign_out_user(app_,
|
||||
api_user_active,
|
||||
mock_get_user,
|
||||
mock_get_user_by_email,
|
||||
mock_get_service_templates,
|
||||
mock_login):
|
||||
with app_.test_request_context():
|
||||
email = 'valid@example.gov.uk'
|
||||
|
||||
Reference in New Issue
Block a user