récupération et update des InstructeursProcedure positions
This commit is contained in:
parent
9d50034a16
commit
3e1a510286
3 changed files with 17 additions and 0 deletions
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class InstructeursProcedure < ApplicationRecord
|
||||
belongs_to :instructeur
|
||||
belongs_to :procedure
|
||||
|
|
Loading…
Reference in a new issue