Commit 3b76b73a authored by Yorick Peterse's avatar Yorick Peterse

Removed User#project_relations

GitLab EE adds an extra relation that selects a "project_id" column
instead of an "id" column, making it very hard for this method to be
re-used in EE. Since using User#authorized_groups in
ProjectsFinder#all_groups apparently has no performance impact we can
just use it and keep everything compatible with EE.
parent 34e8c562
...@@ -53,7 +53,7 @@ class ProjectsFinder ...@@ -53,7 +53,7 @@ class ProjectsFinder
def all_projects(current_user) def all_projects(current_user)
if current_user if current_user
[ [
*current_user.project_relations, current_user.authorized_projects,
public_and_internal_projects public_and_internal_projects
] ]
else else
......
...@@ -442,11 +442,6 @@ class User < ActiveRecord::Base ...@@ -442,11 +442,6 @@ class User < ActiveRecord::Base
Project.where("projects.id IN (#{projects_union.to_sql})") Project.where("projects.id IN (#{projects_union.to_sql})")
end end
# Returns all the project relations
def project_relations
[personal_projects, groups_projects, projects]
end
def owned_projects def owned_projects
@owned_projects ||= @owned_projects ||=
Project.where('namespace_id IN (?) OR namespace_id = ?', Project.where('namespace_id IN (?) OR namespace_id = ?',
...@@ -835,7 +830,9 @@ class User < ActiveRecord::Base ...@@ -835,7 +830,9 @@ class User < ActiveRecord::Base
private private
def projects_union def projects_union
Gitlab::SQL::Union.new(project_relations.map { |r| r.select(:id) }) Gitlab::SQL::Union.new([personal_projects.select(:id),
groups_projects.select(:id),
projects.select(:id)])
end end
def ci_projects_union def ci_projects_union
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment