]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/amf_controller.rb
Merge 15165:15373 from trunk.
[rails.git] / app / controllers / amf_controller.rb
index 13f7423816d117eb4f6ceeb96278db3f59f89eb2..5bc5e2832f400126f047abce8d03f526c5ab6bdc 100644 (file)
@@ -127,8 +127,10 @@ class AmfController < ApplicationController
           results[index]=[-5,nil]
         else
           case message
-            when 'putway';                       r=putway(renumberednodes,*args)
-                                                               renumberednodes=r[4]
+            when 'putway';                       orn=renumberednodes.dup
+                                  r=putway(renumberednodes,*args)
+                                                               renumberednodes=r[4].dup
+                                                               r[4].delete_if { |k,v| orn.has_key?(k) }
                                                                if r[2] != r[3] then renumberedways[r[2]] = r[3] end
                                                                results[index]=AMF.putdata(index,r)
             when 'putrelation';                results[index]=AMF.putdata(index,putrelation(renumberednodes, renumberedways, *args))
@@ -176,6 +178,7 @@ class AmfController < ApplicationController
       cs = Changeset.new
       cs.tags = cstags
       cs.user_id = user.id
+      if !closecomment.empty? then cs.tags['comment']=closecomment end
       # smsm1 doesn't like the next two lines and thinks they need to be abstracted to the model more/better
       cs.created_at = Time.now.getutc
       cs.closed_at = cs.created_at + Changeset::IDLE_TIMEOUT
@@ -477,7 +480,7 @@ class AmfController < ApplicationController
         rels.push([rel.id, rel.tags, rel.members, rel.version])
       end
     else
-      RelationTag.find(:all, :limit => 11, :conditions => ["match(v) against (?)", searchterm] ).each do |t|
+      RelationTag.find(:all, :limit => 11, :conditions => ["v like ?", "%#{searchterm}%"] ).each do |t|
       if t.relation.visible then
              rels.push([t.relation.id, t.relation.tags, t.relation.members, t.relation.version])
            end
@@ -592,9 +595,7 @@ class AmfController < ApplicationController
     if pointlist.length < 2 then return -2,"Server error - way is only #{points.length} points long." end
 
     originalway = originalway.to_i
-logger.info("received #{pointlist} for #{originalway}")
        pointlist.collect! {|a| a.to_i }
-logger.info("converted to #{pointlist}")
 
     way=nil    # this is returned, so scope it outside the transaction
     nodeversions = {}
@@ -634,11 +635,9 @@ logger.info("converted to #{pointlist}")
 
       # -- Save revised way
 
-logger.info("renumberednodes is #{renumberednodes.inspect}")
          pointlist.collect! {|a|
              renumberednodes[a] ? renumberednodes[a]:a
          } # renumber nodes
-logger.info("saving with #{pointlist}")
       new_way = Way.new
       new_way.tags = attributes
       new_way.nds = pointlist