dossier: add new page for SIRET identification
This commit is contained in:
parent
1cf7568bb4
commit
54ba0f8e50
8 changed files with 70 additions and 5 deletions
|
@ -69,6 +69,10 @@ module NewUser
|
|||
end
|
||||
end
|
||||
|
||||
def siret
|
||||
@dossier = dossier
|
||||
end
|
||||
|
||||
def brouillon
|
||||
@dossier = dossier_with_champs
|
||||
|
||||
|
@ -77,7 +81,7 @@ module NewUser
|
|||
if dossier.procedure.for_individual
|
||||
redirect_to identite_dossier_path(@dossier)
|
||||
else
|
||||
redirect_to users_dossier_path(@dossier)
|
||||
redirect_to siret_dossier_path(@dossier)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -61,7 +61,7 @@ class Users::DossiersController < UsersController
|
|||
if dossier.procedure.for_individual
|
||||
redirect_to identite_dossier_path(dossier)
|
||||
else
|
||||
redirect_to users_dossier_path(id: dossier.id)
|
||||
redirect_to siret_dossier_path(id: dossier.id)
|
||||
end
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
error_procedure
|
||||
|
|
25
app/views/new_user/dossiers/siret.html.haml
Normal file
25
app/views/new_user/dossiers/siret.html.haml
Normal file
|
@ -0,0 +1,25 @@
|
|||
- content_for(:title, "Nouveau dossier (#{@dossier.procedure.libelle})")
|
||||
|
||||
- content_for :footer do
|
||||
= render partial: "new_user/dossiers/dossier_footer", locals: { dossier: @dossier }
|
||||
|
||||
.two-columns
|
||||
.columns-container
|
||||
.column.preview
|
||||
= render partial: "new_user/dossiers/demarche_overview", locals: { procedure: @dossier.procedure }
|
||||
|
||||
.column.identity-form
|
||||
= render partial: "shared/dossiers/submit_is_over", locals: { dossier: @dossier }
|
||||
|
||||
- if !dossier_submission_is_closed?(@dossier)
|
||||
= form_for @dossier, url: users_dossier_siret_informations_path(@dossier), html: { class: "form" } do |f|
|
||||
%h1 Identifier votre établissement
|
||||
|
||||
%p.mb-1 Merci de remplir le numéro de SIRET de votre entreprise, administration ou association pour commencer la démarche.
|
||||
|
||||
= f.label :siret, style: "display: none"
|
||||
= f.text_field :siret, placeholder: "Numéro SIRET à 14 chiffres", required: true
|
||||
|
||||
= f.hidden_field :dossier_id, value: @dossier.id
|
||||
|
||||
= f.submit "Valider", class: "button large primary expand", data: { disable_with: "Récupération des informations…" }
|
|
@ -113,6 +113,7 @@ fr:
|
|||
activerecord:
|
||||
attributes:
|
||||
user:
|
||||
siret: 'Numéro SIRET'
|
||||
password: 'Le mot de passe'
|
||||
gestionnaire:
|
||||
password: 'Le mot de passe'
|
||||
|
|
|
@ -278,6 +278,7 @@ Rails.application.routes.draw do
|
|||
member do
|
||||
get 'identite'
|
||||
patch 'update_identite'
|
||||
get 'siret'
|
||||
get 'brouillon'
|
||||
patch 'brouillon', to: 'dossiers#update_brouillon'
|
||||
get 'modifier', to: 'dossiers#modifier'
|
||||
|
|
|
@ -205,6 +205,15 @@ describe NewUser::DossiersController, type: :controller do
|
|||
end
|
||||
end
|
||||
|
||||
describe '#siret' do
|
||||
before { sign_in(user) }
|
||||
let!(:dossier) { create(:dossier, user: user) }
|
||||
|
||||
subject { get :siret, params: { id: dossier.id } }
|
||||
|
||||
it { is_expected.to render_template(:siret) }
|
||||
end
|
||||
|
||||
describe '#brouillon' do
|
||||
before { sign_in(user) }
|
||||
let!(:dossier) { create(:dossier, user: user, autorisation_donnees: true) }
|
||||
|
@ -219,7 +228,7 @@ describe NewUser::DossiersController, type: :controller do
|
|||
before { dossier.update_columns(autorisation_donnees: false) }
|
||||
|
||||
context 'when the dossier is for personne morale' do
|
||||
it { is_expected.to redirect_to(users_dossier_path(dossier)) }
|
||||
it { is_expected.to redirect_to(siret_dossier_path(dossier)) }
|
||||
end
|
||||
|
||||
context 'when the dossier is for an personne physique' do
|
||||
|
|
|
@ -61,7 +61,7 @@ describe Users::DossiersController, type: :controller do
|
|||
end
|
||||
|
||||
it { is_expected.to have_http_status(302) }
|
||||
it { is_expected.to redirect_to users_dossier_path(id: Dossier.last) }
|
||||
it { is_expected.to redirect_to siret_dossier_path(id: Dossier.last) }
|
||||
|
||||
it { expect { subject }.to change(Dossier, :count).by 1 }
|
||||
|
||||
|
@ -152,7 +152,7 @@ describe Users::DossiersController, type: :controller do
|
|||
subject { get :new, params: { procedure_id: procedure_id, brouillon: true } }
|
||||
|
||||
it { is_expected.to have_http_status(302) }
|
||||
it { is_expected.to redirect_to users_dossier_path(id: Dossier.last) }
|
||||
it { is_expected.to redirect_to siret_dossier_path(id: Dossier.last) }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
25
spec/views/new_user/dossiers/siret.html.haml_spec.rb
Normal file
25
spec/views/new_user/dossiers/siret.html.haml_spec.rb
Normal file
|
@ -0,0 +1,25 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'new_user/dossiers/siret.html.haml', type: :view do
|
||||
let(:dossier) { create(:dossier) }
|
||||
let(:footer) { view.content_for(:footer) }
|
||||
|
||||
before do
|
||||
sign_in dossier.user
|
||||
assign(:dossier, dossier)
|
||||
end
|
||||
|
||||
subject! { render }
|
||||
|
||||
it 'affiche les informations de la démarche' do
|
||||
expect(rendered).to have_text(dossier.procedure.libelle)
|
||||
end
|
||||
|
||||
it 'affiche le formulaire de SIRET' do
|
||||
expect(rendered).to have_field('Numéro SIRET')
|
||||
end
|
||||
|
||||
it 'prépare le footer' do
|
||||
expect(footer).to have_selector('footer')
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue