diff options
| author | Rémy Coutable <remy@rymai.me> | 2016-07-28 19:31:17 +0200 |
|---|---|---|
| committer | Rémy Coutable <remy@rymai.me> | 2016-10-03 16:57:48 +0200 |
| commit | 3158f57dba6dcef3e586ae8fced7deb6fdbd6dc0 (patch) | |
| tree | 51c000c699b1199f3838c3c46c5ac5dbe16773bd /app/controllers | |
| parent | 958815a039af68dc68b333b69b3e9e3f3bc4ee2e (diff) | |
| download | gitlab-ce-3158f57dba6dcef3e586ae8fced7deb6fdbd6dc0.tar.gz | |
Improve Members::DestroyService
Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'app/controllers')
| -rw-r--r-- | app/controllers/concerns/membership_actions.rb | 10 | ||||
| -rw-r--r-- | app/controllers/groups/group_members_controller.rb | 5 | ||||
| -rw-r--r-- | app/controllers/projects/project_members_controller.rb | 5 |
3 files changed, 6 insertions, 14 deletions
diff --git a/app/controllers/concerns/membership_actions.rb b/app/controllers/concerns/membership_actions.rb index b8ed2c159a7..e40c8cab4a9 100644 --- a/app/controllers/concerns/membership_actions.rb +++ b/app/controllers/concerns/membership_actions.rb @@ -15,18 +15,16 @@ module MembershipActions end def leave - @member = membershipable.members.find_by(user_id: current_user) || - membershipable.requesters.find_by(user_id: current_user) - Members::DestroyService.new(@member, current_user).execute + Members::DestroyService.new(membershipable, current_user, user_id: current_user.id).execute(:all) - source_type = @member.real_source_type.humanize(capitalize: false) + source_type = membershipable.class.to_s.humanize(capitalize: false) notice = if @member.request? "Your access request to the #{source_type} has been withdrawn." else - "You left the \"#{@member.source.human_name}\" #{source_type}." + "You left the \"#{membershipable.human_name}\" #{source_type}." end - redirect_path = @member.request? ? @member.source : [:dashboard, @member.real_source_type.tableize] + redirect_path = @member.request? ? @member.source : [:dashboard, membershipable.class.to_s.tableize] redirect_to redirect_path, notice: notice end diff --git a/app/controllers/groups/group_members_controller.rb b/app/controllers/groups/group_members_controller.rb index 9c323d7705a..f9368303d54 100644 --- a/app/controllers/groups/group_members_controller.rb +++ b/app/controllers/groups/group_members_controller.rb @@ -40,10 +40,7 @@ class Groups::GroupMembersController < Groups::ApplicationController end def destroy - @group_member = @group.members.find_by(id: params[:id]) || - @group.requesters.find_by(id: params[:id]) - - Members::DestroyService.new(@group_member, current_user).execute + Members::DestroyService.new(@group, current_user, user_id: params[:id]).execute(:all) respond_to do |format| format.html { redirect_to group_group_members_path(@group), notice: 'User was successfully removed from group.' } diff --git a/app/controllers/projects/project_members_controller.rb b/app/controllers/projects/project_members_controller.rb index 2343c7d20ec..1c07dd2e18b 100644 --- a/app/controllers/projects/project_members_controller.rb +++ b/app/controllers/projects/project_members_controller.rb @@ -55,10 +55,7 @@ class Projects::ProjectMembersController < Projects::ApplicationController end def destroy - @project_member = @project.members.find_by(id: params[:id]) || - @project.requesters.find_by(id: params[:id]) - - Members::DestroyService.new(@project_member, current_user).execute + Members::DestroyService.new(@project, current_user, user_id: params[:id]).execute(:all) respond_to do |format| format.html do |
