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