summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2015-04-10 15:26:03 +0200
committerDouwe Maan <douwe@gitlab.com>2015-04-14 12:08:10 +0200
commit453340d4496ce0500985d6432c32e8d31be350a7 (patch)
tree93a4cd16b256c0cd92437d044cae0b736d6ee4ac /app
parent87dd3f215f8c087d85cde7ac880c5480fd501303 (diff)
downloadgitlab-ce-453340d4496ce0500985d6432c32e8d31be350a7.tar.gz
Let membership invitations be resent.
Diffstat (limited to 'app')
-rw-r--r--app/controllers/groups/group_members_controller.rb11
-rw-r--r--app/controllers/projects/project_members_controller.rb13
-rw-r--r--app/views/groups/group_members/_group_member.html.haml4
-rw-r--r--app/views/projects/project_members/_project_member.html.haml4
4 files changed, 32 insertions, 0 deletions
diff --git a/app/controllers/groups/group_members_controller.rb b/app/controllers/groups/group_members_controller.rb
index f8aa4b0bbd5..1a4b13b9d73 100644
--- a/app/controllers/groups/group_members_controller.rb
+++ b/app/controllers/groups/group_members_controller.rb
@@ -47,6 +47,17 @@ class Groups::GroupMembersController < Groups::ApplicationController
end
end
+ def resend_invite
+ @group_member = @group.group_members.find(params[:id])
+ if @group_member.invite?
+ @group_member.resend_invite
+
+ redirect_to group_group_members_path(@group), notice: 'Invite was successfully resent.'
+ else
+ redirect_to group_group_members_path(@group), alert: 'The invite has already been accepted.'
+ end
+ end
+
def leave
@group_member = @group.group_members.where(user_id: current_user.id).first
diff --git a/app/controllers/projects/project_members_controller.rb b/app/controllers/projects/project_members_controller.rb
index 91aba9a7068..e55e8e4c504 100644
--- a/app/controllers/projects/project_members_controller.rb
+++ b/app/controllers/projects/project_members_controller.rb
@@ -59,6 +59,19 @@ class Projects::ProjectMembersController < Projects::ApplicationController
end
end
+ def resend_invite
+ @project_member = @project.project_members.find(params[:id])
+ if @project_member.invite?
+ @project_member.resend_invite
+
+ redirect_to namespace_project_project_members_path(@project.namespace,
+ @project), notice: 'Invite was successfully resent.'
+ else
+ redirect_to namespace_project_project_members_path(@project.namespace,
+ @project), alert: 'The invite has already been accepted.'
+ end
+ end
+
def leave
@project.project_members.find_by(user_id: current_user).destroy
diff --git a/app/views/groups/group_members/_group_member.html.haml b/app/views/groups/group_members/_group_member.html.haml
index 670d5e02e61..56b1948a474 100644
--- a/app/views/groups/group_members/_group_member.html.haml
+++ b/app/views/groups/group_members/_group_member.html.haml
@@ -24,6 +24,10 @@
= link_to member.created_by.name, user_path(member.created_by)
= time_ago_with_tooltip(member.created_at)
+ - if show_controls && can?(current_user, :admin_group, @group)
+ = link_to resend_invite_group_group_member_path(@group, member), method: :post, class: "btn-xs btn", title: 'Resend invite' do
+ Resend invite
+
- if show_roles
%span.pull-right
%strong= member.human_access
diff --git a/app/views/projects/project_members/_project_member.html.haml b/app/views/projects/project_members/_project_member.html.haml
index 4be531deddd..635e4d70941 100644
--- a/app/views/projects/project_members/_project_member.html.haml
+++ b/app/views/projects/project_members/_project_member.html.haml
@@ -24,6 +24,10 @@
= link_to member.created_by.name, user_path(member.created_by)
= time_ago_with_tooltip(member.created_at)
+ - if current_user_can_admin_project
+ = link_to resend_invite_namespace_project_project_member_path(@project.namespace, @project, member), method: :post, class: "btn-xs btn", title: 'Resend invite' do
+ Resend invite
+
- if current_user_can_admin_project
- unless @project.personal? && user == current_user
.pull-right