user.rb
817 Bytes
require_dependency 'user'
class User
has_many :oauth_user_providers, :class_name => 'OauthClientPlugin::UserProvider'
has_many :oauth_providers, :through => :oauth_user_providers, :source => :provider
def password_required_with_oauth?
password_required_without_oauth? && oauth_providers.empty?
end
alias_method_chain :password_required?, :oauth
after_create :activate_oauth_user
def activate_oauth_user
unless oauth_providers.empty?
activate
oauth_providers.each do |provider|
OauthClientPlugin::UserProvider.create!(:user => self, :provider => provider, :enabled => true)
end
end
end
def make_activation_code_with_oauth
oauth_providers.blank? ? make_activation_code_without_oauth : nil
end
alias_method_chain :make_activation_code, :oauth
end