[#876] New home page and disabled liste démarche and cargo

Bugs know : can not access at the page "Détails de votre projet" => "demarche" is null
This commit is contained in:
Xavier J 2015-09-21 11:36:26 +02:00
parent 90c6459b09
commit cb2786bb33
13 changed files with 103 additions and 196 deletions

View file

@ -4,4 +4,8 @@
h5 span { h5 span {
font-weight: normal font-weight: normal
}
#insee_infogreffe {
font-size:17px;
} }

View file

@ -4,4 +4,9 @@
.mask { .mask {
display: none; display: none;
}
#titre_procedure {
margin-top: 3%;
margin-bottom: 2%;
} }

View file

@ -9,32 +9,19 @@ class DossiersController < ApplicationController
end end
def create def create
@dossier_id = params[:pro_dossier_id].strip
if dossier_id_is_present? @etablissement = Etablissement.new(SIADE::EtablissementAdapter.new(siret).to_params)
@entreprise = Entreprise.new(SIADE::EntrepriseAdapter.new(siren).to_params)
@dossier = Dossier.create
@dossier = Dossier.find(@dossier_id) @entreprise.dossier = @dossier
@entreprise.save
if @dossier.siret == params[:siret] @etablissement.dossier = @dossier
redirect_to url_for(controller: :recapitulatif, action: :show, dossier_id: @dossier_id) @etablissement.entreprise = @entreprise
else @etablissement.save
redirect_to url_for(controller: :start, action: :error_dossier)
end
else
@etablissement = Etablissement.new(SIADE::EtablissementAdapter.new(siret).to_params) redirect_to url_for(controller: :dossiers, action: :show, id: @dossier.id)
@entreprise = Entreprise.new(SIADE::EntrepriseAdapter.new(siren).to_params)
@dossier = Dossier.create
@entreprise.dossier = @dossier
@entreprise.save
@etablissement.dossier = @dossier
@etablissement.entreprise = @entreprise
@etablissement.save
redirect_to url_for(controller: :dossiers, action: :show, id: @dossier.id)
end
rescue RestClient::ResourceNotFound rescue RestClient::ResourceNotFound
redirect_to url_for(controller: :start, action: :error_siret) redirect_to url_for(controller: :start, action: :error_siret)
@ -46,7 +33,7 @@ class DossiersController < ApplicationController
@dossier = Dossier.find(params[:id]) @dossier = Dossier.find(params[:id])
if checked_autorisation_donnees? if checked_autorisation_donnees?
@dossier.update_attributes(update_params) @dossier.update_attributes(update_params)
redirect_to url_for(controller: :demandes, action: :show, dossier_id: @dossier.id) redirect_to url_for(controller: :description, action: :show, dossier_id: @dossier.id)
else else
@etablissement = @dossier.etablissement @etablissement = @dossier.etablissement
@entreprise = @dossier.entreprise.decorate @entreprise = @dossier.entreprise.decorate

View file

@ -1,5 +1,5 @@
.container .container
%h2 Récapitulatif de vos informations <em class="small">(récupérées auprès de l'INSEE et d'INFOGREFFE)</em> %h2 Récapitulatif de vos informations <em id="insee_infogreffe" class='small'>(récupérées auprès de l'INSEE et d'INFOGREFFE)</em>
%br %br
%div.row %div.row

View file

@ -1,12 +1,9 @@
%p.lead{id: 'pro_section'} %p.lead{id: 'pro_section'}
%span{class:'text-info', style:'font-weight:bold'} %h2#titre_procedure.text-info
='Si vous êtes un professionnel, ' Demande de subvention
%p.lead %br
= form_tag(url_for({controller: :dossiers, action: :create}), class: 'form-inline', style: 'margin-top:10%', method: 'POST') do |f| = form_tag(url_for({controller: :dossiers, action: :create}), class: 'form-inline', method: 'POST') do |f|
.form-group.form-group-lg .form-group.form-group-lg
= text_field_tag :siret, nil, :class => "form-control", :placeholder => "Entrez votre Siret", :id => "siret", :name => "siret", :maxlength => 14, :style => 'margin-bottom:10px' = text_field_tag :siret, nil, :class => "form-control", :placeholder => "Entrez votre Siret", :id => "siret", :name => "siret", :maxlength => 14, :style => 'margin-bottom:10px'
%br %br
= number_field_tag :siret, nil, :class => "form-control", :placeholder => "Entrez n° de dossier", :id => "pro_dossier_id", :name => "pro_dossier_id", :style => 'display:none'
%a{:href => '#', :style => 'margin-top:10px', :id => 'btn_show_dossier_id_input', :onclick => 'show_dossier_id_input()'} J'ai un numéro de dossier
%br
= submit_tag "Commencer", class: %w(btn btn-lg btn-success), style: 'margin-top:20px;', data: { disable_with: "Commencer", submit: true} = submit_tag "Commencer", class: %w(btn btn-lg btn-success), style: 'margin-top:20px;', data: { disable_with: "Commencer", submit: true}

View file

@ -1,13 +1,7 @@
.container.center .container.center
%h1.cover-heading <b>T</b>élé<b>P</b>rocédure administrative <b>S</b>implifiée %h1.cover-heading <b>T</b>élé<b>P</b>rocédure administrative <b>S</b>implifiée
%p %br
%p{style: 'width:67%; margin-left:auto; margin-right:auto'}
Site de démonstration dun service public de saisie dun projet ou de dépôt dune démarche administrative, auprès dun ou plusieurs organismes publics, simplifié des informations déjà connues des administrations, grâce à la fourniture du numéro SIRET. Site de démonstration dun service public de saisie dun projet ou de dépôt dune démarche administrative, auprès dun ou plusieurs organismes publics, simplifié des informations déjà connues des administrations, grâce à la fourniture du numéro SIRET.
.row{style:'margin-top:10%'} .row
-if !user_signed_in? = render partial: '/start/pro'
.col-lg-6.col-md-6
= render partial: '/start/pro'
.col-lg-6.col-md-6.vr
= render partial: '/start/admin'
-else
.col-lg-12.col-md-12
= render partial: '/start/admin'

View file

@ -77,30 +77,30 @@ RSpec.describe DossiersController, type: :controller do
end end
end end
end end
context 'when pro_dossier_id is not empty' do # context 'when pro_dossier_id is not empty' do
let!(:dossier) { create(:dossier, :with_entreprise) } # let!(:dossier) { create(:dossier, :with_entreprise) }
subject { post :create, siret: dossier.siret, pro_dossier_id: 99_999_999_999 } # subject { post :create, siret: dossier.siret, pro_dossier_id: 99_999_999_999 }
#
context 'when dossier not found' do # context 'when dossier not found' do
it 'redirects to start with error_dossier' do # it 'redirects to start with error_dossier' do
expect(subject).to redirect_to(controller: :start, action: :error_dossier) # expect(subject).to redirect_to(controller: :start, action: :error_dossier)
end # end
end # end
context 'when dossier found' do # context 'when dossier found' do
context 'when siret match' do # context 'when siret match' do
subject { post :create, siret: dossier.siret, pro_dossier_id: dossier.id } # subject { post :create, siret: dossier.siret, pro_dossier_id: dossier.id }
it 'redirects to controller recapitulatif' do # it 'redirects to controller recapitulatif' do
expect(subject).to redirect_to(controller: :recapitulatif, action: :show, dossier_id: dossier.id) # expect(subject).to redirect_to(controller: :recapitulatif, action: :show, dossier_id: dossier.id)
end # end
end # end
context 'when siret does not match' do # context 'when siret does not match' do
subject { post :create, siret: '11111111111111', pro_dossier_id: dossier.id } # subject { post :create, siret: '11111111111111', pro_dossier_id: dossier.id }
it 'redirects to start with action error_dossier' do # it 'redirects to start with action error_dossier' do
expect(subject).to redirect_to(controller: :start, action: :error_dossier) # expect(subject).to redirect_to(controller: :start, action: :error_dossier)
end # end
end # end
end # end
end # end
end end
end end
@ -111,7 +111,7 @@ RSpec.describe DossiersController, type: :controller do
context 'when Checkbox is checked' do context 'when Checkbox is checked' do
let(:autorisation_donnees) { '1' } let(:autorisation_donnees) { '1' }
it 'redirects to demande' do it 'redirects to demande' do
expect(response).to redirect_to(controller: :demandes, action: :show, dossier_id: dossier.id) expect(response).to redirect_to(controller: :description, action: :show, dossier_id: dossier.id)
end end
it 'update dossier' do it 'update dossier' do

View file

@ -1,33 +0,0 @@
require 'spec_helper'
feature 'Dossier#Show Page' do
let(:dossier) { create(:dossier, :with_entreprise) }
let(:dossier_id) { dossier.id }
before do
visit "/dossiers/#{dossier_id}"
end
context 'sur la page d\'information d\'un SIRET' do
scenario 'Le formulaire envoie vers /dossiers/:dossier_id en #POST' do
expect(page).to have_selector("form[action='/dossiers/#{dossier_id}'][method=post]")
end
scenario 'la checkbox d\'information est présente' do
expect(page).to have_css('#dossier_autorisation_donnees')
end
scenario 'le texte d\'information des droits est correct' do
expect(page).to have_content("J'autorise les organismes publics à vérifier les informations de mon entreprise auprès des administrations concernées. Ces informations resteront strictement confidentielles.")
end
scenario 'les informations de l\'entreprise sont présents' do
expect(page).to have_content('Siret')
end
scenario 'le bouton "Etape suivante" est présent' do
expect(page).to have_selector('#etape_suivante')
end
end
end

View file

@ -1,97 +0,0 @@
require 'spec_helper'
feature 'Start#Index Page' do
context 'si personne n\'est connecté' do
before do
visit root_path
end
scenario 'la section des professionnels est présente' do
expect(page).to have_selector('#pro_section')
end
scenario 'la section des admin est présente' do
expect(page).to have_selector('#admin_section')
end
context 'dans la section professionnel' do
scenario 'le formulaire envoie vers /dossiers en #POST' do
expect(page).to have_selector("form[action='/dossiers'][method=post]")
end
scenario 'le champs "Numéro SIRET" est présent' do
expect(page).to have_selector('input[id=siret][name=siret]')
end
scenario 'le champs "Numéro de dossier" n\'est pas visible' do
expect(page).to_not have_selector('input[id=pro_dossier_id][name=pro_dossier_id]')
end
scenario 'button "j\'ai déjà un numéro de dossier "' do
expect(page).to have_selector('#btn_show_dossier_id_input')
end
scenario 'le champs "Numéro SIRET" ne peut contenir que 15 caractères' do
length_string_20 = SecureRandom.hex(10)
find('#siret').set(length_string_20)
expect(find('#siret').value.length).to eq(14)
end
end
context 'dans la section admninistration' do
scenario 'le formulaire envoie vers /login en #POST' do
expect(page).to have_selector("form[action='/login'][method=post]")
end
scenario ' le champs "Identifiant" est présent' do
expect(page).to have_selector("input[id=user_email][name='user[email]']")
end
scenario 'le champs "Mot de passe" est présent' do
expect(page).to have_selector("input[id=user_password][name='user[password]']")
end
scenario 'le champs "Mot de passe" est de type password' do
expect(page).to have_selector('input[type=password][id=user_password]')
end
scenario 'le champs "Numéro de dossier" est présent' do
expect(page).to have_selector('input[id=dossier_id][name=dossier_id]')
end
end
end
context 'si une administration est connecté' do
before do
login_admin
visit root_path
end
scenario 'la section des professionnels n\'est pas présente' do
expect(page).to_not have_selector('#pro_section')
end
scenario 'la section des admin est présente' do
expect(page).to have_selector('#admin_section')
end
context 'dans la section admninistration' do
scenario 'le formulaire envoie vers /admin/dossiers en #GET' do
expect(page).to have_selector("form[action='/admin/dossiers'][method=get]")
end
scenario ' le champs "Identifiant" n\'est pas présent' do
expect(page).to_not have_selector("input[id=user_email][name='user[email]']")
end
scenario 'le champs "Mot de passe" n\'est pas présent' do
expect(page).to_not have_selector("input[id=user_password][name='user[password]']")
end
scenario 'le champs "Numéro de dossier" est présent' do
expect(page).to have_selector('input[id=dossier_id][name=dossier_id]')
end
end
end
end

View file

@ -2,6 +2,7 @@ require 'spec_helper'
describe 'dossiers/show.html.haml', type: :view do describe 'dossiers/show.html.haml', type: :view do
let(:dossier) { create(:dossier, :with_entreprise) } let(:dossier) { create(:dossier, :with_entreprise) }
before do before do
assign(:dossier, dossier) assign(:dossier, dossier)
assign(:entreprise, dossier.entreprise.decorate) assign(:entreprise, dossier.entreprise.decorate)
@ -12,4 +13,26 @@ describe 'dossiers/show.html.haml', type: :view do
it 'have autorisation_donnees check box' do it 'have autorisation_donnees check box' do
expect(rendered).to have_css('#dossier_autorisation_donnees') expect(rendered).to have_css('#dossier_autorisation_donnees')
end end
context 'sur la page d\'information d\'un SIRET' do
it 'Le formulaire envoie vers /dossiers/:dossier_id en #POST' do
expect(rendered).to have_selector("form[action='/dossiers/#{dossier.id}'][method=post]")
end
it 'la checkbox d\'information est présente' do
expect(rendered).to have_css('#dossier_autorisation_donnees')
end
it 'le texte d\'information des droits est correct' do
expect(rendered).to have_content("J'autorise les organismes publics à vérifier les informations de mon entreprise auprès des administrations concernées. Ces informations resteront strictement confidentielles.")
end
it 'les informations de l\'entreprise sont présents' do
expect(rendered).to have_content('Siret')
end
it 'le bouton "Etape suivante" est présent' do
expect(rendered).to have_selector('#etape_suivante')
end
end
end end

View file

@ -0,0 +1,27 @@
require 'spec_helper'
describe 'start/index.html.haml', type: :view do
context 'si personne n\'est connecté' do
before do
render
end
it 'la section des professionnels est présente' do
expect(rendered).to have_selector('#pro_section')
end
context 'dans la section professionnel' do
it 'le formulaire envoie vers /dossiers en #POST' do
expect(rendered).to have_selector("form[action='/dossiers'][method=post]")
end
it 'le champs "Numéro SIRET" est présent' do
expect(rendered).to have_selector('input[id=siret][name=siret]')
end
it 'le titre de la procédure' do
expect(rendered).to have_selector('#titre_procedure')
end
end
end
end