CRM-2083 Membership Renewal Should Match on Both Type and Live/Test Flag

    Details

    • Type: Improvement
    • Status: Done/Fixed
    • Priority: Major
    • Resolution: Fixed/Completed
    • Affects Version/s: 1.8
    • Fix Version/s: 1.8
    • Component/s: CiviContribute, CiviMember
    • Labels:
      None

      Description

      Currently, test-renewal of current live memberhips makes them stay live (i.e., with is_test = 0), while test-renewal of expired live memberships makes them disappear from the Memberships tab (by making them is_test = 1). The consistent approach should be this:

      Before renewing an existing membership the match should be done on both membership type and is_test state, so test-renewals can only renew test memberships and live renewals can only renew live memberships.

      If the membership type matches the renewal type and is_test matches the renewal mode (test renewal and is_test = 1 or live renewal and is_test = 0), then a renewal should be performed. Otherwise, a new membership should be recorded, of the right type and is_test flag set according to the renewal mode (1 for test renewal, 0 for live renewal).

      This means that a contact can have up to two memberships of a given type, one with is_test = 0 and one with is_test = 1.

        Attachments

          Issue Links

            Activity

            [CRM-2083] Membership Renewal Should Match on Both Type and Live/Test Flag
            Manish Zope added a comment -

            Reassigning for testing

            (changes committed to 1.8 branch)

            Piotr Szotkowski added a comment -

            Test-to-test and live-to-test renewals work as advertised. Reassigning to Dave for final 1.8 verification, as I don't have a PayPal API credentials set (and the Dummy payment processor can't do live payments).

            David Greenberg added a comment -

            DEFECT: Online Membership Renewal doesn't update Membership Status. **

            Setup to recreate the defect:

            • Contact has a TEST "General" membership with Join and Start Date = Aug 2 2005, End Date = Aug 1 2007
            • Status of this Membership is properly set to "Grace" (since I tested this on Aug 2 2007).
            • Login as the user linked to this contact and go to Online Membership Signup and Renewal sample page
              ( drupal/civicrm/contribute/transact?id=2&action=preview&reset=1 )
              -+ Membership block correctly shows existing "General" membership expired on Aug 1, 2007
            • Fill in test contrib transaction and submit.

            Expected Result:

            • Membership End Date updated to Aug 1 2009, Status = Current

            Actual Result:

            • Status = Grace (however, membership End Date is set correctly to Aug 1 2009)

            (NOTE: Testing on Renewal behavior relative to is_test flag was successful. Test membership renewed when action=preview, live membership renewed for live contribution page.)

            Manish Zope added a comment -

            fixed with revision 10702
            changes committed to 1.8 branch

            David Greenberg added a comment -

            Tested "status set after renewal" - behaved correctly on demo with r10709.

            Manish Zope added a comment -

            Verify for 2.0

            Manish Zope added a comment -

            Issue is already verified for 2.0, hence closing it.

              People

              • Assignee:
                Junia Biswas
                Reporter:
                Piotr Szotkowski

                Dates

                • Created:
                  Updated:
                  Resolved: