}
}
}
+ else {
+ $contributionId = $id;
+ $entity = 'contribution';
+ $entityTable = 'civicrm_contribution';
+ }
+
$total = CRM_Core_BAO_FinancialTrxn::getBalanceTrxnAmt($contributionId);
$baseTrxnId = !empty($total['trxn_id']) ? $total['trxn_id'] : NULL;
$isBalance = NULL;
$this->_action = CRM_Utils_Request::retrieve('action', 'String', $this, FALSE);
$this->assign('component', $this->_component);
$this->assign('id', $this->_id);
+ $this->assign('suppressPaymentFormButtons', $this->isBeingCalledFromSelectorContext());
if ($this->_view == 'transaction' && ($this->_action & CRM_Core_Action::BROWSE)) {
$paymentInfo = CRM_Contribute_BAO_Contribution::getPaymentInfo($this->_id, $this->_component, TRUE);
$this->setPageTitle($this->_refund ? ts('Refund') : ts('Payment'));
}
+ /**
+ * Is this function being called from a datatable selector.
+ *
+ * If so we don't want to show the buttons.
+ */
+ protected function isBeingCalledFromSelectorContext() {
+ return CRM_Utils_Request::retrieve('selector', 'Positive');
+ }
+
/**
* This virtual function is used to set the default values of
* various form elements
),
)
);
+ $pre = array();
if (!$this->_single) {
$pre = array(
array('desc' => ts('Contact Type')),
'direction' => CRM_Utils_Sort::DONTCARE,
),
);
- self::$_columnHeaders = array_merge($pre, self::$_columnHeaders);
}
+ $pre[] = array(
+ array(
+ 'desc' => '',
+ array(),
+ ),
+ );
+ self::$_columnHeaders = array_merge($pre, self::$_columnHeaders);
if ($this->_includeSoftCredits) {
self::$_columnHeaders = array_merge(
self::$_columnHeaders,
{else}
{assign var='entity' value=$component}
{/if}
- {ts 1=$entity}No additional payments found for this %1 record{/ts}
+ {if $suppressPaymentFormButtons}
+ {ts 1=$entity}No payments found for this %1 record{/ts}
+ {else}
+ {* Am unsure where this appears so unsure if above text could apply *}
+ {ts 1=$entity}No Additional payments found for this %1 record{/ts}
+ {/if}
{/if}
- <div class="crm-submit-buttons">
- {include file="CRM/common/formButtons.tpl"}
- </div>
-{elseif $formType}
+ {if !$suppressPaymentFormButtons}
+ <div class="crm-submit-buttons">
+ {include file="CRM/common/formButtons.tpl"}
+ </div>
+ {/if}
+ {elseif $formType}
{include file="CRM/Contribute/Form/AdditionalInfo/$formType.tpl"}
{else}
</tr>
</thead>
+ <p class="description">
+ {ts}Click arrow to view payment details.{/ts}
+ </p>
{counter start=0 skip=1 print=false}
{foreach from=$rows item=row}
- <tr id="rowid{$row.contribution_id}" class="{cycle values="odd-row,even-row"}{if $row.cancel_date} cancelled{/if} crm-contribution_{$row.contribution_id}">
+ <tr id="rowid{$row.contribution_id}" class="{cycle values="odd-row,even-row"}
+ {if $row.cancel_date} cancelled{/if} crm-contribution_{$row.contribution_id}">
{if !$single }
{if $context eq 'Search' }
{assign var=cbName value=$row.checkbox}
<td>{$form.$cbName.html}</td>
{/if}
+
<td>{$row.contact_type}</td>
<td><a href="{crmURL p='civicrm/contact/view' q="reset=1&cid=`$row.contact_id`"}">{$row.sort_name}</a></td>
{/if}
+ {assign var="targetRowID" value="paymentDetails"|cat:$row.contribution_id}
+ {include file='CRM/common/expandRow.tpl' rowEntityID=$row.contribution_id rowEntity='contribution' targetRowID=$targetRowID baseUrl='payment'}
{if $row.contribution_soft_credit_amount}
<td class="right bold crm-contribution-amount"> </td>
{else}
{/if}
<td>{$row.action|replace:'xx':$row.contribution_id}</td>
</tr>
+ <tr id="{$targetRowID}_row" class='{$rowClass} hiddenElement'>
+ <td style="border-right: none;"></td>
+ <td colspan= {if $context EQ 'Search'} "10" {else} "8" {/if} class="enclosingNested" id="{$targetRowID}"> </td>
+ </tr>
{/foreach}
</table>
{/strip}
{include file="CRM/common/pager.tpl" location="bottom"}
+
--- /dev/null
+ <td>
+ <span id="icon_{$targetRowID}_show" title="{ts}Show payments{/ts}">
+ <a href="#" data-entity_id='{$rowEntityID}' data-base_url="{$baseUrl}"
+ data-contact_id='{$row.contact_id}' data-entity='{$rowEntity}' data-target_row='{$targetRowID}'
+ onclick="subDetails(this);
+ showSubDetails(this);
+ return false;">
+ <img src="{$config->resourceBase}i/TreePlus.gif" class="action-icon" alt="{ts}open section{/ts}"/>
+ </a>
+ </span>
+ <span id="icon_{$targetRowID}_hide" class="hiddenElement">
+ <a data-entity_id='{$rowEntityID}' href="#" data-contact_id='{$row.contact_id}' data-entity='{$rowEntity}' data-target_row='{$targetRowID}'
+ href="#" onclick="hideSubDetails(this);
+ return false;"><img src="{$config->resourceBase}i/TreeMinus.gif" class="action-icon" alt="{ts}open section{/ts}"/>
+ </a>
+ </span>
+ </td>
+
+ {literal}
+ <script type="text/javascript">
+ function subDetails(element) {
+ var entityId = cj(element).data('entity_id');
+ var targetRow = cj(element).data('target_row');
+ var rowElement = cj('#' + targetRow);
+ var contactId = cj(element).data('contact_id');
+ var entity = cj(element).data('entity');
+ var baseURL = 'civicrm/' + cj(element).data('base_url');
+ var dataUrl = CRM.url(baseURL, {
+ 'view': 'transaction',
+ 'component': entity,
+ 'action': 'browse',
+ 'cid': contactId,
+ 'id': entityId,
+ 'selector' : 1,
+ });
+ CRM.loadPage(dataUrl, {'target': rowElement});
+ }
+
+ function showSubDetails(element) {
+ var targetRow = cj(element).data('target_row');
+ cj('#' + targetRow + '_row').show();
+ cj('#icon_' + targetRow + '_show').hide();
+ cj('#icon_' + targetRow + '_hide').show();
+ }
+
+ function hideSubDetails(element) {
+ var targetRow = cj(element).data('target_row');
+ cj('#' + targetRow + '_row').hide();
+ cj('#icon_' + targetRow + '_show').show();
+ cj('#icon_' + targetRow + '_hide').hide();
+ }
+
+ </script>
+{/literal}