summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-11-05 17:15:43 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-11-05 17:15:43 +0200
commitb813a4888a8755a0944fbe96c6fd35485137bf3c (patch)
treeffa869e6fa72c07722486e79d23162931fa24e54
parent6424ec936e4faa1d236579714efc825939766ce9 (diff)
downloadgitlab-ce-b813a4888a8755a0944fbe96c6fd35485137bf3c.tar.gz
Remove User#namespaces method from code
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-rw-r--r--app/helpers/namespaces_helper.rb4
-rw-r--r--app/models/user.rb10
-rw-r--r--spec/models/user_spec.rb2
3 files changed, 9 insertions, 7 deletions
diff --git a/app/helpers/namespaces_helper.rb b/app/helpers/namespaces_helper.rb
index dc88e178360..f7979c8b641 100644
--- a/app/helpers/namespaces_helper.rb
+++ b/app/helpers/namespaces_helper.rb
@@ -1,7 +1,7 @@
module NamespacesHelper
def namespaces_options(selected = :current_user, scope = :default)
- groups = current_user.owned_groups.select {|n| n.type == 'Group'}
- users = current_user.namespaces.reject {|n| n.type == 'Group'}
+ groups = current_user.owned_groups
+ users = [current_user.namespace]
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]} ]
diff --git a/app/models/user.rb b/app/models/user.rb
index 9d959b5e773..52d6aa38e2e 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -82,8 +82,6 @@ class User < ActiveRecord::Base
has_many :personal_projects, through: :namespace, source: :projects
has_many :projects, through: :users_projects
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 :users_projects, dependent: :destroy
@@ -258,6 +256,12 @@ class User < ActiveRecord::Base
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
def tm_in_authorized_projects
UsersProject.where(project_id: authorized_projects.map(&:id), user_id: self.id)
@@ -330,7 +334,7 @@ class User < ActiveRecord::Base
end
def several_namespaces?
- namespaces.many? || owned_groups.any?
+ owned_groups.any?
end
def namespace_id
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb
index f6c9f82c4ee..66493a8d22d 100644
--- a/spec/models/user_spec.rb
+++ b/spec/models/user_spec.rb
@@ -135,7 +135,6 @@ describe User do
end
it { @user.several_namespaces?.should be_true }
- it { @user.namespaces.should include(@user.namespace) }
it { @user.authorized_groups.should == [@group] }
it { @user.owned_groups.should == [@group] }
end
@@ -162,7 +161,6 @@ describe User do
end
it { @user.several_namespaces?.should be_false }
- it { @user.namespaces.should == [@user.namespace] }
end
describe 'blocking user' do