X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/912f708d6282c80a2a5cfedb3bb3ea280c459727..3d906fe8c6303c00e399ce2dfecc3471959fbe6e:/app/controllers/amf_controller.rb diff --git a/app/controllers/amf_controller.rb b/app/controllers/amf_controller.rb index 13f742381..5bc5e2832 100644 --- a/app/controllers/amf_controller.rb +++ b/app/controllers/amf_controller.rb @@ -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