Commit a5dbe353549ad71ce2868d67dee5226ad8d46e63

Authored by Dmitriy Zaporozhets
1 parent db03bfa8

Improve change group ownership logic

app/controllers/admin/groups_controller.rb
@@ -34,7 +34,7 @@ class Admin::GroupsController < Admin::ApplicationController @@ -34,7 +34,7 @@ class Admin::GroupsController < Admin::ApplicationController
34 owner_id =group_params.delete(:owner_id) 34 owner_id =group_params.delete(:owner_id)
35 35
36 if owner_id 36 if owner_id
37 - @group.owner = User.find(owner_id) 37 + @group.change_owner(User.find(owner_id))
38 end 38 end
39 39
40 if @group.update_attributes(group_params) 40 if @group.update_attributes(group_params)
app/models/group.rb
@@ -32,6 +32,17 @@ class Group < Namespace @@ -32,6 +32,17 @@ class Group < Namespace
32 end 32 end
33 end 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 private 46 private
36 47
37 def add_owner 48 def add_owner