summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2015-03-13 16:28:33 +0100
committerDouwe Maan <douwe@gitlab.com>2015-03-15 13:52:28 +0100
commit84371de01f3ce7bab334539a93734658528736ec (patch)
tree25f7a74f039d60c2a3e377d12d45876419ae3829 /app
parent224187ffb96283cbf42953a30c116931c03562a2 (diff)
downloadgitlab-ce-84371de01f3ce7bab334539a93734658528736ec.tar.gz
Move group leave action from dashboard/groups to groups/group_members.
Diffstat (limited to 'app')
-rw-r--r--app/controllers/dashboard/groups_controller.rb18
-rw-r--r--app/controllers/groups/group_members_controller.rb11
-rw-r--r--app/views/dashboard/groups/index.html.haml2
-rw-r--r--app/views/groups/group_members/_group_member.html.haml5
4 files changed, 16 insertions, 20 deletions
diff --git a/app/controllers/dashboard/groups_controller.rb b/app/controllers/dashboard/groups_controller.rb
index b827639978c..ed14f4e1f3b 100644
--- a/app/controllers/dashboard/groups_controller.rb
+++ b/app/controllers/dashboard/groups_controller.rb
@@ -1,21 +1,5 @@
class Dashboard::GroupsController < ApplicationController
def index
- @user_groups = current_user.group_members.page(params[:page]).per(PER_PAGE)
- end
-
- def leave
- @users_group = group.group_members.where(user_id: current_user.id).first
- if can?(current_user, :destroy, @users_group)
- @users_group.destroy
- redirect_to(dashboard_groups_path, info: "You left #{group.name} group.")
- else
- return render_403
- end
- end
-
- private
-
- def group
- @group ||= Group.find_by(path: params[:id])
+ @group_members = current_user.group_members.page(params[:page]).per(PER_PAGE)
end
end
diff --git a/app/controllers/groups/group_members_controller.rb b/app/controllers/groups/group_members_controller.rb
index d3d6ce1ca2c..2df51c97a22 100644
--- a/app/controllers/groups/group_members_controller.rb
+++ b/app/controllers/groups/group_members_controller.rb
@@ -46,6 +46,17 @@ class Groups::GroupMembersController < Groups::ApplicationController
end
end
+ def leave
+ @group_member = @group.group_members.where(user_id: current_user.id).first
+
+ if can?(current_user, :destroy_group_member, @group_member)
+ @group_member.destroy
+ redirect_to(dashboard_groups_path, info: "You left #{group.name} group.")
+ else
+ return render_403
+ end
+ end
+
protected
def group
diff --git a/app/views/dashboard/groups/index.html.haml b/app/views/dashboard/groups/index.html.haml
index 76f7d660f36..165db214d75 100644
--- a/app/views/dashboard/groups/index.html.haml
+++ b/app/views/dashboard/groups/index.html.haml
@@ -23,7 +23,7 @@
Settings
- if can?(current_user, :destroy_group_member, group_member)
- = link_to leave_dashboard_group_path(group), data: { confirm: leave_group_message(group.name) }, method: :delete, class: "btn-sm btn btn-grouped", title: 'Remove user from group' do
+ = link_to leave_group_group_members_path(group), data: { confirm: leave_group_message(group.name) }, method: :delete, class: "btn-sm btn btn-grouped", title: 'Remove user from group' do
%i.fa.fa-sign-out
Leave
diff --git a/app/views/groups/group_members/_group_member.html.haml b/app/views/groups/group_members/_group_member.html.haml
index 2fc91df0931..3d120c5cdd7 100644
--- a/app/views/groups/group_members/_group_member.html.haml
+++ b/app/views/groups/group_members/_group_member.html.haml
@@ -1,6 +1,7 @@
- user = member.user
- return unless user
- show_roles = true if show_roles.nil?
+
%li{class: "#{dom_class(member)} js-toggle-container", id: dom_id(member)}
%span{class: ("list-item-name" if show_controls)}
= image_tag avatar_icon(user.email, 16), class: "avatar s16"
@@ -21,8 +22,8 @@
title: 'Edit access level', type: 'button' do
%i.fa.fa-pencil-square-o
- if can?(current_user, :destroy_group_member, member)
- - if current_user == member.user
- = link_to leave_dashboard_group_path(@group), data: { confirm: leave_group_message(@group.name)}, method: :delete, class: "btn-xs btn btn-remove", title: 'Remove user from group' do
+ - if current_user == user
+ = link_to leave_group_group_members_path(@group), data: { confirm: leave_group_message(@group.name)}, method: :delete, class: "btn-xs btn btn-remove", title: 'Remove user from group' do
%i.fa.fa-minus.fa-inverse
- else
= link_to group_group_member_path(@group, member), data: { confirm: remove_user_from_group_message(@group, user) }, method: :delete, remote: true, class: "btn-xs btn btn-remove", title: 'Remove user from group' do