récupération et update des InstructeursProcedure positions

This commit is contained in:
benoitqueyron 2024-12-06 10:55:18 +01:00
parent 9d50034a16
commit 3e1a510286
No known key found for this signature in database
GPG key ID: AD3C38C9ACA84135
3 changed files with 17 additions and 0 deletions

View file

@ -74,6 +74,8 @@ module Instructeurs
end
def update_order_positions
current_instructeur.update_instructeur_procedures_positions(ordered_procedure_ids_params)
redirect_to instructeur_procedures_path, notice: "L'ordre des démarches a été mis à jour."
end
def show
@ -381,5 +383,9 @@ module Instructeurs
def cookies_export_key
"exports_#{@procedure.id}_seen_at"
end
def ordered_procedure_ids_params
params.require(:ordered_procedure_ids)
end
end
end

View file

@ -118,6 +118,15 @@ class Instructeur < ApplicationRecord
InstructeursProcedure.insert_all(missing_instructeur_procedures) if missing_instructeur_procedures.size.positive?
end
def update_instructeur_procedures_positions(ordered_procedure_ids)
procedure_id_position = ordered_procedure_ids.reverse.each.with_index.to_h
InstructeursProcedure.transaction do
procedure_id_position.each do |procedure_id, position|
InstructeursProcedure.where(procedure_id:, instructeur_id: id).update(position:)
end
end
end
def procedure_presentation_and_errors_for_procedure_id(procedure_id)
assign_to
.joins(:groupe_instructeur)

View file

@ -1,3 +1,5 @@
# frozen_string_literal: true
class InstructeursProcedure < ApplicationRecord
belongs_to :instructeur
belongs_to :procedure