mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-06 11:23:48 -05:00
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:
@@ -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);
|
||||
})();
|
||||
|
||||
@@ -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')
|
||||
|
||||
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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() }}
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user