aboutsummaryrefslogtreecommitdiffstats
path: root/www/js/views/submit.js
diff options
context:
space:
mode:
Diffstat (limited to 'www/js/views/submit.js')
-rw-r--r--www/js/views/submit.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/www/js/views/submit.js b/www/js/views/submit.js
index 937eaa7..8ab54d7 100644
--- a/www/js/views/submit.js
+++ b/www/js/views/submit.js
@@ -244,3 +244,54 @@
});
})(FMS, Backbone, _, $);
+(function (FMS, Backbone, _, $) {
+ _.extend( FMS, {
+ SubmitConfirmView: FMS.SubmitView.extend({
+ template: 'submit_confirm',
+ id: 'submit-confirm-page',
+ prev: 'details',
+
+ events: {
+ 'pagehide': 'destroy',
+ 'pageshow': 'afterDisplay',
+ 'click .ui-btn-left': 'onClickButtonPrev',
+ 'click #report': 'onClickSubmit'
+ },
+
+ validate: function() {
+ this.clearValidationErrors();
+ var isValid = 1;
+
+ var name = $('#form_name').val();
+ if ( !name ) {
+ isValid = 0;
+ this.validationError('form_name', FMS.validationStrings.name.required );
+ } else {
+ var validNamePat = /\ba\s*n+on+((y|o)mo?u?s)?(ly)?\b/i;
+ if ( name.length < 6 || !name.match( /\S/ ) || name.match( validNamePat ) ) {
+ isValid = 0;
+ this.validationError('form_name', FMS.validationStrings.name.validName);
+ }
+ }
+
+ return isValid;
+ },
+
+ beforeSubmit: function() {
+ this.model.set('submit_clicked', 'submit_sign_in');
+ },
+
+ onReportError: function(model, err, options) {
+ // TODO: this is a temporary measure which should be replaced by a more
+ // sensible login mechanism
+ if ( err.check_name ) {
+ this.onClickSubmit();
+ } else {
+ if ( err.errors && err.errors.password ) {
+ this.validationError('form_password', err.errors.password );
+ }
+ }
+ }
+ })
+ });
+})(FMS, Backbone, _, $);