class Note < ActiveRecord::Base
include GeoRecord
- has_many :comments, :class_name => "NoteComment",
- :foreign_key => :note_id,
- :order => :created_at,
- :conditions => { :visible => true }
+ has_many :comments, -> { where(:visible => true).order(:created_at) }, :class_name => "NoteComment", :foreign_key => :note_id
validates_presence_of :id, :on => :update
validates_uniqueness_of :id
validates_inclusion_of :status, :in => ["open", "closed", "hidden"]
validate :validate_position
- attr_accessible :lat, :lon
-
after_initialize :set_defaults
# Sanity check the latitude and longitude and add an error if it's broken
self.save
end
+ # Reopen a note
+ def reopen
+ self.status = "open"
+ self.closed_at = nil
+ self.save
+ end
+
# Check if a note is visible
def visible?
status != "hidden"