Commit 56f989e5 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Fix wrong issues appears at Dashboard#issues page

Filtering service used klass instead of passed items.
Because of this you see list of all issues intead of authorized ones.
This commit fixes it so people see only issues they are authorized to
see.
Signed-off-by: default avatarDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
parent 5a098e84
...@@ -54,12 +54,12 @@ class DashboardController < ApplicationController ...@@ -54,12 +54,12 @@ class DashboardController < ApplicationController
def merge_requests def merge_requests
@merge_requests = FilteringService.new.execute(MergeRequest, current_user, params) @merge_requests = FilteringService.new.execute(MergeRequest, current_user, params)
@merge_requests = @merge_requests.recent.page(params[:page]).per(20) @merge_requests = @merge_requests.page(params[:page]).per(20)
end end
def issues def issues
@issues = FilteringService.new.execute(Issue, current_user, params) @issues = FilteringService.new.execute(Issue, current_user, params)
@issues = @issues.recent.page(params[:page]).per(20) @issues = @issues.page(params[:page]).per(20)
@issues = @issues.includes(:author, :project) @issues = @issues.includes(:author, :project)
respond_to do |format| respond_to do |format|
......
...@@ -48,13 +48,13 @@ module Issuable ...@@ -48,13 +48,13 @@ module Issuable
def sort(method) def sort(method)
case method.to_s case method.to_s
when 'newest' then reorder('created_at DESC') when 'newest' then reorder("#{table_name}.created_at DESC")
when 'oldest' then reorder('created_at ASC') when 'oldest' then reorder("#{table_name}.created_at ASC")
when 'recently_updated' then reorder('updated_at DESC') when 'recently_updated' then reorder("#{table_name}.updated_at DESC")
when 'last_updated' then reorder('updated_at ASC') when 'last_updated' then reorder("#{table_name}.updated_at ASC")
when 'milestone_due_soon' then joins(:milestone).reorder("milestones.due_date ASC") when 'milestone_due_soon' then joins(:milestone).reorder("milestones.due_date ASC")
when 'milestone_due_later' then joins(:milestone).reorder("milestones.due_date DESC") when 'milestone_due_later' then joins(:milestone).reorder("milestones.due_date DESC")
else reorder('created_at DESC') else reorder("#{table_name}.created_at DESC")
end end
end end
end end
......
...@@ -57,11 +57,11 @@ class FilteringService ...@@ -57,11 +57,11 @@ class FilteringService
def by_scope(items) def by_scope(items)
case params[:scope] case params[:scope]
when 'created-by-me', 'authored' then when 'created-by-me', 'authored' then
klass.where(author_id: current_user.id) items.where(author_id: current_user.id)
when 'all' then when 'all' then
klass items
when 'assigned-to-me' then when 'assigned-to-me' then
klass.where(assignee_id: current_user.id) items.where(assignee_id: current_user.id)
else else
raise 'You must specify default scope' raise 'You must specify default scope'
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment