Details
-
Type: Bug
-
Status: Done/Fixed
-
Priority: Major
-
Resolution: Fixed/Completed
-
Affects Version/s: 4.4.11, 4.4.12, 4.5.6
-
Fix Version/s: 4.6
-
Component/s: CiviCRM API, CiviMember, Core CiviCRM
-
Labels:None
-
Documentation Required?:None
Description
1. If a relationship is disabled between primary member and related contact, the related contact's inherited membership should be deleted.
1.1 This is not currently happen in 4.5 and 4.6 when relationship is disabled via the UI
1.2 This is apparently also not happening when relationship is disabled via the API
2. If an existing inactive relationship is enabled between two contacts, if there is an applicable inheritable membership it should be created.
2.1 This is not currently happen in 4.5 and 4.6 when relationship is enabled via the UI
2.2 This is apparently also not happening when relationship is enabled via the API
NOTE: If you Edit the primary membership after disabling the relationship, the correct action is taken (so evidently Edit calls the appropriate business logic). Same for Editing the primary membership after re-enabling the relationship.
---- Original Post —
We were affected by CRM-13652 on 4.4.6, for which we made a workaround. As this is supposed to be fixed in 4.4.7 and we're now looking to upgrade to 4.4.11 I am re-testing it on 4.4.11 without our workaround. Our automated tests have found:
- If we add a related contact to a primary member contact (using the API), the membership propagates correctly.
- If we add a membership to a non-member contact with a related contact (also using the API), the membership propagates correctly.
- If the relationship is disabled between a primary member contact and a related contact to which the membership is propagated (also using the API), the membership remains.
If the relationship is enabled/disabled through the interface, the related membership is added/removed correctly.
What's more, if I disable the relationship through the API (and the membership remains), then re-enable the relationship through the interface, the related contact gets 2 memberships.
This behaviour is replicated on 4.4 demo using the API explorer. On 4.5 demo, it doesn't even add/remove the membership when the relationship is enabled/disabled through the interface.
Attachments
Issue Links
- is duplicated by
-
CRM-12857 Disabling a relationship via API will not remove the inherited membership
- Done/Fixed