Details
-
Type: Bug
-
Status: Done/Fixed
-
Priority: Minor
-
Resolution: Cannot Reproduce
-
Affects Version/s: 4.2.8
-
Fix Version/s: 4.4.0
-
Component/s: CiviMember
-
Labels:None
Description
I spotted this on a client install but have verified it on drupal.demo.civirm.org (currently at build # 45802).
Steps to reproduce on drupal.demo.civicrm.org:
0. Visit the Scheduled Jobs page (http://drupal.demo.civicrm.org/civicrm/admin/job?reset=1), and manually "Execute Now" the Membership Status Processor job, so as to clean up any statuses that may need adjusting already.
1. Confirm that Membership Status Rules are configured so that Expired status is applied one month after the membership end date.
2. Find an existing membership with "current" status, and edit the membership dates so that the end date is more than one month in the past.
3. Visit the Scheduled Jobs page (http://drupal.demo.civicrm.org/civicrm/admin/job?reset=1), and manually "Execute Now" the Membership Status Processor job.
4. Open the job log and observe that the job completed, with the satus "Success (Processed [some number of] membership records. Updated 0 records. Sent 0 renewal reminders.)"
5. For the membership record in step 2, observe that the membership status has changed to expired.
Expected behavior:
In step 4, the status message "Updated 0" should read "Updated 1".
This status message appears to be coming from CRM_Member_BAO_Membership::updateAllMembershipStatus(), based on the variable $updateCount. I reviewed this code briefly but haven't found the source of the problem.