diff --git a/app/controllers/new_user/dossiers_controller.rb b/app/controllers/new_user/dossiers_controller.rb index 4156384bf..1499730c0 100644 --- a/app/controllers/new_user/dossiers_controller.rb +++ b/app/controllers/new_user/dossiers_controller.rb @@ -4,9 +4,9 @@ module NewUser helper_method :new_demarche_url - before_action :ensure_ownership!, except: [:index, :show, :demande, :messagerie, :brouillon, :update_brouillon, :recherche] - before_action :ensure_ownership_or_invitation!, only: [:show, :demande, :messagerie, :brouillon, :update_brouillon, :create_commentaire] - before_action :ensure_dossier_can_be_updated, only: [:update_identite, :update_brouillon] + before_action :ensure_ownership!, except: [:index, :show, :demande, :messagerie, :brouillon, :update_brouillon, :modifier, :recherche] + before_action :ensure_ownership_or_invitation!, only: [:show, :demande, :messagerie, :brouillon, :update_brouillon, :modifier, :create_commentaire] + before_action :ensure_dossier_can_be_updated, only: [:update_identite, :update_brouillon, :modifier] before_action :forbid_invite_submission!, only: [:update_brouillon] def index @@ -123,6 +123,10 @@ module NewUser end end + def modifier + @dossier = dossier_with_champs + end + def merci @dossier = current_user.dossiers.includes(:procedure).find(params[:id]) end diff --git a/app/views/new_user/dossiers/demande.html.haml b/app/views/new_user/dossiers/demande.html.haml index cf82b1e3b..f5be19d48 100644 --- a/app/views/new_user/dossiers/demande.html.haml +++ b/app/views/new_user/dossiers/demande.html.haml @@ -7,4 +7,4 @@ .container - if !@dossier.read_only? - = link_to "Modifier le dossier", brouillon_dossier_path(@dossier), class: 'button primary edit-form' + = link_to "Modifier le dossier", modifier_dossier_path(@dossier), class: 'button primary edit-form' diff --git a/app/views/new_user/dossiers/modifier.html.haml b/app/views/new_user/dossiers/modifier.html.haml new file mode 100644 index 000000000..624dcaa6a --- /dev/null +++ b/app/views/new_user/dossiers/modifier.html.haml @@ -0,0 +1,7 @@ +- content_for(:title, "Modifier · Dossier nº #{@dossier.id} (#{@dossier.procedure.libelle})") + +#dossier-show + = render partial: 'new_user/dossiers/show/header', locals: { dossier: @dossier } + + .container + = render partial: "shared/dossiers/edit", locals: { dossier: @dossier, apercu: false } diff --git a/config/routes.rb b/config/routes.rb index ca1701fd0..b5799685e 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -277,6 +277,7 @@ Rails.application.routes.draw do patch 'update_identite' get 'brouillon' patch 'brouillon', to: 'dossiers#update_brouillon' + get 'modifier', to: 'dossiers#modifier' get 'merci' get 'demande' get 'messagerie' diff --git a/spec/features/new_user/dossier_details_spec.rb b/spec/features/new_user/dossier_details_spec.rb index d416d194a..d6644e634 100644 --- a/spec/features/new_user/dossier_details_spec.rb +++ b/spec/features/new_user/dossier_details_spec.rb @@ -25,7 +25,7 @@ describe 'Dossier details:' do expect(page).to have_current_path(demande_dossier_path(dossier)) click_on 'Modifier le dossier' - expect(page).to have_current_path(brouillon_dossier_path(dossier)) + expect(page).to have_current_path(modifier_dossier_path(dossier)) fill_in('texte obligatoire', with: 'Nouveau texte') click_on 'Enregistrer les modifications du dossier' diff --git a/spec/views/new_user/dossiers/demande.html.haml_spec.rb b/spec/views/new_user/dossiers/demande.html.haml_spec.rb index 0f0a15236..0dff42b3d 100644 --- a/spec/views/new_user/dossiers/demande.html.haml_spec.rb +++ b/spec/views/new_user/dossiers/demande.html.haml_spec.rb @@ -21,7 +21,7 @@ describe 'new_user/dossiers/demande.html.haml', type: :view do end context 'when the dossier is editable' do - it { is_expected.to have_link('Modifier le dossier', href: brouillon_dossier_path(dossier)) } + it { is_expected.to have_link('Modifier le dossier', href: modifier_dossier_path(dossier)) } end context 'when the dossier is read-only' do