'start_date' => $value['membership_start_date'] ?? NULL,
];
$membershipSource = $value['source'] ?? NULL;
- [$membership] = self::legacyProcessMembership(
+ $membership = self::legacyProcessMembership(
$value['contact_id'], $value['membership_type_id'], FALSE,
//$numTerms should be default to 1.
NULL, NULL, $value['custom'], 1, NULL, FALSE,
* @param $isPayLater
* @param array $memParams
* @param array $formDates
- * @param null|CRM_Contribute_BAO_Contribution $contribution
- * @param array $lineItems
*
- * @return array
+ * @return CRM_Member_BAO_Membership
+ *
* @throws \CRM_Core_Exception
* @throws \CiviCRM_API3_Exception
*/
- public static function legacyProcessMembership($contactID, $membershipTypeID, $is_test, $changeToday, $modifiedID, $customFieldsFormatted, $numRenewTerms, $membershipID, $pending, $contributionRecurID, $membershipSource, $isPayLater, $memParams = [], $formDates = [], $contribution = NULL, $lineItems = []) {
- $renewalMode = $updateStatusId = FALSE;
+ public static function legacyProcessMembership($contactID, $membershipTypeID, $is_test, $changeToday, $modifiedID, $customFieldsFormatted, $numRenewTerms, $membershipID, $pending, $contributionRecurID, $membershipSource, $isPayLater, $memParams = [], $formDates = []): CRM_Member_BAO_Membership {
+ $updateStatusId = FALSE;
$allStatus = CRM_Member_PseudoConstant::membershipStatus();
$format = '%Y%m%d';
$statusFormat = '%Y-%m-%d';
$membershipTypeDetails = CRM_Member_BAO_MembershipType::getMembershipType($membershipTypeID);
- $dates = [];
$ids = [];
// CRM-7297 - allow membership type to be be changed during renewal so long as the parent org of new membershipType
$is_test, $membershipID, TRUE
);
if ($currentMembership) {
- $renewalMode = TRUE;
// Do NOT do anything.
//1. membership with status : PENDING/CANCELLED (CRM-2395)
$memParams = array_merge([
'id' => $currentMembership['id'],
- 'contribution' => $contribution,
'status_id' => $currentMembership['status_id'],
'start_date' => $currentMembership['start_date'],
'end_date' => $currentMembership['end_date'],
- 'line_item' => $lineItems,
'join_date' => $currentMembership['join_date'],
'membership_type_id' => $membershipTypeID,
'max_related' => !empty($membershipTypeDetails['max_related']) ? $membershipTypeDetails['max_related'] : NULL,
$memParams['contribution_recur_id'] = $contributionRecurID;
}
- $membership = CRM_Member_BAO_Membership::create($memParams);
- return [$membership, $renewalMode, $dates];
+ return CRM_Member_BAO_Membership::create($memParams);
}
// Check and fix the membership if it is STALE
}
$params['modified_id'] = $modifiedID ?? $contactID;
- $memParams['contribution'] = $contribution;
$memParams['custom'] = $customFieldsFormatted;
// Load all line items & process all in membership. Don't do in contribution.
// Relevant tests in api_v3_ContributionPageTest.
- $memParams['line_item'] = $lineItems;
// @todo stop passing $ids (membership and userId may be set by this point)
$membership = CRM_Member_BAO_Membership::create($memParams, $ids);
// related to: http://forum.civicrm.org/index.php/topic,11416.msg49072.html#msg49072
$membership->find(TRUE);
- return [$membership, $renewalMode, $dates];
+ return $membership;
}
}
*
* @var string
*/
- protected $_membershipTypeName = NULL;
+ protected $_membershipTypeName;
/**
* Membership type id used in test function.
*
* @var string
*/
- protected $_membershipTypeID = NULL;
+ protected $_membershipTypeID;
/**
* Contact id used in test function.
*/
protected $_contactID4 = NULL;
+ /**
+ * @throws \CRM_Core_Exception
+ * @throws \CiviCRM_API3_Exception
+ */
public function setUp(): void {
parent::setUp();
'sequential' => 1,
'visibility' => 'Public',
];
- $membershipType2 = $this->callAPISuccess('membership_type', 'create', $params);
+ $membershipType2 = $this->callAPISuccess('MembershipType', 'create', $params);
$this->_membershipTypeID2 = $membershipType2['id'];
$this->_membershipStatusID = $this->membershipStatusCreate('test status');