summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/controllers/admin/groups_controller.rb2
-rw-r--r--app/models/group.rb11
2 files changed, 12 insertions, 1 deletions
diff --git a/app/controllers/admin/groups_controller.rb b/app/controllers/admin/groups_controller.rb
index 31d25377b76..a2201f732e6 100644
--- a/app/controllers/admin/groups_controller.rb
+++ b/app/controllers/admin/groups_controller.rb
@@ -34,7 +34,7 @@ class Admin::GroupsController < Admin::ApplicationController
owner_id =group_params.delete(:owner_id)
if owner_id
- @group.owner = User.find(owner_id)
+ @group.change_owner(User.find(owner_id))
end
if @group.update_attributes(group_params)
diff --git a/app/models/group.rb b/app/models/group.rb
index 0593d9cd4bb..1c8eb98e0f2 100644
--- a/app/models/group.rb
+++ b/app/models/group.rb
@@ -32,6 +32,17 @@ class Group < Namespace
end
end
+ def change_owner(user)
+ self.owner = user
+ membership = users_groups.where(user_id: user.id).first
+
+ if membership
+ membership.update_attributes(group_access: UsersGroup::OWNER)
+ else
+ add_owner
+ end
+ end
+
private
def add_owner