Improve user block logic

When block user - remove it from joined groups
Dont remove user from own resources (groups, users)
This commit is contained in:
Dmitriy Zaporozhets 2013-08-27 12:01:45 +03:00
parent 0787726ae7
commit 6545527853
1 changed files with 11 additions and 0 deletions

View File

@ -126,6 +126,17 @@ class User < ActiveRecord::Base
after_transition any => :blocked do |user, transition|
# Remove user from all projects and
user.users_projects.find_each do |membership|
# skip owned resources
next if membership.project.owner == user
return false unless membership.destroy
end
# Remove user from all groups
user.users_groups.find_each do |membership|
# skip owned resources
next if membership.group.owner == user
return false unless membership.destroy
end
end