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 | ... | ... |