From b17b18a140e3adfc3d70f01220e079fee9d170fc Mon Sep 17 00:00:00 2001 From: Raoul Spinazzola Date: Mon, 17 Dec 2018 10:32:01 +0100 Subject: [PATCH 1/2] Fix mongoid delete group from member --- lib/groupify/adapter/mongoid/group.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/groupify/adapter/mongoid/group.rb b/lib/groupify/adapter/mongoid/group.rb index 5883315..ff2fa1d 100644 --- a/lib/groupify/adapter/mongoid/group.rb +++ b/lib/groupify/adapter/mongoid/group.rb @@ -140,7 +140,7 @@ def merge!(source_group, destination_group) module MemberAssociationExtensions def as(membership_type) - membership_type.present? ? where(:group_memberships.elem_match => {as: membership_type, group_ids: [base.id]}) : self + membership_type.present? ? where(:group_memberships.elem_match => {as: membership_type, group_ids: [_base.id]}) : self end def destroy(*members) @@ -152,12 +152,12 @@ def delete(*members) if membership_type.present? members.each do |member| - member.group_memberships.as(membership_type).first.groups.delete(base) + member.group_memberships.as(membership_type).first.groups.delete(_base) end else members.each do |member| - member.group_memberships.in(groups: base).each do |membership| - membership.groups.delete(base) + member.group_memberships.in(groups: _base).each do |membership| + membership.groups.delete(_base) end end From 151bc6659f0827ebaea13710b4e0c62f16ecd7b7 Mon Sep 17 00:00:00 2001 From: Raoul Spinazzola Date: Fri, 21 Dec 2018 14:40:18 +0100 Subject: [PATCH 2/2] Fix deleteing --- lib/groupify/adapter/mongoid/group.rb | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lib/groupify/adapter/mongoid/group.rb b/lib/groupify/adapter/mongoid/group.rb index ff2fa1d..60c14c8 100644 --- a/lib/groupify/adapter/mongoid/group.rb +++ b/lib/groupify/adapter/mongoid/group.rb @@ -156,12 +156,8 @@ def delete(*members) end else members.each do |member| - member.group_memberships.in(groups: _base).each do |membership| - membership.groups.delete(_base) - end + member.groups.destroy _base end - - super(*members) end end end