Commit 65455278535f9af769b6faa1ec9085737c2ff352

Authored by Dmitriy Zaporozhets
1 parent 0787726a

Improve user block logic

When block user - remove it from joined groups
Dont remove user from own resources (groups, users)
Showing 1 changed file with 11 additions and 0 deletions   Show diff stats
app/models/user.rb
... ... @@ -126,6 +126,17 @@ class User < ActiveRecord::Base
126 126 after_transition any => :blocked do |user, transition|
127 127 # Remove user from all projects and
128 128 user.users_projects.find_each do |membership|
  129 + # skip owned resources
  130 + next if membership.project.owner == user
  131 +
  132 + return false unless membership.destroy
  133 + end
  134 +
  135 + # Remove user from all groups
  136 + user.users_groups.find_each do |membership|
  137 + # skip owned resources
  138 + next if membership.group.owner == user
  139 +
129 140 return false unless membership.destroy
130 141 end
131 142 end
... ...