Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorToon Claes <toon@gitlab.com>2017-05-26 17:31:37 +0300
committerToon Claes <toon@gitlab.com>2017-05-30 23:45:59 +0300
commitdb679788e46d55984a4af71034c6db11aed919e4 (patch)
treed6fdb9d57f5156e9be56b0f583ff1a4d7c76fa57 /lib
parent5654ac877df5b6007606e0e1827d965bdf8e552b (diff)
Add :owned param to ProjectFinder
And use it in the API.
Diffstat (limited to 'lib')
-rw-r--r--lib/api/groups.rb2
-rw-r--r--lib/api/helpers.rb7
-rw-r--r--lib/api/projects.rb2
3 files changed, 4 insertions, 7 deletions
diff --git a/lib/api/groups.rb b/lib/api/groups.rb
index aacc3356a0e..e14a988a153 100644
--- a/lib/api/groups.rb
+++ b/lib/api/groups.rb
@@ -152,7 +152,7 @@ module API
get ":id/projects" do
group = find_group!(params[:id])
projects = GroupProjectsFinder.new(group: group, current_user: current_user, params: project_finder_params).execute
- projects = filter_projects(projects)
+ projects = reorder_projects(projects)
entity = params[:simple] ? Entities::BasicProjectDetails : Entities::Project
present paginate(projects), with: entity, current_user: current_user
end
diff --git a/lib/api/helpers.rb b/lib/api/helpers.rb
index 17f57cfb8d7..d61450f8258 100644
--- a/lib/api/helpers.rb
+++ b/lib/api/helpers.rb
@@ -256,16 +256,13 @@ module API
# project helpers
- def filter_projects(projects)
- if params[:owned]
- projects = projects.merge(current_user.owned_projects)
- end
-
+ def reorder_projects(projects)
projects.reorder(params[:order_by] => params[:sort])
end
def project_finder_params
finder_params = {}
+ finder_params[:owned] = true if params[:owned].present?
finder_params[:non_public] = true if params[:membership].present?
finder_params[:starred] = true if params[:starred].present?
finder_params[:visibility_level] = Gitlab::VisibilityLevel.level_value(params[:visibility]) if params[:visibility]
diff --git a/lib/api/projects.rb b/lib/api/projects.rb
index 267dd2a74d7..1356f959e70 100644
--- a/lib/api/projects.rb
+++ b/lib/api/projects.rb
@@ -69,7 +69,7 @@ module API
def present_projects(options = {})
projects = ProjectsFinder.new(current_user: current_user, params: project_finder_params).execute
- projects = filter_projects(projects)
+ projects = reorder_projects(projects)
projects = projects.with_statistics if params[:statistics]
projects = projects.with_issues_enabled if params[:with_issues_enabled]
projects = projects.with_merge_requests_enabled if params[:with_merge_requests_enabled]