Merge branch 'dev'

This commit is contained in:
simon lehericey 2018-03-30 17:15:09 +02:00
commit 4a355f6776
20 changed files with 76 additions and 24 deletions

View file

@ -1,4 +1,4 @@
# demarches-simplifiees.fr (anciennement Téléprocédures Simplifiées)
# demarches-simplifiees.fr
## Context

View file

@ -12,17 +12,18 @@ class Users::CarteController < UsersController
end
def save
safe_json_latlngs = clean_json_latlngs(params[:json_latlngs])
dossier = current_user_dossier
dossier.quartier_prioritaires.each(&:destroy)
dossier.cadastres.each(&:destroy)
if params[:json_latlngs].present?
ModuleApiCartoService.save_qp! dossier, params[:json_latlngs]
ModuleApiCartoService.save_cadastre! dossier, params[:json_latlngs]
if safe_json_latlngs.present?
ModuleApiCartoService.save_qp! dossier, safe_json_latlngs
ModuleApiCartoService.save_cadastre! dossier, safe_json_latlngs
end
dossier.update(json_latlngs: params[:json_latlngs])
dossier.update(json_latlngs: safe_json_latlngs)
redirect_to modifier_dossier_path(dossier)
end
@ -62,4 +63,18 @@ class Users::CarteController < UsersController
api_carto: true
}
end
private
def clean_json_latlngs(json_latlngs)
# a polygon must contain at least 4 points
# https://tools.ietf.org/html/rfc7946#section-3.1.6
if json_latlngs.present?
multipolygone = JSON.parse(json_latlngs)
multipolygone.reject! { |polygone| polygone.count < 4 }
if multipolygone.present?
multipolygone.to_json
end
end
end
end

View file

@ -105,7 +105,7 @@ class Users::DossiersController < UsersController
update_current_user_siret!(siret)
etablissement_attributes = SIRETService.fetch(siret, @facade.dossier)
etablissement_attributes = SIRETService.fetch(siret, @facade.dossier.procedure_id, @facade.dossier)
if etablissement_attributes.present?
etablissement_attributes = ActionController::Parameters.new(etablissement_attributes).permit!

View file

@ -1,7 +1,5 @@
class SIRETService
def self.fetch(siret, dossier = nil)
procedure_id = dossier&.procedure_id
def self.fetch(siret, procedure_id, dossier = nil)
etablissement_params = ApiEntreprise::EtablissementAdapter.new(siret, procedure_id).to_params
entreprise_params = ApiEntreprise::EntrepriseAdapter.new(siret, procedure_id).to_params

View file

@ -8,4 +8,4 @@ Créateur : <%= @administration.email %>
Bonne journée,
L'équipe demarches-simplifiees.fr (anciennement Téléprocédures Simplifiées)
L'équipe demarches-simplifiees.fr

View file

@ -20,7 +20,7 @@
Bonne journée,
%br
%br
L'équipe demarches-simplifiees.fr (anciennement Téléprocédures Simplifiées)
L'équipe demarches-simplifiees.fr
%br
%br
%hr

View file

@ -8,4 +8,4 @@
<p>Bonne journée,</p>
<p>L'équipe demarches-simplifiees.fr (anciennement Téléprocédures Simplifiées)</p>
<p>L'équipe demarches-simplifiees.fr</p>

View file

@ -8,4 +8,4 @@ Vous venez d'être nommé accompagnateur sur demarches-simplifiees.fr. Pour mém
Bonne journée,
L'équipe demarches-simplifiees.fr (anciennement Téléprocédures Simplifiées)
L'équipe demarches-simplifiees.fr

View file

@ -6,4 +6,4 @@ Bonjour,
Bonne journée,
L'équipe demarches-simplifiees.fr (anciennement Téléprocédures Simplifiées)
L'équipe demarches-simplifiees.fr

View file

@ -8,4 +8,4 @@ Afin de répondre à cette invitation, merci de vous inscrire avec l'adresse ema
Bonne journée,
L'équipe demarches-simplifiees.fr (anciennement Téléprocédures Simplifiées)
L'équipe demarches-simplifiees.fr

View file

@ -6,4 +6,4 @@ Pour le consulter, merci de suivre ce lien : <%= users_dossiers_invite_url(@invi
Bonne journée,
L'équipe demarches-simplifiees.fr (anciennement Téléprocédures Simplifiées)
L'équipe demarches-simplifiees.fr

View file

@ -10,7 +10,7 @@ A tout moment, vous pouvez consulter le contenu de vos dossiers et les éventuel
Bonne journée,
%br
%br
L'équipe demarches-simplifiees.fr (anciennement Téléprocédures Simplifiées)
L'équipe demarches-simplifiees.fr
%br
%br

View file

@ -10,7 +10,7 @@ A tout moment, vous pouvez consulter le contenu de vos dossiers et les éventuel
Bonne journée,
%br
%br
L'équipe demarches-simplifiees.fr (anciennement Téléprocédures Simplifiées)
L'équipe demarches-simplifiees.fr
%br
%br

View file

@ -7,7 +7,7 @@ Votre administration vous confirme la bonne réception de votre dossier nº --n
Bonne journée,
%br
%br
L'équipe demarches-simplifiees.fr (anciennement Téléprocédures Simplifiées)
L'équipe demarches-simplifiees.fr
%br
%br

View file

@ -10,7 +10,7 @@ Pour en savoir plus sur le motif du refus, vous pouvez consulter le contenu de v
Bonne journée,
%br
%br
L'équipe demarches-simplifiees.fr (anciennement Téléprocédures Simplifiées)
L'équipe demarches-simplifiees.fr
%br
%br

View file

@ -10,7 +10,7 @@ Pour en savoir plus sur les raisons de ce classement sans suite, vous pouvez con
Bonne journée,
%br
%br
L'équipe demarches-simplifiees.fr (anciennement Téléprocédures Simplifiées)
L'équipe demarches-simplifiees.fr
%br
%br

View file

@ -6,7 +6,7 @@ Pour le consulter, merci de vous rendre sur <%=users_dossier_recapitulatif_url(d
Bonne journée,
L'équipe demarches-simplifiees.fr (anciennement Téléprocédures Simplifiées)
L'équipe demarches-simplifiees.fr

View file

@ -10,7 +10,7 @@ Vous pouvez retrouver et compléter le brouillon que vous avez créé pour la d
Bonne journée,
%br
%br
L'équipe demarches-simplifiees.fr (anciennement Téléprocédures Simplifiées)
L'équipe demarches-simplifiees.fr
%br
%br

View file

@ -11,4 +11,4 @@ Oubli de mot de passe, pas de problème :
Bonne journée,
L'équipe demarches-simplifiees.fr (anciennement Téléprocédures Simplifiées)
L'équipe demarches-simplifiees.fr

View file

@ -59,6 +59,45 @@ shared_examples 'carte_controller_spec' do
end
describe 'POST #save' do
context 'it cleans json_latlngs' do
let(:dossier) { create(:dossier, state: 'en_construction') }
let(:json_latlngs) { multipolygon.to_json }
before do
post :save, params: { dossier_id: dossier.id, json_latlngs: json_latlngs }
dossier.reload
end
context 'when json_latlngs is invalid' do
let(:multipolygon) do
[
[
{ lat: 1, lng: 1 },
{ lat: 1, lng: 2 },
{ lat: 1, lng: 1 }
]
]
end
it { expect(dossier.json_latlngs).to be_nil }
end
context 'when json_latlngs is valid' do
let(:multipolygon) do
[
[
{ lat: 1, lng: 1 },
{ lat: 1, lng: 2 },
{ lat: 2, lng: 2 },
{ lat: 1, lng: 1 }
]
]
end
it { expect(dossier.json_latlngs).to eq(json_latlngs) }
end
end
context 'En train de modifier la localisation' do
let(:dossier) { create(:dossier, state: 'en_construction') }
before do