Allow objects to be resurrected.
This commit is contained in:
parent
8d2f6da628
commit
e4df9a8219
3 changed files with 34 additions and 48 deletions
|
@ -42,23 +42,19 @@ class NodeController < ApplicationController
|
|||
def update
|
||||
begin
|
||||
node = Node.find(params[:id])
|
||||
new_node = Node.from_xml(request.raw_post)
|
||||
|
||||
if node.visible
|
||||
new_node = Node.from_xml(request.raw_post)
|
||||
if new_node and new_node.id == node.id
|
||||
node.user_id = @user.id
|
||||
node.latitude = new_node.latitude
|
||||
node.longitude = new_node.longitude
|
||||
node.tags = new_node.tags
|
||||
node.visible = true
|
||||
node.save_with_history!
|
||||
|
||||
if new_node and new_node.id == node.id
|
||||
node.user_id = @user.id
|
||||
node.latitude = new_node.latitude
|
||||
node.longitude = new_node.longitude
|
||||
node.tags = new_node.tags
|
||||
node.save_with_history!
|
||||
|
||||
render :nothing => true
|
||||
else
|
||||
render :nothing => true, :status => :bad_request
|
||||
end
|
||||
render :nothing => true
|
||||
else
|
||||
render :text => "", :status => :gone
|
||||
render :nothing => true, :status => :bad_request
|
||||
end
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
render :nothing => true, :status => :not_found
|
||||
|
|
|
@ -47,27 +47,22 @@ class RelationController < ApplicationController
|
|||
def update
|
||||
begin
|
||||
relation = Relation.find(params[:id])
|
||||
new_relation = Relation.from_xml(request.raw_post)
|
||||
|
||||
if relation.visible
|
||||
new_relation = Relation.from_xml(request.raw_post)
|
||||
|
||||
if new_relation and new_relation.id == relation.id
|
||||
if !new_relation.preconditions_ok?
|
||||
render :text => "", :status => :precondition_failed
|
||||
else
|
||||
relation.user_id = @user.id
|
||||
relation.tags = new_relation.tags
|
||||
relation.members = new_relation.members
|
||||
relation.visible = true
|
||||
relation.save_with_history!
|
||||
|
||||
render :nothing => true
|
||||
end
|
||||
if new_relation and new_relation.id == relation.id
|
||||
if !new_relation.preconditions_ok?
|
||||
render :text => "", :status => :precondition_failed
|
||||
else
|
||||
render :nothing => true, :status => :bad_request
|
||||
relation.user_id = @user.id
|
||||
relation.tags = new_relation.tags
|
||||
relation.members = new_relation.members
|
||||
relation.visible = true
|
||||
relation.save_with_history!
|
||||
|
||||
render :nothing => true
|
||||
end
|
||||
else
|
||||
render :text => "", :status => :gone
|
||||
render :nothing => true, :status => :bad_request
|
||||
end
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
render :nothing => true, :status => :not_found
|
||||
|
|
|
@ -45,27 +45,22 @@ class WayController < ApplicationController
|
|||
def update
|
||||
begin
|
||||
way = Way.find(params[:id])
|
||||
new_way = Way.from_xml(request.raw_post)
|
||||
|
||||
if way.visible
|
||||
new_way = Way.from_xml(request.raw_post)
|
||||
|
||||
if new_way and new_way.id == way.id
|
||||
if !new_way.preconditions_ok?
|
||||
render :text => "", :status => :precondition_failed
|
||||
else
|
||||
way.user_id = @user.id
|
||||
way.tags = new_way.tags
|
||||
way.nds = new_way.nds
|
||||
way.visible = true
|
||||
way.save_with_history!
|
||||
|
||||
render :nothing => true
|
||||
end
|
||||
if new_way and new_way.id == way.id
|
||||
if !new_way.preconditions_ok?
|
||||
render :text => "", :status => :precondition_failed
|
||||
else
|
||||
render :nothing => true, :status => :bad_request
|
||||
way.user_id = @user.id
|
||||
way.tags = new_way.tags
|
||||
way.nds = new_way.nds
|
||||
way.visible = true
|
||||
way.save_with_history!
|
||||
|
||||
render :nothing => true
|
||||
end
|
||||
else
|
||||
render :text => "", :status => :gone
|
||||
render :nothing => true, :status => :bad_request
|
||||
end
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
render :nothing => true, :status => :not_found
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue