Commit b813a4888a8755a0944fbe96c6fd35485137bf3c

Authored by Dmitriy Zaporozhets
1 parent 6424ec93

Remove User#namespaces method from code

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
app/helpers/namespaces_helper.rb
1 1 module NamespacesHelper
2 2 def namespaces_options(selected = :current_user, scope = :default)
3   - groups = current_user.owned_groups.select {|n| n.type == 'Group'}
4   - users = current_user.namespaces.reject {|n| n.type == 'Group'}
  3 + groups = current_user.owned_groups
  4 + users = [current_user.namespace]
5 5  
6 6 group_opts = ["Groups", groups.sort_by(&:human_name).map {|g| [g.human_name, g.id]} ]
7 7 users_opts = [ "Users", users.sort_by(&:human_name).map {|u| [u.human_name, u.id]} ]
... ...
app/models/user.rb
... ... @@ -82,8 +82,6 @@ class User &lt; ActiveRecord::Base
82 82 has_many :personal_projects, through: :namespace, source: :projects
83 83 has_many :projects, through: :users_projects
84 84 has_many :created_projects, foreign_key: :creator_id, class_name: 'Project'
85   - has_many :owned_projects, through: :owned_groups, source: :projects
86   -
87 85  
88 86 has_many :snippets, dependent: :destroy, foreign_key: :author_id, class_name: "Snippet"
89 87 has_many :users_projects, dependent: :destroy
... ... @@ -258,6 +256,12 @@ class User &lt; ActiveRecord::Base
258 256 end
259 257 end
260 258  
  259 + def owned_projects
  260 + @owned_projects ||= begin
  261 + Project.where(namespace_id: owned_groups.pluck(:id).push(namespace.id)).joins(:namespace)
  262 + end
  263 + end
  264 +
261 265 # Team membership in authorized projects
262 266 def tm_in_authorized_projects
263 267 UsersProject.where(project_id: authorized_projects.map(&:id), user_id: self.id)
... ... @@ -330,7 +334,7 @@ class User &lt; ActiveRecord::Base
330 334 end
331 335  
332 336 def several_namespaces?
333   - namespaces.many? || owned_groups.any?
  337 + owned_groups.any?
334 338 end
335 339  
336 340 def namespace_id
... ...
spec/models/user_spec.rb
... ... @@ -135,7 +135,6 @@ describe User do
135 135 end
136 136  
137 137 it { @user.several_namespaces?.should be_true }
138   - it { @user.namespaces.should include(@user.namespace) }
139 138 it { @user.authorized_groups.should == [@group] }
140 139 it { @user.owned_groups.should == [@group] }
141 140 end
... ... @@ -162,7 +161,6 @@ describe User do
162 161 end
163 162  
164 163 it { @user.several_namespaces?.should be_false }
165   - it { @user.namespaces.should == [@user.namespace] }
166 164 end
167 165  
168 166 describe 'blocking user' do
... ...