From e4df9a821900b7a64610e85e42af44bba9e79529 Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Wed, 31 Oct 2007 15:52:36 +0000 Subject: [PATCH 1/1] Allow objects to be resurrected. --- app/controllers/node_controller.rb | 24 +++++++++------------ app/controllers/relation_controller.rb | 29 +++++++++++--------------- app/controllers/way_controller.rb | 29 +++++++++++--------------- 3 files changed, 34 insertions(+), 48 deletions(-) diff --git a/app/controllers/node_controller.rb b/app/controllers/node_controller.rb index fa15171cb..d3f1ce7f6 100644 --- a/app/controllers/node_controller.rb +++ b/app/controllers/node_controller.rb @@ -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.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.visible = true + 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 diff --git a/app/controllers/relation_controller.rb b/app/controllers/relation_controller.rb index 3c6ef8ee0..4f2b12cf5 100644 --- a/app/controllers/relation_controller.rb +++ b/app/controllers/relation_controller.rb @@ -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 diff --git a/app/controllers/way_controller.rb b/app/controllers/way_controller.rb index 20e22bb0f..acba12def 100644 --- a/app/controllers/way_controller.rb +++ b/app/controllers/way_controller.rb @@ -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 -- 2.43.2