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,6 +126,17 @@ class User < ActiveRecord::Base | ||
| 126 | after_transition any => :blocked do |user, transition| | 126 | after_transition any => :blocked do |user, transition| |
| 127 | # Remove user from all projects and | 127 | # Remove user from all projects and |
| 128 | user.users_projects.find_each do |membership| | 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 | return false unless membership.destroy | 140 | return false unless membership.destroy |
| 130 | end | 141 | end |
| 131 | end | 142 | end |