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
bdb9340e
Commit
bdb9340e
authored
Aug 11, 2014
by
Dmitriy Zaporozhets
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #7385 from Razer6/fix_search_empty_project
Fix 500 on searching on empty project, restyle search page
parents
7122a823
f361be9e
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
61 additions
and
13 deletions
+61
-13
app/assets/stylesheets/generic/common.scss
app/assets/stylesheets/generic/common.scss
+15
-0
app/services/search/project_service.rb
app/services/search/project_service.rb
+7
-1
app/views/search/_project_results.html.haml
app/views/search/_project_results.html.haml
+12
-6
app/views/search/results/_empty.html.haml
app/views/search/results/_empty.html.haml
+4
-0
features/project/source/search_code.feature
features/project/source/search_code.feature
+8
-2
features/steps/project/search_code.rb
features/steps/project/search_code.rb
+8
-4
features/steps/shared/project.rb
features/steps/shared/project.rb
+7
-0
No files found.
app/assets/stylesheets/generic/common.scss
View file @
bdb9340e
...
@@ -341,3 +341,18 @@ table {
...
@@ -341,3 +341,18 @@ table {
.footer-links
a
{
.footer-links
a
{
margin-right
:
15px
;
margin-right
:
15px
;
}
}
.search_box
{
position
:
relative
;
padding
:
30px
;
text-align
:
center
;
background-color
:
#F9F9F9
;
border
:
1px
solid
#DDDDDD
;
border-radius
:
0px
;
}
.search_glyph
{
color
:
#555
;
font-size
:
42px
;
}
app/services/search/project_service.rb
View file @
bdb9340e
...
@@ -12,7 +12,13 @@ module Search
...
@@ -12,7 +12,13 @@ module Search
return
result
unless
query
.
present?
return
result
unless
query
.
present?
if
params
[
:search_code
].
present?
if
params
[
:search_code
].
present?
blobs
=
project
.
repository
.
search_files
(
query
,
params
[
:repository_ref
])
unless
project
.
empty_repo?
if
!
@project
.
empty_repo?
blobs
=
project
.
repository
.
search_files
(
query
,
params
[
:repository_ref
])
else
blobs
=
Array
.
new
end
blobs
=
Kaminari
.
paginate_array
(
blobs
).
page
(
params
[
:page
]).
per
(
20
)
blobs
=
Kaminari
.
paginate_array
(
blobs
).
page
(
params
[
:page
]).
per
(
20
)
result
[
:blobs
]
=
blobs
result
[
:blobs
]
=
blobs
result
[
:total_results
]
=
blobs
.
total_count
result
[
:total_results
]
=
blobs
.
total_count
...
...
app/views/search/_project_results.html.haml
View file @
bdb9340e
...
@@ -9,10 +9,16 @@
...
@@ -9,10 +9,16 @@
.search_results
.search_results
-
if
params
[
:search_code
].
present?
-
if
params
[
:search_code
].
present?
.blob-results
.blob-results
=
render
partial:
"search/results/blob"
,
collection:
@search_results
[
:blobs
]
-
if
!
@search_results
[
:blobs
].
empty?
=
paginate
@search_results
[
:blobs
],
theme:
'gitlab'
=
render
partial:
"search/results/blob"
,
collection:
@search_results
[
:blobs
]
=
paginate
@search_results
[
:blobs
],
theme:
'gitlab'
-
else
=
render
partial:
"search/results/empty"
,
:locals
=>
{
message:
"We couldn't find any matching code"
}
-
else
-
else
%ul
.bordered-list
-
if
(
@search_results
[
:merge_requests
]
||
@search_results
[
:issues
]
||
@search_results
[
:notes
]).
length
>
0
=
render
partial:
"search/results/merge_request"
,
collection:
@search_results
[
:merge_requests
]
%ul
.bordered-list
=
render
partial:
"search/results/issue"
,
collection:
@search_results
[
:issues
]
=
render
partial:
"search/results/merge_request"
,
collection:
@search_results
[
:merge_requests
]
=
render
partial:
"search/results/note"
,
collection:
@search_results
[
:notes
]
=
render
partial:
"search/results/issue"
,
collection:
@search_results
[
:issues
]
=
render
partial:
"search/results/note"
,
collection:
@search_results
[
:notes
]
-
else
=
render
partial:
"search/results/empty"
,
:locals
=>
{
message:
"We couldn't find any issues, merge requests or notes"
}
app/views/search/results/_empty.html.haml
0 → 100644
View file @
bdb9340e
.search_box
.search_glyph
%span
.icon-search
%h4
#{
message
}
features/project/source/search_code.feature
View file @
bdb9340e
Feature
:
Project Search code
Feature
:
Project Search code
Background
:
Background
:
Given
I sign in as a user
Given
I sign in as a user
And
I own project
"Shop"
Given
I visit project source page
Scenario
:
Search for term "coffee"
Scenario
:
Search for term "coffee"
Given
I own project
"Shop"
And
I visit project source page
When
I search for term
"coffee"
When
I search for term
"coffee"
Then
I should see files from repository containing
"coffee"
Then
I should see files from repository containing
"coffee"
Scenario
:
Search on empty project
Given
I own an empty project
And
I visit my project's home page
When
I search for term
"coffee"
Then
I should see empty result
features/steps/project/search_code.rb
View file @
bdb9340e
...
@@ -3,14 +3,18 @@ class ProjectSearchCode < Spinach::FeatureSteps
...
@@ -3,14 +3,18 @@ class ProjectSearchCode < Spinach::FeatureSteps
include
SharedProject
include
SharedProject
include
SharedPaths
include
SharedPaths
When
'I search for term "coffee"'
do
step
'I search for term "coffee"'
do
fill_in
"search"
,
with:
"coffee"
fill_in
"search"
,
with:
"coffee"
click_button
"Go"
click_button
"Go"
click_link
'Repository Code'
click_link
'Repository Code'
end
end
Then
'I should see files from repository containing "coffee"'
do
step
'I should see files from repository containing "coffee"'
do
page
.
should
have_content
"coffee"
page
.
should
have_content
'coffee'
page
.
should
have_content
" CONTRIBUTING.md"
page
.
should
have_content
'CONTRIBUTING.md'
end
step
'I should see empty result'
do
page
.
should
have_content
"We couldn't find any matching code"
end
end
end
end
features/steps/shared/project.rb
View file @
bdb9340e
...
@@ -21,6 +21,13 @@ module SharedProject
...
@@ -21,6 +21,13 @@ module SharedProject
@project
.
team
<<
[
@user
,
:master
]
@project
.
team
<<
[
@user
,
:master
]
end
end
# Create an empty project without caring about the name
And
'I own an empty project'
do
@project
=
create
(
:empty_project
,
name:
'Empty Project'
,
namespace:
@user
.
namespace
)
@project
.
team
<<
[
@user
,
:master
]
end
And
'project "Shop" has push event'
do
And
'project "Shop" has push event'
do
@project
=
Project
.
find_by
(
name:
"Shop"
)
@project
=
Project
.
find_by
(
name:
"Shop"
)
...
...
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