change_password.rb
893 Bytes
class ChangePassword < Task
attr_accessor :login, :email
validates_presence_of :login, :email
validates_format_of :email, :with => Noosfero::Constants::EMAIL_FORMAT, :if => (lambda { |obj| !obj.email.blank? })
#
validates_each :login do |data,attr,value|
unless data.login.blank?
user = User.find_by_login(data.login)
if user.nil?
data.errors.add(:login, _('%{fn} is not a valid username.'))
else
if user.email != data.email
data.errors.add(:email, _('%{fn} is invalid.'))
end
end
end
end
def initialize(hash = nil)
hash ||= {}
self.login = hash[:login] || hash['login']
self.email = hash[:email] || hash['email']
end
def confirm!
raise ActiveRecord::RecordInvalid unless self.valid?
user = User.find_by_login(self.login)
#ChangePassword.create!(:user_id => user.id)
end
end