2024-04-29 00:17:15 +02:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2018-05-31 15:18:06 +02:00
|
|
|
module Manager
|
2019-08-06 11:02:54 +02:00
|
|
|
class InstructeursController < Manager::ApplicationController
|
2018-06-14 16:41:10 +02:00
|
|
|
def reinvite
|
2019-08-06 11:02:54 +02:00
|
|
|
instructeur = Instructeur.find(params[:id])
|
2024-05-29 10:22:44 +02:00
|
|
|
instructeur.user.invite_instructeur!
|
2018-08-30 14:42:09 +02:00
|
|
|
flash[:notice] = "Instructeur réinvité."
|
2019-08-06 11:02:54 +02:00
|
|
|
redirect_to manager_instructeur_path(instructeur)
|
2018-06-14 16:41:10 +02:00
|
|
|
end
|
2020-01-30 10:48:28 +01:00
|
|
|
|
|
|
|
def delete
|
|
|
|
instructeur = Instructeur.find(params[:id])
|
|
|
|
|
|
|
|
if !instructeur.can_be_deleted?
|
|
|
|
fail "Impossible de supprimer cet instructeur car il est administrateur ou il est le seul instructeur sur une démarche"
|
|
|
|
end
|
|
|
|
instructeur.destroy!
|
|
|
|
|
2020-11-05 15:09:11 +01:00
|
|
|
logger.info("L'instructeur #{instructeur.id} est supprimé par #{current_super_admin.id}")
|
2020-01-30 10:48:28 +01:00
|
|
|
flash[:notice] = "L'instructeur #{instructeur.id} est supprimé"
|
|
|
|
|
|
|
|
redirect_to manager_instructeurs_path
|
|
|
|
end
|
2024-06-04 19:01:06 +02:00
|
|
|
|
2024-11-04 17:40:45 +01:00
|
|
|
def export_last_half_year
|
2024-06-04 19:01:06 +02:00
|
|
|
instructeurs = Instructeur.joins(:user).where(created_at: 6.months.ago..).where.not(users: { email_verified_at: nil })
|
|
|
|
csv = CSV.generate(headers: true) do |csv|
|
|
|
|
csv << ['ID', 'Email', 'Date de création']
|
|
|
|
instructeurs.each do |instructeur|
|
|
|
|
csv << [instructeur.id, instructeur.email, instructeur.created_at]
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
send_data csv, filename: "instructeurs_#{Date.today.strftime('%d-%m-%Y')}.csv"
|
|
|
|
end
|
2018-05-31 15:18:06 +02:00
|
|
|
end
|
|
|
|
end
|