diff --git a/app/main/views/send.py b/app/main/views/send.py index 58fbcee67..5992b4ac3 100644 --- a/app/main/views/send.py +++ b/app/main/views/send.py @@ -359,9 +359,9 @@ def send_test_step(service_id, template_id, step_index): email_reply_to = None sms_sender = None if db_template['template_type'] == 'email': - email_reply_to = get_email_reply_to_address_from_session(service_id) + email_reply_to = get_email_reply_to_address_from_session() elif db_template['template_type'] == 'sms': - sms_sender = get_sms_sender_from_session(service_id) + sms_sender = get_sms_sender_from_session() template = get_template( db_template, current_service, @@ -530,9 +530,9 @@ def _check_messages(service_id, template_id, upload_id, preview_row, letters_as_ email_reply_to = None sms_sender = None if db_template['template_type'] == 'email': - email_reply_to = get_email_reply_to_address_from_session(service_id) + email_reply_to = get_email_reply_to_address_from_session() elif db_template['template_type'] == 'sms': - sms_sender = get_sms_sender_from_session(service_id) + sms_sender = get_sms_sender_from_session() template = get_template( db_template, current_service, @@ -815,9 +815,9 @@ def _check_notification(service_id, template_id, exception=None): email_reply_to = None sms_sender = None if db_template['template_type'] == 'email': - email_reply_to = get_email_reply_to_address_from_session(service_id) + email_reply_to = get_email_reply_to_address_from_session() elif db_template['template_type'] == 'sms': - sms_sender = get_sms_sender_from_session(service_id) + sms_sender = get_sms_sender_from_session() template = get_template( db_template, current_service, @@ -903,17 +903,17 @@ def send_notification(service_id, template_id): )) -def get_email_reply_to_address_from_session(service_id): +def get_email_reply_to_address_from_session(): if session.get('sender_id'): - return service_api_client.get_reply_to_email_address( - service_id, session['sender_id'] + return current_service.get_email_reply_to_address( + session['sender_id'] )['email_address'] -def get_sms_sender_from_session(service_id): +def get_sms_sender_from_session(): if session.get('sender_id'): - return service_api_client.get_sms_sender( - service_id=service_id, sms_sender_id=session['sender_id'] + return current_service.get_sms_sender( + session['sender_id'] )['sms_sender'] diff --git a/app/main/views/service_settings.py b/app/main/views/service_settings.py index 4f38ddb39..5a00f47d0 100644 --- a/app/main/views/service_settings.py +++ b/app/main/views/service_settings.py @@ -13,7 +13,6 @@ from flask import ( ) from flask_login import current_user, login_required from notifications_python_client.errors import HTTPError -from notifications_utils.field import Field from app import ( billing_api_client, @@ -56,7 +55,6 @@ from app.utils import ( AgreementInfo, email_safe, get_cdn_domain, - get_default_sms_sender, user_has_permissions, user_is_platform_admin, ) @@ -66,50 +64,7 @@ from app.utils import ( @login_required @user_has_permissions('manage_service', 'manage_api_keys') def service_settings(service_id): - letter_branding_organisations = email_branding_client.get_letter_email_branding() - organisation = organisations_client.get_service_organisation(service_id).get('name', None) - - if current_service.email_branding: - email_branding = email_branding_client.get_email_branding(current_service.email_branding)['email_branding'] - else: - email_branding = None - - inbound_number = inbound_number_client.get_inbound_sms_number_for_service(service_id) - disp_inbound_number = inbound_number['data'].get('number', '') - reply_to_email_addresses = service_api_client.get_reply_to_email_addresses(service_id) - reply_to_email_address_count = len(reply_to_email_addresses) - default_reply_to_email_address = next( - (x['email_address'] for x in reply_to_email_addresses if x['is_default']), "Not set" - ) - letter_contact_details = service_api_client.get_letter_contacts(service_id) - letter_contact_details_count = len(letter_contact_details) - default_letter_contact_block = next( - (Field(x['contact_block'], html='escape') for x in letter_contact_details if x['is_default']), "Not set" - ) - sms_senders = service_api_client.get_sms_senders(service_id) - - free_sms_fragment_limit = billing_api_client.get_free_sms_fragment_limit_for_year(service_id) - data_retention = service_api_client.get_service_data_retention(service_id) - - return render_template( - 'views/service-settings.html', - email_branding=email_branding, - letter_branding=letter_branding_organisations.get( - current_service.get('dvla_organisation', '001') - ), - can_receive_inbound=(current_service.has_permission('inbound_sms')), - inbound_number=disp_inbound_number, - default_reply_to_email_address=default_reply_to_email_address, - reply_to_email_address_count=reply_to_email_address_count, - default_letter_contact_block=default_letter_contact_block, - letter_contact_details_count=letter_contact_details_count, - default_sms_sender=get_default_sms_sender(sms_senders), - sms_sender_count=len(sms_senders), - free_sms_fragment_limit=free_sms_fragment_limit, - prefix_sms=current_service.prefix_sms, - organisation=organisation, - data_retention=data_retention, - ) + return render_template('views/service-settings.html') @main.route("/services//service-settings/name", methods=['GET', 'POST']) @@ -454,10 +409,7 @@ def service_set_reply_to_email(service_id): @login_required @user_has_permissions('manage_service', 'manage_api_keys') def service_email_reply_to(service_id): - reply_to_email_addresses = service_api_client.get_reply_to_email_addresses(service_id) - return render_template( - 'views/service-settings/email_reply_to.html', - reply_to_email_addresses=reply_to_email_addresses) + return render_template('views/service-settings/email_reply_to.html') @main.route("/services//service-settings/email-reply-to/add", methods=['GET', 'POST']) @@ -465,8 +417,7 @@ def service_email_reply_to(service_id): @user_has_permissions('manage_service') def service_add_email_reply_to(service_id): form = ServiceReplyToEmailForm() - reply_to_email_address_count = len(service_api_client.get_reply_to_email_addresses(service_id)) - first_email_address = reply_to_email_address_count == 0 + first_email_address = current_service.count_email_reply_to_addresses == 0 if form.validate_on_submit(): service_api_client.add_reply_to_email_address( current_service.id, @@ -494,7 +445,7 @@ def service_add_email_reply_to(service_id): @user_has_permissions('manage_service') def service_edit_email_reply_to(service_id, reply_to_email_id): form = ServiceReplyToEmailForm() - reply_to_email_address = service_api_client.get_reply_to_email_address(service_id, reply_to_email_id) + reply_to_email_address = current_service.get_email_reply_to_address(reply_to_email_id) if request.method == 'GET': form.email_address.data = reply_to_email_address['email_address'] form.is_default.data = reply_to_email_address['is_default'] @@ -530,7 +481,6 @@ def service_delete_email_reply_to(service_id, reply_to_email_id): @user_has_permissions('manage_service') def service_set_inbound_number(service_id): available_inbound_numbers = inbound_number_client.get_available_inbound_sms_numbers() - service_has_inbound_number = inbound_number_client.get_inbound_sms_number_for_service(service_id)['data'] != {} inbound_numbers_value_and_label = [ (number['id'], number['number']) for number in available_inbound_numbers['data'] ] @@ -551,7 +501,6 @@ def service_set_inbound_number(service_id): 'views/service-settings/set-inbound-number.html', form=form, no_available_numbers=no_available_numbers, - service_has_inbound_number=service_has_inbound_number ) @@ -614,10 +563,8 @@ def service_set_international_sms(service_id): @login_required @user_has_permissions('manage_service') def service_set_inbound_sms(service_id): - number = inbound_number_client.get_inbound_sms_number_for_service(service_id)['data'].get('number', '') return render_template( 'views/service-settings/set-inbound-sms.html', - inbound_number=number, ) @@ -680,8 +627,7 @@ def service_letter_contact_details(service_id): @user_has_permissions('manage_service') def service_add_letter_contact(service_id): form = ServiceLetterContactBlockForm() - letter_contact_blocks_count = len(service_api_client.get_letter_contacts(service_id)) - first_contact_block = letter_contact_blocks_count == 0 + first_contact_block = current_service.count_letter_contact_details == 0 if form.validate_on_submit(): service_api_client.add_letter_contact( current_service.id, @@ -696,15 +642,18 @@ def service_add_letter_contact(service_id): return render_template( 'views/service-settings/letter-contact/add.html', form=form, - first_contact_block=first_contact_block) + first_contact_block=first_contact_block, + ) @main.route("/services//service-settings/letter-contact//edit", methods=['GET', 'POST']) @login_required @user_has_permissions('manage_service') def service_edit_letter_contact(service_id, letter_contact_id): - letter_contact_block = service_api_client.get_letter_contact(service_id, letter_contact_id) - form = ServiceLetterContactBlockForm(letter_contact_block=letter_contact_block['contact_block']) + letter_contact_block = current_service.get_letter_contact_block(letter_contact_id) + form = ServiceLetterContactBlockForm( + letter_contact_block=letter_contact_block['contact_block'] + ) if request.method == 'GET': form.is_default.data = letter_contact_block['is_default'] if form.validate_on_submit(): @@ -725,24 +674,8 @@ def service_edit_letter_contact(service_id, letter_contact_id): @login_required @user_has_permissions('manage_service', 'manage_api_keys') def service_sms_senders(service_id): - - def attach_hint(sender): - hints = [] - if sender['is_default']: - hints += ["default"] - if sender['inbound_number_id']: - hints += ["receives replies"] - if hints: - sender['hint'] = "(" + " and ".join(hints) + ")" - - sms_senders = service_api_client.get_sms_senders(service_id) - - for sender in sms_senders: - attach_hint(sender) - return render_template( 'views/service-settings/sms-senders.html', - sms_senders=sms_senders ) @@ -751,8 +684,7 @@ def service_sms_senders(service_id): @user_has_permissions('manage_service') def service_add_sms_sender(service_id): form = ServiceSmsSenderForm() - sms_sender_count = len(service_api_client.get_sms_senders(service_id)) - first_sms_sender = sms_sender_count == 0 + first_sms_sender = current_service.count_sms_senders == 0 if form.validate_on_submit(): service_api_client.add_sms_sender( current_service.id, @@ -779,7 +711,7 @@ def service_add_sms_sender(service_id): @login_required @user_has_permissions('manage_service') def service_edit_sms_sender(service_id, sms_sender_id): - sms_sender = service_api_client.get_sms_sender(service_id, sms_sender_id) + sms_sender = current_service.get_sms_sender(sms_sender_id) is_inbound_number = sms_sender['inbound_number_id'] if is_inbound_number: form = ServiceEditInboundNumberForm(is_default=sms_sender['is_default']) @@ -875,7 +807,7 @@ def set_organisation_type(service_id): @user_is_platform_admin def set_free_sms_allowance(service_id): - form = FreeSMSAllowance(free_sms_allowance=billing_api_client.get_free_sms_fragment_limit_for_year(service_id)) + form = FreeSMSAllowance(free_sms_allowance=current_service.free_sms_fragment_limit) if form.validate_on_submit(): billing_api_client.create_or_update_free_sms_fragment_limit(service_id, form.free_sms_allowance.data) @@ -896,7 +828,7 @@ def service_set_email_branding(service_id): form = ServiceSetBranding( all_email_brandings=get_branding_as_value_and_label(email_branding), - current_email_branding=current_service.email_branding, + current_email_branding=current_service.email_branding_id, ) if form.validate_on_submit(): @@ -967,9 +899,6 @@ def set_letter_branding(service_id): def request_letter_branding(service_id): return render_template( 'views/service-settings/request-letter-branding.html', - letter_branding=email_branding_client.get_letter_email_branding()[ - current_service.get('dvla_organisation', '001') - ] ) @@ -1009,9 +938,7 @@ def branding_request(service_id): branding_type = 'govuk' if current_service.email_branding: - email_branding = email_branding_client.get_email_branding( - current_service.email_branding)['email_branding'] - branding_type = email_branding['brand_type'] + branding_type = current_service.email_branding['brand_type'] form = BrandingOptionsEmail( options=branding_type @@ -1054,9 +981,9 @@ def branding_request(service_id): @login_required @user_is_platform_admin def data_retention(service_id): - results = service_api_client.get_service_data_retention(service_id) - return render_template('views/service-settings/data-retention.html', - data_retention_settings=results) + return render_template( + 'views/service-settings/data-retention.html', + ) @main.route("/services//data-retention/add", methods=['GET', 'POST']) @@ -1079,7 +1006,7 @@ def add_data_retention(service_id): @login_required @user_is_platform_admin def edit_data_retention(service_id, data_retention_id): - data_retention_item = service_api_client.get_service_data_retention_by_id(service_id, data_retention_id) + data_retention_item = current_service.get_data_retention_item(data_retention_id) form = ServiceDataRetentionEditForm(days_of_retention=data_retention_item['days_of_retention']) if form.validate_on_submit(): service_api_client.update_service_data_retention(service_id, data_retention_id, form.days_of_retention.data) diff --git a/app/models/service.py b/app/models/service.py index 953cd3538..79964e931 100644 --- a/app/models/service.py +++ b/app/models/service.py @@ -1,6 +1,11 @@ +from notifications_utils.field import Field from werkzeug.utils import cached_property +from app.notify_client.billing_api_client import billing_api_client +from app.notify_client.email_branding_client import email_branding_client +from app.notify_client.inbound_number_client import inbound_number_client from app.notify_client.job_api_client import job_api_client +from app.notify_client.organisations_api_client import organisations_client from app.notify_client.service_api_client import service_api_client from app.notify_client.user_api_client import user_api_client from app.utils import get_default_sms_sender @@ -114,10 +119,28 @@ class Service(): return len(self.templates_by_type('sms')) > 0 @cached_property + def email_reply_to_addresses(self): + return service_api_client.get_reply_to_email_addresses(self.id) + + @property def has_email_reply_to_address(self): - return bool(service_api_client.get_reply_to_email_addresses( - self.id - )) + return bool(self.email_reply_to_addresses) + + @property + def count_email_reply_to_addresses(self): + return len(self.email_reply_to_addresses) + + @property + def default_email_reply_to_address(self): + return next( + ( + x['email_address'] + for x in self.email_reply_to_addresses if x['is_default'] + ), None + ) + + def get_email_reply_to_address(self, id): + return service_api_client.get_reply_to_email_address(self.id, id) @property def needs_to_add_email_reply_to_address(self): @@ -128,10 +151,38 @@ class Service(): return self.organisation_type in {'local', 'nhs'} @cached_property + def sms_senders(self): + return service_api_client.get_sms_senders(self.id) + + @property + def sms_senders_with_hints(self): + + def attach_hint(sender): + hints = [] + if sender['is_default']: + hints += ["default"] + if sender['inbound_number_id']: + hints += ["receives replies"] + if hints: + sender['hint'] = "(" + " and ".join(hints) + ")" + return sender + + return [attach_hint(sender) for sender in self.sms_senders] + + @property + def default_sms_sender(self): + return get_default_sms_sender(self.sms_senders) + + @property + def count_sms_senders(self): + return len(self.sms_senders) + + @property def sms_sender_is_govuk(self): - return get_default_sms_sender( - service_api_client.get_sms_senders(self.id) - ) in {'GOVUK', 'None'} + return self.default_sms_sender in {'GOVUK', 'None'} + + def get_sms_sender(self, id): + return service_api_client.get_sms_sender(self.id, id) @property def needs_to_change_sms_sender(self): @@ -141,6 +192,26 @@ class Service(): self.sms_sender_is_govuk, )) + @cached_property + def letter_contact_details(self): + return service_api_client.get_letter_contacts(self.id) + + @property + def count_letter_contact_details(self): + return len(self.letter_contact_details) + + @property + def default_letter_contact_block(self): + return next( + ( + Field(x['contact_block'], html='escape') + for x in self.letter_contact_details if x['is_default'] + ), None + ) + + def get_letter_contact_block(self, id): + return service_api_client.get_letter_contact(self.id, id) + @property def go_live_checklist_completed(self): return all(( @@ -153,3 +224,42 @@ class Service(): @property def go_live_checklist_completed_as_yes_no(self): return 'Yes' if self.go_live_checklist_completed else 'No' + + @cached_property + def free_sms_fragment_limit(self): + return billing_api_client.get_free_sms_fragment_limit_for_year(self.id) or 0 + + @cached_property + def data_retention(self): + return service_api_client.get_service_data_retention(self.id) + + def get_data_retention_item(self, id): + return service_api_client.get_service_data_retention_by_id(self.id, id) + + @property + def email_branding_id(self): + return self._dict['email_branding'] + + @cached_property + def email_branding(self): + if self.email_branding_id: + return email_branding_client.get_email_branding(self.email_branding_id)['email_branding'] + return None + + @cached_property + def letter_branding(self): + return email_branding_client.get_letter_email_branding().get( + self.dvla_organisation, '001' + ) + + @cached_property + def organisation_name(self): + return organisations_client.get_service_organisation(self.id).get('name', None) + + @cached_property + def inbound_number(self): + return inbound_number_client.get_inbound_sms_number_for_service(self.id)['data'].get('number', '') + + @property + def has_inbound_number(self): + return bool(self.inbound_number) diff --git a/app/templates/views/service-settings.html b/app/templates/views/service-settings.html index b6aa23ad3..e57fbf2fa 100644 --- a/app/templates/views/service-settings.html +++ b/app/templates/views/service-settings.html @@ -81,17 +81,16 @@ {% call settings_row(if_has_permission='email') %} {{ text_field('Email reply-to addresses') }} - {% call field(status='default' if default_reply_to_email_address == "Not set" else '') %} - - {{ default_reply_to_email_address }} - {% if reply_to_email_address_count > 1 %} + {% call field(status='default' if default_reply_to_email_address == None else '') %} + {{ current_service.default_email_reply_to_address or 'Not set' }} + {% if current_service.count_email_reply_to_addresses > 1 %}
- {{ '…and %d more' | format(reply_to_email_address_count - 1) }} + {{ '…and %d more' | format(current_service.count_email_reply_to_addresses - 1) }}
{% endif %} {% endcall %} {{ edit_field( - 'Manage' if reply_to_email_address_count else 'Change', + 'Manage' if current_service.count_email_reply_to_addresses else 'Change', url_for('.service_email_reply_to', service_id=current_service.id), permissions=['manage_service','manage_api_keys'] @@ -101,7 +100,7 @@ {% call settings_row(if_has_permission='email') %} {{ text_field('Email branding') }} - {{ text_field('Your branding' if email_branding else 'GOV.UK') }} + {{ text_field('Your branding' if current_service.email_branding else 'GOV.UK') }} {{ edit_field( 'Change', url_for('.branding_request', service_id=current_service.id), @@ -132,16 +131,16 @@ {% call settings_row(if_has_permission='sms') %} {{ text_field('Text message sender') }} - {% call field(status='default' if default_sms_sender == "None" else '') %} - {{ default_sms_sender | string | nl2br | safe if default_sms_sender else 'None'}} - {% if sms_sender_count > 1 %} + {% call field(status='default' if current_service.default_sms_sender == "None" else '') %} + {{ current_service.default_sms_sender | string | nl2br | safe if current_service.default_sms_sender else 'None'}} + {% if current_service.count_sms_senders > 1 %}
- {{ '…and %d more' | format(sms_sender_count - 1) }} + {{ '…and %d more' | format(current_service.count_sms_senders - 1) }}
{% endif %} {% endcall %} {{ edit_field( - 'Manage' if sms_sender_count else 'Change', + 'Manage' if current_service.count_sms_senders > 1 else 'Change', url_for('.service_sms_senders', service_id=current_service.id), permissions=['manage_service','manage_api_keys'] @@ -151,7 +150,7 @@ {% call settings_row(if_has_permission='sms') %} {{ text_field('Text messages start with service name') }} - {{ boolean_field(prefix_sms) }} + {{ boolean_field(current_service.prefix_sms) }} {{ edit_field( 'Change', url_for('.service_set_sms_prefix', @@ -208,16 +207,16 @@ {% call settings_row(if_has_permission='letter') %} {{ text_field('Sender addresses') }} - {% call field(status='default' if default_letter_contact_block == "Not set" else '') %} - {{ default_letter_contact_block | string | nl2br | safe if default_letter_contact_block else 'Not set'}} - {% if letter_contact_details_count > 1 %} + {% call field(status='default' if current_service.default_letter_contact_block == None else '') %} + {{ current_service.default_letter_contact_block | string | nl2br | safe if current_service.default_letter_contact_block else 'Not set'}} + {% if current_service.count_letter_contact_details > 1 %}
- {{ '…and %d more' | format(letter_contact_details_count - 1) }} + {{ '…and %d more' | format(current_service.count_letter_contact_details - 1) }}
{% endif %} {% endcall %} {{ edit_field( - 'Manage' if letter_contact_details_count else 'Change', + 'Manage' if current_service.count_letter_contact_details else 'Change', url_for('.service_letter_contact_details', service_id=current_service.id), permissions=['manage_service','manage_api_keys'] @@ -227,7 +226,7 @@ {% call settings_row(if_has_permission='letter') %} {{ text_field('Letter branding') }} - {{ text_field(letter_branding) }} + {{ text_field(current_service.letter_branding) }} {{ edit_field( 'Change', url_for('.request_letter_branding', service_id=current_service.id), @@ -297,7 +296,7 @@ ) %} {% call row() %} {{ text_field('Organisation')}} - {{ optional_text_field(organisation or None) }} + {{ optional_text_field(current_service.organisation_name) }} {{ edit_field('Change', url_for('.link_service_to_organisation', service_id=current_service.id)) }} {% endcall %} {% call row() %} @@ -309,23 +308,23 @@ {% endcall %} {% call row() %} {{ text_field('Free text message allowance')}} - {{ text_field('{:,}'.format(free_sms_fragment_limit or 0)) }} + {{ text_field('{:,}'.format(current_service.free_sms_fragment_limit)) }} {{ edit_field('Change', url_for('.set_free_sms_allowance', service_id=current_service.id)) }} {% endcall %} {% call row() %} {{ text_field('Email branding' )}} - {{ text_field(email_branding.name or 'GOV.UK') }} + {{ text_field(current_service.email_branding.name or 'GOV.UK') }} {{ edit_field('Change', url_for('.service_set_email_branding', service_id=current_service.id)) }} {% endcall %} {% call row() %} {{ text_field('Letter branding')}} - {{ text_field(letter_branding) }} + {{ text_field(current_service.letter_branding) }} {{ edit_field('Change', url_for('.set_letter_branding', service_id=current_service.id)) }} {% endcall %} {% call row() %} {{ text_field('Data retention')}} {% call field() %} - {{ data_retention | join(', ', attribute='notification_type') }} + {{ current_service.data_retention | join(', ', attribute='notification_type') }} {% endcall %} {{ edit_field('Change', url_for('.data_retention', service_id=current_service.id)) }} {% endcall %} @@ -354,7 +353,7 @@ {% if 'sms' in current_service.permissions %}
  • - {% if not can_receive_inbound %} + {% if not current_service.has_permission('inbound_sms') %} Allow inbound sms diff --git a/app/templates/views/service-settings/data-retention.html b/app/templates/views/service-settings/data-retention.html index 5856dff0a..6bf0811c3 100644 --- a/app/templates/views/service-settings/data-retention.html +++ b/app/templates/views/service-settings/data-retention.html @@ -25,7 +25,7 @@
    - {% if not data_retention_settings %} + {% if not current_service.data_retention %}
    You haven’t added any data retention
    @@ -36,7 +36,7 @@ field_headings_visible=False, caption_visible=False ) %} - {% for item in data_retention_settings %} + {% for item in current_service.data_retention %} {% call row() %} {{ text_field(item.notification_type | format_notification_type)}} {{ text_field(item.days_of_retention) }} diff --git a/app/templates/views/service-settings/email_reply_to.html b/app/templates/views/service-settings/email_reply_to.html index d4383e029..12d3fceb6 100644 --- a/app/templates/views/service-settings/email_reply_to.html +++ b/app/templates/views/service-settings/email_reply_to.html @@ -22,12 +22,12 @@ {% endif %}
    - {% if not reply_to_email_addresses %} + {% if not current_service.email_reply_to_addresses %}
    You haven’t added any email reply-to addresses yet
    {% endif %} - {% for item in reply_to_email_addresses %} + {% for item in current_service.email_reply_to_addresses %}

    {{ item.email_address }} @@ -39,7 +39,7 @@ {% if current_user.has_permissions('manage_service') %} Change {% endif %} - {% if reply_to_email_addresses|length > 1 %} + {% if current_service.count_email_reply_to_addresses > 1 %} {{ api_key(item.id, thing="ID") }} {% endif %}

    @@ -58,7 +58,7 @@

    Set up separate email addresses to receive replies from your users. - {% if current_service.trial_mode and not reply_to_email_addresses %} + {% if current_service.trial_mode and not current_service.has_email_reply_to_address %} Your service can’t go live until you’ve added at least one reply-to address. {% endif %} diff --git a/app/templates/views/service-settings/request-letter-branding.html b/app/templates/views/service-settings/request-letter-branding.html index d1aea867c..6a390bd3f 100644 --- a/app/templates/views/service-settings/request-letter-branding.html +++ b/app/templates/views/service-settings/request-letter-branding.html @@ -12,7 +12,7 @@

    - Your letters have the {{ letter_branding }} logo. + Your letters have the {{ current_service.letter_branding }} logo.

    Contact support diff --git a/app/templates/views/service-settings/set-inbound-number.html b/app/templates/views/service-settings/set-inbound-number.html index 021734617..86b2a6f1e 100644 --- a/app/templates/views/service-settings/set-inbound-number.html +++ b/app/templates/views/service-settings/set-inbound-number.html @@ -10,7 +10,7 @@ {% block maincolumn_content %}

    Set Inbound Number

    - {% if service_has_inbound_number %} + {% if current_service.has_inbound_number %}

    This service already has an inbound number

    {{ page_footer( back_link=url_for('.service_settings', service_id=current_service.id), diff --git a/app/templates/views/service-settings/set-inbound-sms.html b/app/templates/views/service-settings/set-inbound-sms.html index aeea73625..7494c8efb 100644 --- a/app/templates/views/service-settings/set-inbound-sms.html +++ b/app/templates/views/service-settings/set-inbound-sms.html @@ -13,7 +13,7 @@

    Receive text messages

    {% if 'inbound_sms' in current_service.permissions %}

    - Your service can receive text messages sent to {{ inbound_number }}. + Your service can receive text messages sent to {{ current_service.inbound_number }}.

    If you want to turn this feature off, diff --git a/app/templates/views/service-settings/sms-senders.html b/app/templates/views/service-settings/sms-senders.html index 297148220..b9d198683 100644 --- a/app/templates/views/service-settings/sms-senders.html +++ b/app/templates/views/service-settings/sms-senders.html @@ -21,12 +21,12 @@ {% endif %}

    - {% if not sms_senders %} + {% if not current_service.sms_senders %}
    You haven’t added any text message senders yet
    {% endif %} - {% for item in sms_senders %} + {% for item in current_service.sms_senders_with_hints %}

    {{ item.sms_sender }} @@ -40,7 +40,7 @@ {% if current_user.has_permissions('manage_service') %} Change {% endif %} - {% if sms_senders|length > 1 %} + {% if current_service.count_sms_senders > 1 %} {{ api_key(item.id, thing="ID") }} {% endif %}

    diff --git a/tests/app/main/views/test_service_settings.py b/tests/app/main/views/test_service_settings.py index 52d4af555..27c038082 100644 --- a/tests/app/main/views/test_service_settings.py +++ b/tests/app/main/views/test_service_settings.py @@ -60,7 +60,7 @@ def mock_get_service_settings_page_common( 'Label Value Action', 'Send text messages On Change', - 'Text message sender GOVUK Manage', + 'Text message sender GOVUK Change', 'Text messages start with service name On Change', 'International text messages Off Change', 'Receive text messages Off Change', @@ -82,7 +82,7 @@ def mock_get_service_settings_page_common( 'Label Value Action', 'Send text messages On Change', - 'Text message sender GOVUK Manage', + 'Text message sender GOVUK Change', 'Text messages start with service name On Change', 'International text messages Off Change', 'Receive text messages Off Change', @@ -143,7 +143,7 @@ def test_should_show_overview( 'Label Value Action', 'Send text messages On Change', - 'Text message sender GOVUK Manage', + 'Text message sender GOVUK Change', 'Text messages start with service name On Change', 'International text messages On Change', 'Receive text messages On Change', @@ -164,7 +164,7 @@ def test_should_show_overview( 'Label Value Action', 'Send text messages On Change', - 'Text message sender GOVUK Manage', + 'Text message sender GOVUK Change', 'Text messages start with service name On Change', 'International text messages Off Change', 'Receive text messages Off Change', diff --git a/tests/conftest.py b/tests/conftest.py index e4a1e5b36..0b7c18c3f 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -79,7 +79,10 @@ def multiple_reply_to_email_addresses(mocker): } ] - return mocker.patch('app.service_api_client.get_reply_to_email_addresses', side_effect=_get) + return mocker.patch( + 'app.notify_client.service_api_client.service_api_client.get_reply_to_email_addresses', + side_effect=_get, + ) @pytest.fixture(scope='function') @@ -303,7 +306,7 @@ def multiple_sms_senders(mocker): } ] - return mocker.patch('app.service_api_client.get_sms_senders', side_effect=_get) + return mocker.patch('app.notify_client.service_api_client.service_api_client.get_sms_senders', side_effect=_get) @pytest.fixture(scope='function') @@ -337,7 +340,7 @@ def multiple_sms_senders_with_diff_default(mocker): } ] - return mocker.patch('app.service_api_client.get_sms_senders', side_effect=_get) + return mocker.patch('app.notify_client.service_api_client.service_api_client.get_sms_senders', side_effect=_get) @pytest.fixture(scope='function') @@ -363,7 +366,7 @@ def multiple_sms_senders_no_inbound(mocker): } ] - return mocker.patch('app.service_api_client.get_sms_senders', side_effect=_get) + return mocker.patch('app.notify_client.service_api_client.service_api_client.get_sms_senders', side_effect=_get) @pytest.fixture(scope='function') @@ -389,7 +392,7 @@ def single_sms_sender(mocker): } ] - return mocker.patch('app.service_api_client.get_sms_senders', side_effect=_get) + return mocker.patch('app.notify_client.service_api_client.service_api_client.get_sms_senders', side_effect=_get) @pytest.fixture(scope='function') @@ -405,7 +408,7 @@ def get_default_sms_sender(mocker): 'updated_at': None } - return mocker.patch('app.service_api_client.get_sms_sender', side_effect=_get) + return mocker.patch('app.notify_client.service_api_client.service_api_client.get_sms_sender', side_effect=_get) @pytest.fixture(scope='function') @@ -2456,7 +2459,8 @@ def mock_get_all_email_branding(mocker): return create_email_brandings(5, non_standard_values=non_standard_values, shuffle=shuffle) return mocker.patch( - 'app.email_branding_client.get_all_email_branding', side_effect=_get_all_email_branding + 'app.notify_client.email_branding_client.email_branding_client.get_all_email_branding', + side_effect=_get_all_email_branding, )