ways now work
This commit is contained in:
parent
0638eefe22
commit
1a6765f1a2
2 changed files with 34 additions and 1 deletions
|
@ -48,7 +48,32 @@ class WayController < ApplicationController
|
|||
|
||||
way.visible = false
|
||||
way.save_with_history
|
||||
render :nothing => true
|
||||
return
|
||||
when :put
|
||||
way = Way.from_xml(request.raw_post, true)
|
||||
|
||||
if way
|
||||
way_in_db = Way.find(way.id)
|
||||
if way_in_db
|
||||
way_in_db.user_id = @user.id
|
||||
way_in_db.tags = way.tags
|
||||
way_in_db.segs = way.segs
|
||||
way_in_db.timestamp = way.timestamp
|
||||
way_in_db.visible = true
|
||||
if way_in_db.save_with_history
|
||||
render :text => way.id
|
||||
else
|
||||
render :nothing => true, :status => 500
|
||||
end
|
||||
return
|
||||
else
|
||||
render :nothing => true, :status => 404 # way doesn't exist yet
|
||||
end
|
||||
else
|
||||
render :nothing => true, :status => 400 # if we got here the doc didnt parse
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -16,7 +16,7 @@ class Way < ActiveRecord::Base
|
|||
way = Way.new
|
||||
|
||||
doc.find('//osm/way').each do |pt|
|
||||
if !create and pt['id'] != '0'
|
||||
unless create and pt['id'] == '0'
|
||||
way.id = pt['id'].to_i
|
||||
end
|
||||
|
||||
|
@ -83,6 +83,14 @@ class Way < ActiveRecord::Base
|
|||
@tags
|
||||
end
|
||||
|
||||
def segs=(s)
|
||||
@segs = s
|
||||
end
|
||||
|
||||
def tags=(t)
|
||||
@tags = t
|
||||
end
|
||||
|
||||
def add_seg_num(n)
|
||||
@segs = Array.new unless @segs
|
||||
@segs << n.to_i
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue