demarches-normaliennes/app/models/administration.rb
Frederic Merizen 74135b193a [Fix #2042] Pre-validate users for administrateurs
Rather kludgy but better than the double-validation that is required now
2018-06-06 17:45:48 +02:00

31 lines
878 B
Ruby

class Administration < ApplicationRecord
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :rememberable, :trackable, :validatable, :omniauthable, :async, omniauth_providers: [:github]
def self.from_omniauth(params)
find_by(email: params["info"]["email"])
end
def invite_admin(email)
password = SecureRandom.hex
administrateur = Administrateur.new({
email: email,
active: false,
password: password,
password_confirmation: password
})
if administrateur.save
AdministrationMailer.new_admin_email(administrateur, self).deliver_later
administrateur.invite!(id)
User.create({
email: email,
password: password,
confirmed_at: DateTime.now
})
end
administrateur
end
end