jipe_app/app/models/admin.rb
2019-04-24 18:47:21 +02:00

71 lines
1.7 KiB
Ruby

class Admin < ActiveRecord::Base
#attr_accessible :login, :email, :firstname, :name, :password, :password_confirmation, :avatar, :moderator, :as => :admin
has_secure_password
attr_accessor :login, :generate_mdp
validates :password, :presence => true,
:confirmation => true,
:length => {:within => 6..40},
:on => :create
validates :password,
:length => {:within => 6..40},
:allow_blank => true,
:on => :update
#validates :password_confirmation, :presence => true,
# :unless => Proc.new { |a| a.password.blank? }
validates :email, :presence => true, :uniqueness => true
validates :username, :presence => true, :uniqueness => true
# mount_uploader :avatar, AvatarUploader
before_create { generate_token(:remember_token) }
def generate_mdp_now
ps = SecureRandom.hex(4)
self.password = ps
self.password_confirmation = ps
if !self.email?
errors.add(:email, "Doit être présent")
end
if self.save
GeneralMailer.send_qi_mail("fr", "generation_mdp", self.email, {"mdp" => ps}).deliver
else
fgfdggdf = dfgdgf
end
end
def send_password_reset
generate_token(:reset_password_token)
self.reset_password_sent_at = Time.now
save!
AdminMailer.password_reset(self).deliver
end
def generate_token(column)
begin
self[column] = SecureRandom.urlsafe_base64
end while Admin.exists?(column => self[column])
end
def self.find_by_login(login)
Admin.where("username = ? OR email = ?", login,login).first
end
SPECIAL_USER_ID = [12]
end