diff --git a/app/delivery/send_to_providers.py b/app/delivery/send_to_providers.py index 6daf54b55..6276d64cb 100644 --- a/app/delivery/send_to_providers.py +++ b/app/delivery/send_to_providers.py @@ -20,12 +20,7 @@ from app.models import SMS_TYPE, KEY_TYPE_TEST, BRANDING_ORG, EMAIL_TYPE, NOTIFI def send_sms_to_provider(notification): service = notification.service - if not service.active: - notification.status = NOTIFICATION_TECHNICAL_FAILURE - dao_update_notification(notification) - current_app.logger.warn( - "Send sms for notification id {} to provider is not allowed: service {} is inactive".format(notification.id, - service.id)) + if service_is_inactive(service, notification): return if notification.status == 'created': @@ -69,13 +64,7 @@ def send_sms_to_provider(notification): def send_email_to_provider(notification): service = notification.service - if not service.active: - notification.status = NOTIFICATION_TECHNICAL_FAILURE - dao_update_notification(notification) - current_app.logger.warn( - "Send email for notification id {} to provider is not allowed: service {} is inactive".format( - notification.id, - service.id)) + if service_is_inactive(service, notification): return if notification.status == 'created': provider = provider_to_use(EMAIL_TYPE, notification.id) @@ -199,3 +188,21 @@ def get_html_email_options(service): branding = {} return dict(govuk_banner=govuk_banner, **branding) + + +def service_is_inactive(service, notification): + """ + If service is inactive update the notification to technical failure and return true. + :param service: + :param notification: + :return: + """ + if not service.active: + notification.status = NOTIFICATION_TECHNICAL_FAILURE + dao_update_notification(notification) + current_app.logger.warn( + "Send {} for notification id {} to provider is not allowed: service {} is inactive".format( + notification.notification_type, + notification.id, + service.id)) + return not service.active