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
Boxiang Sun
gitlab-ce
Commits
16ea2ec1
Commit
16ea2ec1
authored
Dec 24, 2013
by
Dmitriy Zaporozhets
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/all_merge_requets' of /home/git/repositories/gitlab/gitlabhq
parents
a16d7558
b1970e0c
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
184 additions
and
39 deletions
+184
-39
app/controllers/dashboard_controller.rb
app/controllers/dashboard_controller.rb
+18
-4
app/views/dashboard/issues.html.haml
app/views/dashboard/issues.html.haml
+2
-2
app/views/dashboard/merge_requests.html.haml
app/views/dashboard/merge_requests.html.haml
+1
-1
app/views/layouts/nav/_dashboard.html.haml
app/views/layouts/nav/_dashboard.html.haml
+1
-1
app/views/shared/_filter.html.haml
app/views/shared/_filter.html.haml
+13
-1
features/dashboard/issues.feature
features/dashboard/issues.feature
+11
-1
features/dashboard/merge_requests.feature
features/dashboard/merge_requests.feature
+12
-2
features/steps/dashboard/dashboard_issues.rb
features/steps/dashboard/dashboard_issues.rb
+64
-10
features/steps/dashboard/dashboard_merge_requests.rb
features/steps/dashboard/dashboard_merge_requests.rb
+62
-17
No files found.
app/controllers/dashboard_controller.rb
View file @
16ea2ec1
...
@@ -50,16 +50,30 @@ class DashboardController < ApplicationController
...
@@ -50,16 +50,30 @@ class DashboardController < ApplicationController
@projects
=
@projects
.
page
(
params
[
:page
]).
per
(
30
)
@projects
=
@projects
.
page
(
params
[
:page
]).
per
(
30
)
end
end
# Get authored or assigned open merge requests
def
merge_requests
def
merge_requests
@merge_requests
=
current_user
.
cared_merge_requests
@merge_requests
=
case
params
[
:scope
]
when
'authored'
then
current_user
.
merge_requests
when
'all'
then
MergeRequest
.
where
(
target_project_id:
current_user
.
authorized_projects
.
pluck
(
:id
))
else
current_user
.
assigned_merge_requests
end
@merge_requests
=
FilterContext
.
new
(
@merge_requests
,
params
).
execute
@merge_requests
=
FilterContext
.
new
(
@merge_requests
,
params
).
execute
@merge_requests
=
@merge_requests
.
recent
.
page
(
params
[
:page
]).
per
(
20
)
@merge_requests
=
@merge_requests
.
recent
.
page
(
params
[
:page
]).
per
(
20
)
end
end
# Get only assigned issues
def
issues
def
issues
@issues
=
current_user
.
assigned_issues
@issues
=
case
params
[
:scope
]
when
'authored'
then
current_user
.
issues
when
'all'
then
Issue
.
where
(
project_id:
current_user
.
authorized_projects
.
pluck
(
:id
))
else
current_user
.
assigned_issues
end
@issues
=
FilterContext
.
new
(
@issues
,
params
).
execute
@issues
=
FilterContext
.
new
(
@issues
,
params
).
execute
@issues
=
@issues
.
recent
.
page
(
params
[
:page
]).
per
(
20
)
@issues
=
@issues
.
recent
.
page
(
params
[
:page
]).
per
(
20
)
@issues
=
@issues
.
includes
(
:author
,
:project
)
@issues
=
@issues
.
includes
(
:author
,
:project
)
...
...
app/views/dashboard/issues.html.haml
View file @
16ea2ec1
%h3
.page-title
%h3
.page-title
Issues
assigned to me
Issues
%span
.pull-right
#{
@issues
.
total_count
}
issues
%span
.pull-right
#{
@issues
.
total_count
}
issues
%p
.light
%p
.light
For all issues you should visit the project's issues page, or use the search panel to find a specific issue
.
List all issues from all project's you have access to
.
%hr
%hr
.row
.row
...
...
app/views/dashboard/merge_requests.html.haml
View file @
16ea2ec1
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
%p
.light
%p
.light
Only merge requests created by you or assigned to you are listed here
.
List all merge requests from all project's you have access to
.
%hr
%hr
.row
.row
.span3
.span3
...
...
app/views/layouts/nav/_dashboard.html.haml
View file @
16ea2ec1
...
@@ -12,7 +12,7 @@
...
@@ -12,7 +12,7 @@
=
nav_link
(
path:
'dashboard#merge_requests'
)
do
=
nav_link
(
path:
'dashboard#merge_requests'
)
do
=
link_to
merge_requests_dashboard_path
do
=
link_to
merge_requests_dashboard_path
do
Merge Requests
Merge Requests
%span
.count
=
current_user
.
car
ed_merge_requests
.
opened
.
count
%span
.count
=
current_user
.
assign
ed_merge_requests
.
opened
.
count
=
nav_link
(
controller: :help
)
do
=
nav_link
(
controller: :help
)
do
=
link_to
"Help"
,
help_path
=
link_to
"Help"
,
help_path
app/views/shared/_filter.html.haml
View file @
16ea2ec1
=
form_tag
filter_path
(
entity
),
method:
'get'
do
=
form_tag
filter_path
(
entity
),
method:
'get'
do
%fieldset
%fieldset
.scope-filter
%ul
.nav.nav-pills.nav-stacked
%li
{
class:
(
"active"
if
params
[
:scope
].
blank?
)}
=
link_to
filter_path
(
entity
,
scope:
nil
)
do
Assigned to me
%li
{
class:
(
"active"
if
params
[
:scope
]
==
'authored'
)}
=
link_to
filter_path
(
entity
,
scope:
'authored'
)
do
Authored by me
%li
{
class:
(
"active"
if
params
[
:scope
]
==
'all'
)}
=
link_to
filter_path
(
entity
,
scope:
'all'
)
do
All
%fieldset
.status-filter
%ul
.nav.nav-pills.nav-stacked
%ul
.nav.nav-pills.nav-stacked
%li
{
class:
(
"active"
if
params
[
:status
].
blank?
)}
%li
{
class:
(
"active"
if
params
[
:status
].
blank?
)}
=
link_to
filter_path
(
entity
,
status:
nil
)
do
=
link_to
filter_path
(
entity
,
status:
nil
)
do
...
...
features/dashboard/issues.feature
View file @
16ea2ec1
Feature
:
Dashboard Issues
Feature
:
Dashboard Issues
Background
:
Background
:
Given
I sign in as a user
Given
I sign in as a user
And
I have authored issues
And
I have assigned issues
And
I have assigned issues
And
I have other issues
And
I visit dashboard issues page
And
I visit dashboard issues page
Scenario
:
I
should see
issues list
Scenario
:
I
should see
assigned issues
Then
I should see issues assigned to me
Then
I should see issues assigned to me
Scenario
:
I
should see authored issues
When
I click
"Authored by me"
link
Then
I should see issues authored by me
Scenario
:
I
should see all issues
When
I click
"All"
link
Then
I should see all issues
features/dashboard/merge_requests.feature
View file @
16ea2ec1
...
@@ -2,7 +2,17 @@ Feature: Dashboard Merge Requests
...
@@ -2,7 +2,17 @@ Feature: Dashboard Merge Requests
Background
:
Background
:
Given
I sign in as a user
Given
I sign in as a user
And
I have authored merge requests
And
I have authored merge requests
And
I have assigned merge requests
And
I have other merge requests
And
I visit dashboard merge requests page
And
I visit dashboard merge requests page
Scenario
:
I
should see projects list
Scenario
:
I
should see assigned merge_requests
Then
I should see my merge requests
Then
I should see merge requests assigned to me
Scenario
:
I
should see authored merge_requests
When
I click
"Authored by me"
link
Then
I should see merge requests authored by me
Scenario
:
I
should see all merge_requests
When
I click
"All"
link
Then
I should see all merge requests
features/steps/dashboard/dashboard_issues.rb
View file @
16ea2ec1
...
@@ -2,19 +2,73 @@ class DashboardIssues < Spinach::FeatureSteps
...
@@ -2,19 +2,73 @@ class DashboardIssues < Spinach::FeatureSteps
include
SharedAuthentication
include
SharedAuthentication
include
SharedPaths
include
SharedPaths
Then
'I should see issues assigned to me'
do
step
'I should see issues assigned to me'
do
issues
=
@user
.
issues
should_see
(
assigned_issue
)
issues
.
each
do
|
issue
|
should_not_see
(
authored_issue
)
page
.
should
have_content
(
issue
.
title
[
0
..
10
])
should_not_see
(
other_issue
)
page
.
should
have_content
(
issue
.
project
.
name
)
end
page
.
should
have_link
(
issue
.
project
.
name
)
step
'I should see issues authored by me'
do
should_see
(
authored_issue
)
should_not_see
(
assigned_issue
)
should_not_see
(
other_issue
)
end
step
'I should see all issues'
do
should_see
(
authored_issue
)
should_see
(
assigned_issue
)
should_see
(
other_issue
)
end
step
'I have authored issues'
do
authored_issue
end
step
'I have assigned issues'
do
assigned_issue
end
step
'I have other issues'
do
other_issue
end
step
'I click "Authored by me" link'
do
within
".scope-filter"
do
click_link
'Authored by me'
end
end
end
end
And
'I have assigned issues'
do
step
'I click "All" link'
do
project
=
create
:project
within
".scope-filter"
do
project
.
team
<<
[
@user
,
:master
]
click_link
'All'
end
end
def
should_see
(
issue
)
page
.
should
have_content
(
issue
.
title
[
0
..
10
])
end
def
should_not_see
(
issue
)
page
.
should_not
have_content
(
issue
.
title
[
0
..
10
])
end
def
assigned_issue
@assigned_issue
||=
create
:issue
,
assignee:
current_user
,
project:
project
end
def
authored_issue
@authored_issue
||=
create
:issue
,
author:
current_user
,
project:
project
end
def
other_issue
@other_issue
||=
create
:issue
,
project:
project
end
2
.
times
{
create
:issue
,
author:
@user
,
assignee:
@user
,
project:
project
}
def
project
@project
||=
begin
project
=
create
:project_with_code
project
.
team
<<
[
current_user
,
:master
]
project
end
end
end
end
end
features/steps/dashboard/dashboard_merge_requests.rb
View file @
16ea2ec1
...
@@ -2,28 +2,73 @@ class DashboardMergeRequests < Spinach::FeatureSteps
...
@@ -2,28 +2,73 @@ class DashboardMergeRequests < Spinach::FeatureSteps
include
SharedAuthentication
include
SharedAuthentication
include
SharedPaths
include
SharedPaths
Then
'I should see my merge requests'
do
step
'I should see merge requests assigned to me'
do
merge_requests
=
@user
.
merge_requests
should_see
(
assigned_merge_request
)
merge_requests
.
each
do
|
mr
|
should_not_see
(
authored_merge_request
)
page
.
should
have_content
(
mr
.
title
[
0
..
10
])
should_not_see
(
other_merge_request
)
page
.
should
have_content
(
mr
.
target_project
.
name
)
end
page
.
should
have_content
(
mr
.
source_project
.
name
)
step
'I should see merge requests authored by me'
do
should_see
(
authored_merge_request
)
should_not_see
(
assigned_merge_request
)
should_not_see
(
other_merge_request
)
end
step
'I should see all merge requests'
do
should_see
(
authored_merge_request
)
should_see
(
assigned_merge_request
)
should_see
(
other_merge_request
)
end
step
'I have authored merge requests'
do
authored_merge_request
end
step
'I have assigned merge requests'
do
assigned_merge_request
end
step
'I have other merge requests'
do
other_merge_request
end
step
'I click "Authored by me" link'
do
within
".scope-filter"
do
click_link
'Authored by me'
end
end
step
'I click "All" link'
do
within
".scope-filter"
do
click_link
'All'
end
end
end
end
And
'I have authored merge requests'
do
def
should_see
(
merge_request
)
project1_source
=
create
:project
page
.
should
have_content
(
merge_request
.
title
[
0
..
10
])
project1_target
=
create
:project
end
project2_source
=
create
:project
project2_target
=
create
:project
def
should_not_see
(
merge_request
)
page
.
should_not
have_content
(
merge_request
.
title
[
0
..
10
])
end
project1_source
.
team
<<
[
@user
,
:master
]
def
assigned_merge_request
project1_target
.
team
<<
[
@user
,
:master
]
@assigned_merge_request
||=
create
:merge_request
,
assignee:
current_user
,
target_project:
project
project2_source
.
team
<<
[
@user
,
:master
]
end
project2_target
.
team
<<
[
@user
,
:master
]
def
authored_merge_request
@authored_merge_request
||=
create
:merge_request
,
author:
current_user
,
target_project:
project
end
def
other_merge_request
@other_merge_request
||=
create
:merge_request
,
target_project:
project
end
merge_request1
=
create
:merge_request
,
author:
@user
,
source_project:
project1_source
,
target_project:
project1_target
def
project
merge_request2
=
create
:merge_request
,
author:
@user
,
source_project:
project2_source
,
target_project:
project2_target
@project
||=
begin
project
=
create
:project_with_code
project
.
team
<<
[
current_user
,
:master
]
project
end
end
end
end
end
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