mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-05 10:53:28 -05:00
This commit parameterises all methods in the send view so that they can send either emails or SMS messages. It works out what kind of message it is sending from the `template_type` property of the template object. This means that the `Template` util class needs to know about these properties, which means that this commit depends on: https://github.com/alphagov/notifications-utils/pull/2 This commit does _not_ add tests for sending emails. The existing tests for sending SMS still pass, but actually sending emails is outside the scope of this story.
63 lines
1.7 KiB
Python
63 lines
1.7 KiB
Python
from flask import url_for, abort
|
|
from app import notifications_api_client
|
|
from app.utils import BrowsableItem
|
|
from notifications_python_client.errors import HTTPError
|
|
|
|
|
|
def insert_service_template(name, type_, content, service_id, subject=None):
|
|
return notifications_api_client.create_service_template(
|
|
name, type_, content, service_id, subject)
|
|
|
|
|
|
def update_service_template(id_, name, type_, content, service_id, subject=None):
|
|
return notifications_api_client.update_service_template(
|
|
id_, name, type_, content, service_id)
|
|
|
|
|
|
def get_service_templates(service_id):
|
|
return notifications_api_client.get_service_templates(service_id)
|
|
|
|
|
|
def get_service_template_or_404(service_id, template_id):
|
|
try:
|
|
return notifications_api_client.get_service_template(service_id, template_id)
|
|
except HTTPError as e:
|
|
if e.status_code == 404:
|
|
abort(404)
|
|
else:
|
|
raise e
|
|
|
|
|
|
def delete_service_template(service_id, template_id):
|
|
return notifications_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)
|