fix(demarche): always reset outside of transactions

This commit is contained in:
Paul Chavard 2023-04-11 16:59:38 +02:00
parent 8d89e2aec6
commit 7054c2d9ef
2 changed files with 3 additions and 2 deletions

View file

@ -1,7 +1,7 @@
module Administrateurs
class TypesDeChampController < AdministrateurController
before_action :retrieve_procedure
after_action :reset_procedure, only: [:create, :update, :destroy]
after_action :reset_procedure, only: [:create, :update, :destroy, :piece_justificative_template]
def create
type_de_champ = draft.add_type_de_champ(type_de_champ_create_params)

View file

@ -797,6 +797,7 @@ class Procedure < ApplicationRecord
end
def publish_revision!
reset!
transaction do
self.published_revision = draft_revision
self.draft_revision = create_new_revision
@ -810,8 +811,8 @@ class Procedure < ApplicationRecord
def reset_draft_revision!
if published_revision.present? && draft_changed?
reset!
transaction do
reset!
draft_revision.types_de_champ.filter(&:only_present_on_draft?).each(&:destroy)
draft_revision.update(dossier_submitted_message: nil)
draft_revision.destroy