feat(procedure): update archiving to add closing reason and closing details
This commit is contained in:
parent
6651b36fe4
commit
74903d79bf
8 changed files with 136 additions and 21 deletions
|
@ -194,16 +194,19 @@ module Administrateurs
|
|||
def archive
|
||||
procedure = current_administrateur.procedures.find(params[:procedure_id])
|
||||
|
||||
if params[:new_procedure].present?
|
||||
new_procedure = current_administrateur.procedures.find(params[:new_procedure])
|
||||
procedure.update!(replaced_by_procedure_id: new_procedure.id)
|
||||
if procedure.update(closing_params)
|
||||
procedure.close!
|
||||
if (procedure.dossiers.not_archived.state_brouillon.present? || procedure.dossiers.not_archived.state_en_construction_ou_instruction.present?)
|
||||
redirect_to admin_procedure_closing_notification_path
|
||||
else
|
||||
flash.notice = "Démarche close"
|
||||
redirect_to admin_procedure_path(id: procedure.id)
|
||||
end
|
||||
else
|
||||
flash.alert = procedure.errors.full_messages
|
||||
redirect_to admin_procedure_close_path
|
||||
end
|
||||
|
||||
procedure.close!
|
||||
|
||||
flash.notice = "Démarche close"
|
||||
redirect_to admin_procedures_path
|
||||
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
flash.alert = 'Démarche inexistante'
|
||||
redirect_to admin_procedures_path
|
||||
|
@ -327,6 +330,7 @@ module Administrateurs
|
|||
|
||||
def close
|
||||
@published_procedures = current_administrateur.procedures.publiees.to_h { |p| ["#{p.libelle} (#{p.id})", p.id] }
|
||||
@closing_reason_options = Procedure.closing_reasons.values.map { |reason| [I18n.t("activerecord.attributes.procedure.closing_reasons.#{reason}"), reason] }
|
||||
end
|
||||
|
||||
def confirmation
|
||||
|
@ -493,6 +497,18 @@ module Administrateurs
|
|||
params.permit(:path, :lien_site_web)
|
||||
end
|
||||
|
||||
def closing_params
|
||||
closing_params = params.require(:procedure).permit(:closing_details, :closing_reason, :replaced_by_procedure_id)
|
||||
|
||||
replaced_by_procedure_id = closing_params[:replaced_by_procedure_id]
|
||||
if replaced_by_procedure_id.present?
|
||||
if current_administrateur.procedures.find_by(id: replaced_by_procedure_id).blank?
|
||||
closing_params.delete(:replaced_by_procedure_id)
|
||||
end
|
||||
end
|
||||
closing_params
|
||||
end
|
||||
|
||||
def allow_decision_access_params
|
||||
params.require(:experts_procedure).permit(:allow_decision_access)
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue