Merged r9858 from trunk.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.0-stable@9859 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -124,6 +124,28 @@ class Issue < ActiveRecord::Base
|
||||
end
|
||||
end
|
||||
|
||||
# AR#Persistence#destroy would raise and RecordNotFound exception
|
||||
# if the issue was already deleted or updated (non matching lock_version).
|
||||
# This is a problem when bulk deleting issues or deleting a project
|
||||
# (because an issue may already be deleted if its parent was deleted
|
||||
# first).
|
||||
# The issue is reloaded by the nested_set before being deleted so
|
||||
# the lock_version condition should not be an issue but we handle it.
|
||||
def destroy
|
||||
super
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
# Stale or already deleted
|
||||
begin
|
||||
reload
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
# The issue was actually already deleted
|
||||
@destroyed = true
|
||||
return freeze
|
||||
end
|
||||
# The issue was stale, retry to destroy
|
||||
super
|
||||
end
|
||||
|
||||
# Overrides Redmine::Acts::Customizable::InstanceMethods#available_custom_fields
|
||||
def available_custom_fields
|
||||
(project && tracker) ? (project.all_issue_custom_fields & tracker.custom_fields.all) : []
|
||||
|
||||
Reference in New Issue
Block a user