X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=api%2Fv3%2FMembership.php;h=52e64b8b741bf653cf755544d81991aa97c191c9;hb=7670664eb520a15ed3322a8bd4be6758c47b331c;hp=6232fd202853b464d4a21a4d2dbd308c60ed6db7;hpb=a7d6b76a04e2d460fc2d0a05f27562dd74db59ba;p=civicrm-core.git diff --git a/api/v3/Membership.php b/api/v3/Membership.php index 6232fd2028..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]; + } } } } @@ -281,12 +271,14 @@ function _civicrm_api3_membership_relationsship_get_customv2behaviour(&$params, $relationships = []; foreach ($membershipValues as $membershipId => $values) { // populate the membership type name for the membership type id - $membershipType = CRM_Member_BAO_MembershipType::getMembershipTypeDetails($values['membership_type_id']); + $membershipType = CRM_Member_BAO_MembershipType::getMembershipTypeDetails($values['membership_type_id']) ?? []; - $membershipValues[$membershipId]['membership_name'] = $membershipType['name']; + if (!empty($membershipType)) { + $membershipValues[$membershipId]['membership_name'] = $membershipType['name']; - if (!empty($membershipType['relationship_type_id'])) { - $relationships[$membershipType['relationship_type_id']] = $membershipId; + if (!empty($membershipType['relationship_type_id'])) { + $relationships[$membershipType['relationship_type_id']] = $membershipId; + } } // populating relationship type name.