Mapped template actions to the api and mocked tests.

This commit is contained in:
Nicholas Staples
2016-01-19 15:54:12 +00:00
parent e2f5d64695
commit cfb3f96b01
13 changed files with 321 additions and 88 deletions

View File

@@ -3,80 +3,99 @@ from flask_login import login_required
from app.main import main
from app.main.forms import TemplateForm
from ._templates import templates
from app.main.dao.services_dao import get_service_by_id
from app.main.dao import templates_dao as dao
from client.errors import HTTPError
@main.route("/services/<int:service_id>/templates")
@login_required
def manage_templates(service_id):
def manage_service_templates(service_id):
try:
templates = dao.get_service_templates(service_id)['data']
except HTTPError as e:
if e.status_code == 404:
abort(404)
else:
raise e
return render_template(
'views/manage-templates.html',
service_id=service_id,
templates=templates,
)
templates=templates)
@main.route("/services/<int:service_id>/templates/add", methods=['GET', 'POST'])
@login_required
def add_template(service_id):
def add_service_template(service_id):
try:
service = dao.get_service_by_id(service_id)['data']
except HTTPError as e:
if e.status_code == 404:
abort(404)
else:
raise e
form = TemplateForm()
if request.method == 'GET':
return render_template(
'views/edit-template.html',
h1='Add template',
form=form,
service_id=service_id
)
elif request.method == 'POST':
return redirect(url_for('.manage_templates', service_id=service_id))
if form.validate_on_submit():
dao.insert_service_template(
form.name.data, form.template_type.data, form.content.data, service_id)
return redirect(url_for(
'.manage_service_templates', service_id=service_id))
return render_template(
'views/edit-template.html',
h1='Add template',
form=form,
service_id=service_id)
@main.route("/services/<int:service_id>/templates/<int:template_id>", methods=['GET', 'POST'])
@login_required
def edit_template(service_id, template_id):
def edit_service_template(service_id, template_id):
try:
template = dao.get_service_template(service_id, template_id)['data']
except HTTPError as e:
if e.status_code == 404:
abort(404)
else:
raise e
form = TemplateForm(form_data=template)
form = TemplateForm()
if form.validate_on_submit():
dao.update_service_template(
template_id, form.name.data, form.template_type.data,
form.content.data, service_id)
return redirect(url_for('.manage_service_templates', service_id=service_id))
form.template_name.data = templates[template_id - 1]['name']
form.template_body.data = templates[template_id - 1]['body']
if request.method == 'GET':
return render_template(
'views/edit-template.html',
h1='Edit template',
form=form,
service_id=service_id,
template_id=template_id
)
elif request.method == 'POST':
return redirect(url_for('.manage_templates', service_id=service_id))
return render_template(
'views/edit-template.html',
h1='Edit template',
form=form,
service_id=service_id,
template_id=template_id)
@main.route("/services/<int:service_id>/templates/<int:template_id>/delete", methods=['GET', 'POST'])
@login_required
def delete_template(service_id, template_id):
form = TemplateForm()
form.template_name.data = templates[template_id - 1]['name']
form.template_body.data = templates[template_id - 1]['body']
if request.method == 'GET':
flash('Are you sure you want to delete {}?'.format(form.template_name.data), 'delete')
return render_template(
'views/edit-template.html',
h1='Edit template',
form=form,
service_id=service_id,
template_id=template_id
)
elif request.method == 'POST':
if request.form.get('delete'):
return redirect(url_for('.manage_templates', service_id=service_id))
def delete_service_template(service_id, template_id):
try:
template = dao.get_service_template(service_id, template_id)['data']
except HTTPError as e:
if e.status_code == 404:
abort(404)
else:
return redirect(url_for('.manage_templates', service_id=service_id))
raise e
form = TemplateForm(form_data=template)
if form.validate_on_submit():
dao.delete_service_template(service_id, template_id)
return redirect(url_for('.manage_service_templates', service_id=service_id))
flash('Are you sure you want to delete {}?'.format(form.name.data), 'delete')
return render_template(
'views/edit-template.html',
h1='Edit template',
form=form,
service_id=service_id,
template_id=template_id)