if !relation.preconditions_ok?
render :text => "", :status => :precondition_failed
else
- relation.version = 0
- relation.user_id = @user.id
+ relation.version = 0
+ #relation.user_id = @user.id
relation.save_with_history!
- render :text => relation.id.to_s, :content_type => "text/plain"
+ render :text => relation.id.to_s, :content_type => "text/plain"
end
else
render :nothing => true, :status => :bad_request
end
def update
+ logger.debug request.raw_post
begin
relation = Relation.find(params[:id])
new_relation = Relation.from_xml(request.raw_post)
if new_relation and new_relation.id == relation.id
- relation.update_from new_relation, user
+ relation.update_from new_relation, @user
render :text => relation.version.to_s, :content_type => "text/plain"
else
render :nothing => true, :status => :bad_request
#XXX check if member somewhere!
begin
relation = Relation.find(params[:id])
- relation.delete_with_history(@user)
+ new_relation = Relation.from_xml(request.raw_post)
+ if new_relation and new_relation.id == relation.id
+ relation.delete_with_history(new_relation, @user)
+ render :nothing => true, :status => :success
+ else
+ render :nothing => true, :status => :bad_request
+ end
rescue OSM::APIError => ex
render ex.render_opts
rescue ActiveRecord::RecordNotFound