Commit 9de23248d8f3d6464d329b979ccfe98c23eb4aa3
1 parent
1dd66061
Exists in
master
and in
4 other branches
You should not be able to remove a Group owner
Showing
3 changed files
with
18 additions
and
2 deletions
Show diff stats
app/controllers/users_groups_controller.rb
@@ -18,7 +18,7 @@ class UsersGroupsController < ApplicationController | @@ -18,7 +18,7 @@ class UsersGroupsController < ApplicationController | ||
18 | 18 | ||
19 | def destroy | 19 | def destroy |
20 | @users_group = @group.users_groups.find(params[:id]) | 20 | @users_group = @group.users_groups.find(params[:id]) |
21 | - @users_group.destroy | 21 | + @users_group.destroy unless @users_group.user == @group.owner |
22 | 22 | ||
23 | respond_to do |format| | 23 | respond_to do |format| |
24 | format.html { redirect_to people_group_path(@group), notice: 'User was successfully removed from group.' } | 24 | format.html { redirect_to people_group_path(@group), notice: 'User was successfully removed from group.' } |
app/views/users_groups/_users_group.html.haml
@@ -13,6 +13,6 @@ | @@ -13,6 +13,6 @@ | ||
13 | - else | 13 | - else |
14 | = member.human_access | 14 | = member.human_access |
15 | 15 | ||
16 | - - if show_controls && user != current_user | 16 | + - if show_controls && user != current_user && user != @group.owner |
17 | = link_to group_users_group_path(@group, member), confirm: remove_user_from_group_message(@group, user), method: :delete, remote: true, class: "btn-tiny btn btn-remove", title: 'Remove user from group' do | 17 | = link_to group_users_group_path(@group, member), confirm: remove_user_from_group_message(@group, user), method: :delete, remote: true, class: "btn-tiny btn btn-remove", title: 'Remove user from group' do |
18 | %i.icon-minus.icon-white | 18 | %i.icon-minus.icon-white |
@@ -0,0 +1,16 @@ | @@ -0,0 +1,16 @@ | ||
1 | +desc "GITLAB | Migrate Gropus to match v6.0" | ||
2 | +task migrate_groups: :environment do | ||
3 | + puts "This will add group owners to group membership" | ||
4 | + ask_to_continue | ||
5 | + | ||
6 | + Group.find_each(batch_size: 20) do |group| | ||
7 | + begin | ||
8 | + group.send :add_owner | ||
9 | + print '.' | ||
10 | + rescue => ex | ||
11 | + puts ex.message | ||
12 | + print 'F' | ||
13 | + end | ||
14 | + end | ||
15 | +end | ||
16 | + |