Set default branding for NHS services

The NHS is a special case because it’s not one organisation, but it does
have one consistent brand. So anyone working for an NHS organisation
should have their default branding set when they create a service, even
if we know nothing about their specific organisation.
This commit is contained in:
Chris Hill-Scott
2019-04-05 15:18:39 +01:00
parent 46c2f6a4ac
commit 5a7de22f55
5 changed files with 66 additions and 3 deletions

View File

@@ -11,6 +11,8 @@ from app.dao.dao_utils import (
transactional,
version_class
)
from app.dao.email_branding_dao import dao_get_email_branding_by_name
from app.dao.letter_branding_dao import dao_get_letter_branding_by_name
from app.dao.organisation_dao import dao_get_organisation_by_email_address
from app.dao.service_sms_sender_dao import insert_service_sms_sender
from app.dao.service_user_dao import dao_get_service_user
@@ -38,7 +40,7 @@ from app.models import (
SMS_TYPE,
LETTER_TYPE,
)
from app.utils import get_london_midnight_in_utc, midnight_n_days_ago
from app.utils import email_address_is_nhs, get_london_midnight_in_utc, midnight_n_days_ago
DEFAULT_SERVICE_PERMISSIONS = [
SMS_TYPE,
@@ -201,6 +203,12 @@ def dao_create_service(
if organisation.letter_branding and not service.letter_branding:
service.letter_branding = organisation.letter_branding
if not organisation and (
service.organisation_type == 'nhs' or email_address_is_nhs(user.email_address)
):
service.email_branding = dao_get_email_branding_by_name('NHS')
service.letter_branding = dao_get_letter_branding_by_name('NHS')
db.session.add(service)