Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kazuhiko Shiozaki
gitlab-ce
Commits
3f6bb7bc
Commit
3f6bb7bc
authored
Jan 28, 2016
by
Dmitriy Zaporozhets
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'issue_5546' into 'master'
Save list sort in a cookie Closes #5546 See merge request !2537
parents
ee8884c6
c3c92c73
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
111 additions
and
2 deletions
+111
-2
app/controllers/application_controller.rb
app/controllers/application_controller.rb
+22
-1
app/models/group.rb
app/models/group.rb
+1
-1
features/dashboard/dashboard.feature
features/dashboard/dashboard.feature
+30
-0
features/project/issues/issues.feature
features/project/issues/issues.feature
+22
-0
features/project/merge_requests.feature
features/project/merge_requests.feature
+22
-0
features/steps/dashboard/dashboard.rb
features/steps/dashboard/dashboard.rb
+1
-0
features/steps/shared/issuable.rb
features/steps/shared/issuable.rb
+13
-0
No files found.
app/controllers/application_controller.rb
View file @
3f6bb7bc
...
...
@@ -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
app/models/group.rb
View file @
3f6bb7bc
...
...
@@ -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
...
...
features/dashboard/dashboard.feature
View file @
3f6bb7bc
...
...
@@ -41,3 +41,33 @@ Feature: Dashboard
And
user with name
"John Doe"
left project
"Shop"
When
I visit dashboard activity page
Then
I should see
"John Doe left project Shop"
event
@javascript
Scenario
:
Sorting Issues
Given
I visit dashboard issues page
And
I sort the list by
"Oldest updated"
And
I visit dashboard activity page
And
I visit dashboard issues page
Then
The list should be sorted by
"Oldest updated"
@javascript
Scenario
:
Visiting Project's issues after sorting
Given
I visit dashboard issues page
And
I sort the list by
"Oldest updated"
And
I visit project
"Shop"
issues page
Then
The list should be sorted by
"Oldest updated"
@javascript
Scenario
:
Sorting Merge Requests
Given
I visit dashboard merge requests page
And
I sort the list by
"Oldest updated"
And
I visit dashboard activity page
And
I visit dashboard merge requests page
Then
The list should be sorted by
"Oldest updated"
@javascript
Scenario
:
Visiting Project's merge requests after sorting
Given
I visit dashboard merge requests page
And
I sort the list by
"Oldest updated"
And
I visit project
"Shop"
merge requests page
Then
The list should be sorted by
"Oldest updated"
features/project/issues/issues.feature
View file @
3f6bb7bc
...
...
@@ -59,6 +59,28 @@ Feature: Project Issues
And
I sort the list by
"Last updated"
Then
I should see
"Release 0.4"
at the top
@javascript
Scenario
:
Visiting Issues after being sorted the list
Given
I visit project
"Shop"
issues page
And
I sort the list by
"Oldest updated"
And
I visit my project's home page
And
I visit project
"Shop"
issues page
Then
The list should be sorted by
"Oldest updated"
@javascript
Scenario
:
Visiting Merge Requests after being sorted the list
Given
I visit project
"Shop"
issues page
And
I sort the list by
"Oldest updated"
And
I visit project
"Shop"
merge requests page
Then
The list should be sorted by
"Oldest updated"
@javascript
Scenario
:
Visiting Merge Requests from a differente Project after sorting
Given
I visit project
"Shop"
merge requests page
And
I sort the list by
"Oldest updated"
And
I visit dashboard merge requests page
Then
The list should be sorted by
"Oldest updated"
@javascript
Scenario
:
I
search issue
Given
I fill in issue search with
"Re"
...
...
features/project/merge_requests.feature
View file @
3f6bb7bc
...
...
@@ -84,6 +84,28 @@ Feature: Project Merge Requests
And
I sort the list by
"Last updated"
Then
I should see
"Bug NS-04"
at the top
@javascript
Scenario
:
Visiting Merge Requests after being sorted the list
Given
I visit project
"Shop"
merge requests page
And
I sort the list by
"Oldest updated"
And
I visit my project's home page
And
I visit project
"Shop"
merge requests page
Then
The list should be sorted by
"Oldest updated"
@javascript
Scenario
:
Visiting Issues after being sorted the list
Given
I visit project
"Shop"
merge requests page
And
I sort the list by
"Oldest updated"
And
I visit project
"Shop"
issues page
Then
The list should be sorted by
"Oldest updated"
@javascript
Scenario
:
Visiting Merge Requests from a differente Project after sorting
Given
I visit project
"Shop"
merge requests page
And
I sort the list by
"Oldest updated"
And
I visit dashboard merge requests page
Then
The list should be sorted by
"Oldest updated"
@javascript
Scenario
:
Visiting Merge Requests after commenting on diffs
Given
project
"Shop"
have
"Bug NS-05"
open merge request with diffs inside
...
...
features/steps/dashboard/dashboard.rb
View file @
3f6bb7bc
...
...
@@ -2,6 +2,7 @@ class Spinach::Features::Dashboard < Spinach::FeatureSteps
include
SharedAuthentication
include
SharedPaths
include
SharedProject
include
SharedIssuable
step
'I should see "New Project" link'
do
expect
(
page
).
to
have_link
"New project"
...
...
features/steps/shared/issuable.rb
View file @
3f6bb7bc
...
...
@@ -106,6 +106,19 @@ module SharedIssuable
edit_issuable
end
step
'I sort the list by "Oldest updated"'
do
find
(
'button.dropdown-toggle.btn'
).
click
page
.
within
(
'ul.dropdown-menu.dropdown-menu-align-right li'
)
do
click_link
"Oldest updated"
end
end
step
'The list should be sorted by "Oldest updated"'
do
page
.
within
(
'div.dropdown.inline.prepend-left-10'
)
do
expect
(
page
.
find
(
'button.dropdown-toggle.btn'
)).
to
have_content
(
'Oldest updated'
)
end
end
def
create_issuable_for_project
(
project_name
:,
title
:,
type: :issue
)
project
=
Project
.
find_by
(
name:
project_name
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment