From 40f676d3ad86ff5c3b5a7ffc007f5ca46d27860a Mon Sep 17 00:00:00 2001 From: Chris Hill-Scott Date: Mon, 12 Nov 2018 09:16:14 +0000 Subject: [PATCH] Move labels of template types out of model MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The model shouldn’t have to care about how things are labelled in the UI, it should only care about the data. --- app/main/views/templates.py | 13 +++++++++++-- app/models/service.py | 18 ++++-------------- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/app/main/views/templates.py b/app/main/views/templates.py index d12da3223..542a54caf 100644 --- a/app/main/views/templates.py +++ b/app/main/views/templates.py @@ -151,10 +151,19 @@ def template_operation(operation_name, form): return True +def get_template_nav_label(value): + return { + 'all': 'All', + 'sms': 'Text message', + 'email': 'Email', + 'letter': 'Letter', + }[value] + + def get_template_nav_items(template_folder_id): return [ ( - label, + get_template_nav_label(key), key, url_for( '.choose_template', service_id=current_service.id, @@ -162,7 +171,7 @@ def get_template_nav_items(template_folder_id): ), '' ) - for label, key in [('All', 'all')] + current_service.available_template_types_as_tuples + for key in ['all'] + current_service.available_template_types ] diff --git a/app/models/service.py b/app/models/service.py index a0fe5ba5f..d24abdd47 100644 --- a/app/models/service.py +++ b/app/models/service.py @@ -37,9 +37,9 @@ class Service(): } TEMPLATE_TYPES = ( - ('sms', 'Text message'), - ('email', 'Email'), - ('letter', 'Letter'), + 'sms', + 'email', + 'letter', ) def __init__(self, _dict): @@ -121,17 +121,7 @@ class Service(): @property def available_template_types(self): - return [ - channel for channel, _ in self.TEMPLATE_TYPES - if self.has_permission(channel) - ] - - @property - def available_template_types_as_tuples(self): - return [ - (label, value) for value, label in self.TEMPLATE_TYPES - if self.has_permission(value) - ] + return list(filter(self.has_permission, self.TEMPLATE_TYPES)) @property def has_templates(self):