diff options
| author | jessib <jessib@riseup.net> | 2013-04-08 11:04:01 -0700 | 
|---|---|---|
| committer | jessib <jessib@riseup.net> | 2013-04-08 11:04:01 -0700 | 
| commit | 176845b45f6982b0bf26aa69e7432562eed97c69 (patch) | |
| tree | 1dd74d5afcdb8cfb96588937eda612b37449923c /users/app/controllers/controller_extension/authentication.rb | |
| parent | 602229c463c58be9ffb909570155d14d59f6b4d5 (diff) | |
| parent | 654ab25fa4659119d5ddaa9ae116fce69a386ab1 (diff) | |
Merge pull request #41 from azul/feature/allow-getting-salt
Allow getting salt and proper error messages for invalid login attempts
Diffstat (limited to 'users/app/controllers/controller_extension/authentication.rb')
| -rw-r--r-- | users/app/controllers/controller_extension/authentication.rb | 16 | 
1 files changed, 15 insertions, 1 deletions
| diff --git a/users/app/controllers/controller_extension/authentication.rb b/users/app/controllers/controller_extension/authentication.rb index f2184d9..f0a6564 100644 --- a/users/app/controllers/controller_extension/authentication.rb +++ b/users/app/controllers/controller_extension/authentication.rb @@ -8,13 +8,27 @@ module ControllerExtension::Authentication    end    def authentication_errors -    return unless errors = warden.winning_strategy.try(:message) +    return unless attempted_login? +    errors = get_warden_errors      errors.inject({}) do |translated,err|        translated[err.first] = I18n.t(err.last)        translated      end    end +  def get_warden_errors +    if strategy = warden.winning_strategy +      strategy.message +    else +      { login: :all_strategies_failed } +    end +  end + +  def attempted_login? +    request.env['warden.options'] && +      request.env['warden.options'][:attempted_path] +  end +    def logged_in?      !!current_user    end | 
