Allow a campaign ID be submitted as a parameter.

This commit is contained in:
Jens Schuppe 2019-01-23 12:04:28 +01:00
parent 310baf252f
commit b2f657b049

View file

@ -224,6 +224,13 @@ function _civicrm_api3_twingle_donation_Submit_spec(&$params) {
'api.required' => 0, 'api.required' => 0,
'description' => E::ts('Additional information of the contact.'), 'description' => E::ts('Additional information of the contact.'),
); );
$params['campaign_id'] = array(
'name' => 'campaign_id',
'title' => E::ts('Campaign ID'),
'type' => CRM_Utils_Type::T_INT,
'api.required' => 0,
'description' => E::ts('The CiviCRM ID of a campaign to assign the contribution.'),
);
} }
/** /**
@ -446,12 +453,18 @@ function civicrm_api3_twingle_donation_Submit($params) {
'amount' => $params['amount'] / 100, 'amount' => $params['amount'] / 100,
'total_amount' => $params['amount'] / 100, 'total_amount' => $params['amount'] / 100,
); );
if (!empty($params['purpose'])) { if (!empty($params['purpose'])) {
$contribution_data['note'] = $params['purpose']; $contribution_data['note'] = $params['purpose'];
} }
if (!empty($campaign = $profile->getAttribute('campaign'))) {
if (!empty($params['campaign_id'])) {
$contribution_data['campaign_id'] = $params['campaign_id'];
}
elseif (!empty($campaign = $profile->getAttribute('campaign'))) {
$contribution_data['campaign_id'] = $campaign; $contribution_data['campaign_id'] = $campaign;
} }
if (!empty($contribution_source = $profile->getAttribute('contribution_source'))) { if (!empty($contribution_source = $profile->getAttribute('contribution_source'))) {
$contribution_data['source'] = $contribution_source; $contribution_data['source'] = $contribution_source;
} }