From ece68076a706e5b143119e4e8abb2f8dcf8ab5c1 Mon Sep 17 00:00:00 2001 From: Paul Chavard Date: Wed, 30 Nov 2022 12:39:47 +0100 Subject: [PATCH] feat(dossier): add some metadata to archive and remove operation log --- app/controllers/instructeurs/dossiers_controller.rb | 2 +- app/models/dossier.rb | 12 ++++++------ app/models/dossier_operation_log.rb | 4 +--- ...45_add_archived_at_and_archived_by_to_dossiers.rb | 6 ++++++ db/schema.rb | 4 +++- 5 files changed, 17 insertions(+), 11 deletions(-) create mode 100644 db/migrate/20221130113745_add_archived_at_and_archived_by_to_dossiers.rb diff --git a/app/controllers/instructeurs/dossiers_controller.rb b/app/controllers/instructeurs/dossiers_controller.rb index fc3900a6a..697f20286 100644 --- a/app/controllers/instructeurs/dossiers_controller.rb +++ b/app/controllers/instructeurs/dossiers_controller.rb @@ -113,7 +113,7 @@ module Instructeurs end def unarchive - dossier.desarchiver!(current_instructeur) + dossier.desarchiver! redirect_back(fallback_location: instructeur_procedure_path(procedure)) end diff --git a/app/models/dossier.rb b/app/models/dossier.rb index d54382fb8..16ebe8a2d 100644 --- a/app/models/dossier.rb +++ b/app/models/dossier.rb @@ -5,6 +5,8 @@ # id :integer not null, primary key # api_entreprise_job_exceptions :string is an Array # archived :boolean default(FALSE) +# archived_at :datetime +# archived_by :string # autorisation_donnees :boolean # brouillon_close_to_expiration_notice_sent_at :datetime # conservation_extension :interval default(0 seconds) @@ -636,14 +638,12 @@ class Dossier < ApplicationRecord end end - def archiver!(author) - update!(archived: true) - log_dossier_operation(author, :archiver) + def archiver!(instructeur) + update!(archived: true, archived_at: Time.zone.now, archived_by: instructeur.email) end - def desarchiver!(author) - update!(archived: false) - log_dossier_operation(author, :desarchiver) + def desarchiver! + update!(archived: false, archived_at: nil, archived_by: nil) end def text_summary diff --git a/app/models/dossier_operation_log.rb b/app/models/dossier_operation_log.rb index 0ad0bcc1f..7ac45bd9f 100644 --- a/app/models/dossier_operation_log.rb +++ b/app/models/dossier_operation_log.rb @@ -26,9 +26,7 @@ class DossierOperationLog < ApplicationRecord supprimer: 'supprimer', restaurer: 'restaurer', modifier_annotation: 'modifier_annotation', - demander_un_avis: 'demander_un_avis', - archiver: 'archiver', - desarchiver: 'desarchiver' + demander_un_avis: 'demander_un_avis' } has_one_attached :serialized diff --git a/db/migrate/20221130113745_add_archived_at_and_archived_by_to_dossiers.rb b/db/migrate/20221130113745_add_archived_at_and_archived_by_to_dossiers.rb new file mode 100644 index 000000000..2b27ea084 --- /dev/null +++ b/db/migrate/20221130113745_add_archived_at_and_archived_by_to_dossiers.rb @@ -0,0 +1,6 @@ +class AddArchivedAtAndArchivedByToDossiers < ActiveRecord::Migration[6.1] + def change + add_column :dossiers, :archived_at, :datetime + add_column :dossiers, :archived_by, :string + end +end diff --git a/db/schema.rb b/db/schema.rb index f3d6a9397..753846fe3 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2022_11_22_145030) do +ActiveRecord::Schema.define(version: 2022_11_30_113745) do # These are extensions that must be enabled in order to support this database enable_extension "pgcrypto" @@ -304,6 +304,8 @@ ActiveRecord::Schema.define(version: 2022_11_22_145030) do create_table "dossiers", id: :serial, force: :cascade do |t| t.string "api_entreprise_job_exceptions", array: true t.boolean "archived", default: false + t.datetime "archived_at" + t.string "archived_by" t.boolean "autorisation_donnees" t.datetime "brouillon_close_to_expiration_notice_sent_at" t.interval "conservation_extension", default: "PT0S"