[0, ways, points, relations]
rescue Exception => err
[0, ways, points, relations]
rescue Exception => err
begin
check_boundaries(xmin, ymin, xmax, ymax)
rescue Exception => err
begin
check_boundaries(xmin, ymin, xmax, ymax)
rescue Exception => err
end
nodes_in_area = Node.find_by_area(ymin, xmin, ymax, xmax, :conditions => ["current_ways.visible = ?", false], :include => :ways_via_history)
end
nodes_in_area = Node.find_by_area(ymin, xmin, ymax, xmax, :conditions => ["current_ways.visible = ?", false], :include => :ways_via_history)
if searchterm.to_i>0 then
rel = Relation.find(searchterm.to_i)
if rel and rel.visible then
if searchterm.to_i>0 then
rel = Relation.find(searchterm.to_i)
if rel and rel.visible then
- rels.push([rel.id, rel.tags, rel.members])
+ 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|
if t.relation.visible then
end
else
RelationTag.find(:all, :limit => 11, :conditions => ["match(v) against (?)", searchterm] ).each do |t|
if t.relation.visible then
- rels.push([t.relation.id, t.relation.tags, t.relation.members])
+ rels.push([t.relation.id, t.relation.tags, t.relation.members, t.relation.version])
# Really need to check to see whether this is a server load issue, and the
# last version was in the same changeset, or belongs to the same user, then
# we can return something different
# Really need to check to see whether this is a server load issue, and the
# last version was in the same changeset, or belongs to the same user, then
# we can return something different
- return [-3, "Sorry, someone else has changed this relation since you started editing. Please click the 'Edit' tab to reload the area."]
+ return [-3, "Sorry, someone else has changed this relation since you started editing. Please click the 'Edit' tab to reload the area. The server said: #{ex}"]
rescue OSM::APIAlreadyDeletedError => ex
return [-1, "The relation has already been deleted."]
rescue OSM::APIError => ex
# Some error that we don't specifically catch
rescue OSM::APIAlreadyDeletedError => ex
return [-1, "The relation has already been deleted."]
rescue OSM::APIError => ex
# Some error that we don't specifically catch
- deleteitemrelations(user, changeset_id, id, 'node', node.version)
+ deleteitemrelations(user, changeset_id, id, 'Node', node.version)
# Really need to check to see whether this is a server load issue, and the
# last version was in the same changeset, or belongs to the same user, then
# we can return something different
# Really need to check to see whether this is a server load issue, and the
# last version was in the same changeset, or belongs to the same user, then
# we can return something different
- return [-3, "Sorry, someone else has changed this way since you started editing. Please click the 'Edit' tab to reload the area."]
+ return [-3, "Sorry, someone else has changed this way since you started editing. Click the 'Edit' tab to reload the area. The server said: #{ex}"]
rescue OSM::APITooManyWayNodesError => ex
return [-1, "You have tried to upload a really long way with #{ex.provided} points: only #{ex.max} are allowed."]
rescue OSM::APIAlreadyDeletedError => ex
return [-1, "The point has already been deleted."]
rescue OSM::APIError => ex
# Some error that we don't specifically catch
rescue OSM::APITooManyWayNodesError => ex
return [-1, "You have tried to upload a really long way with #{ex.provided} points: only #{ex.max} are allowed."]
rescue OSM::APIAlreadyDeletedError => ex
return [-1, "The point has already been deleted."]
rescue OSM::APIError => ex
# Some error that we don't specifically catch
# Really need to check to see whether this is a server load issue, and the
# last version was in the same changeset, or belongs to the same user, then
# we can return something different
# Really need to check to see whether this is a server load issue, and the
# last version was in the same changeset, or belongs to the same user, then
# we can return something different
- return [-3, "Sorry, someone else has changed this point since you started editing. Please click the 'Edit' tab to reload the area."]
+ return [-3, "Sorry, someone else has changed this point since you started editing. Please click the 'Edit' tab to reload the area. The server said: #{ex}"]
rescue OSM::APIAlreadyDeletedError => ex
return [-1, "The point has already been deleted"]
rescue OSM::APIError => ex
# Some error that we don't specifically catch
rescue OSM::APIAlreadyDeletedError => ex
return [-1, "The point has already been deleted"]
rescue OSM::APIError => ex
# Some error that we don't specifically catch
- # Returns array of id, long, lat, hash of tags, version.
+ # Returns array of id, long, lat, hash of tags, (current) version.
n = OldNode.find(id, :conditions=>['timestamp=?',DateTime.strptime(timestamp, "%d %b %Y, %H:%M:%S")])
end
if n
n = OldNode.find(id, :conditions=>['timestamp=?',DateTime.strptime(timestamp, "%d %b %Y, %H:%M:%S")])
end
if n
- return [n.id, n.lon, n.lat, n.tags, n.version]
+ return [n.id, n.lon, n.lat, n.tags, v]
else
return [nil, nil, nil, {}, nil]
end
else
return [nil, nil, nil, {}, nil]
end
- deleteitemrelations(user, changeset_id, node_id, 'node', node.version)
+ deleteitemrelations(user, changeset_id, node_id, 'Node', node.version)
delete_node.version = node.version
end
node.delete_with_history!(delete_node, user)
delete_node.version = node.version
end
node.delete_with_history!(delete_node, user)
return [-1, "The way has already been deleted."]
rescue OSM::APIError => ex
# Some error that we don't specifically catch
return [-1, "The way has already been deleted."]
rescue OSM::APIError => ex
# Some error that we don't specifically catch