feat(ApplicationController): add an helper to retrieve a procedure_presentation from anywhere (target: will be used by Cache::ProcedureDossierPagination)

This commit is contained in:
mfo 2024-11-29 11:49:27 +01:00
parent 97c50bae0d
commit a8e96a843c
No known key found for this signature in database
GPG key ID: 7CE3E1F5B794A8EC
2 changed files with 18 additions and 5 deletions

View file

@ -426,4 +426,8 @@ class ApplicationController < ActionController::Base
def cast_bool(value)
ActiveRecord::Type::Boolean.new.deserialize(value)
end
def retrieve_procedure_presentation
@procedure_presentation ||= current_instructeur.procedure_presentation_for_procedure_id(params[:procedure_id])
end
end

View file

@ -127,12 +127,14 @@ class Instructeur < ApplicationRecord
end
end
def procedure_presentation_for_procedure_id(procedure_id)
assign_to = assign_to_for_procedure_id(procedure_id)
assign_to.procedure_presentation || assign_to.create_procedure_presentation!
end
def procedure_presentation_and_errors_for_procedure_id(procedure_id)
assign_to
.joins(:groupe_instructeur)
.includes(:instructeur, :procedure)
.find_by(groupe_instructeurs: { procedure_id: procedure_id })
.procedure_presentation_or_default_and_errors
assign_to = assign_to_for_procedure_id(procedure_id)
assign_to.procedure_presentation_or_default_and_errors
end
def notifications_for_dossier(dossier)
@ -355,4 +357,11 @@ class Instructeur < ApplicationRecord
.merge(followed_dossiers)
.with_notifications
end
def assign_to_for_procedure_id(procedure_id)
assign_to
.joins(:groupe_instructeur)
.includes(:instructeur, :procedure)
.find_by(groupe_instructeurs: { procedure_id: procedure_id })
end
end