Commit a5dbe353549ad71ce2868d67dee5226ad8d46e63
1 parent
db03bfa8
Exists in
master
and in
4 other branches
Improve change group ownership logic
Showing
2 changed files
with
12 additions
and
1 deletions
Show diff stats
app/controllers/admin/groups_controller.rb
... | ... | @@ -34,7 +34,7 @@ class Admin::GroupsController < Admin::ApplicationController |
34 | 34 | owner_id =group_params.delete(:owner_id) |
35 | 35 | |
36 | 36 | if owner_id |
37 | - @group.owner = User.find(owner_id) | |
37 | + @group.change_owner(User.find(owner_id)) | |
38 | 38 | end |
39 | 39 | |
40 | 40 | if @group.update_attributes(group_params) | ... | ... |
app/models/group.rb
... | ... | @@ -32,6 +32,17 @@ class Group < Namespace |
32 | 32 | end |
33 | 33 | end |
34 | 34 | |
35 | + def change_owner(user) | |
36 | + self.owner = user | |
37 | + membership = users_groups.where(user_id: user.id).first | |
38 | + | |
39 | + if membership | |
40 | + membership.update_attributes(group_access: UsersGroup::OWNER) | |
41 | + else | |
42 | + add_owner | |
43 | + end | |
44 | + end | |
45 | + | |
35 | 46 | private |
36 | 47 | |
37 | 48 | def add_owner | ... | ... |