diff --git a/app/controllers/new_administrateur/procedures_controller.rb b/app/controllers/new_administrateur/procedures_controller.rb index ac9c15f99..136dffb12 100644 --- a/app/controllers/new_administrateur/procedures_controller.rb +++ b/app/controllers/new_administrateur/procedures_controller.rb @@ -1,6 +1,6 @@ module NewAdministrateur class ProceduresController < AdministrateurController - before_action :retrieve_procedure, only: [:champs, :annotations, :edit, :monavis, :update_monavis, :jeton, :update_jeton, :publication, :publish] + before_action :retrieve_procedure, only: [:champs, :annotations, :edit, :monavis, :update_monavis, :jeton, :update_jeton, :publication, :publish, :transfert] before_action :procedure_locked?, only: [:champs, :annotations] ITEMS_PER_PAGE = 25 @@ -155,10 +155,13 @@ module NewAdministrateur end end + def transfert + end + def transfer admin = Administrateur.by_email(params[:email_admin].downcase) if admin.nil? - redirect_to admin_procedure_publication_path(params[:procedure_id]) + redirect_to admin_procedure_transfert_path(params[:procedure_id]) flash.alert = "Envoi vers #{params[:email_admin]} impossible : cet administrateur n'existe pas" else procedure = current_administrateur.procedures.find(params[:procedure_id]) diff --git a/app/views/new_administrateur/procedures/publication.html.haml b/app/views/new_administrateur/procedures/publication.html.haml index 26d4ed03b..efd17f78e 100644 --- a/app/views/new_administrateur/procedures/publication.html.haml +++ b/app/views/new_administrateur/procedures/publication.html.haml @@ -20,8 +20,6 @@ = link_to @procedure_lien, sanitize_url(@procedure_lien), target: :blank, rel: :noopener, class: "mb-4" %p.mb-4 Attention, diffusez toujours le lien complet affiché ci-dessus, et non pas un lien générique vers #{APPLICATION_NAME}. Ne dites pas non plus aux usagers de se rendre sur le site générique #{APPLICATION_NAME}, donnez-leur toujours le lien complet. - - = render partial: 'procedure_transfert' - elsif @procedure.brouillon? - if @procedure.missing_steps.empty? %p diff --git a/app/views/new_administrateur/procedures/show.html.haml b/app/views/new_administrateur/procedures/show.html.haml index af87662ef..802dda5e3 100644 --- a/app/views/new_administrateur/procedures/show.html.haml +++ b/app/views/new_administrateur/procedures/show.html.haml @@ -13,7 +13,7 @@ Tester - if @procedure.publiee? || @procedure.brouillon? - = link_to admin_procedure_publication_path(@procedure), class: 'button' do + = link_to admin_procedure_transfert_path(@procedure), class: 'button' do %span.icon.reply Envoyer une copie diff --git a/app/views/new_administrateur/procedures/transfert.html.haml b/app/views/new_administrateur/procedures/transfert.html.haml new file mode 100644 index 000000000..1f7666686 --- /dev/null +++ b/app/views/new_administrateur/procedures/transfert.html.haml @@ -0,0 +1,6 @@ += render partial: 'new_administrateur/breadcrumbs', + locals: { steps: [link_to('Démarches', admin_procedures_path), + link_to(@procedure.libelle, admin_procedure_path(@procedure)), + 'Transfert'] } +.container + = render partial: 'procedure_transfert' diff --git a/config/routes.rb b/config/routes.rb index fc8eec97d..408c3fcb3 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -369,6 +369,7 @@ Rails.application.routes.draw do get 'publication' => 'procedures#publication', as: :publication put 'publish' => 'procedures#publish', as: :publish + get 'transfert' => 'procedures#transfert', as: :transfert post 'transfer' => 'procedures#transfer', as: :transfer resources :mail_templates, only: [:edit, :update] diff --git a/spec/controllers/new_administrateur/procedures_controller_spec.rb b/spec/controllers/new_administrateur/procedures_controller_spec.rb index be3a6845b..289016808 100644 --- a/spec/controllers/new_administrateur/procedures_controller_spec.rb +++ b/spec/controllers/new_administrateur/procedures_controller_spec.rb @@ -450,7 +450,7 @@ describe NewAdministrateur::ProceduresController, type: :controller do let(:email_admin) { 'plop' } it { expect(subject.status).to eq 302 } - it { expect(response.body).to include(admin_procedure_publication_path(procedure.id)) } + it { expect(response.body).to include(admin_procedure_transfert_path(procedure.id)) } it { expect(flash[:alert]).to be_present } it { expect(flash[:alert]).to eq("Envoi vers #{email_admin} impossible : cet administrateur n'existe pas") } end