//build contribution params
if (!$this->_onlinePendingContributionId) {
- $contributionParams['source'] = "{$eventTitle}: Offline registration (by {$userName})";
- }
+ if (empty($params['source'])) {
+ $contributionParams['source'] = "{$eventTitle}: Offline registration (by {$userName})";
+ }
+ else {
+ $contributionParams['source'] = $params['source'];
+ }
+ }
$contributionParams['currency'] = $config->defaultCurrency;
$contributionParams['non_deductible_amount'] = 'null';
'amount_level' => $params['amount_level'],
'invoice_id' => $params['invoiceID'],
'currency' => $params['currencyID'],
- 'source' => $params['description'],
+ 'source' => !empty($params['participant_source']) ? CRM_Utils_Array::value('participant_source', $params) : CRM_Utils_Array::value('description', $params),
'is_pay_later' => CRM_Utils_Array::value('is_pay_later', $params, 0),
'campaign_id' => CRM_Utils_Array::value('campaign_id', $params),
);
$contributionTypeId = CRM_Utils_Array::value('financial_type_id' ,$membershipParams);
}
}
-
+
+ if (CRM_Utils_Array::value('membership_source', $form->_params)) {
+ $membershipParams['contribution_source'] = $form->_params['membership_source'];
+ }
+
//amount must be greater than zero for
//adding contribution record to contribution table.
//this condition arises when separate membership payment is
}
if (!$this->_onlinePendingContributionId) {
- $params['contribution_source'] = ts('%1 Membership: Offline signup (by %2)',
- array(1 => $membershipType, 2 => $userName)
- );
- }
+ if (empty($formValues['source'])) {
+ $params['contribution_source'] = ts('%1 Membership: Offline signup (by %2)',
+ array(1 => $membershipType, 2 => $userName)
+ );
+ }
+ else {
+ $params['contribution_source'] = $formValues['source'];
+ }
+ }
if (empty($params['is_override']) &&
CRM_Utils_Array::value('contribution_status_id', $params) == array_search('Pending', CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'name'))