mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-10 01:55:41 -04: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,
|
const root = this,
|
||||||
$ = this.jQuery;
|
$ = this.jQuery;
|
||||||
|
|
||||||
let branding_type = $('.multiple-choice input[name="branding_type"]:checked');
|
|
||||||
let branding_style = $('.multiple-choice input[name="branding_style"]: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();
|
branding_style = branding_style.val();
|
||||||
|
|
||||||
const $paneWrapper = $('<div class="column-full"></div>');
|
const $paneWrapper = $('<div class="column-full"></div>');
|
||||||
const $form = $('form');
|
const $form = $('form');
|
||||||
const $previewPane = $('<iframe src="/_email?' +
|
const $previewPane = $('<iframe src="/_email?' +
|
||||||
buildQueryString(['branding_type', branding_type], ['branding_style', branding_style]) +
|
buildQueryString(['branding_style', branding_style]) +
|
||||||
'" class="email-branding-preview"></iframe>');
|
'" class="email-branding-preview"></iframe>');
|
||||||
|
|
||||||
function buildQueryString () {
|
function buildQueryString () {
|
||||||
@@ -25,13 +23,10 @@
|
|||||||
|
|
||||||
function setPreviewPane (e) {
|
function setPreviewPane (e) {
|
||||||
const $target = $(e.target);
|
const $target = $(e.target);
|
||||||
if ($target.attr('name') == 'branding_type') {
|
|
||||||
branding_type = $target.val();
|
|
||||||
}
|
|
||||||
if ($target.attr('name') == 'branding_style') {
|
if ($target.attr('name') == 'branding_style') {
|
||||||
branding_style = $target.val();
|
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);
|
$paneWrapper.append($previewPane);
|
||||||
@@ -39,5 +34,5 @@
|
|||||||
$form.attr('action', location.pathname.replace(/set-email-branding$/, 'preview-email-branding'));
|
$form.attr('action', location.pathname.replace(/set-email-branding$/, 'preview-email-branding'));
|
||||||
$form.find('button[type="submit"]').text('Save');
|
$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):
|
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 = RadioField(
|
||||||
'Branding style',
|
'Branding style',
|
||||||
validators=[
|
validators=[
|
||||||
@@ -709,7 +692,6 @@ class ServiceSetBranding(StripWhitespaceForm):
|
|||||||
|
|
||||||
class ServicePreviewBranding(StripWhitespaceForm):
|
class ServicePreviewBranding(StripWhitespaceForm):
|
||||||
|
|
||||||
branding_type = HiddenField('branding_type')
|
|
||||||
branding_style = HiddenField('branding_style')
|
branding_style = HiddenField('branding_style')
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -868,9 +868,8 @@ def set_free_sms_allowance(service_id):
|
|||||||
@user_is_platform_admin
|
@user_is_platform_admin
|
||||||
def service_set_email_branding(service_id):
|
def service_set_email_branding(service_id):
|
||||||
email_branding = email_branding_client.get_all_email_branding()
|
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
|
# dynamically create org choices, including the null option
|
||||||
email_brandings = sorted(get_branding_as_value_and_label(email_branding),
|
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():
|
if form.validate_on_submit():
|
||||||
branding_style = None if form.branding_style.data == 'None' else form.branding_style.data
|
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,
|
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'
|
form.branding_style.data = current_service['email_branding'] or 'None'
|
||||||
|
|
||||||
@@ -897,16 +896,14 @@ def service_set_email_branding(service_id):
|
|||||||
@login_required
|
@login_required
|
||||||
@user_is_platform_admin
|
@user_is_platform_admin
|
||||||
def service_preview_email_branding(service_id):
|
def service_preview_email_branding(service_id):
|
||||||
branding_type = request.args.get('branding_type', None)
|
|
||||||
branding_style = request.args.get('branding_style', 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():
|
if form.validate_on_submit():
|
||||||
branding_style = None if form.branding_style.data == 'None' else form.branding_style.data
|
branding_style = None if form.branding_style.data == 'None' else form.branding_style.data
|
||||||
service_api_client.update_service(
|
service_api_client.update_service(
|
||||||
service_id,
|
service_id,
|
||||||
branding=form.branding_type.data,
|
|
||||||
email_branding=branding_style
|
email_branding=branding_style
|
||||||
)
|
)
|
||||||
return redirect(url_for('.service_settings', service_id=service_id))
|
return redirect(url_for('.service_settings', service_id=service_id))
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
<h1 class="heading-large">Preview email branding</h1>
|
<h1 class="heading-large">Preview email branding</h1>
|
||||||
<div class="grid-row">
|
<div class="grid-row">
|
||||||
<div class="column-full">
|
<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 }}">
|
<form method="post" action="{{ action }}">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
{{ form.hidden_tag() }}
|
{{ form.hidden_tag() }}
|
||||||
|
|||||||
@@ -12,14 +12,11 @@
|
|||||||
<h1 class="heading-large">Set email branding</h1>
|
<h1 class="heading-large">Set email branding</h1>
|
||||||
<form method="post">
|
<form method="post">
|
||||||
<div class="grid-row">
|
<div class="grid-row">
|
||||||
<div class="column-one-whole">
|
<div class="column-full preview-pane">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid-row">
|
<div class="grid-row">
|
||||||
<div class="column-one-half">
|
<div class="column-full">
|
||||||
{{ radios(form.branding_type) }}
|
|
||||||
</div>
|
|
||||||
<div class="column-one-half brand_styles">
|
|
||||||
{{ live_search(target_selector='.brand_styles .multiple-choice', show=show_search_box, form=search_form, label='Search branding styles by name') }}
|
{{ 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) }}
|
{{ radios(form.branding_style) }}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user