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
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
gitlab-ce
Commits
3f4ac2ff
Commit
3f4ac2ff
authored
Jun 03, 2016
by
Dmitriy Zaporozhets
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dz-code-tab'
See merge request
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4431
parents
ae5f17ae
334cb868
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
52 additions
and
54 deletions
+52
-54
CHANGELOG
CHANGELOG
+1
-0
app/controllers/projects/branches_controller.rb
app/controllers/projects/branches_controller.rb
+1
-1
app/views/layouts/nav/_project.html.haml
app/views/layouts/nav/_project.html.haml
+9
-10
app/views/projects/branches/destroy.js.haml
app/views/projects/branches/destroy.js.haml
+0
-1
app/views/projects/commits/_head.html.haml
app/views/projects/commits/_head.html.haml
+4
-4
app/views/projects/tags/destroy.js.haml
app/views/projects/tags/destroy.js.haml
+0
-1
app/views/projects/tree/show.html.haml
app/views/projects/tree/show.html.haml
+1
-0
features/project/active_tab.feature
features/project/active_tab.feature
+19
-18
features/project/shortcuts.feature
features/project/shortcuts.feature
+5
-3
features/steps/project/active_tab.rb
features/steps/project/active_tab.rb
+0
-4
features/steps/project/project_find_file.rb
features/steps/project/project_find_file.rb
+2
-2
features/steps/shared/project_tab.rb
features/steps/shared/project_tab.rb
+10
-6
spec/controllers/projects/branches_controller_spec.rb
spec/controllers/projects/branches_controller_spec.rb
+0
-4
No files found.
CHANGELOG
View file @
3f4ac2ff
...
@@ -32,6 +32,7 @@ v 8.9.0 (unreleased)
...
@@ -32,6 +32,7 @@ v 8.9.0 (unreleased)
- Cache project build count in sidebar nav
- Cache project build count in sidebar nav
- Reduce number of queries needed to render issue labels in the sidebar
- Reduce number of queries needed to render issue labels in the sidebar
- Improve error handling importing projects
- Improve error handling importing projects
- Put project Files and Commits tabs under Code tab
v 8.8.3
v 8.8.3
- Fix 404 page when viewing TODOs that contain milestones or labels in different projects. !4312
- Fix 404 page when viewing TODOs that contain milestones or labels in different projects. !4312
...
...
app/controllers/projects/branches_controller.rb
View file @
3f4ac2ff
...
@@ -50,7 +50,7 @@ class Projects::BranchesController < Projects::ApplicationController
...
@@ -50,7 +50,7 @@ class Projects::BranchesController < Projects::ApplicationController
redirect_to
namespace_project_branches_path
(
@project
.
namespace
,
redirect_to
namespace_project_branches_path
(
@project
.
namespace
,
@project
),
status:
303
@project
),
status:
303
end
end
format
.
js
{
render
status:
status
[
:return_code
]
}
format
.
js
{
render
nothing:
true
,
status:
status
[
:return_code
]
}
end
end
end
end
...
...
app/views/layouts/nav/_project.html.haml
View file @
3f4ac2ff
...
@@ -33,18 +33,11 @@
...
@@ -33,18 +33,11 @@
%span
%span
Activity
Activity
-
if
project_nav_tab?
:files
-
if
project_nav_tab?
:files
=
nav_link
(
controller:
%w(tree blob blame edit_tree new_tree find_file)
)
do
=
nav_link
(
controller:
%w(tree blob blame edit_tree new_tree find_file
commit commits compare repositories tags branches releases network
)
)
do
=
link_to
project_files_path
(
@project
),
title:
'Files'
,
class:
'shortcuts-tree'
do
=
link_to
project_files_path
(
@project
),
title:
'Files'
,
class:
'shortcuts-tree'
do
=
icon
(
'
files-o
fw'
)
=
icon
(
'
code
fw'
)
%span
%span
Files
Code
-
if
project_nav_tab?
:commits
=
nav_link
(
controller:
%w(commit commits compare repositories tags branches releases network)
)
do
=
link_to
project_commits_path
(
@project
),
title:
'Commits'
,
class:
'shortcuts-commits'
do
=
icon
(
'history fw'
)
%span
Commits
-
if
project_nav_tab?
:pipelines
-
if
project_nav_tab?
:pipelines
=
nav_link
(
controller: :pipelines
)
do
=
nav_link
(
controller: :pipelines
)
do
...
@@ -129,4 +122,10 @@
...
@@ -129,4 +122,10 @@
=
link_to
project_builds_path
(
@project
),
title:
'Builds'
,
class:
'shortcuts-builds'
do
=
link_to
project_builds_path
(
@project
),
title:
'Builds'
,
class:
'shortcuts-builds'
do
Builds
Builds
-# Shortcut to commits page
-
if
project_nav_tab?
:commits
%li
.hidden
=
link_to
project_commits_path
(
@project
),
title:
'Commits'
,
class:
'shortcuts-commits'
do
Commits
.fade-right
.fade-right
app/views/projects/branches/destroy.js.haml
deleted
100644 → 0
View file @
ae5f17ae
$('.js-totalbranch-count').html("
#{
@repository
.
branch_count
}
")
app/views/projects/commits/_head.html.haml
View file @
3f4ac2ff
%ul
.nav-links
%ul
.nav-links
=
nav_link
(
controller:
%w(tree blob blame edit_tree new_tree find_file)
)
do
=
link_to
project_files_path
(
@project
)
do
Files
=
nav_link
(
controller:
[
:commit
,
:commits
])
do
=
nav_link
(
controller:
[
:commit
,
:commits
])
do
=
link_to
namespace_project_commits_path
(
@project
.
namespace
,
@project
,
current_ref
)
do
=
link_to
namespace_project_commits_path
(
@project
.
namespace
,
@project
,
current_ref
)
do
Commits
Commits
%span
.badge
=
number_with_delimiter
(
@repository
.
commit_count
)
=
nav_link
(
controller:
%w(network)
)
do
=
nav_link
(
controller:
%w(network)
)
do
=
link_to
namespace_project_network_path
(
@project
.
namespace
,
@project
,
current_ref
)
do
=
link_to
namespace_project_network_path
(
@project
.
namespace
,
@project
,
current_ref
)
do
...
@@ -16,9 +18,7 @@
...
@@ -16,9 +18,7 @@
=
nav_link
(
html_options:
{
class:
branches_tab_class
})
do
=
nav_link
(
html_options:
{
class:
branches_tab_class
})
do
=
link_to
namespace_project_branches_path
(
@project
.
namespace
,
@project
)
do
=
link_to
namespace_project_branches_path
(
@project
.
namespace
,
@project
)
do
Branches
Branches
%span
.badge.js-totalbranch-count
=
@repository
.
branch_count
=
nav_link
(
controller:
[
:tags
,
:releases
])
do
=
nav_link
(
controller:
[
:tags
,
:releases
])
do
=
link_to
namespace_project_tags_path
(
@project
.
namespace
,
@project
)
do
=
link_to
namespace_project_tags_path
(
@project
.
namespace
,
@project
)
do
Tags
Tags
%span
.badge.js-totaltags-count
=
@repository
.
tag_count
app/views/projects/tags/destroy.js.haml
View file @
3f4ac2ff
$('.js-totaltags-count').html("
#{
@repository
.
tags
.
size
}
");
-
if
@repository
.
tags
.
empty?
-
if
@repository
.
tags
.
empty?
$('.tags').load(document.URL + ' .nothing-here-block').hide().fadeIn(1000)
$('.tags').load(document.URL + ' .nothing-here-block').hide().fadeIn(1000)
app/views/projects/tree/show.html.haml
View file @
3f4ac2ff
...
@@ -3,6 +3,7 @@
...
@@ -3,6 +3,7 @@
-
if
current_user
-
if
current_user
=
auto_discovery_link_tag
(
:atom
,
namespace_project_commits_url
(
@project
.
namespace
,
@project
,
@ref
,
format: :atom
,
private_token:
current_user
.
private_token
),
title:
"
#{
@project
.
name
}
:
#{
@ref
}
commits"
)
=
auto_discovery_link_tag
(
:atom
,
namespace_project_commits_url
(
@project
.
namespace
,
@project
,
@ref
,
format: :atom
,
private_token:
current_user
.
private_token
),
title:
"
#{
@project
.
name
}
:
#{
@ref
}
commits"
)
=
render
'projects/last_push'
=
render
'projects/last_push'
=
render
"projects/commits/head"
.tree-controls
.tree-controls
=
render
'projects/find_file_link'
=
render
'projects/find_file_link'
...
...
features/project/active_tab.feature
View file @
3f4ac2ff
...
@@ -10,14 +10,9 @@ Feature: Project Active Tab
...
@@ -10,14 +10,9 @@ Feature: Project Active Tab
Then
the active main tab should be Home
Then
the active main tab should be Home
And
no other main tabs should be active
And
no other main tabs should be active
Scenario
:
On Project
Files
Scenario
:
On Project
Code
Given
I visit my project's files page
Given
I visit my project's files page
Then
the active main tab should be Files
Then
the active main tab should be Code
And
no other main tabs should be active
Scenario
:
On Project Commits
Given
I visit my project's commits page
Then
the active main tab should be Commits
And
no other main tabs should be active
And
no other main tabs should be active
Scenario
:
On Project Issues
Scenario
:
On Project Issues
...
@@ -64,40 +59,46 @@ Feature: Project Active Tab
...
@@ -64,40 +59,46 @@ Feature: Project Active Tab
And
no other sub navs should be active
And
no other sub navs should be active
And
the active main tab should be Settings
And
the active main tab should be Settings
# Sub Tabs: Commits
# Sub Tabs: Code
Scenario
:
On Project Code/Files
Given
I visit my project's files page
Then
the active sub tab should be Files
And
no other sub tabs should be active
And
the active main tab should be Code
Scenario
:
On Project Co
mmits
/Commits
Scenario
:
On Project Co
de
/Commits
Given
I visit my project's commits page
Given
I visit my project's commits page
Then
the active sub tab should be Commits
Then
the active sub tab should be Commits
And
no other sub tabs should be active
And
no other sub tabs should be active
And
the active main tab should be Co
mmits
And
the active main tab should be Co
de
Scenario
:
On Project Co
mmits
/Network
Scenario
:
On Project Co
de
/Network
Given
I visit my project's network page
Given
I visit my project's network page
Then
the active sub tab should be Network
Then
the active sub tab should be Network
And
no other sub tabs should be active
And
no other sub tabs should be active
And
the active main tab should be Co
mmits
And
the active main tab should be Co
de
Scenario
:
On Project Co
mmits
/Compare
Scenario
:
On Project Co
de
/Compare
Given
I visit my project's commits page
Given
I visit my project's commits page
And
I click the
"Compare"
tab
And
I click the
"Compare"
tab
Then
the active sub tab should be Compare
Then
the active sub tab should be Compare
And
no other sub tabs should be active
And
no other sub tabs should be active
And
the active main tab should be Co
mmits
And
the active main tab should be Co
de
Scenario
:
On Project Co
mmits
/Branches
Scenario
:
On Project Co
de
/Branches
Given
I visit my project's commits page
Given
I visit my project's commits page
And
I click the
"Branches"
tab
And
I click the
"Branches"
tab
Then
the active sub tab should be Branches
Then
the active sub tab should be Branches
And
no other sub tabs should be active
And
no other sub tabs should be active
And
the active main tab should be Co
mmits
And
the active main tab should be Co
de
Scenario
:
On Project Co
mmits
/Tags
Scenario
:
On Project Co
de
/Tags
Given
I visit my project's commits page
Given
I visit my project's commits page
And
I click the
"Tags"
tab
And
I click the
"Tags"
tab
Then
the active sub tab should be Tags
Then
the active sub tab should be Tags
And
no other sub tabs should be active
And
no other sub tabs should be active
And
the active main tab should be Co
mmits
And
the active main tab should be Co
de
Scenario
:
On Project Issues/Browse
Scenario
:
On Project Issues/Browse
Given
I visit my project's issues page
Given
I visit my project's issues page
...
...
features/project/shortcuts.feature
View file @
3f4ac2ff
...
@@ -8,19 +8,21 @@ Feature: Project Shortcuts
...
@@ -8,19 +8,21 @@ Feature: Project Shortcuts
@javascript
@javascript
Scenario
:
Navigate to files tab
Scenario
:
Navigate to files tab
Given
I press
"g"
and
"f"
Given
I press
"g"
and
"f"
Then
the active main tab should be Files
Then
the active main tab should be Code
Then
the active sub tab should be Files
@javascript
@javascript
Scenario
:
Navigate to commits tab
Scenario
:
Navigate to commits tab
Given
I visit my project's files page
Given
I visit my project's files page
Given
I press
"g"
and
"c"
Given
I press
"g"
and
"c"
Then
the active main tab should be Commits
Then
the active main tab should be Code
Then
the active sub tab should be Commits
@javascript
@javascript
Scenario
:
Navigate to network tab
Scenario
:
Navigate to network tab
Given
I press
"g"
and
"n"
Given
I press
"g"
and
"n"
Then
the active sub tab should be Network
Then
the active sub tab should be Network
And
the active main tab should be Co
mmits
And
the active main tab should be Co
de
@javascript
@javascript
Scenario
:
Navigate to graphs tab
Scenario
:
Navigate to graphs tab
...
...
features/steps/project/active_tab.rb
View file @
3f4ac2ff
...
@@ -63,10 +63,6 @@ class Spinach::Features::ProjectActiveTab < Spinach::FeatureSteps
...
@@ -63,10 +63,6 @@ class Spinach::Features::ProjectActiveTab < Spinach::FeatureSteps
click_link
(
'Tags'
)
click_link
(
'Tags'
)
end
end
step
'the active sub tab should be Commits'
do
ensure_active_sub_tab
(
'Commits'
)
end
step
'the active sub tab should be Compare'
do
step
'the active sub tab should be Compare'
do
ensure_active_sub_tab
(
'Compare'
)
ensure_active_sub_tab
(
'Compare'
)
end
end
...
...
features/steps/project/project_find_file.rb
View file @
3f4ac2ff
...
@@ -13,12 +13,12 @@ class Spinach::Features::ProjectFindFile < Spinach::FeatureSteps
...
@@ -13,12 +13,12 @@ class Spinach::Features::ProjectFindFile < Spinach::FeatureSteps
end
end
step
'I should see "find file" page'
do
step
'I should see "find file" page'
do
ensure_active_main_tab
(
'
Files
'
)
ensure_active_main_tab
(
'
Code
'
)
expect
(
page
).
to
have_selector
(
'.file-finder-holder'
,
count:
1
)
expect
(
page
).
to
have_selector
(
'.file-finder-holder'
,
count:
1
)
end
end
step
'I fill in Find by path with "git"'
do
step
'I fill in Find by path with "git"'
do
ensure_active_main_tab
(
'
Files
'
)
ensure_active_main_tab
(
'
Code
'
)
expect
(
page
).
to
have_selector
(
'.file-finder-holder'
,
count:
1
)
expect
(
page
).
to
have_selector
(
'.file-finder-holder'
,
count:
1
)
end
end
...
...
features/steps/shared/project_tab.rb
View file @
3f4ac2ff
...
@@ -8,12 +8,8 @@ module SharedProjectTab
...
@@ -8,12 +8,8 @@ module SharedProjectTab
ensure_active_main_tab
(
'Project'
)
ensure_active_main_tab
(
'Project'
)
end
end
step
'the active main tab should be Files'
do
step
'the active main tab should be Code'
do
ensure_active_main_tab
(
'Files'
)
ensure_active_main_tab
(
'Code'
)
end
step
'the active main tab should be Commits'
do
ensure_active_main_tab
(
'Commits'
)
end
end
step
'the active main tab should be Graphs'
do
step
'the active main tab should be Graphs'
do
...
@@ -51,4 +47,12 @@ module SharedProjectTab
...
@@ -51,4 +47,12 @@ module SharedProjectTab
step
'the active sub tab should be Network'
do
step
'the active sub tab should be Network'
do
ensure_active_sub_tab
(
'Network'
)
ensure_active_sub_tab
(
'Network'
)
end
end
step
'the active sub tab should be Files'
do
ensure_active_sub_tab
(
'Files'
)
end
step
'the active sub tab should be Commits'
do
ensure_active_sub_tab
(
'Commits'
)
end
end
end
spec/controllers/projects/branches_controller_spec.rb
View file @
3f4ac2ff
...
@@ -122,27 +122,23 @@ describe Projects::BranchesController do
...
@@ -122,27 +122,23 @@ describe Projects::BranchesController do
let
(
:branch
)
{
"feature"
}
let
(
:branch
)
{
"feature"
}
it
{
expect
(
response
.
status
).
to
eq
(
200
)
}
it
{
expect
(
response
.
status
).
to
eq
(
200
)
}
it
{
expect
(
subject
).
to
render_template
(
'destroy'
)
}
end
end
context
"valid branch name with unencoded slashes"
do
context
"valid branch name with unencoded slashes"
do
let
(
:branch
)
{
"improve/awesome"
}
let
(
:branch
)
{
"improve/awesome"
}
it
{
expect
(
response
.
status
).
to
eq
(
200
)
}
it
{
expect
(
response
.
status
).
to
eq
(
200
)
}
it
{
expect
(
subject
).
to
render_template
(
'destroy'
)
}
end
end
context
"valid branch name with encoded slashes"
do
context
"valid branch name with encoded slashes"
do
let
(
:branch
)
{
"improve%2Fawesome"
}
let
(
:branch
)
{
"improve%2Fawesome"
}
it
{
expect
(
response
.
status
).
to
eq
(
200
)
}
it
{
expect
(
response
.
status
).
to
eq
(
200
)
}
it
{
expect
(
subject
).
to
render_template
(
'destroy'
)
}
end
end
context
"invalid branch name, valid ref"
do
context
"invalid branch name, valid ref"
do
let
(
:branch
)
{
"no-branch"
}
let
(
:branch
)
{
"no-branch"
}
it
{
expect
(
response
.
status
).
to
eq
(
404
)
}
it
{
expect
(
response
.
status
).
to
eq
(
404
)
}
it
{
expect
(
subject
).
to
render_template
(
'destroy'
)
}
end
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