demarches-normaliennes/app/controllers/manager/demandes_controller.rb

63 lines
1.7 KiB
Ruby
Raw Normal View History

module Manager
class DemandesController < Manager::ApplicationController
def index
@pending_demandes = pending_demandes
end
2018-03-21 10:28:17 +01:00
def create_administrateur
administrateur = current_administration.invite_admin(create_administrateur_params[:email])
if administrateur.errors.empty?
PipedriveAcceptsDealsJob.perform_later(
create_administrateur_params[:person_id],
current_administration.id,
create_administrateur_params[:stage_id]
)
2018-03-21 10:28:17 +01:00
flash.notice = "Administrateur créé"
redirect_to manager_demandes_path
else
flash.now.alert = administrateur.errors.full_messages.to_sentence
2018-03-21 10:28:17 +01:00
@pending_demandes = pending_demandes
render :index
end
end
2018-03-27 13:32:14 +02:00
def refuse_administrateur
PipedriveRefusesDealsJob.perform_later(
refuse_administrateur_params[:person_id],
current_administration.id
2018-03-27 13:32:14 +02:00
)
AdministrationMailer
.refuse_admin(refuse_administrateur_params[:email])
.deliver_later
flash.notice = "La demande de #{refuse_administrateur_params[:email]} va être refusée"
2018-03-27 13:32:14 +02:00
redirect_to manager_demandes_path
end
private
2018-03-21 10:28:17 +01:00
def create_administrateur_params
params.permit(:email, :person_id, :stage_id)
2018-03-21 10:28:17 +01:00
end
2018-03-27 13:32:14 +02:00
def refuse_administrateur_params
params.permit(:email, :person_id)
2018-03-27 13:32:14 +02:00
end
def pending_demandes
2020-02-05 18:19:05 +01:00
already_approved_emails = Administrateur.eager_load(:user)
.where(users: { email: demandes.map { |d| d[:email] } })
.map(&:email)
demandes.reject { |demande| already_approved_emails.include?(demande[:email]) }
end
def demandes
@demandes ||= PipedriveService.get_demandes
end
end
end