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.
This commit is contained in:
parent
34e8c56236
commit
3b76b73ab1
|
@ -53,7 +53,7 @@ class ProjectsFinder
|
|||
def all_projects(current_user)
|
||||
if current_user
|
||||
[
|
||||
*current_user.project_relations,
|
||||
current_user.authorized_projects,
|
||||
public_and_internal_projects
|
||||
]
|
||||
else
|
||||
|
|
|
@ -442,11 +442,6 @@ class User < ActiveRecord::Base
|
|||
Project.where("projects.id IN (#{projects_union.to_sql})")
|
||||
end
|
||||
|
||||
# Returns all the project relations
|
||||
def project_relations
|
||||
[personal_projects, groups_projects, projects]
|
||||
end
|
||||
|
||||
def owned_projects
|
||||
@owned_projects ||=
|
||||
Project.where('namespace_id IN (?) OR namespace_id = ?',
|
||||
|
@ -835,7 +830,9 @@ class User < ActiveRecord::Base
|
|||
private
|
||||
|
||||
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
|
||||
|
||||
def ci_projects_union
|
||||
|
|
Loading…
Reference in New Issue