def issues
@issues = Issue.visible.all(:conditions => {:id => params[:ids]}, :include => :project)
-
if (@issues.size == 1)
@issue = @issues.first
- @allowed_statuses = @issue.new_statuses_allowed_to(User.current)
- else
- @allowed_statuses = @issues.map do |i|
- i.new_statuses_allowed_to(User.current)
- end.inject do |memo,s|
- memo & s
- end
end
+
+ @allowed_statuses = @issues.map(&:new_statuses_allowed_to).inject{|memo,a| memo & a}
@projects = @issues.collect(&:project).compact.uniq
@project = @projects.first if @projects.size == 1
end
# Returns an array of status that user is able to apply
- def new_statuses_allowed_to(user, include_default=false)
+ def new_statuses_allowed_to(user=User.current, include_default=false)
statuses = status.find_new_statuses_allowed_to(
user.admin ? Role.all : user.roles_for_project(project),
tracker,