mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-23 15:57:23 -04:00
Use Template to replace/highlight placeholders
This commit brings in the `Template` util, added here: https://github.com/alphagov/notifications-utils/pull/1 It also does a fair bit of tidying up, which I’ve unfortunately squashed into this one massive commit. The main change is moving 404 handling into the templates dao, so that every view isn’t littered with `try: … except(HTTPError)`. It also adds new features, in a prototypy sort of way, which are: - download a prefilled example CSV - show all the columns for your template on the 'check' page
This commit is contained in:
@@ -1,13 +1,15 @@
|
||||
from flask import request, render_template, redirect, url_for, flash, abort
|
||||
from flask_login import login_required
|
||||
|
||||
from notifications_python_client.errors import HTTPError
|
||||
from utils.template import Template
|
||||
|
||||
from app.main import main
|
||||
from app.main.forms import TemplateForm
|
||||
from app import job_api_client
|
||||
from app.main.dao.services_dao import get_service_by_id
|
||||
from app.main.dao import templates_dao as tdao
|
||||
from app.main.dao import services_dao as sdao
|
||||
from notifications_python_client.errors import HTTPError
|
||||
|
||||
|
||||
@main.route("/services/<service_id>/templates")
|
||||
@@ -15,7 +17,6 @@ from notifications_python_client.errors import HTTPError
|
||||
def manage_service_templates(service_id):
|
||||
try:
|
||||
jobs = job_api_client.get_job(service_id)['data']
|
||||
templates = tdao.get_service_templates(service_id)['data']
|
||||
except HTTPError as e:
|
||||
if e.status_code == 404:
|
||||
abort(404)
|
||||
@@ -25,7 +26,11 @@ def manage_service_templates(service_id):
|
||||
'views/manage-templates.html',
|
||||
service_id=service_id,
|
||||
has_jobs=bool(jobs),
|
||||
templates=[tdao.TemplatesBrowsableItem(x) for x in templates])
|
||||
templates=[
|
||||
Template(template)
|
||||
for template in tdao.get_service_templates(service_id)['data']
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
@main.route("/services/<service_id>/templates/add", methods=['GET', 'POST'])
|
||||
@@ -56,14 +61,7 @@ def add_service_template(service_id):
|
||||
@main.route("/services/<service_id>/templates/<int:template_id>", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
def edit_service_template(service_id, template_id):
|
||||
try:
|
||||
template = tdao.get_service_template(service_id, template_id)['data']
|
||||
except HTTPError as e:
|
||||
if e.status_code == 404:
|
||||
abort(404)
|
||||
else:
|
||||
raise e
|
||||
|
||||
template = tdao.get_service_template_or_404(service_id, template_id)['data']
|
||||
template['template_content'] = template['content']
|
||||
form = TemplateForm(**template)
|
||||
|
||||
@@ -84,21 +82,14 @@ def edit_service_template(service_id, template_id):
|
||||
@main.route("/services/<service_id>/templates/<int:template_id>/delete", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
def delete_service_template(service_id, template_id):
|
||||
try:
|
||||
template = tdao.get_service_template(service_id, template_id)['data']
|
||||
except HTTPError as e:
|
||||
if e.status_code == 404:
|
||||
abort(404)
|
||||
else:
|
||||
raise e
|
||||
|
||||
template['template_content'] = template['content']
|
||||
form = TemplateForm(**template)
|
||||
template = tdao.get_service_template_or_404(service_id, template_id)['data']
|
||||
|
||||
if request.method == 'POST':
|
||||
tdao.delete_service_template(service_id, template_id)
|
||||
return redirect(url_for('.manage_service_templates', service_id=service_id))
|
||||
|
||||
template['template_content'] = template['content']
|
||||
form = TemplateForm(**template)
|
||||
flash('Are you sure you want to delete ‘{}’?'.format(form.name.data), 'delete')
|
||||
return render_template(
|
||||
'views/edit-template.html',
|
||||
|
||||
Reference in New Issue
Block a user