Commit 65455278535f9af769b6faa1ec9085737c2ff352
1 parent
0787726a
Exists in
master
and in
4 other branches
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 | ... | ... |