fix(demarche): always reset outside of transactions
This commit is contained in:
parent
8d89e2aec6
commit
7054c2d9ef
2 changed files with 3 additions and 2 deletions
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue