From d80021392090c7e8a265b5d9f1cb2a63d284180b Mon Sep 17 00:00:00 2001 From: Eric Leroy-Terquem Date: Thu, 15 Feb 2024 11:21:31 +0100 Subject: [PATCH] feat(procedure): add closing details page --- app/controllers/users/commencer_controller.rb | 10 +++++++--- app/views/layouts/closing_details.html.haml | 16 ++++++++++++++++ .../users/commencer/closing_details.html.haml | 8 ++++++++ config/locales/views/users/commencer/en.yml | 2 ++ config/locales/views/users/commencer/fr.yml | 2 ++ config/routes.rb | 1 + .../users/commencer_controller_spec.rb | 4 ++-- 7 files changed, 38 insertions(+), 5 deletions(-) create mode 100644 app/views/layouts/closing_details.html.haml create mode 100644 app/views/users/commencer/closing_details.html.haml diff --git a/app/controllers/users/commencer_controller.rb b/app/controllers/users/commencer_controller.rb index bdbced324..3e6a958fb 100644 --- a/app/controllers/users/commencer_controller.rb +++ b/app/controllers/users/commencer_controller.rb @@ -78,6 +78,11 @@ module Users current_user ? :user : :guest end + def closing_details + @procedure = Procedure.find_by(path: params[:path]) + render 'closing_details', layout: 'closing_details' + end + private def extra_query_params @@ -136,9 +141,8 @@ module Users redirect_to commencer_path(procedure.replaced_by_procedure.path, **extra_query_params) return elsif procedure&.close? - flash.alert = procedure.service.presence ? - t('errors.messages.procedure_archived.with_service_and_phone_email', service_name: procedure.service.nom, service_phone_number: procedure.service.telephone, service_email: procedure.service.email) : - t('errors.messages.procedure_archived.with_organisation_only', organisation_name: procedure.organisation) + redirect_to closing_details_path(procedure.path) + return else flash.alert = t('errors.messages.procedure_not_found') end diff --git a/app/views/layouts/closing_details.html.haml b/app/views/layouts/closing_details.html.haml new file mode 100644 index 000000000..9faa2c075 --- /dev/null +++ b/app/views/layouts/closing_details.html.haml @@ -0,0 +1,16 @@ +- procedure = @procedure || @dossier&.procedure || nil + +- content_for :content do + .fr-container.fr-mt-5w + .fr-grid-row + .fr-col-12.fr-col-md-8.fr-col-offset-md-2 + .procedure-preview.fr-mb-5w + = yield + +- content_for :footer do + - if procedure + = render partial: 'users/procedure_footer', locals: { procedure: procedure, dossier: @dossier } + - else + = render partial: 'application/footer' + += render template: 'layouts/application' diff --git a/app/views/users/commencer/closing_details.html.haml b/app/views/users/commencer/closing_details.html.haml new file mode 100644 index 000000000..afbb80cdf --- /dev/null +++ b/app/views/users/commencer/closing_details.html.haml @@ -0,0 +1,8 @@ +- content_for(:title, @procedure.libelle) + +.fr-container + .fr-grid-row + .fr-col-12 + %h1= t('commencer.closing_details.page_title', libelle: @procedure.libelle, closed_at: @procedure.closed_at.strftime('%d/%m/%Y')) + %p + = format_text_value(@procedure.closing_details) diff --git a/config/locales/views/users/commencer/en.yml b/config/locales/views/users/commencer/en.yml index ab6d1db27..06ab8ce61 100644 --- a/config/locales/views/users/commencer/en.yml +++ b/config/locales/views/users/commencer/en.yml @@ -21,3 +21,5 @@ en: other: "Your last %{count} created files :" already_created_details_html: "N° %{id}, created %{created_at} ago and %{state}" + closing_details: + page_title: "Procedure %{libelle} is closed since %{closed_at}" diff --git a/config/locales/views/users/commencer/fr.yml b/config/locales/views/users/commencer/fr.yml index 9f3a8d2e0..f0b7308ce 100644 --- a/config/locales/views/users/commencer/fr.yml +++ b/config/locales/views/users/commencer/fr.yml @@ -21,3 +21,5 @@ fr: other: "Vos %{count} derniers dossiers créés :" already_created_details_html: "N° %{id}, créé il y a %{created_at} et %{state}" + closing_details: + page_title: "La démarche %{libelle} est close depuis le %{closed_at}" diff --git a/config/routes.rb b/config/routes.rb index 56f5cfe30..09c38d410 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -382,6 +382,7 @@ Rails.application.routes.draw do post 'accept_merge' => 'profil#accept_merge' post 'refuse_merge' => 'profil#refuse_merge' delete 'france_connect_information' => 'profil#destroy_fci' + get 'fermeture/:path', to: 'commencer#closing_details', as: :closing_details end get 'procedures/:id/logo', to: 'procedures#logo', as: :procedure_logo diff --git a/spec/controllers/users/commencer_controller_spec.rb b/spec/controllers/users/commencer_controller_spec.rb index 70c24bbb6..77801e36c 100644 --- a/spec/controllers/users/commencer_controller_spec.rb +++ b/spec/controllers/users/commencer_controller_spec.rb @@ -42,7 +42,7 @@ describe Users::CommencerController, type: :controller do published_procedure.organisation = "hello" published_procedure.close! get :commencer, params: { path: published_procedure.path } - expect(response).to redirect_to(root_path) + expect(response).to redirect_to(closing_details_path(published_procedure.path)) end end @@ -51,7 +51,7 @@ describe Users::CommencerController, type: :controller do published_procedure.service = create(:service) published_procedure.close! get :commencer, params: { path: published_procedure.path } - expect(response).to redirect_to(root_path) + expect(response).to redirect_to(closing_details_path(published_procedure.path)) end end