Unverified Commit b813a488 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

Remove User#namespaces method from code


Signed-off-by: default avatarDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
parent 6424ec93
module NamespacesHelper module NamespacesHelper
def namespaces_options(selected = :current_user, scope = :default) def namespaces_options(selected = :current_user, scope = :default)
groups = current_user.owned_groups.select {|n| n.type == 'Group'} groups = current_user.owned_groups
users = current_user.namespaces.reject {|n| n.type == 'Group'} users = [current_user.namespace]
group_opts = ["Groups", groups.sort_by(&:human_name).map {|g| [g.human_name, g.id]} ] group_opts = ["Groups", groups.sort_by(&:human_name).map {|g| [g.human_name, g.id]} ]
users_opts = [ "Users", users.sort_by(&:human_name).map {|u| [u.human_name, u.id]} ] users_opts = [ "Users", users.sort_by(&:human_name).map {|u| [u.human_name, u.id]} ]
......
...@@ -82,8 +82,6 @@ class User < ActiveRecord::Base ...@@ -82,8 +82,6 @@ class User < ActiveRecord::Base
has_many :personal_projects, through: :namespace, source: :projects has_many :personal_projects, through: :namespace, source: :projects
has_many :projects, through: :users_projects has_many :projects, through: :users_projects
has_many :created_projects, foreign_key: :creator_id, class_name: 'Project' has_many :created_projects, foreign_key: :creator_id, class_name: 'Project'
has_many :owned_projects, through: :owned_groups, source: :projects
has_many :snippets, dependent: :destroy, foreign_key: :author_id, class_name: "Snippet" has_many :snippets, dependent: :destroy, foreign_key: :author_id, class_name: "Snippet"
has_many :users_projects, dependent: :destroy has_many :users_projects, dependent: :destroy
...@@ -258,6 +256,12 @@ def authorized_projects ...@@ -258,6 +256,12 @@ def authorized_projects
end end
end end
def owned_projects
@owned_projects ||= begin
Project.where(namespace_id: owned_groups.pluck(:id).push(namespace.id)).joins(:namespace)
end
end
# Team membership in authorized projects # Team membership in authorized projects
def tm_in_authorized_projects def tm_in_authorized_projects
UsersProject.where(project_id: authorized_projects.map(&:id), user_id: self.id) UsersProject.where(project_id: authorized_projects.map(&:id), user_id: self.id)
...@@ -330,7 +334,7 @@ def projects_sorted_by_activity ...@@ -330,7 +334,7 @@ def projects_sorted_by_activity
end end
def several_namespaces? def several_namespaces?
namespaces.many? || owned_groups.any? owned_groups.any?
end end
def namespace_id def namespace_id
......
...@@ -135,7 +135,6 @@ ...@@ -135,7 +135,6 @@
end end
it { @user.several_namespaces?.should be_true } it { @user.several_namespaces?.should be_true }
it { @user.namespaces.should include(@user.namespace) }
it { @user.authorized_groups.should == [@group] } it { @user.authorized_groups.should == [@group] }
it { @user.owned_groups.should == [@group] } it { @user.owned_groups.should == [@group] }
end end
...@@ -162,7 +161,6 @@ ...@@ -162,7 +161,6 @@
end end
it { @user.several_namespaces?.should be_false } it { @user.several_namespaces?.should be_false }
it { @user.namespaces.should == [@user.namespace] }
end end
describe 'blocking user' do describe 'blocking user' do
......
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