1
0
Fork 0
mirror of https://github.com/heartcombo/devise.git synced 2022-11-09 12:18:31 -05:00

Tidy up lose ends.

This commit is contained in:
José Valim 2010-07-13 19:46:44 +02:00
parent 8bf6a66e05
commit 0aa41d6388
6 changed files with 21 additions and 9 deletions

View file

@ -3,7 +3,7 @@ class Devise::ConfirmationsController < ApplicationController
# GET /resource/confirmation/new
def new
build_resource
build_resource({})
render_with_scope :new
end

View file

@ -4,7 +4,7 @@ class Devise::PasswordsController < ApplicationController
# GET /resource/password/new
def new
build_resource
build_resource({})
render_with_scope :new
end

View file

@ -4,7 +4,7 @@ class Devise::UnlocksController < ApplicationController
# GET /resource/unlock/new
def new
build_resource
build_resource({})
render_with_scope :new
end

View file

@ -70,7 +70,7 @@ module Devise
# Build a devise resource.
def build_resource(hash=nil)
hash ||= params[resource_name] || {}
self.resource = resource_class.new(hash)
self.resource = resource_class.new_with_session(hash, session)
end
# Helper for use in before_filters where no authentication is required.
@ -95,9 +95,11 @@ module Devise
#
# Please refer to README or en.yml locale file to check what messages are
# available.
def set_flash_message(key, kind) #:nodoc:
flash[key] = I18n.t(:"#{resource_name}.#{kind}", :resource_name => resource_name,
:scope => [:devise, controller_name.to_sym], :default => kind)
def set_flash_message(key, kind, options={}) #:nodoc:
options[:scope] = "devise.#{controller_name}"
options[:default] = Array(options[:default]).unshift(kind)
options[:resource_name] = resource_name
flash[key] = I18n.t(:"#{resource_name}.#{kind}", options)
end
def clean_up_passwords(object) #:nodoc:

View file

@ -79,6 +79,12 @@ module Devise
http_authenticatable.include?(strategy) : http_authenticatable
end
# By default discards all information sent by the session by calling
# new with params.
def new_with_session(params, session)
new(params)
end
# Find first record based on conditions given (ie by the sign in form).
# Overwrite to add customized conditions, create a join, or maybe use a
# namedscope to filter records while authenticating.

View file

@ -50,14 +50,18 @@ module Devise
self.resource = resource_class.send(oauth_model_callback, access_token, signed_in_resource)
if resource.persisted?
# ADD FLASH MESSAGE
set_flash_message :notice, oauth_callback, :default => :default, :kind => oauth_callback.to_s.titleize
sign_in_and_redirect resource_name, resource, :event => :authentication
else
# STORE STUFF IN SESSION
session[oauth_session_scope] = access_token.token
render_for_oauth
end
end
def oauth_session_scope
"#{resource_name}_#{oauth_callback}_token"
end
# Overwrite redirect_for_sign_in so it takes uses after_oauth_sign_in_path_for.
def redirect_for_sign_in(scope, resource) #:nodoc:
redirect_to stored_location_for(scope) || after_oauth_sign_in_path_for(resource)