From b5ed74c09d7309a44c2a86122b00d32f22f48b44 Mon Sep 17 00:00:00 2001 From: Pierre de La Morinerie Date: Tue, 9 Jul 2019 14:30:05 +0200 Subject: [PATCH 1/3] dossiers: always allow to create a new dossier Turns out this is confusing for users (some UI elements are present for some procedures, but not for others). Better enable it for everyone. --- app/views/users/dossiers/_dossier_actions.html.haml | 2 +- .../users/dossiers/_dossier_actions.html.haml_spec.rb | 11 +++-------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/app/views/users/dossiers/_dossier_actions.html.haml b/app/views/users/dossiers/_dossier_actions.html.haml index 57d39ceb8..cc9cc58ed 100644 --- a/app/views/users/dossiers/_dossier_actions.html.haml +++ b/app/views/users/dossiers/_dossier_actions.html.haml @@ -1,5 +1,5 @@ - has_delete_action = dossier.can_be_deleted_by_user? -- has_new_dossier_action = dossier.procedure.expects_multiple_submissions? && dossier.procedure.accepts_new_dossiers? +- has_new_dossier_action = dossier.procedure.accepts_new_dossiers? - has_actions = has_delete_action || has_new_dossier_action diff --git a/spec/views/users/dossiers/_dossier_actions.html.haml_spec.rb b/spec/views/users/dossiers/_dossier_actions.html.haml_spec.rb index 61c2ed107..1e3f19431 100644 --- a/spec/views/users/dossiers/_dossier_actions.html.haml_spec.rb +++ b/spec/views/users/dossiers/_dossier_actions.html.haml_spec.rb @@ -1,5 +1,5 @@ describe 'users/dossiers/dossier_actions.html.haml', type: :view do - let(:procedure) { create(:procedure, :published, expects_multiple_submissions: true) } + let(:procedure) { create(:procedure, :published) } let(:dossier) { create(:dossier, :en_construction, procedure: procedure) } subject { render 'users/dossiers/dossier_actions.html.haml', dossier: dossier } @@ -12,18 +12,13 @@ describe 'users/dossiers/dossier_actions.html.haml', type: :view do it { is_expected.not_to have_link('Supprimer le dossier') } end - context 'when the procedure doesn’t expect multiple submissions' do - let(:procedure) { create(:procedure, :published, expects_multiple_submissions: false) } - it { is_expected.not_to have_link('Commencer un autre dossier') } - end - context 'when the procedure is closed' do - let(:procedure) { create(:procedure, :archived, expects_multiple_submissions: true) } + let(:procedure) { create(:procedure, :archived) } it { is_expected.not_to have_link('Commencer un autre dossier') } end context 'when there are no actions to display' do - let(:procedure) { create(:procedure, :published, expects_multiple_submissions: false) } + let(:procedure) { create(:procedure, :archived) } let(:dossier) { create(:dossier, :accepte, procedure: procedure) } it 'doesn’t render the menu at all' do From d77a5552b7f7418e9454552b1575254a9c2c3641 Mon Sep 17 00:00:00 2001 From: Pierre de La Morinerie Date: Tue, 9 Jul 2019 14:39:47 +0200 Subject: [PATCH 2/3] dossiers: allow to start a new dossier after submitting one --- app/views/users/dossiers/merci.html.haml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/views/users/dossiers/merci.html.haml b/app/views/users/dossiers/merci.html.haml index 5d411136b..23ec4da75 100644 --- a/app/views/users/dossiers/merci.html.haml +++ b/app/views/users/dossiers/merci.html.haml @@ -20,4 +20,6 @@ et %b échanger avec un instructeur. - = link_to 'Accéder à votre dossier', dossier_path(@dossier), class: 'button large primary' + .flex.column.align-center + = link_to 'Accéder à votre dossier', dossier_path(@dossier), class: 'button large primary' + = link_to 'Déposer un autre dossier', procedure_lien(@dossier.procedure) From ecfccae6f0e79a83ed7ee070415c1200cbde491a Mon Sep 17 00:00:00 2001 From: Pierre de La Morinerie Date: Tue, 9 Jul 2019 12:44:39 +0000 Subject: [PATCH 3/3] dossiers: remove support for `Dossier#expects_multiple_submissions` --- app/controllers/admin/procedures_controller.rb | 2 +- app/models/dossier.rb | 2 ++ app/views/admin/procedures/_informations.html.haml | 9 --------- 3 files changed, 3 insertions(+), 10 deletions(-) diff --git a/app/controllers/admin/procedures_controller.rb b/app/controllers/admin/procedures_controller.rb index 19c0758aa..ae22689a5 100644 --- a/app/controllers/admin/procedures_controller.rb +++ b/app/controllers/admin/procedures_controller.rb @@ -265,7 +265,7 @@ class Admin::ProceduresController < AdminController end def procedure_params - editable_params = [:libelle, :description, :organisation, :direction, :lien_site_web, :cadre_juridique, :deliberation, :notice, :expects_multiple_submissions, :web_hook_url, :euro_flag, :logo, :auto_archive_on] + editable_params = [:libelle, :description, :organisation, :direction, :lien_site_web, :cadre_juridique, :deliberation, :notice, :web_hook_url, :euro_flag, :logo, :auto_archive_on] if @procedure&.locked? params.require(:procedure).permit(*editable_params) else diff --git a/app/models/dossier.rb b/app/models/dossier.rb index df3133982..025f145f1 100644 --- a/app/models/dossier.rb +++ b/app/models/dossier.rb @@ -1,6 +1,8 @@ class Dossier < ApplicationRecord include DossierFilteringConcern + self.ignored_columns = [:expects_multiple_submissions] + enum state: { brouillon: 'brouillon', en_construction: 'en_construction', diff --git a/app/views/admin/procedures/_informations.html.haml b/app/views/admin/procedures/_informations.html.haml index 746305403..33ba974e9 100644 --- a/app/views/admin/procedures/_informations.html.haml +++ b/app/views/admin/procedures/_informations.html.haml @@ -127,15 +127,6 @@ .col-md-6 %h4 Options avancées - = f.label :expects_multiple_submissions do - = f.check_box :expects_multiple_submissions - Ajuster pour le dépôt récurrent de dossiers - %p.help-block - %i.fa.fa-info-circle - Si cette démarche est conçue pour qu’une même personne y dépose régulièrement plusieurs - dossiers, l’interface est ajustée pour rendre plus facile la création de plusieurs dossiers - à la suite. - - if Flipflop.web_hook? %label{ for: :web_hook_url } Lien de rappel HTTP (webhook) = f.text_field :web_hook_url, class: 'form-control', placeholder: 'https://callback.exemple.fr/'