Allow objects to be resurrected.

This commit is contained in:
Tom Hughes 2007-10-31 15:52:36 +00:00
parent 8d2f6da628
commit e4df9a8219
3 changed files with 34 additions and 48 deletions

View file

@ -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

View file

@ -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

View file

@ -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