diff options
| -rw-r--r-- | app/views/layouts/_messages.html.haml | 2 | ||||
| -rw-r--r-- | app/views/layouts/application.html.haml | 2 | ||||
| -rw-r--r-- | users/app/assets/javascripts/users.js.coffee | 22 | ||||
| -rw-r--r-- | users/app/controllers/controller_extension/authentication.rb | 1 | ||||
| -rw-r--r-- | users/lib/warden/strategies/secure_remote_password.rb | 4 | 
5 files changed, 23 insertions, 8 deletions
| diff --git a/app/views/layouts/_messages.html.haml b/app/views/layouts/_messages.html.haml index 80e34d4..6ec70a2 100644 --- a/app/views/layouts/_messages.html.haml +++ b/app/views/layouts/_messages.html.haml @@ -2,4 +2,4 @@    - if msg.is_a?(String)      %div{:class => "alert alert-#{name == :notice ? "success" : "error"}"}        %a.close{"data-dismiss" => "alert"} × -      = content_tag :div, msg, :id => "flash_#{name}" +      = content_tag :div, msg, :class => "flash_#{name}" diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index e6d22f0..2b8206d 100644 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -18,6 +18,6 @@          .content            .row              .span12 -              = render 'layouts/messages' +              #messages= render 'layouts/messages'                = yield            %footer diff --git a/users/app/assets/javascripts/users.js.coffee b/users/app/assets/javascripts/users.js.coffee index 955556c..b0b624c 100644 --- a/users/app/assets/javascripts/users.js.coffee +++ b/users/app/assets/javascripts/users.js.coffee @@ -14,13 +14,27 @@ srp.updated = ->  srp.error = (message) ->    if $.isPlainObject(message) && message.errors -    for field, error of message.errors -      element = $('form input[name$="['+field+']"]') -      next unless element -      element.trigger('element:validate:fail.ClientSideValidations', error).data('valid', false) +    display_errors(message.errors)    else      alert(message) +display_errors = (errors) -> +  for field, error of errors +    if field == 'base' +      display_base_error(error); +    else +      display_field_error(field, error); + +display_field_error = (field, error) -> +  element = $('form input[name$="['+field+']"]') +  return unless element +  element.trigger('element:validate:fail.ClientSideValidations', error).data('valid', false) + +display_base_error = (message) -> +  messages = $('#messages') +  messages.append "<div class=\"alert alert-error\"><a class=\"close\" \"data-dismiss\"=\"alert\">×</a><div class=\"flash_error\">" + message + "</div></div>" + +  pollUsers = (query, process) ->    $.get( "/users.json", query: query).done(process) diff --git a/users/app/controllers/controller_extension/authentication.rb b/users/app/controllers/controller_extension/authentication.rb index f0a6564..0dca29c 100644 --- a/users/app/controllers/controller_extension/authentication.rb +++ b/users/app/controllers/controller_extension/authentication.rb @@ -10,6 +10,7 @@ module ControllerExtension::Authentication    def authentication_errors      return unless attempted_login?      errors = get_warden_errors +    #default response to get_warden_errors is not an enumerable, so won't work if default is used      errors.inject({}) do |translated,err|        translated[err.first] = I18n.t(err.last)        translated diff --git a/users/lib/warden/strategies/secure_remote_password.rb b/users/lib/warden/strategies/secure_remote_password.rb index f1b1a57..2dcd706 100644 --- a/users/lib/warden/strategies/secure_remote_password.rb +++ b/users/lib/warden/strategies/secure_remote_password.rb @@ -28,7 +28,7 @@ module Warden          if client = validate            success!(User.find_by_login(client.username))          else -          fail!({:login => "invalid_user_pass", :password => "invalid_user_pass"}) +          fail!(:base => "invalid_user_pass")          end        end @@ -44,7 +44,7 @@ module Warden            session[:handshake] = SRP::Session.new(client, params['A'].hex)            custom! json_response(session[:handshake])          else -          fail!({:login => "invalid_user_pass", :password => "invalid_user_pass"}) +          fail! :base => 'invalid_user_pass'          end        end | 
