]> git.openstreetmap.org Git - rails.git/blobdiff - app/models/way.rb
Fix the data config, so that the development database is not the same as the test...
[rails.git] / app / models / way.rb
index 3bc8bcebec9f7b99b7c318d594a18d2307556260..9ddb603a8720d463b46e183971b68240ed1a27b5 100644 (file)
@@ -3,7 +3,10 @@ class Way < ActiveRecord::Base
 
   set_table_name 'current_ways'
 
-  belongs_to :user
+  validates_presence_of :changeset_id, :timestamp
+  validates_inclusion_of :visible, :in => [ true, false ]
+  
+  belongs_to :changeset
 
   has_many :old_ways, :foreign_key => 'id', :order => 'version'
 
@@ -37,13 +40,14 @@ class Way < ActiveRecord::Base
     end
     
     way.version = pt['version']
+    way.changeset_id = pt['changeset']
 
     if create
       way.timestamp = Time.now
       way.visible = true
     else
       if pt['timestamp']
-       way.timestamp = Time.parse(pt['timestamp'])
+        way.timestamp = Time.parse(pt['timestamp'])
       end
     end
 
@@ -81,18 +85,19 @@ class Way < ActiveRecord::Base
     el1['visible'] = self.visible.to_s
     el1['timestamp'] = self.timestamp.xmlschema
     el1['version'] = self.version.to_s
+    el1['changeset'] = self.changeset_id.to_s
 
     user_display_name_cache = {} if user_display_name_cache.nil?
 
-    if user_display_name_cache and user_display_name_cache.key?(self.user_id)
+    if user_display_name_cache and user_display_name_cache.key?(self.changeset.user_id)
       # use the cache if available
-    elsif self.user.data_public?
-      user_display_name_cache[self.user_id] = self.user.display_name
+    elsif self.changeset.user.data_public?
+      user_display_name_cache[self.changeset.user_id] = self.changeset.user.display_name
     else
-      user_display_name_cache[self.user_id] = nil
+      user_display_name_cache[self.changeset.user_id] = nil
     end
 
-    el1['user'] = user_display_name_cache[self.user_id] unless user_display_name_cache[self.user_id].nil?
+    el1['user'] = user_display_name_cache[self.changeset.user_id] unless user_display_name_cache[self.changeset.user_id].nil?
 
     # make sure nodes are output in sequence_id order
     ordered_nodes = []