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.visible = false
|
||||||
way.save_with_history
|
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
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -16,7 +16,7 @@ class Way < ActiveRecord::Base
|
||||||
way = Way.new
|
way = Way.new
|
||||||
|
|
||||||
doc.find('//osm/way').each do |pt|
|
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
|
way.id = pt['id'].to_i
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -83,6 +83,14 @@ class Way < ActiveRecord::Base
|
||||||
@tags
|
@tags
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def segs=(s)
|
||||||
|
@segs = s
|
||||||
|
end
|
||||||
|
|
||||||
|
def tags=(t)
|
||||||
|
@tags = t
|
||||||
|
end
|
||||||
|
|
||||||
def add_seg_num(n)
|
def add_seg_num(n)
|
||||||
@segs = Array.new unless @segs
|
@segs = Array.new unless @segs
|
||||||
@segs << n.to_i
|
@segs << n.to_i
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue