added code to show custom fields on View Contribution screen
This commit is contained in:
		@@ -148,3 +148,29 @@ function softcreditcustomfields_civicrm_alterSettingsFolders(&$metaDataFolders =
 | 
				
			|||||||
function softcreditcustomfields_civicrm_entityTypes(&$entityTypes) {
 | 
					function softcreditcustomfields_civicrm_entityTypes(&$entityTypes) {
 | 
				
			||||||
  _softcreditcustomfields_civix_civicrm_entityTypes($entityTypes);
 | 
					  _softcreditcustomfields_civix_civicrm_entityTypes($entityTypes);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Implements hook_civicrm_buildForm().
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_buildForm
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					function softcreditcustomfields_civicrm_buildForm($formName, &$form) {
 | 
				
			||||||
 | 
					  if ('CRM_Contribute_Form_ContributionView' == $formName) {
 | 
				
			||||||
 | 
					    $softCredits = $form->get_template_vars('softContributions');
 | 
				
			||||||
 | 
					    if (!empty($softCredits)) {
 | 
				
			||||||
 | 
					      $softCreditIds = [];
 | 
				
			||||||
 | 
					      foreach ($softCredits as $key => $softCredit) {
 | 
				
			||||||
 | 
					        $softCreditIds[] = $softCredit['soft_credit_id'];
 | 
				
			||||||
 | 
					        // add custom data of type soft credit
 | 
				
			||||||
 | 
					        $groupTree = CRM_Core_BAO_CustomGroup::getTree('ContributionSoft', NULL, $softCredit['soft_credit_id']);
 | 
				
			||||||
 | 
					        // we setting the prefix to dnc_ below so that we don't overwrite smarty's grouptree var.
 | 
				
			||||||
 | 
					        $softCredits[$key]['custom'] = CRM_Core_BAO_CustomGroup::buildCustomDataView($form, $groupTree, FALSE, NULL, "dnc_");
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      $form->assign('softContributions', $softCredits);
 | 
				
			||||||
 | 
					      $form->assign('softCreditIds', json_encode($softCreditIds));
 | 
				
			||||||
 | 
					      CRM_Core_Region::instance('page-footer')->add(array(
 | 
				
			||||||
 | 
					        'template' => "CRM/Contribute/Page/View/SoftCredit-Custom.tpl",
 | 
				
			||||||
 | 
					      ));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										86
									
								
								templates/CRM/Contribute/Page/View/SoftCredit-Custom.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								templates/CRM/Contribute/Page/View/SoftCredit-Custom.tpl
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,86 @@
 | 
				
			|||||||
 | 
					<div id="soft_credit_custom_field_extension_section" class="crm-accordion-wrapper crm-soft-credit-panel">
 | 
				
			||||||
 | 
					  <div class="crm-accordion-header">
 | 
				
			||||||
 | 
					    {ts}Soft Credit{/ts}
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					  <div class="crm-accordion-body">
 | 
				
			||||||
 | 
					    {foreach from=$softContributions item="softCont"}
 | 
				
			||||||
 | 
					      <table class="crm-info-panel crm-soft-credit-listing">
 | 
				
			||||||
 | 
					        <tr>
 | 
				
			||||||
 | 
					          <td>
 | 
				
			||||||
 | 
					            <a href="{crmURL p="civicrm/contact/view" q="reset=1&cid=`$softCont.contact_id`"}"
 | 
				
			||||||
 | 
					               title="{ts}View contact record{/ts}">{$softCont.contact_name}
 | 
				
			||||||
 | 
					            </a>
 | 
				
			||||||
 | 
					          </td>
 | 
				
			||||||
 | 
					          <td>{$softCont.amount|crmMoney:$currency}
 | 
				
			||||||
 | 
					            {if $softCont.soft_credit_type_label}
 | 
				
			||||||
 | 
					              ({$softCont.soft_credit_type_label})
 | 
				
			||||||
 | 
					            {/if}
 | 
				
			||||||
 | 
					          </td>
 | 
				
			||||||
 | 
					        </tr>
 | 
				
			||||||
 | 
					      </table>
 | 
				
			||||||
 | 
					      <!-- add custom data -->
 | 
				
			||||||
 | 
					      <div class='softCredit_custom_data_{$softCont.soft_credit_id}'>
 | 
				
			||||||
 | 
					        {foreach from=$softCont.custom item=customGroup key=cgId} {* start of outer foreach *}
 | 
				
			||||||
 | 
					          {foreach from=$customGroup item=customValue key=cvId}
 | 
				
			||||||
 | 
					            <div id="softCredit_custom_{$cgId}"
 | 
				
			||||||
 | 
					            class="crm-collapsible crm-softCredit-custom-{$cgId}-accordion
 | 
				
			||||||
 | 
					            {if $customValue.collapse_display}collapsed{/if}">
 | 
				
			||||||
 | 
					            <div class="crm-accordion-header">
 | 
				
			||||||
 | 
					              {$customValue.title}
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <div class="crm-accordion-body">
 | 
				
			||||||
 | 
					              {foreach from=$customValue.fields item=element key=field_id}
 | 
				
			||||||
 | 
					                <table class="crm-info-panel">
 | 
				
			||||||
 | 
					                  <tr>
 | 
				
			||||||
 | 
					                    {if $element.options_per_line != 0}
 | 
				
			||||||
 | 
					                      <td class="label">{$element.field_title}</td>
 | 
				
			||||||
 | 
					                      <td class="html-adjust">
 | 
				
			||||||
 | 
					                        {* sort by fails for option per line. Added a variable to iterate through the element array*}
 | 
				
			||||||
 | 
					                        {foreach from=$element.field_value item=val}
 | 
				
			||||||
 | 
					                          {$val}
 | 
				
			||||||
 | 
					                          <br/>
 | 
				
			||||||
 | 
					                        {/foreach}
 | 
				
			||||||
 | 
					                      </td>
 | 
				
			||||||
 | 
					                    {else}
 | 
				
			||||||
 | 
					                      <td class="label">{$element.field_title}</td>
 | 
				
			||||||
 | 
					                      {if $element.field_data_type == 'Money'}
 | 
				
			||||||
 | 
					                        {if $element.field_type == 'Text'}
 | 
				
			||||||
 | 
					                          <td class="html-adjust">{$element.field_value|crmMoney}</td>
 | 
				
			||||||
 | 
					                        {else}
 | 
				
			||||||
 | 
					                          <td class="html-adjust">{$element.field_value}</td>
 | 
				
			||||||
 | 
					                        {/if}
 | 
				
			||||||
 | 
					                      {else}
 | 
				
			||||||
 | 
					                        <td class="html-adjust">
 | 
				
			||||||
 | 
					                          {if $element.contact_ref_id}
 | 
				
			||||||
 | 
					                            <a href='{crmURL p="civicrm/contact/view" q="reset=1&cid=`$element.contact_ref_id`"}'>
 | 
				
			||||||
 | 
					                          {/if}
 | 
				
			||||||
 | 
					                          {if $element.field_data_type == 'Memo'}
 | 
				
			||||||
 | 
					                            {$element.field_value|nl2br}
 | 
				
			||||||
 | 
					                          {else}
 | 
				
			||||||
 | 
					                            {$element.field_value}
 | 
				
			||||||
 | 
					                          {/if}
 | 
				
			||||||
 | 
					                          {if $element.contact_ref_id}
 | 
				
			||||||
 | 
					                            </a>
 | 
				
			||||||
 | 
					                          {/if}
 | 
				
			||||||
 | 
					                        </td>
 | 
				
			||||||
 | 
					                      {/if}
 | 
				
			||||||
 | 
					                    {/if}
 | 
				
			||||||
 | 
					                  </tr>
 | 
				
			||||||
 | 
					                </table>
 | 
				
			||||||
 | 
					              {/foreach}
 | 
				
			||||||
 | 
					              </div>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					          {/foreach}
 | 
				
			||||||
 | 
					        {/foreach} {* end of outer custom group foreach *}
 | 
				
			||||||
 | 
					        <div class="clear" style="background:white !important; padding-bottom: 5px;"></div>
 | 
				
			||||||
 | 
					      </div>
 | 
				
			||||||
 | 
					    {/foreach}
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					<script type="text/javascript">
 | 
				
			||||||
 | 
					{literal}
 | 
				
			||||||
 | 
					  CRM.$(function($) {
 | 
				
			||||||
 | 
					    $("div.crm-soft-credit-pane").replaceWith($('div#soft_credit_custom_field_extension_section'));
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					{/literal}
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
		Reference in New Issue
	
	Block a user