Details
-
Type:
Bug
-
Status: Done/Fixed
-
Priority:
Critical
-
Resolution: Incomplete
-
Affects Version/s: 4.4.4
-
Fix Version/s: 4.7
-
Component/s: CiviMember
-
Labels:None
-
Documentation Required?:None
-
Funding Source:Needs Funding
Description
If a contact renews an inherited membership via online contribution page (i.e. they are not the primary member) - the primary membership and all inherited memberships should be renewed. Currently only the membership belonging to the contact who is doing the renewal is actually updated.
To recreate:
1. Create an inheritable membership 1 year rolling term (e.g. Household Membership -> inherited by Household Member is).
2. Create a Household and add your logged in user's contact as a Household member of that household.
3. Add an expired Household membership to the household (via backoffice 'Add Membership' - set Join Date to 12/1/2011).
4. Add Household Membership as an option in the sample online contribution page id=2 (Membership Settings)
5. Navigate to online contribution page id=2 (you will see notice about the expiration date of "your" Household Membership. Do the renewal.
6. Check membership end date / status for the membership under your contact's tab and compare to end-date / status for the primary membership under the Household contact. "Your" inherited membership is renewed while the primary Household membership is still expired.
NOTE: A related bug in the workflow where the contact owning the inherited membership renews via the primary member's "Dashboard - Membership => Renew" link was fixed previously by this issue:
http://issues.civicrm.org/jira/browse/CRM-13333
---- Original Post ----
Whenever a contact renews a membership that they are not the primary on, it renews the non-primary, but does not sync with the primary:
http://drupal.demo.civicrm.org/civicrm/contact/view/membership?action=view&reset=1&cid=203&id=33&context=membership&selectedChild=member
and
http://drupal.demo.civicrm.org/civicrm/contact/view/membership?action=view&reset=1&cid=213&id=32&context=membership&selectedChild=member
(Notice the expiration dates)
This creates a mismatch when a user renews. Their household is not renewed, nor are the other members of the household. The membership is no longer in sync. ![]()
Since this could have happened on many many installs of CiviCRM, it would be ideal to have the update script fix the existing records (find newest and work backwards?).