diff --git a/app/controllers/instructeurs/procedures_controller.rb b/app/controllers/instructeurs/procedures_controller.rb index b4a086637..ee6d91b57 100644 --- a/app/controllers/instructeurs/procedures_controller.rb +++ b/app/controllers/instructeurs/procedures_controller.rb @@ -314,6 +314,7 @@ module Instructeurs Procedure .with_attached_logo .find(procedure_id) + .tap { Sentry.set_tags(procedure: _1.id) } end def ensure_ownership! diff --git a/app/models/procedure_presentation.rb b/app/models/procedure_presentation.rb index 9f42c5eb2..194ef1519 100644 --- a/app/models/procedure_presentation.rb +++ b/app/models/procedure_presentation.rb @@ -61,7 +61,7 @@ class ProcedurePresentation < ApplicationRecord field_hash('user', 'email', type: :text), field_hash('followers_instructeurs', 'email', type: :text), field_hash('groupe_instructeur', 'id', type: :enum), - field_hash('avis', 'id', type: :text) + field_hash('avis', 'answer', type: :text) ) if procedure.for_individual @@ -211,7 +211,7 @@ class ProcedurePresentation < ApplicationRecord .includes(:followers_instructeurs) .joins('INNER JOIN users instructeurs_users ON instructeurs_users.id = instructeurs.user_id') .filter_ilike('instructeurs_users', :email, values) - when 'user', 'individual' + when 'user', 'individual', 'avis' dossiers .includes(table) .filter_ilike(table, column, values) diff --git a/config/locales/models/procedure_presentation/en.yml b/config/locales/models/procedure_presentation/en.yml index 25f8e1252..2eca299ed 100644 --- a/config/locales/models/procedure_presentation/en.yml +++ b/config/locales/models/procedure_presentation/en.yml @@ -29,7 +29,7 @@ en: nom: Last name gender: Title avis: - id: Opinion + answer: Opinion etablissement: entreprise_siren: SIREN entreprise_forme_juridique: Forme juridique diff --git a/config/locales/models/procedure_presentation/fr.yml b/config/locales/models/procedure_presentation/fr.yml index 08557cd54..442efcab1 100644 --- a/config/locales/models/procedure_presentation/fr.yml +++ b/config/locales/models/procedure_presentation/fr.yml @@ -29,7 +29,7 @@ fr: nom: Nom gender: Civilité avis: - id: Avis + answer: Avis etablissement: entreprise_siren: SIREN entreprise_forme_juridique: Forme juridique diff --git a/spec/models/procedure_presentation_spec.rb b/spec/models/procedure_presentation_spec.rb index fe2feb065..7cabd11a7 100644 --- a/spec/models/procedure_presentation_spec.rb +++ b/spec/models/procedure_presentation_spec.rb @@ -73,7 +73,7 @@ describe ProcedurePresentation do { "label" => 'Demandeur', "table" => 'user', "column" => 'email', 'classname' => '', 'virtual' => false, 'type' => :text, "scope" => '' }, { "label" => 'Email instructeur', "table" => 'followers_instructeurs', "column" => 'email', 'classname' => '', 'virtual' => false, 'type' => :text, "scope" => '' }, { "label" => 'Groupe instructeur', "table" => 'groupe_instructeur', "column" => 'id', 'classname' => '', 'virtual' => false, 'type' => :enum, "scope" => '' }, - { "label" => 'Avis', "table" => 'avis', "column" => 'id', 'classname' => '', 'virtual' => false, 'type' => :text, "scope" => '' }, + { "label" => 'Avis', "table" => 'avis', "column" => 'answer', 'classname' => '', 'virtual' => false, 'type' => :text, "scope" => '' }, { "label" => 'SIREN', "table" => 'etablissement', "column" => 'entreprise_siren', 'classname' => '', 'virtual' => false, 'type' => :text, "scope" => '' }, { "label" => 'Forme juridique', "table" => 'etablissement', "column" => 'entreprise_forme_juridique', 'classname' => '', 'virtual' => false, 'type' => :text, "scope" => '' }, { "label" => 'Nom commercial', "table" => 'etablissement', "column" => 'entreprise_nom_commercial', 'classname' => '', 'virtual' => false, 'type' => :text, "scope" => '' }, @@ -706,6 +706,19 @@ describe ProcedurePresentation do end end + context 'for avis table' do + let(:procedure) { create(:procedure, :for_individual) } + let!(:kept_dossier) { create(:dossier, procedure:) } + let!(:discarded_dossier) { create(:dossier, procedure:) } + let!(:avis) { create(:avis, :with_answer, dossier: kept_dossier) } + + context 'for answer column' do + let(:filter) { [{ 'table' => 'avis', 'column' => 'answer', 'value' => 'Pertinente' }] } + + it { is_expected.to contain_exactly(kept_dossier.id) } + end + end + context 'for followers_instructeurs table' do let(:filter) { [{ 'table' => 'followers_instructeurs', 'column' => 'email', 'value' => 'keepmail' }] }