Unify #generate_qp with #generate_cadastre

This commit is contained in:
gregoirenovel 2018-10-15 16:07:15 +02:00
parent a18af4e616
commit 22beb41240
4 changed files with 12 additions and 21 deletions

View file

@ -38,7 +38,7 @@ class Users::CarteController < UsersController
@error = true
else
if @dossier.procedure.module_api_carto.quartiers_prioritaires?
quartiers_prioritaires = ModuleApiCartoService.generate_qp(geo_json).values
quartiers_prioritaires = ModuleApiCartoService.generate_qp(geo_json)
@dossier.quartier_prioritaires.build(quartiers_prioritaires)
@data[:quartiersPrioritaires] = quartiers_prioritaires
end

View file

@ -8,15 +8,8 @@ class CARTO::SGMAP::QuartiersPrioritaires::Adapter
end
def to_params
params = {}
data_source[:features].each do |feature|
qp_code = feature[:properties][:code]
params[qp_code] = feature[:properties]
params[qp_code][:geometry] = feature[:geometry]
data_source[:features].map do |feature|
feature[:properties].merge({ geometry: feature[:geometry] })
end
params
end
end

View file

@ -3,7 +3,7 @@ class ModuleApiCartoService
if dossier.procedure.module_api_carto.quartiers_prioritaires?
qp_list = generate_qp(JSON.parse(json_latlngs))
qp_list.each_value do |qp|
qp_list.each do |qp|
qp[:dossier_id] = dossier.id
qp[:geometry] = qp[:geometry].to_json
QuartierPrioritaire.create(qp)
@ -24,11 +24,11 @@ class ModuleApiCartoService
end
def self.generate_qp(coordinates)
coordinates.inject({}) { |acc, coordinate|
acc.merge CARTO::SGMAP::QuartiersPrioritaires::Adapter.new(
coordinates.flat_map do |coordinate|
CARTO::SGMAP::QuartiersPrioritaires::Adapter.new(
coordinate.map { |element| [element['lng'], element['lat']] }
).to_params
}
end
end
def self.generate_cadastre(coordinates)