// Calculate membership dates
// Fixme: This code belongs in the BAO
- if (empty($params['id']) || !empty($params['num_terms'])) {
+ if (!empty($params['num_terms'])) {
// If this is a new membership or we have a specified number of terms calculate membership dates.
- if (empty($params['id'])) {
- // This is a new membership, calculate the membership dates.
- $calcDates = CRM_Member_BAO_MembershipType::getDatesForMembershipType(
- $params['membership_type_id'],
- CRM_Utils_Array::value('join_date', $params),
- CRM_Utils_Array::value('start_date', $params),
- CRM_Utils_Array::value('end_date', $params),
- CRM_Utils_Array::value('num_terms', $params, 1)
- );
- }
- else {
+ if (!empty($params['id'])) {
// This is an existing membership, calculate the membership dates after renewal
// num_terms is treated as a 'special sauce' for is_renewal but this
// isn't really helpful for completing pendings.
CRM_Utils_Array::value('membership_type_id', $params),
$params['num_terms']
);
- }
- foreach (['join_date', 'start_date', 'end_date'] as $date) {
- if (empty($params[$date]) && isset($calcDates[$date])) {
- $params[$date] = $calcDates[$date];
+ foreach (['join_date', 'start_date', 'end_date'] as $date) {
+ if (empty($params[$date]) && isset($calcDates[$date])) {
+ $params[$date] = $calcDates[$date];
+ }
}
}
}