summaryrefslogtreecommitdiffstats
path: root/app/controllers/workflows_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/workflows_controller.rb')
-rw-r--r--app/controllers/workflows_controller.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/app/controllers/workflows_controller.rb b/app/controllers/workflows_controller.rb
index e825171bf..dd75860ff 100644
--- a/app/controllers/workflows_controller.rb
+++ b/app/controllers/workflows_controller.rb
@@ -138,7 +138,11 @@ class WorkflowsController < ApplicationController
def find_statuses
@used_statuses_only = (params[:used_statuses_only] == '0' ? false : true)
if @trackers && @used_statuses_only
- @statuses = @trackers.map(&:issue_statuses).flatten.uniq.sort.presence
+ role_ids = Role.all.select(&:consider_workflow?).map(&:id)
+ status_ids = WorkflowTransition.where(
+ :tracker_id => @trackers.map(&:id), :role_id => role_ids
+ ).uniq.pluck(:old_status_id, :new_status_id).flatten.uniq
+ @statuses = IssueStatus.where(:id => status_ids).sorted.to_a.presence
end
@statuses ||= IssueStatus.sorted.to_a
end