demarches-normaliennes/app/models/administration.rb

38 lines
976 B
Ruby
Raw Normal View History

2018-03-06 13:44:29 +01:00
class Administration < ApplicationRecord
2016-02-23 16:51:24 +01:00
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :rememberable, :trackable, :validatable, :omniauthable, :lockable, :async, omniauth_providers: [:github]
2017-12-20 15:27:33 +01:00
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)
2019-08-08 17:37:29 +02:00
user = User.create({
email: email,
password: password,
2018-10-25 15:07:15 +02:00
confirmed_at: Time.zone.now
})
Instructeur.create({
email: email,
2019-08-08 17:37:29 +02:00
user: user
})
end
administrateur
end
2016-02-23 16:51:24 +01:00
end