Fix missing CSRF token on send SMS page

As part of https://github.com/alphagov/notifications-admin/pull/187 the file
upload pattern was changed to auto-submit once a file had been picked. The
form that was submitted was, however, missing a CSRF token, as well as a submit
button for non-JS users.

This commit makes the file upload pattern self-contained, so that it will always
include a form with a CSRF token in a hidden input and a submit button, which is
then hidden when Javascript loads.
This commit is contained in:
Chris Hill-Scott
2016-02-22 21:37:32 +00:00
parent 7280e90c26
commit 16fbfe49a3
6 changed files with 28 additions and 28 deletions

View File

@@ -3,20 +3,16 @@
Modules.FileUpload = function() {
let $field;
let $form;
this.submit = function() {
$field.parents('form').trigger('submit');
};
this.submit = () => $form.trigger('submit');
this.start = function(component) {
$field = $('.file-upload-field', component);
$form = $(component);
// Need to put the event on the container, not the input for it to work properly
$(component).on('change', '.file-upload-field', this.submit);
$form.on('change', '.file-upload-field', this.submit);
};