d1bbb8023a
As it was fixed upstream in 1.2.2
51 lines
1.6 KiB
Ruby
51 lines
1.6 KiB
Ruby
class Admin::AccompagnateursController < AdminController
|
|
include SmartListing::Helper::ControllerExtensions
|
|
helper SmartListing::Helper
|
|
|
|
before_action :retrieve_procedure
|
|
|
|
ASSIGN = 'assign'
|
|
NOT_ASSIGN = 'not_assign'
|
|
|
|
def show
|
|
assign_scope = @procedure.gestionnaires
|
|
|
|
@accompagnateurs_assign = smart_listing_create :accompagnateurs_assign,
|
|
assign_scope,
|
|
partial: "admin/accompagnateurs/list_assign",
|
|
array: true
|
|
|
|
not_assign_scope = current_administrateur.gestionnaires.where.not(id: assign_scope.ids)
|
|
not_assign_scope = not_assign_scope.where("email LIKE ?", "%#{params[:filter]}%") if params[:filter]
|
|
|
|
@accompagnateurs_not_assign = smart_listing_create :accompagnateurs_not_assign,
|
|
not_assign_scope,
|
|
partial: "admin/accompagnateurs/list_not_assign",
|
|
array: true
|
|
|
|
@gestionnaire ||= Gestionnaire.new
|
|
end
|
|
|
|
def update
|
|
gestionnaire = Gestionnaire.find(params[:accompagnateur_id])
|
|
procedure = Procedure.find(params[:procedure_id])
|
|
to = params[:to]
|
|
|
|
case to
|
|
when ASSIGN
|
|
if gestionnaire.assign_to_procedure(procedure)
|
|
flash.notice = "L'accompagnateur a bien été affecté"
|
|
else
|
|
flash.alert = "L'accompagnateur a déjà été affecté"
|
|
end
|
|
when NOT_ASSIGN
|
|
if gestionnaire.remove_from_procedure(procedure)
|
|
flash.notice = "L'accompagnateur a bien été désaffecté"
|
|
else
|
|
flash.alert = "L'accompagnateur a déjà été désaffecté"
|
|
end
|
|
end
|
|
|
|
redirect_to admin_procedure_accompagnateurs_path, procedure_id: params[:procedure_id]
|
|
end
|
|
end
|