diff options
| author | Luc Donnet | 2014-08-07 10:59:19 +0200 |
|---|---|---|
| committer | Luc Donnet | 2014-08-07 10:59:19 +0200 |
| commit | ebc2aabbe429ba88b4f586e198e7660a4fd0fed7 (patch) | |
| tree | ee60a2eaff4593c6e2242794c11cfc8c4d2f7520 | |
| parent | 1772cb1acaf9a14e50dc5ac1b294a0c1639eb2cb (diff) | |
| parent | 1355fa010d0aa90ec4e1f8f0b99722b7d0e598c4 (diff) | |
| download | chouette-core-ebc2aabbe429ba88b4f586e198e7660a4fd0fed7.tar.bz2 | |
Merge branch 'sismo' of github.com:afimb/chouette2 into sismo
| -rw-r--r-- | app/controllers/addresses_controller.rb | 101 | ||||
| -rw-r--r-- | app/controllers/stop_areas_controller.rb | 101 | ||||
| -rw-r--r-- | app/views/stop_areas/_form.html.erb | 2 | ||||
| -rw-r--r-- | config/routes.rb | 8 |
4 files changed, 107 insertions, 105 deletions
diff --git a/app/controllers/addresses_controller.rb b/app/controllers/addresses_controller.rb new file mode 100644 index 000000000..7e747be6a --- /dev/null +++ b/app/controllers/addresses_controller.rb @@ -0,0 +1,101 @@ +class AddressesController < ChouetteController + + belongs_to :referential + + def index + referential_path(@referential) + @addresses = filtered_addresses + respond_to do |format| + format.json { render :json => @addresses.collect { |add| { :id => add.osm_id, + :house_number => add.address ? "#{add.address.house_number}" : -1, + :road => add.address ? "#{add.address.road}" : "#{add.display_name}", + :postcode => add.address ? "#{add.address.postcode}" : -1, + :city => add.address ? "#{add.address.city}" : -1, + :country => add.address ? "#{add.address.country}" : -1, + :lat => add.lat, + :lon => add.lon} } } + end + end + + protected + + def filtered_addresses + search = Nominatim.search(params[:q]).limit(10) + addresses = search.address_details(true) + #search.each_address do |sr| + # Rails.logger.error("FILTERED ADRESS = #{sr.inspect}") + # Rails.logger.error("\tATTRACTION = #{sr.attraction.inspect}") + # Rails.logger.error("\tCLOTHES = #{sr.clothes.inspect}") + # Rails.logger.error("\tHOUSE_NUMBER = #{sr.house_number.inspect}") + # Rails.logger.error("\tROAD = #{sr.road.inspect}") + # Rails.logger.error("\tCOMMERCIAL = #{sr.commercial.inspect}") + # Rails.logger.error("\tPEDESTRIAN = #{sr.pedestrian.inspect}") + # Rails.logger.error("\tSUBURB = #{sr.suburb.inspect}") + # Rails.logger.error("\tCITY_DISTRICT = #{sr.city_district.inspect}") + # Rails.logger.error("\tCITY = #{sr.city.inspect}") + # Rails.logger.error("\tADMINISTRATIVE = #{sr.administrative.inspect}") + # Rails.logger.error("\tCOUNTY = #{sr.county.inspect}") + # Rails.logger.error("\tSTATE_DISTRICT = #{sr.state_district.inspect}") + # Rails.logger.error("\tSTATE = #{sr.state.inspect}") + # Rails.logger.error("\tPOSTCODE = #{sr.postcode.inspect}") + # Rails.logger.error("\tCOUNTRY = #{sr.country.inspect}") + # Rails.logger.error("\tCOUNTRY_CODE = #{sr.country_code.inspect}") + # Rails.logger.error("\tPLACE = #{sr.place.inspect}") + # Rails.logger.error("\tTOWN = #{sr.town.inspect}") + # Rails.logger.error("\tVILLAGE = #{sr.village.inspect}") + #end + #if addresses + # addresses.each do |ad| + # Rails.logger.error("FILTERED PLACE : #{ad.inspect}") + # Rails.logger.error("\tDISPLAY_NAME = #{ad.display_name.inspect}") + # Rails.logger.error("\tCLASS = #{ad.class.inspect}") + # Rails.logger.error("\tTYPE = #{ad.type.inspect}") + # Rails.logger.error("\tADRRESS = #{ad.address.inspect}") + # if ad.address + # Rails.logger.error("\t\tATTRACTION = #{ad.address.attraction.inspect}") + # Rails.logger.error("\t\tCLOTHES = #{ad.address.clothes.inspect}") + # Rails.logger.error("\t\tHOUSE_NUMBER = #{ad.address.house_number.inspect}") + # Rails.logger.error("\t\tROAD = #{ad.address.road.inspect}") + # Rails.logger.error("\t\tCOMMERCIAL = #{ad.address.commercial.inspect}") + # Rails.logger.error("\t\tPEDESTRIAN = #{ad.address.pedestrian.inspect}") + # Rails.logger.error("\t\tSUBURB = #{ad.address.suburb.inspect}") + # Rails.logger.error("\t\tCITY_DISTRICT = #{ad.address.city_district.inspect}") + # Rails.logger.error("\t\tCITY = #{ad.address.city.inspect}") + # Rails.logger.error("\t\tADMINISTRATIVE = #{ad.address.administrative.inspect}") + # Rails.logger.error("\t\tCOUNTY = #{ad.address.county.inspect}") + # Rails.logger.error("\t\tSTATE_DISTRICT = #{ad.address.state_district.inspect}") + # Rails.logger.error("\t\tSTATE = #{ad.address.state.inspect}") + # Rails.logger.error("\t\tPOSTCODE = #{ad.address.postcode.inspect}") + # Rails.logger.error("\t\tCOUNTRY = #{ad.address.country.inspect}") + # Rails.logger.error("\t\tCOUNTRY_CODE = #{ad.address.country_code.inspect}") + # Rails.logger.error("\t\tPLACE = #{ad.address.place.inspect}") + # Rails.logger.error("\t\tTOWN = #{ad.address.town.inspect}") + # Rails.logger.error("\t\tVILLAGE = #{ad.address.village.inspect}") + # end + # Rails.logger.error("\tLAT = #{ad.lat.inspect}") + # Rails.logger.error("\tLON = #{ad.lon.inspect}") + # Rails.logger.error("\tBOUNDINGBOX = #{ad.boundingbox.inspect}") + # Rails.logger.error("\tPOLYGONPOINTS = #{ad.polygonpoints.inspect}") + # Rails.logger.error("\tPLACE_ID = #{ad.place_id.inspect}") + # Rails.logger.error("\tOSM_ID = #{ad.osm_id.inspect}") + # Rails.logger.error("\tOSM_TYPE = #{ad.osm_type.inspect}") + # end + #end + #polygons = search.polygon(true) + #if polygons + # polygons.each do |po| + # Rails.logger.error("FILTERED POLYGON : #{po.polygonpoints.inspect}") + # if po.polygonpoints + # if po.polygonpoints.coordinates + # po.polygonpoints.coordinates.each do |point| + # Rails.logger.error("\tPOINT = #{point.inspect}") + # Rails.logger.error("\t\tLAT = #{point.lat.inspect}") + # Rails.logger.error("\t\tLON = #{point.lon.inspect}") + # end + # end + # end + # end + #end + return addresses + end +end diff --git a/app/controllers/stop_areas_controller.rb b/app/controllers/stop_areas_controller.rb index d6d1b8822..2107adba0 100644 --- a/app/controllers/stop_areas_controller.rb +++ b/app/controllers/stop_areas_controller.rb @@ -86,110 +86,9 @@ class StopAreasController < ChouetteController format.json { render :json => referential.stop_areas.collect(&:country_code).compact.uniq.to_json } end end - - def addresses - Rails.logger.error("SEARCHING FOR ADDRESSES : #{params[:q]}") - @addresses = filtered_addresses - respond_to do |format| - format.json { render :json => @addresses.collect { |add| { :id => add.osm_id, - :house_number => add.address ? "#{add.address.house_number}" : -1, - :road => add.address ? "#{add.address.road}" : "#{add.display_name}", - :postcode => add.address ? "#{add.address.postcode}" : -1, - :city => add.address ? "#{add.address.city}" : -1, - :country => add.address ? "#{add.address.country}" : -1, - :lat => add.lat, - :lon => add.lon} } } - end - end protected - #def filtered_addresses_maps - # filtered_addresses.collect do |address| - # { :address_name => address.display_name, :address_type => address.type } - # end - #end - - def filtered_addresses - search = Nominatim.search(params[:q]).limit(10) - addresses = search.address_details(true) - #search.each_address do |sr| - # Rails.logger.error("FILTERED ADRESS = #{sr.inspect}") - # Rails.logger.error("\tATTRACTION = #{sr.attraction.inspect}") - # Rails.logger.error("\tCLOTHES = #{sr.clothes.inspect}") - # Rails.logger.error("\tHOUSE_NUMBER = #{sr.house_number.inspect}") - # Rails.logger.error("\tROAD = #{sr.road.inspect}") - # Rails.logger.error("\tCOMMERCIAL = #{sr.commercial.inspect}") - # Rails.logger.error("\tPEDESTRIAN = #{sr.pedestrian.inspect}") - # Rails.logger.error("\tSUBURB = #{sr.suburb.inspect}") - # Rails.logger.error("\tCITY_DISTRICT = #{sr.city_district.inspect}") - # Rails.logger.error("\tCITY = #{sr.city.inspect}") - # Rails.logger.error("\tADMINISTRATIVE = #{sr.administrative.inspect}") - # Rails.logger.error("\tCOUNTY = #{sr.county.inspect}") - # Rails.logger.error("\tSTATE_DISTRICT = #{sr.state_district.inspect}") - # Rails.logger.error("\tSTATE = #{sr.state.inspect}") - # Rails.logger.error("\tPOSTCODE = #{sr.postcode.inspect}") - # Rails.logger.error("\tCOUNTRY = #{sr.country.inspect}") - # Rails.logger.error("\tCOUNTRY_CODE = #{sr.country_code.inspect}") - # Rails.logger.error("\tPLACE = #{sr.place.inspect}") - # Rails.logger.error("\tTOWN = #{sr.town.inspect}") - # Rails.logger.error("\tVILLAGE = #{sr.village.inspect}") - #end - #if addresses - # addresses.each do |ad| - # Rails.logger.error("FILTERED PLACE : #{ad.inspect}") - # Rails.logger.error("\tDISPLAY_NAME = #{ad.display_name.inspect}") - # Rails.logger.error("\tCLASS = #{ad.class.inspect}") - # Rails.logger.error("\tTYPE = #{ad.type.inspect}") - # Rails.logger.error("\tADRRESS = #{ad.address.inspect}") - # if ad.address - # Rails.logger.error("\t\tATTRACTION = #{ad.address.attraction.inspect}") - # Rails.logger.error("\t\tCLOTHES = #{ad.address.clothes.inspect}") - # Rails.logger.error("\t\tHOUSE_NUMBER = #{ad.address.house_number.inspect}") - # Rails.logger.error("\t\tROAD = #{ad.address.road.inspect}") - # Rails.logger.error("\t\tCOMMERCIAL = #{ad.address.commercial.inspect}") - # Rails.logger.error("\t\tPEDESTRIAN = #{ad.address.pedestrian.inspect}") - # Rails.logger.error("\t\tSUBURB = #{ad.address.suburb.inspect}") - # Rails.logger.error("\t\tCITY_DISTRICT = #{ad.address.city_district.inspect}") - # Rails.logger.error("\t\tCITY = #{ad.address.city.inspect}") - # Rails.logger.error("\t\tADMINISTRATIVE = #{ad.address.administrative.inspect}") - # Rails.logger.error("\t\tCOUNTY = #{ad.address.county.inspect}") - # Rails.logger.error("\t\tSTATE_DISTRICT = #{ad.address.state_district.inspect}") - # Rails.logger.error("\t\tSTATE = #{ad.address.state.inspect}") - # Rails.logger.error("\t\tPOSTCODE = #{ad.address.postcode.inspect}") - # Rails.logger.error("\t\tCOUNTRY = #{ad.address.country.inspect}") - # Rails.logger.error("\t\tCOUNTRY_CODE = #{ad.address.country_code.inspect}") - # Rails.logger.error("\t\tPLACE = #{ad.address.place.inspect}") - # Rails.logger.error("\t\tTOWN = #{ad.address.town.inspect}") - # Rails.logger.error("\t\tVILLAGE = #{ad.address.village.inspect}") - # end - # Rails.logger.error("\tLAT = #{ad.lat.inspect}") - # Rails.logger.error("\tLON = #{ad.lon.inspect}") - # Rails.logger.error("\tBOUNDINGBOX = #{ad.boundingbox.inspect}") - # Rails.logger.error("\tPOLYGONPOINTS = #{ad.polygonpoints.inspect}") - # Rails.logger.error("\tPLACE_ID = #{ad.place_id.inspect}") - # Rails.logger.error("\tOSM_ID = #{ad.osm_id.inspect}") - # Rails.logger.error("\tOSM_TYPE = #{ad.osm_type.inspect}") - # end - #end - #polygons = search.polygon(true) - #if polygons - # polygons.each do |po| - # Rails.logger.error("FILTERED POLYGON : #{po.polygonpoints.inspect}") - # if po.polygonpoints - # if po.polygonpoints.coordinates - # po.polygonpoints.coordinates.each do |point| - # Rails.logger.error("\tPOINT = #{point.inspect}") - # Rails.logger.error("\t\tLAT = #{point.lat.inspect}") - # Rails.logger.error("\t\tLON = #{point.lon.inspect}") - # end - # end - # end - # end - #end - return addresses - end - alias_method :stop_area, :resource def map diff --git a/app/views/stop_areas/_form.html.erb b/app/views/stop_areas/_form.html.erb index eefae9c16..a51c11da5 100644 --- a/app/views/stop_areas/_form.html.erb +++ b/app/views/stop_areas/_form.html.erb @@ -68,7 +68,7 @@ }, limit: 10, remote: { - url: '<%= addresses_referential_stop_areas_path(@referential, :format => 'json') %>?q=%QUERY', + url: '<%= referential_addresses_path(@referential, :format => 'json') %>?q=%QUERY', filter: function(list) { return $.map(list, function(d) { return { postcode: d.postcode, road: d.road, lon: d.lon, lat: d.lat, city: d.city, postcode: d.postcode, the_key: d.house_number+" "+d.road+", "+d.postcode+" "+d.city+", "+d.country }; }); }, diff --git a/config/routes.rb b/config/routes.rb index ee1c757ff..1abe59a1f 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -140,10 +140,12 @@ ChouetteIhm::Application.routes.draw do resources :access_links end + resources :addresses, :only => [:index] + resources :stop_areas do - collection do - get 'addresses' - end + #collection do + # get 'addresses' + #end resources :access_points resources :stop_area_parents resources :stop_area_children |
