summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2016-01-28 16:21:04 +0000
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2016-01-28 16:21:04 +0000
commit3f6bb7bc86a61e406aafdbf2b5975755f4cbe7ad (patch)
treebf2a6e6d60e029f122603699ec04ac87fe54d4e4 /app
parentee8884c68e5f6027b06bccda5e3c373eaaf2653f (diff)
parentc3c92c7317df157e156c3a34ff9f4c562229479f (diff)
downloadgitlab-ce-3f6bb7bc86a61e406aafdbf2b5975755f4cbe7ad.tar.gz
Merge branch 'issue_5546' into 'master'
Save list sort in a cookie Closes #5546 See merge request !2537
Diffstat (limited to 'app')
-rw-r--r--app/controllers/application_controller.rb23
-rw-r--r--app/models/group.rb2
2 files changed, 23 insertions, 2 deletions
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index 2d735b90597..824175c8a6c 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -298,7 +298,8 @@ class ApplicationController < ActionController::Base
end
def set_filters_params
- params[:sort] ||= 'id_desc'
+ set_default_sort
+
params[:scope] = 'all' if params[:scope].blank?
params[:state] = 'opened' if params[:state].blank?
@@ -405,4 +406,24 @@ class ApplicationController < ActionController::Base
current_user.nil? && root_path == request.path
end
+
+ private
+
+ def set_default_sort
+ key = if is_a_listing_page_for?('issues') || is_a_listing_page_for?('merge_requests')
+ 'issuable_sort'
+ end
+
+ cookies[key] = params[:sort] if key && params[:sort].present?
+ params[:sort] = cookies[key] if key
+ params[:sort] ||= 'id_desc'
+ end
+
+ def is_a_listing_page_for?(page_type)
+ controller_name, action_name = params.values_at(:controller, :action)
+
+ (controller_name == "projects/#{page_type}" && action_name == 'index') ||
+ (controller_name == 'groups' && action_name == page_type) ||
+ (controller_name == 'dashboard' && action_name == page_type)
+ end
end
diff --git a/app/models/group.rb b/app/models/group.rb
index 5a31b46920c..76042b3e3fd 100644
--- a/app/models/group.rb
+++ b/app/models/group.rb
@@ -19,7 +19,7 @@ require 'file_size_validator'
class Group < Namespace
include Gitlab::ConfigHelper
include Referable
-
+
has_many :group_members, dependent: :destroy, as: :source, class_name: 'GroupMember'
alias_method :members, :group_members
has_many :users, through: :group_members