]> git.openstreetmap.org Git - rails.git/blobdiff - app/models/old_relation.rb
Fixed redaction attribute on old nodes and ways, added same
[rails.git] / app / models / old_relation.rb
index 20651f62259a6e36d04d3b591bfa58e34dbbbf41..34d76ff9c664fb122c955c749871501a1e755247 100644 (file)
@@ -105,20 +105,27 @@ class OldRelation < ActiveRecord::Base
     el1['version'] = self.version.to_s
     el1['changeset'] = self.changeset_id.to_s
     
-    self.old_members.each do |member|
-      e = XML::Node.new 'member'
-      e['type'] = member.member_type.to_s.downcase
-      e['ref'] = member.member_id.to_s # "id" is considered uncool here as it should be unique in XML
-      e['role'] = member.member_role.to_s
-      el1 << e
+    if self.redacted?
+      el1['redacted'] = self.redaction.id.to_s
     end
+    
+    unless self.redacted? and (@user.nil? or not @user.moderator?)
+      self.old_members.each do |member|
+        e = XML::Node.new 'member'
+        e['type'] = member.member_type.to_s.downcase
+        e['ref'] = member.member_id.to_s # "id" is considered uncool here as it should be unique in XML
+        e['role'] = member.member_role.to_s
+        el1 << e
+      end
  
-    self.old_tags.each do |tag|
-      e = XML::Node.new 'tag'
-      e['k'] = tag.k
-      e['v'] = tag.v
-      el1 << e
+      self.old_tags.each do |tag|
+        e = XML::Node.new 'tag'
+        e['k'] = tag.k
+        e['v'] = tag.v
+        el1 << e
+      end
     end
+
     return el1
   end