[Fix #2494] Improve deletion warning text
This commit is contained in:
parent
23e3409247
commit
75ee41b7fa
3 changed files with 79 additions and 2 deletions
|
@ -21,4 +21,29 @@ module ProcedureHelper
|
|||
action = procedure.archivee? ? :reopen : :publish
|
||||
t(action, scope: [:modal, :publish, key])
|
||||
end
|
||||
|
||||
def dossiers_deletion_warning(procedure)
|
||||
dossiers_count = procedure.dossiers.state_not_brouillon.count
|
||||
brouillons_count = procedure.dossiers.state_brouillon.count
|
||||
formatted_dossiers_count = nil
|
||||
formatted_brouillons_count = nil
|
||||
|
||||
if dossiers_count > 0
|
||||
formatted_dossiers_count = pluralize(dossiers_count, "dossier", "dossiers")
|
||||
end
|
||||
|
||||
if brouillons_count > 0
|
||||
formatted_brouillons_count = pluralize(brouillons_count, "brouillon", "brouillons")
|
||||
end
|
||||
|
||||
formatted_combination = [formatted_dossiers_count, formatted_brouillons_count]
|
||||
.compact
|
||||
.join(" et ")
|
||||
|
||||
[
|
||||
formatted_combination,
|
||||
dossiers_count + brouillons_count == 1 ? "est rattaché" : "sont rattachés",
|
||||
"à cette procédure, la suppression de cette procédure entrainera également leur suppression."
|
||||
].join(" ")
|
||||
end
|
||||
end
|
||||
|
|
|
@ -109,11 +109,12 @@
|
|||
.alert.alert-danger
|
||||
%p
|
||||
Attention : la suppression d’une procédure est définitive.
|
||||
|
||||
- dossiers_count = @procedure.dossiers.count
|
||||
- if dossiers_count > 0
|
||||
%p
|
||||
= pluralize(dossiers_count, "dossier est rattaché", "dossiers sont rattachés")
|
||||
à cette procédure, la suppression de cette procédure entrainera également leur suppression.
|
||||
= dossiers_deletion_warning(@procedure)
|
||||
|
||||
%p.text-right
|
||||
= link_to "J'ai compris, je supprime la procédure",
|
||||
hide_admin_procedure_path(@procedure),
|
||||
|
|
51
spec/helpers/procedure_helper_spec.rb
Normal file
51
spec/helpers/procedure_helper_spec.rb
Normal file
|
@ -0,0 +1,51 @@
|
|||
RSpec.describe ProcedureHelper, type: :helper do
|
||||
let(:procedure) { create(:procedure) }
|
||||
|
||||
describe '#dossiers_deletion_warning' do
|
||||
subject { dossiers_deletion_warning(procedure) }
|
||||
|
||||
context 'with 1 submitted dossier' do
|
||||
before do
|
||||
dossier_1 = create(:dossier, :en_construction, procedure: procedure)
|
||||
end
|
||||
|
||||
it { is_expected.to eq('1 dossier est rattaché à cette procédure, la suppression de cette procédure entrainera également leur suppression.') }
|
||||
end
|
||||
|
||||
context 'with 2 submitted dossiers' do
|
||||
before do
|
||||
dossier_1 = create(:dossier, :en_construction, procedure: procedure)
|
||||
dossier_2 = create(:dossier, :en_instruction, procedure: procedure)
|
||||
end
|
||||
|
||||
it { is_expected.to eq('2 dossiers sont rattachés à cette procédure, la suppression de cette procédure entrainera également leur suppression.') }
|
||||
end
|
||||
|
||||
context 'with 1 brouillon dossier' do
|
||||
before do
|
||||
dossier_1 = create(:dossier, procedure: procedure)
|
||||
end
|
||||
|
||||
it { is_expected.to eq('1 brouillon est rattaché à cette procédure, la suppression de cette procédure entrainera également leur suppression.') }
|
||||
end
|
||||
|
||||
context 'with 2 brouillons dossiers' do
|
||||
before do
|
||||
dossier_1 = create(:dossier, procedure: procedure)
|
||||
dossier_2 = create(:dossier, procedure: procedure)
|
||||
end
|
||||
|
||||
it { is_expected.to eq('2 brouillons sont rattachés à cette procédure, la suppression de cette procédure entrainera également leur suppression.') }
|
||||
end
|
||||
|
||||
context 'with 2 submitted dossiers and 1 brouillon dossier' do
|
||||
before do
|
||||
dossier_1 = create(:dossier, :en_instruction, procedure: procedure)
|
||||
dossier_2 = create(:dossier, :en_instruction, procedure: procedure)
|
||||
dossier_3 = create(:dossier, procedure: procedure)
|
||||
end
|
||||
|
||||
it { is_expected.to eq('2 dossiers et 1 brouillon sont rattachés à cette procédure, la suppression de cette procédure entrainera également leur suppression.') }
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue