diff --git a/app/controllers/maps_controller.rb b/app/controllers/maps_controller.rb index f1a2fc75..c4547557 100644 --- a/app/controllers/maps_controller.rb +++ b/app/controllers/maps_controller.rb @@ -19,7 +19,7 @@ class MapsController < ApplicationController respond_to do |format| format.html format.json do - render json: apply_scopes(Orga.moderated.active.geo).where(kind: @kind) + @orgas = apply_scopes(Orga.moderated.active.geo).where kind: @kind end end end diff --git a/app/models/orga.rb b/app/models/orga.rb index f89911e3..83f0a0fb 100644 --- a/app/models/orga.rb +++ b/app/models/orga.rb @@ -81,15 +81,6 @@ class Orga < ApplicationRecord name.gsub(/\AL'/, '').gsub(/[\s\*'\.]/, '-').delete ':' end - def as_json(_options = {}) - { type: 'Feature', properties: { - id: id, icon: kind.icon, name: name, - place_name: place_name, address: address, city: city, - tags: tags, - popupContent: "#{self}" - }, geometry: { type: 'Point', coordinates: [longitude, latitude] } } - end - def full_address [address, city, region, region.try(:region)].compact.join ', ' end diff --git a/app/views/maps/index.json.jbuilder b/app/views/maps/index.json.jbuilder index f00d7699..54c64644 100644 --- a/app/views/maps/index.json.jbuilder +++ b/app/views/maps/index.json.jbuilder @@ -10,7 +10,7 @@ json.array!(@events) do |event| place_name: event.place_name, address: event.address, city: event.city, region: event.region.name, region_id: event.region_id, tags: event.tag_list, - popupContent: link_to(event, event) + popupContent: link_to(event, event_url(event)) }, geometry: { type: 'Point', diff --git a/app/views/maps/show.json.jbuilder b/app/views/maps/show.json.jbuilder new file mode 100644 index 00000000..5bc4801d --- /dev/null +++ b/app/views/maps/show.json.jbuilder @@ -0,0 +1,18 @@ +json.array!(@orgas) do |orga| + json.merge!( + type: 'Feature', + properties: { + id: orga.id, + icon: @kind.icon, + name: orga.name, + place_name: orga.place_name, address: orga.address, city: orga.city, + region: orga.region.name, region_id: orga.region_id, + tags: orga.tag_list, + popupContent: link_to(orga, orga_url(orga)) + }, + geometry: { + type: 'Point', + coordinates: [orga.longitude, orga.latitude] + } + ) +end