X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=api%2Fv3%2FMembership.php;h=52e64b8b741bf653cf755544d81991aa97c191c9;hb=7670664eb520a15ed3322a8bd4be6758c47b331c;hp=c7a3b1d5e478cba39c8a0fc6575f83f75a370d92;hpb=1a813170fa7f3b06df46a6753bb0852e72bf39a0;p=civicrm-core.git diff --git a/api/v3/Membership.php b/api/v3/Membership.php index c7a3b1d5e4..52e64b8b74 100644 --- a/api/v3/Membership.php +++ b/api/v3/Membership.php @@ -90,19 +90,9 @@ function civicrm_api3_membership_create($params) { // 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. @@ -112,10 +102,10 @@ function civicrm_api3_membership_create($params) { 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]; + } } } }