This issue has been going on for quite some time and I was hoping I just needed to upgrade the CiviCRM but I am on 4.7.27 now and am wondering if I have possibly set something up incorrectly.
Our users are able to pay for a membership via a CiviContribute page. The membership is for an online training subscription and I use Drupal's CiviMember Role Sync module to then give users with active memberships of this kind a special role to access other parts of the website.
When users submit payment and subscribe, an end date to their membership is recorded but not a start date or a member since date.
Things to note:
- users must renew manually and are not on any kind of auto-renew
- the membership is good for one year
- some users use a discount code, but the bug seems to affect anyone that signs themselves up
- if we sign someone up through the back end, it records everything correctly
Edit: Here is a sample of the membership date fields of an entry in the civicrm_membership
table;
id: 4942
contact_id: 131490
membership_type_id: 1
join_date: NULL
start_date: NULL
end_date: 2018-10-23
Edit2: The civicrm_membership_log
entries for this id shows:
select * from civicrm_membership_log where membership_id=4942 \G
*************************** 1. row ***************************
id: 12498
membership_id: 4942
status_id: 5
start_date: NULL
end_date: NULL
modified_id: 131490
modified_date: 2017-10-23
membership_type_id: 1
max_related: NULL
*************************** 2. row ***************************
id: 12499
membership_id: 4942
status_id: 1
start_date: NULL
end_date: 2018-10-23
modified_id: 131490
modified_date: 2017-10-23
membership_type_id: 1
max_related: NULL
*************************** 3. row ***************************
id: 12518
membership_id: 4942
status_id: 2
start_date: NULL
end_date: 2018-10-23
modified_id: 2
modified_date: 2017-10-23
membership_type_id: 1
max_related: NULL
3 rows in set (0.00 sec)
Important to note that memberships status are updating correctly and access is appropriate and doesn't seem to be affected by this bug. In fact, it's not causing any noticeable issues because the mechanism that updates memberships is based on the end date, which is being recorded.
Edit 3: The effects seem to have started a couple weeks after I upgraded from a 4.3 system to 4.7.15, however, I don't think the upgrade did it because it was a couple weeks after. It seems to coincide with this issue, when I had to modify some code in packages/Net/SMTP.php
to accommodate a startTLS issue, however, not sure if this is related. Also I noticed that the packages/Net/SMTP.php
doesn't exist anymore after my upgrade so it's probably not that.
Edit 4: I'm on 5.14.0 now with Drupal 7.69 and still having this issue but even more frequently.