Remove branding_type from set_email_branding page

Includes updates to the controller so
branding_type is got from the email_branding model
instead of from user input.

Follows on from:

https://github.com/alphagov/notifications-admin/pull/2249
This commit is contained in:
Tom Byers
2018-08-29 11:36:50 +01:00
parent f6c3a8f817
commit 0df88ea182
5 changed files with 11 additions and 40 deletions

View File

@@ -5,18 +5,16 @@
const root = this,
$ = this.jQuery;
let branding_type = $('.multiple-choice input[name="branding_type"]:checked');
let branding_style = $('.multiple-choice input[name="branding_style"]:checked');
if (!branding_type.length || !branding_style.length) { return; }
if (!branding_style.length) { return; }
branding_type = branding_type.val();
branding_style = branding_style.val();
const $paneWrapper = $('<div class="column-full"></div>');
const $form = $('form');
const $previewPane = $('<iframe src="/_email?' +
buildQueryString(['branding_type', branding_type], ['branding_style', branding_style]) +
const $previewPane = $('<iframe src="/_email?' +
buildQueryString(['branding_style', branding_style]) +
'" class="email-branding-preview"></iframe>');
function buildQueryString () {
@@ -25,13 +23,10 @@
function setPreviewPane (e) {
const $target = $(e.target);
if ($target.attr('name') == 'branding_type') {
branding_type = $target.val();
}
if ($target.attr('name') == 'branding_style') {
branding_style = $target.val();
}
$previewPane.attr('src', '/_email?' + buildQueryString(['branding_type', branding_type], ['branding_style', branding_style]));
$previewPane.attr('src', '/_email?' + buildQueryString(['branding_style', branding_style]));
}
$paneWrapper.append($previewPane);
@@ -39,5 +34,5 @@
$form.attr('action', location.pathname.replace(/set-email-branding$/, 'preview-email-branding'));
$form.find('button[type="submit"]').text('Save');
$('fieldset').on('change', 'input[name="branding_type"], input[name="branding_style"]', setPreviewPane);
$('fieldset').on('change', 'input[name="branding_style"]', setPreviewPane);
})();

View File

@@ -682,23 +682,6 @@ class ServiceSwitchLettersForm(StripWhitespaceForm):
class ServiceSetBranding(StripWhitespaceForm):
def __init__(self, email_branding=[], *args, **kwargs):
self.branding_style.choices = email_branding
super(ServiceSetBranding, self).__init__(*args, **kwargs)
branding_type = RadioField(
'Branding type',
choices=[
('govuk', 'GOV.UK only'),
('both', 'GOV.UK and branding'),
('org', 'Branding only'),
('org_banner', 'Branding banner')
],
validators=[
DataRequired()
]
)
branding_style = RadioField(
'Branding style',
validators=[
@@ -709,7 +692,6 @@ class ServiceSetBranding(StripWhitespaceForm):
class ServicePreviewBranding(StripWhitespaceForm):
branding_type = HiddenField('branding_type')
branding_style = HiddenField('branding_style')

View File

@@ -868,9 +868,8 @@ def set_free_sms_allowance(service_id):
@user_is_platform_admin
def service_set_email_branding(service_id):
email_branding = email_branding_client.get_all_email_branding()
branding_type = current_service.get('branding')
form = ServiceSetBranding(branding_type=branding_type)
form = ServiceSetBranding()
# dynamically create org choices, including the null option
email_brandings = sorted(get_branding_as_value_and_label(email_branding),
@@ -880,7 +879,7 @@ def service_set_email_branding(service_id):
if form.validate_on_submit():
branding_style = None if form.branding_style.data == 'None' else form.branding_style.data
return redirect(url_for('.service_preview_email_branding', service_id=service_id,
branding_type=form.branding_type.data, branding_style=branding_style))
branding_style=branding_style))
form.branding_style.data = current_service['email_branding'] or 'None'
@@ -897,16 +896,14 @@ def service_set_email_branding(service_id):
@login_required
@user_is_platform_admin
def service_preview_email_branding(service_id):
branding_type = request.args.get('branding_type', None)
branding_style = request.args.get('branding_style', None)
form = ServicePreviewBranding(branding_type=branding_type, branding_style=branding_style)
form = ServicePreviewBranding(branding_style=branding_style)
if form.validate_on_submit():
branding_style = None if form.branding_style.data == 'None' else form.branding_style.data
service_api_client.update_service(
service_id,
branding=form.branding_type.data,
email_branding=branding_style
)
return redirect(url_for('.service_settings', service_id=service_id))

View File

@@ -9,7 +9,7 @@
<h1 class="heading-large">Preview email branding</h1>
<div class="grid-row">
<div class="column-full">
<iframe src="{{ url_for('main.email_template', branding_type=form.branding_type.data, branding_style=form.branding_style.data) }}" class="email-branding-preview"></iframe>
<iframe src="{{ url_for('main.email_template', branding_style=form.branding_style.data) }}" class="email-branding-preview"></iframe>
<form method="post" action="{{ action }}">
<div class="form-group">
{{ form.hidden_tag() }}

View File

@@ -12,14 +12,11 @@
<h1 class="heading-large">Set email branding</h1>
<form method="post">
<div class="grid-row">
<div class="column-one-whole">
<div class="column-full preview-pane">
</div>
</div>
<div class="grid-row">
<div class="column-one-half">
{{ radios(form.branding_type) }}
</div>
<div class="column-one-half brand_styles">
<div class="column-full">
{{ live_search(target_selector='.brand_styles .multiple-choice', show=show_search_box, form=search_form, label='Search branding styles by name') }}
{{ radios(form.branding_style) }}
</div>