diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2014-01-15 16:16:45 +0200 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2014-01-15 16:16:45 +0200 |
commit | 6153aa136007daa4b5c592190b72de389de8b032 (patch) | |
tree | 649bb1094ebb09d3784b248802108c7c0f3e0367 /app/controllers | |
parent | 5e96ee341c0b0ed933e1e939ca3302965a44913b (diff) | |
download | gitlab-ce-6153aa136007daa4b5c592190b72de389de8b032.tar.gz |
Use FilteringService for Dashboard, Group pages
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'app/controllers')
-rw-r--r-- | app/controllers/dashboard_controller.rb | 11 | ||||
-rw-r--r-- | app/controllers/groups_controller.rb | 20 |
2 files changed, 21 insertions, 10 deletions
diff --git a/app/controllers/dashboard_controller.rb b/app/controllers/dashboard_controller.rb index 27955c62488..d4a4ea80bc6 100644 --- a/app/controllers/dashboard_controller.rb +++ b/app/controllers/dashboard_controller.rb @@ -3,6 +3,8 @@ class DashboardController < ApplicationController before_filter :load_projects, except: [:projects] before_filter :event_filter, only: :show + before_filter :default_filter, only: [:issues, :merge_requests] + def show # Fetch only 30 projects. @@ -51,12 +53,12 @@ class DashboardController < ApplicationController end def merge_requests - @merge_requests = FilterContext.new(MergeRequest, current_user, params).execute + @merge_requests = FilteringService.new.execute(MergeRequest, current_user, params) @merge_requests = @merge_requests.recent.page(params[:page]).per(20) end def issues - @issues = FilterContext.new(Issue, current_user, params).execute + @issues = FilteringService.new.execute(Issue, current_user, params) @issues = @issues.recent.page(params[:page]).per(20) @issues = @issues.includes(:author, :project) @@ -71,4 +73,9 @@ class DashboardController < ApplicationController def load_projects @projects = current_user.authorized_projects.sorted_by_activity.non_archived end + + def default_filter + params[:scope] = 'assigned-to-me' if params[:scope].blank? + params[:state] = 'opened' if params[:state].blank? + end end diff --git a/app/controllers/groups_controller.rb b/app/controllers/groups_controller.rb index 5e8efe35a46..6a407503ecd 100644 --- a/app/controllers/groups_controller.rb +++ b/app/controllers/groups_controller.rb @@ -10,6 +10,8 @@ class GroupsController < ApplicationController # Load group projects before_filter :projects, except: [:new, :create] + before_filter :default_filter, only: [:issues, :merge_requests] + layout :determine_layout before_filter :set_title, only: [:new, :create] @@ -43,18 +45,14 @@ class GroupsController < ApplicationController end end - # Get authored or assigned open merge requests def merge_requests - @merge_requests = FilterContext.new(MergeRequest, current_user, params).execute - @merge_requests = @merge_requests.of_group(@group) - @merge_requests = @merge_requests.recent.page(params[:page]).per(20) + @merge_requests = FilteringService.new.execute(MergeRequest, current_user, params) + @merge_requests = @merge_requests.page(params[:page]).per(20) end - # Get only assigned issues def issues - @issues = FilterContext.new(Issue, current_user, params).execute - @issues = @issues.of_group(@group) - @issues = @issues.recent.page(params[:page]).per(20) + @issues = FilteringService.new.execute(Issue, current_user, params) + @issues = @issues.page(params[:page]).per(20) @issues = @issues.includes(:author, :project) respond_to do |format| @@ -130,4 +128,10 @@ class GroupsController < ApplicationController 'group' end end + + def default_filter + params[:scope] = 'assigned-to-me' if params[:scope].blank? + params[:state] = 'opened' if params[:state].blank? + params[:group_id] = @group.id + end end |