validates_presence_of :user_id, :name, :timestamp
validates_presence_of :description, :on => :create
+ validates_length_of :name, :maximum => 255
+ validates_length_of :description, :maximum => 255
# validates_numericality_of :latitude, :longitude
validates_inclusion_of :public, :inserted, :in => [ true, false]
end
def tagstring
- return tags.collect {|tt| tt.tag}.join(" ")
+ return tags.collect {|tt| tt.tag}.join(", ")
end
def tagstring=(s)
- self.tags = s.split().collect {|tag|
- tt = Tracetag.new
- tt.tag = tag
- tt
- }
+ if s.include?','
+ self.tags = s.split(/\s*,\s*/).collect {|tag|
+ tt = Tracetag.new
+ tt.tag = tag
+ tt
+ }
+ else
+ #do as before for backwards compatibility:
+ self.tags = s.split().collect {|tag|
+ tt = Tracetag.new
+ tt.tag = tag
+ tt
+ }
+ end
end
def large_picture= (data)
data
end
- # FIXME change to permanent filestore area
def large_picture_name
- "/home/osm/icons/#{id}.gif"
+ "#{GPX_IMAGE_DIR}/#{id}.gif"
end
- # FIXME change to permanent filestore area
def icon_picture_name
- "/home/osm/icons/#{id}_icon.gif"
+ "#{GPX_IMAGE_DIR}/#{id}_icon.gif"
end
def trace_name
- "/home/osm/gpx/#{id}.gpx"
+ "#{GPX_TRACE_DIR}/#{id}.gpx"
end
def mime_type
elsif bzipped
system("bunzip2 -c #{trace_name} > #{tmpfile.path}")
elsif zipped
- system("unzip -p #{trace_name} > #{tmpfile.path}")
+ system("unzip -p #{trace_name} -x '__MACOSX/*' > #{tmpfile.path}")
end
tmpfile.unlink