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
1
Merge Requests
1
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
nexedi
gitlab-ce
Commits
4df4097e
Commit
4df4097e
authored
Aug 19, 2015
by
Douwe Maan
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #9551 from Telekom-PD/feature/search-for-archived-projects
Feature/search for archived projects
parents
3659d3b5
07190227
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
97 additions
and
7 deletions
+97
-7
CHANGELOG
CHANGELOG
+1
-0
app/controllers/admin/projects_controller.rb
app/controllers/admin/projects_controller.rb
+1
-0
app/controllers/explore/projects_controller.rb
app/controllers/explore/projects_controller.rb
+2
-0
app/models/project.rb
app/models/project.rb
+1
-1
app/views/admin/projects/index.html.haml
app/views/admin/projects/index.html.haml
+6
-0
app/views/groups/projects.html.haml
app/views/groups/projects.html.haml
+5
-2
features/admin/projects.feature
features/admin/projects.feature
+10
-1
features/explore/projects.feature
features/explore/projects.feature
+12
-3
features/groups.feature
features/groups.feature
+7
-0
features/steps/admin/projects.rb
features/steps/admin/projects.rb
+16
-0
features/steps/groups.rb
features/steps/groups.rb
+9
-0
features/steps/shared/paths.rb
features/steps/shared/paths.rb
+4
-0
features/steps/shared/project.rb
features/steps/shared/project.rb
+23
-0
No files found.
CHANGELOG
View file @
4df4097e
...
@@ -5,6 +5,7 @@ v 8.0.0 (unreleased)
...
@@ -5,6 +5,7 @@ v 8.0.0 (unreleased)
- Better performance for web editor (switched from satellites to rugged)
- Better performance for web editor (switched from satellites to rugged)
- Faster merge
- Faster merge
- Ability to fetch merge requests from refs/merge-requests/:id
- Ability to fetch merge requests from refs/merge-requests/:id
- Allow displaying of archived projects in the admin interface (Artem Sidorenko)
v 7.14.0 (unreleased)
v 7.14.0 (unreleased)
- Update default robots.txt rules to disallow crawling of irrelevant pages (Ben Bodenmiller)
- Update default robots.txt rules to disallow crawling of irrelevant pages (Ben Bodenmiller)
...
...
app/controllers/admin/projects_controller.rb
View file @
4df4097e
...
@@ -9,6 +9,7 @@ class Admin::ProjectsController < Admin::ApplicationController
...
@@ -9,6 +9,7 @@ class Admin::ProjectsController < Admin::ApplicationController
@projects
=
@projects
.
where
(
"visibility_level IN (?)"
,
params
[
:visibility_levels
])
if
params
[
:visibility_levels
].
present?
@projects
=
@projects
.
where
(
"visibility_level IN (?)"
,
params
[
:visibility_levels
])
if
params
[
:visibility_levels
].
present?
@projects
=
@projects
.
with_push
if
params
[
:with_push
].
present?
@projects
=
@projects
.
with_push
if
params
[
:with_push
].
present?
@projects
=
@projects
.
abandoned
if
params
[
:abandoned
].
present?
@projects
=
@projects
.
abandoned
if
params
[
:abandoned
].
present?
@projects
=
@projects
.
non_archived
unless
params
[
:with_archived
].
present?
@projects
=
@projects
.
search
(
params
[
:name
])
if
params
[
:name
].
present?
@projects
=
@projects
.
search
(
params
[
:name
])
if
params
[
:name
].
present?
@projects
=
@projects
.
sort
(
@sort
=
params
[
:sort
])
@projects
=
@projects
.
sort
(
@sort
=
params
[
:sort
])
@projects
=
@projects
.
includes
(
:namespace
).
order
(
"namespaces.path, projects.name ASC"
).
page
(
params
[
:page
]).
per
(
PER_PAGE
)
@projects
=
@projects
.
includes
(
:namespace
).
order
(
"namespaces.path, projects.name ASC"
).
page
(
params
[
:page
]).
per
(
PER_PAGE
)
...
...
app/controllers/explore/projects_controller.rb
View file @
4df4097e
...
@@ -7,6 +7,7 @@ class Explore::ProjectsController < Explore::ApplicationController
...
@@ -7,6 +7,7 @@ class Explore::ProjectsController < Explore::ApplicationController
@tags
=
@projects
.
tags_on
(
:tags
)
@tags
=
@projects
.
tags_on
(
:tags
)
@projects
=
@projects
.
tagged_with
(
params
[
:tag
])
if
params
[
:tag
].
present?
@projects
=
@projects
.
tagged_with
(
params
[
:tag
])
if
params
[
:tag
].
present?
@projects
=
@projects
.
where
(
visibility_level:
params
[
:visibility_level
])
if
params
[
:visibility_level
].
present?
@projects
=
@projects
.
where
(
visibility_level:
params
[
:visibility_level
])
if
params
[
:visibility_level
].
present?
@projects
=
@projects
.
non_archived
@projects
=
@projects
.
search
(
params
[
:search
])
if
params
[
:search
].
present?
@projects
=
@projects
.
search
(
params
[
:search
])
if
params
[
:search
].
present?
@projects
=
@projects
.
sort
(
@sort
=
params
[
:sort
])
@projects
=
@projects
.
sort
(
@sort
=
params
[
:sort
])
@projects
=
@projects
.
includes
(
:namespace
).
page
(
params
[
:page
]).
per
(
PER_PAGE
)
@projects
=
@projects
.
includes
(
:namespace
).
page
(
params
[
:page
]).
per
(
PER_PAGE
)
...
@@ -14,6 +15,7 @@ class Explore::ProjectsController < Explore::ApplicationController
...
@@ -14,6 +15,7 @@ class Explore::ProjectsController < Explore::ApplicationController
def
trending
def
trending
@trending_projects
=
TrendingProjectsFinder
.
new
.
execute
(
current_user
)
@trending_projects
=
TrendingProjectsFinder
.
new
.
execute
(
current_user
)
@trending_projects
=
@trending_projects
.
non_archived
@trending_projects
=
@trending_projects
.
page
(
params
[
:page
]).
per
(
PER_PAGE
)
@trending_projects
=
@trending_projects
.
page
(
params
[
:page
]).
per
(
PER_PAGE
)
end
end
...
...
app/models/project.rb
View file @
4df4097e
...
@@ -215,7 +215,7 @@ class Project < ActiveRecord::Base
...
@@ -215,7 +215,7 @@ class Project < ActiveRecord::Base
end
end
def
search
(
query
)
def
search
(
query
)
joins
(
:namespace
).
where
(
'projects.archived = ?'
,
false
).
joins
(
:namespace
).
where
(
'LOWER(projects.name) LIKE :query OR
where
(
'LOWER(projects.name) LIKE :query OR
LOWER(projects.path) LIKE :query OR
LOWER(projects.path) LIKE :query OR
LOWER(namespaces.name) LIKE :query OR
LOWER(namespaces.name) LIKE :query OR
...
...
app/views/admin/projects/index.html.haml
View file @
4df4097e
...
@@ -23,6 +23,10 @@
...
@@ -23,6 +23,10 @@
=
label_tag
:abandoned
do
=
label_tag
:abandoned
do
=
check_box_tag
:abandoned
,
1
,
params
[
:abandoned
]
=
check_box_tag
:abandoned
,
1
,
params
[
:abandoned
]
%span
No activity over 6 month
%span
No activity over 6 month
.checkbox
=
label_tag
:with_archived
do
=
check_box_tag
:with_archived
,
1
,
params
[
:with_archived
]
%span
Show archived projects
%fieldset
%fieldset
%strong
Visibility level:
%strong
Visibility level:
...
@@ -73,6 +77,8 @@
...
@@ -73,6 +77,8 @@
=
visibility_level_icon
(
project
.
visibility_level
)
=
visibility_level_icon
(
project
.
visibility_level
)
=
link_to
project
.
name_with_namespace
,
[
:admin
,
project
.
namespace
.
becomes
(
Namespace
),
project
]
=
link_to
project
.
name_with_namespace
,
[
:admin
,
project
.
namespace
.
becomes
(
Namespace
),
project
]
.pull-right
.pull-right
-
if
project
.
archived
%span
.label.label-warning
archived
%span
.label.label-gray
%span
.label.label-gray
=
repository_size
(
project
)
=
repository_size
(
project
)
=
link_to
'Edit'
,
edit_namespace_project_path
(
project
.
namespace
,
project
),
id:
"edit_
#{
dom_id
(
project
)
}
"
,
class:
"btn btn-sm"
=
link_to
'Edit'
,
edit_namespace_project_path
(
project
.
namespace
,
project
),
id:
"edit_
#{
dom_id
(
project
)
}
"
,
class:
"btn btn-sm"
...
...
app/views/groups/projects.html.haml
View file @
4df4097e
...
@@ -12,11 +12,14 @@
...
@@ -12,11 +12,14 @@
-
@projects
.
each
do
|
project
|
-
@projects
.
each
do
|
project
|
%li
%li
.list-item-name
.list-item-name
%span
{
class:
visibility_level_color
(
project
.
visibility_level
)
}
=
visibility_level_icon
(
project
.
visibility_level
)
=
visibility_level_icon
(
project
.
visibility_level
)
%strong
=
link_to
project
.
name_with_namespace
,
project
%strong
=
link_to
project
.
name_with_namespace
,
project
.pull-right
-
if
project
.
archived
%span
.label.label-warning
archived
%span
.label.label-gray
%span
.label.label-gray
=
repository_size
(
project
)
=
repository_size
(
project
)
.pull-right
=
link_to
'Members'
,
namespace_project_project_members_path
(
project
.
namespace
,
project
),
id:
"edit_
#{
dom_id
(
project
)
}
"
,
class:
"btn btn-sm"
=
link_to
'Members'
,
namespace_project_project_members_path
(
project
.
namespace
,
project
),
id:
"edit_
#{
dom_id
(
project
)
}
"
,
class:
"btn btn-sm"
=
link_to
'Edit'
,
edit_namespace_project_path
(
project
.
namespace
,
project
),
id:
"edit_
#{
dom_id
(
project
)
}
"
,
class:
"btn btn-sm"
=
link_to
'Edit'
,
edit_namespace_project_path
(
project
.
namespace
,
project
),
id:
"edit_
#{
dom_id
(
project
)
}
"
,
class:
"btn btn-sm"
=
link_to
'Remove'
,
project
,
data:
{
confirm:
remove_project_message
(
project
)},
method: :delete
,
class:
"btn btn-sm btn-remove"
=
link_to
'Remove'
,
project
,
data:
{
confirm:
remove_project_message
(
project
)},
method: :delete
,
class:
"btn btn-sm btn-remove"
...
...
features/admin/projects.feature
View file @
4df4097e
...
@@ -4,9 +4,18 @@ Feature: Admin Projects
...
@@ -4,9 +4,18 @@ Feature: Admin Projects
Given
I sign in as an admin
Given
I sign in as an admin
And
there are projects in system
And
there are projects in system
Scenario
:
Projects list
Scenario
:
I
should see non-archived projects in the list
Given
archived project
"Archive"
When
I visit admin projects page
When
I visit admin projects page
Then
I should see all non-archived projects
And
I should not see project
"Archive"
Scenario
:
I
should see all projects in the list
Given
archived project
"Archive"
When
I visit admin projects page
And
I check
"Show archived projects"
Then
I should see all projects
Then
I should see all projects
And
I should see
"archived"
label
Scenario
:
Projects show
Scenario
:
Projects show
When
I visit admin projects page
When
I visit admin projects page
...
...
features/explore/projects.feature
View file @
4df4097e
...
@@ -6,10 +6,12 @@ Feature: Explore Projects
...
@@ -6,10 +6,12 @@ Feature: Explore Projects
And
private project
"Enterprise"
And
private project
"Enterprise"
Scenario
:
I
visit public area
Scenario
:
I
visit public area
Given
archived project
"Archive"
When
I visit the public projects area
When
I visit the public projects area
Then
I should see project
"Community"
Then
I should see project
"Community"
And
I should not see project
"Internal"
And
I should not see project
"Internal"
And
I should not see project
"Enterprise"
And
I should not see project
"Enterprise"
And
I should not see project
"Archive"
Scenario
:
I
visit public project page
Scenario
:
I
visit public project page
When
I visit project
"Community"
page
When
I visit project
"Community"
page
...
@@ -37,11 +39,13 @@ Feature: Explore Projects
...
@@ -37,11 +39,13 @@ Feature: Explore Projects
And
I should see empty public project details with ssh clone info
And
I should see empty public project details with ssh clone info
Scenario
:
I
visit public area as user
Scenario
:
I
visit public area as user
Given
I sign in as a user
Given
archived project
"Archive"
And
I sign in as a user
When
I visit the public projects area
When
I visit the public projects area
Then
I should see project
"Community"
Then
I should see project
"Community"
And
I should see project
"Internal"
And
I should see project
"Internal"
And
I should not see project
"Enterprise"
And
I should not see project
"Enterprise"
And
I should not see project
"Archive"
Scenario
:
I
visit internal project page as user
Scenario
:
I
visit internal project page as user
Given
I sign in as a user
Given
I sign in as a user
...
@@ -102,15 +106,20 @@ Feature: Explore Projects
...
@@ -102,15 +106,20 @@ Feature: Explore Projects
Then
I should see list of merge requests for
"Internal"
project
Then
I should see list of merge requests for
"Internal"
project
Scenario
:
Trending page
Scenario
:
Trending page
Given
I sign in as a user
Given
archived project
"Archive"
And
project
"Archive"
has comments
And
I sign in as a user
And
project
"Community"
has comments
And
project
"Community"
has comments
When
I visit the explore trending projects
When
I visit the explore trending projects
Then
I should see project
"Community"
Then
I should see project
"Community"
And
I should not see project
"Internal"
And
I should not see project
"Internal"
And
I should not see project
"Enterprise"
And
I should not see project
"Enterprise"
And
I should not see project
"Archive"
Scenario
:
Most starred page
Scenario
:
Most starred page
Given
I sign in as a user
Given
archived project
"Archive"
And
I sign in as a user
When
I visit the explore starred projects
When
I visit the explore starred projects
Then
I should see project
"Community"
Then
I should see project
"Community"
And
I should see project
"Internal"
And
I should see project
"Internal"
And
I should see project
"Archive"
features/groups.feature
View file @
4df4097e
...
@@ -152,3 +152,10 @@ Feature: Groups
...
@@ -152,3 +152,10 @@ Feature: Groups
And
I click on one group milestone
And
I click on one group milestone
Then
I should see group milestone with descriptions and expiry date
Then
I should see group milestone with descriptions and expiry date
And
I should see group milestone with all issues and MRs assigned to that milestone
And
I should see group milestone with all issues and MRs assigned to that milestone
# Group projects in settings
Scenario
:
I
should see all projects in the project list in settings
Given
Group
"Owned"
has archived project
When
I visit group
"Owned"
projects page
Then
I should see group
"Owned"
projects list
And
I should see
"archived"
label
features/steps/admin/projects.rb
View file @
4df4097e
...
@@ -2,6 +2,13 @@ class Spinach::Features::AdminProjects < Spinach::FeatureSteps
...
@@ -2,6 +2,13 @@ class Spinach::Features::AdminProjects < Spinach::FeatureSteps
include
SharedAuthentication
include
SharedAuthentication
include
SharedPaths
include
SharedPaths
include
SharedAdmin
include
SharedAdmin
include
SharedProject
step
'I should see all non-archived projects'
do
Project
.
non_archived
.
each
do
|
p
|
expect
(
page
).
to
have_content
p
.
name_with_namespace
end
end
step
'I should see all projects'
do
step
'I should see all projects'
do
Project
.
all
.
each
do
|
p
|
Project
.
all
.
each
do
|
p
|
...
@@ -9,6 +16,15 @@ class Spinach::Features::AdminProjects < Spinach::FeatureSteps
...
@@ -9,6 +16,15 @@ class Spinach::Features::AdminProjects < Spinach::FeatureSteps
end
end
end
end
step
'I check "Show archived projects"'
do
page
.
check
'Show archived projects'
click_button
"Search"
end
step
'I should see "archived" label'
do
expect
(
page
).
to
have_xpath
(
"//span[@class='label label-warning']"
,
text:
'archived'
)
end
step
'I click on first project'
do
step
'I click on first project'
do
click_link
Project
.
first
.
name_with_namespace
click_link
Project
.
first
.
name_with_namespace
end
end
...
...
features/steps/groups.rb
View file @
4df4097e
...
@@ -226,6 +226,15 @@ class Spinach::Features::Groups < Spinach::FeatureSteps
...
@@ -226,6 +226,15 @@ class Spinach::Features::Groups < Spinach::FeatureSteps
expect
(
page
).
to
have_link
(
@mr3
.
title
,
href:
namespace_project_merge_request_path
(
@project3
.
namespace
,
@project3
,
@mr3
))
expect
(
page
).
to
have_link
(
@mr3
.
title
,
href:
namespace_project_merge_request_path
(
@project3
.
namespace
,
@project3
,
@mr3
))
end
end
step
'Group "Owned" has archived project'
do
group
=
Group
.
find_by
(
name:
'Owned'
)
create
(
:project
,
namespace:
group
,
archived:
true
,
path:
"archived-project"
)
end
step
'I should see "archived" label'
do
expect
(
page
).
to
have_xpath
(
"//span[@class='label label-warning']"
,
text:
'archived'
)
end
protected
protected
def
assigned_to_me
(
key
)
def
assigned_to_me
(
key
)
...
...
features/steps/shared/paths.rb
View file @
4df4097e
...
@@ -39,6 +39,10 @@ module SharedPaths
...
@@ -39,6 +39,10 @@ module SharedPaths
visit
edit_group_path
(
Group
.
find_by
(
name:
"Owned"
))
visit
edit_group_path
(
Group
.
find_by
(
name:
"Owned"
))
end
end
step
'I visit group "Owned" projects page'
do
visit
projects_group_path
(
Group
.
find_by
(
name:
"Owned"
))
end
step
'I visit group "Guest" page'
do
step
'I visit group "Guest" page'
do
visit
group_path
(
Group
.
find_by
(
name:
"Guest"
))
visit
group_path
(
Group
.
find_by
(
name:
"Guest"
))
end
end
...
...
features/steps/shared/project.rb
View file @
4df4097e
...
@@ -92,6 +92,29 @@ module SharedProject
...
@@ -92,6 +92,29 @@ module SharedProject
@project
||=
Project
.
first
@project
||=
Project
.
first
end
end
# ----------------------------------------
# Visibility of archived project
# ----------------------------------------
step
'archived project "Archive"'
do
create
:project
,
:public
,
archived:
true
,
name:
'Archive'
end
step
'I should not see project "Archive"'
do
project
=
Project
.
find_by
(
name:
"Archive"
)
expect
(
page
).
not_to
have_content
project
.
name_with_namespace
end
step
'I should see project "Archive"'
do
project
=
Project
.
find_by
(
name:
"Archive"
)
expect
(
page
).
to
have_content
project
.
name_with_namespace
end
step
'project "Archive" has comments'
do
project
=
Project
.
find_by
(
name:
"Archive"
)
2
.
times
{
create
(
:note_on_issue
,
project:
project
)
}
end
# ----------------------------------------
# ----------------------------------------
# Visibility level
# Visibility level
# ----------------------------------------
# ----------------------------------------
...
...
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