Details
-
Type: Bug
-
Status: Done/Fixed
-
Priority: Minor
-
Resolution: Fixed/Completed
-
Affects Version/s: 1.9, 2.0
-
Fix Version/s: 2.0
-
Component/s: CiviMember
-
Labels:None
Description
-
-
- Kurund - Let's discuss why this was coded like this before you fix it. I want to verify that we're not breaking some cases / conditions with the fix. dgg
-
Currently, when creating or editing a membership - the value of the Start Date is forced equal to the Join Date for any "rolling" type membership. This happens in CRM_Member_BAO_MembershipType::getDatesForMembershipType line 285:
$startDate = $actualStartDate = $joinDate;
I think this was meant to handle the "create" case where ONLY the Join Date field is populated. ??
However, if a Start Date value is entered, or is present in the record being edited - it SHOULD be used to calculate the End Date. But due to the above line, we always calculate End Date based on the Join Date. I think the code should set startDate = joinDate ONLY if startDate is null.