diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/assets/javascripts/users.js | 57 | ||||
-rw-r--r-- | app/views/account/new.html.haml | 15 |
2 files changed, 25 insertions, 47 deletions
diff --git a/app/assets/javascripts/users.js b/app/assets/javascripts/users.js index 4b5198f..9a10532 100644 --- a/app/assets/javascripts/users.js +++ b/app/assets/javascripts/users.js @@ -1,13 +1,6 @@ (function() { - var settings = { - "error_class":"help-inline", - "error_tag":"span", - "wrapper_error_class":"error", - "wrapper_tag":"div", - "wrapper_class":"form-group" - } // // LOCAL FUNCTIONS @@ -17,9 +10,8 @@ poll_identities, prevent_default, clear_errors, - clear_field_errors, validate_password_confirmation, - validate_password_length, + signup, update_user; prevent_default = function(event) { @@ -42,8 +34,13 @@ return $('#messages').empty(); }; - clear_field_errors = function() { - return $(settings.error_tag + '.' + settings.error_class).remove(); + signup = function(submitEvent) { + var form = submitEvent.target; + var validations = form.ClientSideValidations + if ( ( typeof validations === 'undefined' ) || + $(form).isValid(validations.settings.validators) ) { + srp.signup(); + } }; update_user = function(submitEvent) { @@ -75,19 +72,6 @@ } }; - validate_password_length = function(submitEvent) { - var form = submitEvent.target; - var password = $(form).find('input#srp_password').val(); - if (password.length > 7) { - return true; - } - else { - displayFieldError("password", "needs to be at least 8 characters long."); - submitEvent.stopImmediatePropagation() - return false; - } - }; - var account = { // Returns the user's identity @@ -175,24 +159,15 @@ var message = $.isArray(error) ? error[0] : error; var element = $('form input[name$="[' + field + ']"]'); if (element) { - addError(element, settings, message); + addError(element, message); } }; - function addError(element, settings, message) { - var errorElement, wrapper; - - errorElement = element.parent().find("" + settings.error_tag + "." + settings.error_class); - wrapper = element.closest(settings.wrapper_tag + '.' + settings.wrapper_class); - if (errorElement[0] == null) { - errorElement = $("<" + settings.error_tag + "/>", { - "class": settings.error_class, - text: message - }); - element.after(errorElement); - } - wrapper.addClass(settings.wrapper_error_class); - return errorElement.text(message); + function addError(element, message) { + var form = element.closest('form'); + var settings = form[0].ClientSideValidations.settings; + ClientSideValidations.formBuilders['SimpleForm::FormBuilder'].add(element, settings, message); + } // @@ -203,10 +178,8 @@ $('.hidden.js-show').removeClass('hidden'); $('.js-show').show(); $('#new_user').submit(prevent_default); - $('#new_user').submit(clear_field_errors); - $('#new_user').submit(validate_password_length); $('#new_user').submit(validate_password_confirmation); - $('#new_user').submit(srp.signup); + $('#new_user').submit(signup); $('#new_session').submit(prevent_default); $('#new_session').submit(srp.login); $('#update_login_and_password').submit(prevent_default); diff --git a/app/views/account/new.html.haml b/app/views/account/new.html.haml index d40259e..4766945 100644 --- a/app/views/account/new.html.haml +++ b/app/views/account/new.html.haml @@ -6,7 +6,12 @@ -# to prevent submission in the clear. -# -- form_options = {url: '/not-used', html: {id: 'new_user', class: user_form_class('form-horizontal'), style: 'display:none'}, validate: true} +- form_options = { url: '/not-used', + html: { id: 'new_user', + class: user_form_class('form-horizontal'), + style: 'display:none' }, + validate: true, + wrapper: :horizontal_form } .col-md-1 .col-md-9 @@ -14,14 +19,14 @@ .lead=t :signup_info = render "sessions/warnings" = simple_form_for(@user, form_options) do |f| - = f.input :login, :label => t(:username), :required => false, :input_html => { :id => :srp_username } - = f.input :password, :label => t(:password), :required => false, :validate => true, :input_html => { :id => :srp_password } - = f.input :password_confirmation, :label => t(:password_confirmation), :required => false, :validate => true, :input_html => { :id => :srp_password_confirmation } + = f.input :login, :label => t(:username), :validate => true, :input_html => { :id => :srp_username} + = f.input :password, :label => t(:password), :validate => true, :input_html => { :id => :srp_password } + = f.input :password_confirmation, :label => t(:password_confirmation), :validate => true, :input_html => { :id => :srp_password_confirmation } - if APP_CONFIG[:invite_required] = f.input :invite_code, :label => t(:invite_code), :input_html => { :id => :srp_invite_code } - else = f.input :invite_code, :as => "hidden", :input_html => { :value => " ", :id => :srp_invite_code } - = f.button :wrapped, cancel: home_path + = f.button :submit # :wrapped, cancel: home_path -# |