39 lines
769 B
Ruby
39 lines
769 B
Ruby
class SpecificMapItem < ApplicationRecord
|
|
belongs_to :specific_map
|
|
|
|
validates :name, :presence => true
|
|
|
|
has_many :specific_map_item_cavs, :dependent => :destroy
|
|
|
|
has_many :cav_levels, :through => :specific_map_item_cavs
|
|
|
|
before_create do
|
|
self.geolocalise
|
|
end
|
|
|
|
def geolocalise
|
|
self.g_text = self.address.to_s+", "+self.cp.to_s+" "+self.city.to_s+", France"
|
|
|
|
|
|
@result = nil
|
|
|
|
|
|
result = Geocoder.search(self.g_text).each do |result|
|
|
if result.city and result.country
|
|
|
|
|
|
@result = result
|
|
break
|
|
|
|
end
|
|
end
|
|
if @result
|
|
self.g_latitude = @result.latitude
|
|
self.g_longitude = @result.longitude
|
|
end
|
|
end
|
|
|
|
reverse_geocoded_by :g_latitude, :g_longitude
|
|
|
|
end
|