1
0
mirror of https://github.com/meineerde/redmine.git synced 2025-12-30 20:29:37 +00:00

Code cleanup.

git-svn-id: http://svn.redmine.org/redmine/trunk@13515 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang 2014-10-26 22:33:33 +00:00
parent 05462a145f
commit f33dfe9243

View File

@ -779,25 +779,30 @@ class Issue < ActiveRecord::Base
initial_status = nil
if new_record?
initial_status = IssueStatus.default
elsif status_id_was
initial_status = IssueStatus.find_by_id(status_id_was)
else
initial_status = status_was
end
initial_status ||= status
initial_assigned_to_id = assigned_to_id_changed? ? assigned_to_id_was : assigned_to_id
assignee_transitions_allowed = initial_assigned_to_id.present? &&
(user.id == initial_assigned_to_id || user.group_ids.include?(initial_assigned_to_id))
statuses = initial_status.find_new_statuses_allowed_to(
user.admin ? Role.all : user.roles_for_project(project),
tracker,
author == user,
assignee_transitions_allowed
)
statuses = []
if initial_status
statuses += initial_status.find_new_statuses_allowed_to(
user.admin ? Role.all.to_a : user.roles_for_project(project),
tracker,
author == user,
assignee_transitions_allowed
)
end
statuses << initial_status unless statuses.empty?
statuses << IssueStatus.default if include_default
statuses = statuses.compact.uniq.sort
blocked? ? statuses.reject {|s| s.is_closed?} : statuses
if blocked?
statuses.reject!(&:is_closed?)
end
statuses
end
end