added code to insert custom data for soft credits
This commit is contained in:
parent
7e9c5502f4
commit
6175e0623f
@ -208,7 +208,7 @@ function _softcreditcustomfields_addCustomDataToForm(&$form, $entityId, $blockId
|
||||
foreach ($groupTree as $id => $group) {
|
||||
foreach ($group['fields'] as $fldId => $field) {
|
||||
$groupTree[$id]['fields'][$fldId]['element_custom_name'] = $field['element_name'];
|
||||
$groupTree[$id]['fields'][$fldId]['element_name'] = "soft_credit[$blockId][{$field['element_name']}]";
|
||||
$groupTree[$id]['fields'][$fldId]['element_name'] = "soft_credit_custom[$blockId][{$field['element_name']}]";
|
||||
}
|
||||
}
|
||||
|
||||
@ -239,12 +239,57 @@ function _softcreditcustomfields_addCustomDataToForm(&$form, $entityId, $blockId
|
||||
// more handling done in formRule func
|
||||
//self::storeRequiredCustomDataInfo($form, $groupTree);
|
||||
$tplGroupTree = CRM_Core_Smarty::singleton()
|
||||
->get_template_vars('soft_credit_groupTree');
|
||||
->get_template_vars('soft_credit_custom_groupTree');
|
||||
$tplGroupTree = empty($tplGroupTree) ? [] : $tplGroupTree;
|
||||
|
||||
$form->assign('soft_credit_groupTree', $tplGroupTree + [$blockId => $groupTree]);
|
||||
$form->assign('soft_credit_custom_groupTree', $tplGroupTree + [$blockId => $groupTree]);
|
||||
// unset the temp smarty var that got created
|
||||
$form->assign('dnc_groupTree', NULL);
|
||||
}
|
||||
// softCredit custom data processing ends ..
|
||||
}
|
||||
|
||||
/**
|
||||
* Implements hook_civicrm_postProcess().
|
||||
*
|
||||
* @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_postProcess
|
||||
*/
|
||||
function softcreditcustomfields_civicrm_postProcess($formName, &$form) {
|
||||
if ('CRM_Contribute_Form_Contribution' == $formName
|
||||
&& !($form->getVar('_action') & CRM_Core_Action::DELETE)
|
||||
) {
|
||||
$contributionId = $form->getVar('_id');
|
||||
$params = $form->getVar('_params');
|
||||
if (empty($params['soft_credit_custom'])) {
|
||||
return;
|
||||
}
|
||||
if (!empty($params['soft_credit_contact_id'])) {
|
||||
foreach ($params['soft_credit_contact_id'] as $key => $softContactId) {
|
||||
if ($softContactId
|
||||
&& isset($params['soft_credit_amount'][$key])
|
||||
&& !empty($params['soft_credit_custom'][$key])
|
||||
) {
|
||||
$softParams = [
|
||||
'contribution_id' => $contributionId,
|
||||
'contact_id' => $softContactId,
|
||||
'amount' => $params['soft_credit_amount'][$key],
|
||||
'return' => 'id',
|
||||
];
|
||||
if (!empty($params['soft_credit_type'][$key])) {
|
||||
$softParams['soft_credit_type_id'] = $params['soft_credit_type'][$key];
|
||||
}
|
||||
try {
|
||||
$softContributionId = civicrm_api3('ContributionSoft', 'getvalue', $softParams);
|
||||
$softParams = [
|
||||
'id' => $softContributionId,
|
||||
] + $params['soft_credit_custom'][$key];
|
||||
civicrm_api3('ContributionSoft', 'create', $softParams);
|
||||
}
|
||||
catch (Exception $e) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
{assign var='blockId' value=$smarty.section.i.index}
|
||||
<tr id="soft-credit-custom_row-{$blockId}" class="customFieldIgnore {if $blockId gte $showSoftCreditRow}hiddenElement{/if}" >
|
||||
<td colspan='3'>
|
||||
{foreach from=$soft_credit_groupTree.$blockId item=cd_edit key=group_id name=custom_sets}
|
||||
{foreach from=$soft_credit_custom_groupTree.$blockId item=cd_edit key=group_id name=custom_sets}
|
||||
{if $cd_edit.is_multiple and $multiRecordDisplay eq 'single'}
|
||||
{assign var="isSingleRecordEdit" value=TRUE}
|
||||
{else}
|
||||
@ -12,7 +12,7 @@
|
||||
{/if}
|
||||
{if $isSingleRecordEdit}
|
||||
<div class="custom-group custom-group-{$cd_edit.name}">
|
||||
{include file="CRM/Custom/Form/Edit/CustomData.tpl" customDataEntity='soft_credit'}
|
||||
{include file="CRM/Custom/Form/Edit/CustomData.tpl" customDataEntity='soft_credit_custom'}
|
||||
</div>
|
||||
{else}
|
||||
<div class="custom-group custom-group-{$cd_edit.name} crm-accordion-wrapper crm-custom-accordion {if $cd_edit.collapse_display and !$skipTitle}collapsed{/if}">
|
||||
@ -22,7 +22,7 @@
|
||||
</div><!-- /.crm-accordion-header -->
|
||||
{/if}
|
||||
<div class="crm-accordion-body">
|
||||
{include file="CRM/Custom/Form/Edit/CustomData.tpl" customDataEntity='soft_credit'}
|
||||
{include file="CRM/Custom/Form/Edit/CustomData.tpl" customDataEntity='soft_credit_custom'}
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
Loading…
Reference in New Issue
Block a user