Refactor the from_xml methods to act on existing trace objects.
[rails.git] / app / controllers / trace_controller.rb
index eaeb4f5d0686de96901a87023c3eb6a817a6a639..4e10a6c0cc87cca968216c10d4bb686b4ed93efb 100644 (file)
@@ -263,15 +263,7 @@ class TraceController < ApplicationController
     trace = Trace.visible.find(params[:id])
 
     if trace.user == current_user
-      new_trace = Trace.from_xml(request.raw_post)
-
-      unless new_trace && new_trace.id == trace.id
-        raise OSM::APIBadUserInput.new("The id in the url (#{trace.id}) is not the same as provided in the xml (#{new_trace.id})")
-      end
-
-      trace.description = new_trace.description
-      trace.tags = new_trace.tags
-      trace.visibility = new_trace.visibility
+      trace.from_xml(request.raw_post)
       trace.save!
 
       head :ok