app/models/concerns/mappable.rb in rocket_cms-0.5.20 vs app/models/concerns/mappable.rb in rocket_cms-0.5.21
- old
+ new
@@ -21,19 +21,26 @@
[longitude, latitude]
end
end
end
-
- after_validation do
- if geo_address.blank?
+ geocoded_by :geo_address
+ after_validation :do_geocode
+ end
+
+ def do_geocode
+ if geo_address.blank?
+ if RocketCMS.mongoid?
self.coordinates = nil
else
- if new_record? || address_changed? || coordinates.nil? || map_address_changed?
- geocode
- end
+ self.latitude = nil
+ self.longitude = nil
end
+ else
+ if (lat.nil? || lon.nil?) && (new_record? || address_changed? || coordinates.nil? || map_address_changed?)
+ geocode
+ end
end
end
def get_lat
if lat.blank?
@@ -59,11 +66,9 @@
end
def has_map?
(!lat.blank? && !lon.blank?) || !coordinates.nil?
end
-
- geocoded_by :geo_address
def to_map
{
id: id.to_s,
hint: map_hint,