feat(svr): instructor filters with svr wording specific

This commit is contained in:
Colin Darie 2023-08-31 15:25:29 +02:00
parent d7a9bee63e
commit 680919a68f
No known key found for this signature in database
GPG key ID: 8C76CADD40253590
6 changed files with 46 additions and 16 deletions

View file

@ -1227,7 +1227,7 @@ class Dossier < ApplicationRecord
['Dernière mise à jour le', :updated_at], ['Dernière mise à jour le', :updated_at],
['Déposé le', :depose_at], ['Déposé le', :depose_at],
['Passé en instruction le', :en_instruction_at], ['Passé en instruction le', :en_instruction_at],
procedure.sva_svr_enabled? ? ["Date #{procedure.sva_svr_configuration.human_decision}", :sva_svr_decision_on] : nil, procedure.sva_svr_enabled? ? ["Date décision #{procedure.sva_svr_configuration.human_decision}", :sva_svr_decision_on] : nil,
['Traité le', :processed_at], ['Traité le', :processed_at],
['Motivation de la décision', :motivation], ['Motivation de la décision', :motivation],
['Instructeurs', followers_instructeurs.map(&:email).join(' ')] ['Instructeurs', followers_instructeurs.map(&:email).join(' ')]

View file

@ -26,8 +26,6 @@ class ProcedurePresentation < ApplicationRecord
validate :check_filters_max_length validate :check_filters_max_length
def self_fields def self_fields
sva_svr_enabled = procedure.sva_svr_enabled?
[ [
field_hash('self', 'created_at', type: :date), field_hash('self', 'created_at', type: :date),
field_hash('self', 'updated_at', type: :date), field_hash('self', 'updated_at', type: :date),
@ -35,8 +33,7 @@ class ProcedurePresentation < ApplicationRecord
field_hash('self', 'en_construction_at', type: :date), field_hash('self', 'en_construction_at', type: :date),
field_hash('self', 'en_instruction_at', type: :date), field_hash('self', 'en_instruction_at', type: :date),
field_hash('self', 'processed_at', type: :date), field_hash('self', 'processed_at', type: :date),
sva_svr_enabled && field_hash('self', 'sva_svr_decision_on', type: :date), *sva_svr_fields(for_filters: true),
sva_svr_enabled && field_hash('self', 'sva_svr_decision_before', type: :date, virtual: true),
field_hash('self', 'updated_since', type: :date, virtual: true), field_hash('self', 'updated_since', type: :date, virtual: true),
field_hash('self', 'depose_since', type: :date, virtual: true), field_hash('self', 'depose_since', type: :date, virtual: true),
field_hash('self', 'en_construction_since', type: :date, virtual: true), field_hash('self', 'en_construction_since', type: :date, virtual: true),
@ -112,15 +109,32 @@ class ProcedurePresentation < ApplicationRecord
end end
def displayed_fields_for_headers def displayed_fields_for_headers
array = [ [
field_hash('self', 'id', classname: 'number-col'), field_hash('self', 'id', classname: 'number-col'),
*displayed_fields, *displayed_fields,
field_hash('self', 'state', classname: 'state-col') field_hash('self', 'state', classname: 'state-col'),
*sva_svr_fields
] ]
end
array << field_hash('self', 'sva_svr_decision_on', classname: 'sva-col') if procedure.sva_svr_enabled? def sva_svr_fields(for_filters: false)
return if !procedure.sva_svr_enabled?
array i18n_scope = [:activerecord, :attributes, :procedure_presentation, :fields, :self]
fields = []
fields << field_hash('self', 'sva_svr_decision_on',
type: :date,
label: I18n.t("#{procedure.sva_svr_decision}_decision_on", scope: i18n_scope),
classname: for_filters ? '' : 'sva-col')
if for_filters
fields << field_hash('self', 'sva_svr_decision_before',
label: I18n.t("#{procedure.sva_svr_decision}_decision_before", scope: i18n_scope),
type: :date, virtual: true)
end
fields
end end
def sorted_ids(dossiers, count) def sorted_ids(dossiers, count)

View file

@ -17,8 +17,10 @@ en:
en_construction_since: Submitted since en_construction_since: Submitted since
en_instruction_since: Instructed since en_instruction_since: Instructed since
processed_since: Finished since processed_since: Finished since
sva_svr_decision_on: SVA decision date sva_decision_on: SVA decision date
sva_svr_decision_before: SVA decision date before sva_decision_before: SVA decision date before
svr_decision_on: SVR decision date
svr_decision_before: SVR decision date before
user: user:
email: Requester email: Requester
followers_instructeurs: followers_instructeurs:

View file

@ -17,8 +17,10 @@ fr:
en_construction_since: En construction depuis en_construction_since: En construction depuis
en_instruction_since: En instruction depuis en_instruction_since: En instruction depuis
processed_since: Terminé depuis processed_since: Terminé depuis
sva_svr_decision_on: Date décision SVA sva_decision_on: Date décision SVA
sva_svr_decision_before: Date décision SVA avant sva_decision_before: Date décision SVA avant
svr_decision_on: Date décision SVR
svr_decision_before: Date décision SVR avant
user: user:
email: Demandeur email: Demandeur
followers_instructeurs: followers_instructeurs:

View file

@ -2049,13 +2049,13 @@ describe Dossier, type: :model do
context 'procedure sva' do context 'procedure sva' do
let(:dossier) { create(:dossier, :en_instruction, procedure: create(:procedure, :sva)) } let(:dossier) { create(:dossier, :en_instruction, procedure: create(:procedure, :sva)) }
it { expect(dossier.spreadsheet_columns(types_de_champ: [])).to include(["Date SVA", :sva_svr_decision_on]) } it { expect(dossier.spreadsheet_columns(types_de_champ: [])).to include(["Date décision SVA", :sva_svr_decision_on]) }
end end
context 'procedure svr' do context 'procedure svr' do
let(:dossier) { create(:dossier, :en_instruction, procedure: create(:procedure, :svr)) } let(:dossier) { create(:dossier, :en_instruction, procedure: create(:procedure, :svr)) }
it { expect(dossier.spreadsheet_columns(types_de_champ: [])).to include(["Date SVR", :sva_svr_decision_on]) } it { expect(dossier.spreadsheet_columns(types_de_champ: [])).to include(["Date décision SVR", :sva_svr_decision_on]) }
end end
end end

View file

@ -116,7 +116,7 @@ describe ProcedurePresentation do
it { is_expected.to include(name_field, surname_field, gender_field) } it { is_expected.to include(name_field, surname_field, gender_field) }
end end
context 'when the procedure is sva/svr' do context 'when the procedure is sva' do
let(:procedure) { create(:procedure, :for_individual, :sva) } let(:procedure) { create(:procedure, :for_individual, :sva) }
let(:procedure_presentation) { create(:procedure_presentation, assign_to: assign_to) } let(:procedure_presentation) { create(:procedure_presentation, assign_to: assign_to) }
@ -127,6 +127,18 @@ describe ProcedurePresentation do
it { is_expected.to include(decision_on, decision_before_field) } it { is_expected.to include(decision_on, decision_before_field) }
end end
context 'when the procedure is svr' do
let(:procedure) { create(:procedure, :for_individual, :svr) }
let(:procedure_presentation) { create(:procedure_presentation, assign_to: assign_to) }
let(:decision_on) { { "label" => "Date décision SVR", "table" => "self", "column" => "sva_svr_decision_on", 'classname' => '', 'virtual' => false, "type" => :date, "scope" => '', "value_column" => :value, 'filterable' => true } }
let(:decision_before_field) { { "label" => "Date décision SVR avant", "table" => "self", "column" => "sva_svr_decision_before", 'classname' => '', 'virtual' => true, "type" => :date, "scope" => '', "value_column" => :value, 'filterable' => true } }
subject { procedure_presentation.fields }
it { is_expected.to include(decision_on, decision_before_field) }
end
end end
describe "#displayable_fields_for_select" do describe "#displayable_fields_for_select" do