diff options
author | Douwe Maan <douwe@gitlab.com> | 2015-04-10 15:26:03 +0200 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2015-04-14 12:08:10 +0200 |
commit | 453340d4496ce0500985d6432c32e8d31be350a7 (patch) | |
tree | 93a4cd16b256c0cd92437d044cae0b736d6ee4ac /app | |
parent | 87dd3f215f8c087d85cde7ac880c5480fd501303 (diff) | |
download | gitlab-ce-453340d4496ce0500985d6432c32e8d31be350a7.tar.gz |
Let membership invitations be resent.
Diffstat (limited to 'app')
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 |