From ff9d3d72ad163758760251a55aabb63aed74ed05 Mon Sep 17 00:00:00 2001 From: Nicholas Staples Date: Wed, 30 Mar 2016 10:23:39 +0100 Subject: [PATCH] Fixed merge conflicts with master. Code quality fixes. --- app/main/dao/templates_dao.py | 55 ----------------------------------- app/main/views/dashboard.py | 3 +- app/main/views/jobs.py | 3 +- app/main/views/send.py | 21 ++++++++----- app/main/views/templates.py | 11 ++++--- 5 files changed, 21 insertions(+), 72 deletions(-) delete mode 100644 app/main/dao/templates_dao.py diff --git a/app/main/dao/templates_dao.py b/app/main/dao/templates_dao.py deleted file mode 100644 index 63e5466bf..000000000 --- a/app/main/dao/templates_dao.py +++ /dev/null @@ -1,55 +0,0 @@ -from flask import url_for -from app import service_api_client -from app.utils import BrowsableItem - - -def insert_service_template(name, type_, content, service_id, subject=None): - return service_api_client.create_service_template( - name, type_, content, service_id, subject) - - -def update_service_template(id_, name, type_, content, service_id, subject=None): - return service_api_client.update_service_template( - id_, name, type_, content, service_id) - - -def get_service_templates(service_id): - return service_api_client.get_service_templates(service_id) - - -def get_service_template_or_404(service_id, template_id): - return service_api_client.get_service_template(service_id, template_id) - - -def delete_service_template(service_id, template_id): - return service_api_client.delete_service_template( - service_id, template_id) - - -class TemplatesBrowsableItem(BrowsableItem): - - @property - def title(self): - return self._item['name'] - - @property - def type(self): - return self._item['template_type'] - - @property - def link(self): - return url_for( - 'main.edit_service_template', - service_id=self._item['service'], - template_id=self._item['id']) - - @property - def destructive(self): - return False - - @property - def hint(self): - return "Some service template hint here" - - def get_field(self, field): - return self._item.get(field, None) diff --git a/app/main/views/dashboard.py b/app/main/views/dashboard.py index 8194e80d3..ffed74775 100644 --- a/app/main/views/dashboard.py +++ b/app/main/views/dashboard.py @@ -7,7 +7,6 @@ from flask import ( from flask_login import login_required from app.main import main -from app.main.dao import templates_dao from app import (job_api_client, statistics_api_client, service_api_client) from app.utils import user_has_permissions @@ -16,7 +15,7 @@ from app.utils import user_has_permissions @login_required @user_has_permissions() def service_dashboard(service_id): - templates = templates_dao.get_service_templates(service_id)['data'] + templates = service_api_client.get_service_templates(service_id)['data'] jobs = job_api_client.get_job(service_id)['data'] service = service_api_client.get_service(service_id) diff --git a/app/main/views/jobs.py b/app/main/views/jobs.py index 13d9ea2ec..ac231d053 100644 --- a/app/main/views/jobs.py +++ b/app/main/views/jobs.py @@ -16,7 +16,6 @@ from utils.template import Template from app import (job_api_client, notification_api_client, service_api_client) from app.main import main -from app.main.dao import templates_dao from app.utils import ( get_page_from_request, generate_previous_next_dict, @@ -41,7 +40,7 @@ def view_jobs(service_id): def view_job(service_id, job_id): service = service_api_client.get_service(service_id)['data'] job = job_api_client.get_job(service_id, job_id)['data'] - template = templates_dao.get_service_template_or_404(service_id, job['template'])['data'] + template = service_api_client.get_service_template(service_id, job['template'])['data'] notifications = notification_api_client.get_notifications_for_service(service_id, job_id) finished = job['status'] == 'finished' return render_template( diff --git a/app/main/views/send.py b/app/main/views/send.py index 37cc7a040..ec92a5860 100644 --- a/app/main/views/send.py +++ b/app/main/views/send.py @@ -25,7 +25,6 @@ from app.main.uploader import ( s3upload, s3download ) -from app.main.dao import templates_dao from app import (job_api_client, service_api_client) from app.utils import user_has_permissions, get_errors_for_csv @@ -81,7 +80,7 @@ def choose_template(service_id, template_type): Template( template, prefix=service['name'] - ) for template in templates_dao.get_service_templates(service_id)['data'] + ) for template in service_api_client.get_service_templates(service_id)['data'] if template['template_type'] == template_type ], template_type=template_type, @@ -99,7 +98,7 @@ def send_messages(service_id, template_id): service = service_api_client.get_service(service_id)['data'] template = Template( - templates_dao.get_service_template_or_404(service_id, template_id)['data'], + service_api_client.get_service_template(service_id, template_id)['data'], prefix=service['name'] ) @@ -143,7 +142,11 @@ def send_messages(service_id, template_id): @login_required @user_has_permissions('send_texts', 'send_emails', 'send_letters', 'manage_templates', or_=True) def get_example_csv(service_id, template_id): - template = Template(templates_dao.get_service_template_or_404(service_id, template_id)['data']) + template = Template(service_api_client.get_service_template(service_id, template_id)['data']) + # Good practice to use context managers + # http://stackoverflow.com/questions/9718950/do-i-have-to-do-stringio-close + # For this instance it may not be a problem but someone else looking at the + # code may assume its always safe when it might not be. output = io.StringIO() writer = csv.writer(output) writer.writerow( @@ -163,7 +166,11 @@ def get_example_csv(service_id, template_id): @login_required @user_has_permissions('send_texts', 'send_emails', 'send_letters') def send_message_to_self(service_id, template_id): - template = Template(templates_dao.get_service_template_or_404(service_id, template_id)['data']) + template = Template(service_api_client.get_service_template(service_id, template_id)['data']) + # Good practice to use context managers + # http://stackoverflow.com/questions/9718950/do-i-have-to-do-stringio-close + # For this instance it may not be a problem but someone else looking at the + # code may assume its always safe when it might not be. output = io.StringIO() writer = csv.writer(output) writer.writerow( @@ -199,7 +206,7 @@ def send_message_to_self(service_id, template_id): @user_has_permissions('manage_api_keys', 'access_developer_docs') def send_from_api(service_id, template_id): template = Template( - templates_dao.get_service_template_or_404(service_id, template_id)['data'] + service_api_client.get_service_template(service_id, template_id)['data'] ) payload = { "to": current_user.mobile_number, @@ -230,7 +237,7 @@ def check_messages(service_id, template_type, upload_id): if not contents: flash('There was a problem reading your upload file') - template = templates_dao.get_service_template_or_404( + template = service_api_client.get_service_template( service_id, session['upload_data'].get('template_id') )['data'] diff --git a/app/main/views/templates.py b/app/main/views/templates.py index 9c27f6aeb..aecb8d90a 100644 --- a/app/main/views/templates.py +++ b/app/main/views/templates.py @@ -4,7 +4,6 @@ from flask_login import login_required from app.main import main from app.utils import user_has_permissions from app.main.forms import SMSTemplateForm, EmailTemplateForm -from app.main.dao import templates_dao as tdao from app import service_api_client @@ -32,7 +31,7 @@ def add_service_template(service_id, template_type): form = form_objects[template_type]() if form.validate_on_submit(): - tdao.insert_service_template( + service_api_client.create_service_template( form.name.data, template_type, form.template_content.data, @@ -56,12 +55,12 @@ def add_service_template(service_id, template_type): @login_required @user_has_permissions('manage_templates', admin_override=True) def edit_service_template(service_id, template_id): - template = tdao.get_service_template_or_404(service_id, template_id)['data'] + template = service_api_client.get_service_template(service_id, template_id)['data'] template['template_content'] = template['content'] form = form_objects[template['template_type']](**template) if form.validate_on_submit(): - tdao.update_service_template( + service_api_client.update_service_template( template_id, form.name.data, template['template_type'], form.template_content.data, service_id ) @@ -85,10 +84,10 @@ def edit_service_template(service_id, template_id): @login_required @user_has_permissions('manage_templates', admin_override=True) def delete_service_template(service_id, template_id): - template = tdao.get_service_template_or_404(service_id, template_id)['data'] + template = service_api_client.get_service_template(service_id, template_id)['data'] if request.method == 'POST': - tdao.delete_service_template(service_id, template_id) + service_api_client.delete_service_template(service_id, template_id) return redirect(url_for( '.choose_template', service_id=service_id,