Let exceptions propagate to the default handler for ways so they are logged.
This commit is contained in:
parent
ed8b7fde42
commit
e15916ad5b
2 changed files with 36 additions and 59 deletions
|
@ -15,12 +15,9 @@ class WayController < ApplicationController
|
|||
render :nothing => true, :status => :precondition_failed
|
||||
else
|
||||
way.user_id = @user.id
|
||||
way.save_with_history!
|
||||
|
||||
if way.save_with_history
|
||||
render :text => way.id.to_s, :content_type => "text/plain"
|
||||
else
|
||||
render :nothing => true, :status => :internal_server_error
|
||||
end
|
||||
render :text => way.id.to_s, :content_type => "text/plain"
|
||||
end
|
||||
else
|
||||
render :nothing => true, :status => :bad_request
|
||||
|
@ -41,8 +38,6 @@ class WayController < ApplicationController
|
|||
end
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
render :nothing => true, :status => :not_found
|
||||
rescue
|
||||
render :nothing => true, :status => :internal_server_error
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -61,12 +56,9 @@ class WayController < ApplicationController
|
|||
way.tags = new_way.tags
|
||||
way.segs = new_way.segs
|
||||
way.visible = true
|
||||
way.save_with_history!
|
||||
|
||||
if way.save_with_history
|
||||
render :nothing => true
|
||||
else
|
||||
render :nothing => true, :status => :internal_server_error
|
||||
end
|
||||
render :nothing => true
|
||||
end
|
||||
else
|
||||
render :nothing => true, :status => :bad_request
|
||||
|
@ -76,8 +68,6 @@ class WayController < ApplicationController
|
|||
end
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
render :nothing => true, :status => :not_found
|
||||
rescue
|
||||
render :nothing => true, :status => :internal_server_error
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -90,19 +80,14 @@ class WayController < ApplicationController
|
|||
way.tags = []
|
||||
way.segs = []
|
||||
way.visible = false
|
||||
way.save_with_history!
|
||||
|
||||
if way.save_with_history
|
||||
render :nothing => true
|
||||
else
|
||||
render :nothing => true, :status => :internal_server_error
|
||||
end
|
||||
render :nothing => true
|
||||
else
|
||||
render :nothing => true, :status => :gone
|
||||
end
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
render :nothing => true, :status => :not_found
|
||||
rescue
|
||||
render :nothing => true, :status => :internal_server_error
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -136,8 +121,6 @@ class WayController < ApplicationController
|
|||
end
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
render :nothing => true, :status => :not_found
|
||||
rescue
|
||||
render :nothing => true, :status => :internal_server_error
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -142,47 +142,41 @@ class Way < ActiveRecord::Base
|
|||
@tags[k] = v
|
||||
end
|
||||
|
||||
def save_with_history
|
||||
begin
|
||||
Way.transaction do
|
||||
t = Time.now
|
||||
self.timestamp = t
|
||||
self.save!
|
||||
def save_with_history!
|
||||
Way.transaction do
|
||||
t = Time.now
|
||||
self.timestamp = t
|
||||
self.save!
|
||||
|
||||
tags = self.tags
|
||||
tags = self.tags
|
||||
|
||||
WayTag.delete_all(['id = ?', self.id])
|
||||
WayTag.delete_all(['id = ?', self.id])
|
||||
|
||||
tags.each do |k,v|
|
||||
tag = WayTag.new
|
||||
tag.k = k
|
||||
tag.v = v
|
||||
tag.id = self.id
|
||||
tag.save!
|
||||
end
|
||||
|
||||
segs = self.segs
|
||||
|
||||
WaySegment.delete_all(['id = ?', self.id])
|
||||
|
||||
i = 1
|
||||
segs.each do |n|
|
||||
seg = WaySegment.new
|
||||
seg.id = self.id
|
||||
seg.segment_id = n
|
||||
seg.sequence_id = i
|
||||
seg.save!
|
||||
i += 1
|
||||
end
|
||||
|
||||
old_way = OldWay.from_way(self)
|
||||
old_way.timestamp = t
|
||||
old_way.save_with_dependencies!
|
||||
tags.each do |k,v|
|
||||
tag = WayTag.new
|
||||
tag.k = k
|
||||
tag.v = v
|
||||
tag.id = self.id
|
||||
tag.save!
|
||||
end
|
||||
|
||||
return true
|
||||
rescue
|
||||
return nil
|
||||
segs = self.segs
|
||||
|
||||
WaySegment.delete_all(['id = ?', self.id])
|
||||
|
||||
i = 1
|
||||
segs.each do |n|
|
||||
seg = WaySegment.new
|
||||
seg.id = self.id
|
||||
seg.segment_id = n
|
||||
seg.sequence_id = i
|
||||
seg.save!
|
||||
i += 1
|
||||
end
|
||||
|
||||
old_way = OldWay.from_way(self)
|
||||
old_way.timestamp = t
|
||||
old_way.save_with_dependencies!
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue