Skip to content

Commit

Permalink
Merge pull request #16868 from twomice/contribution_detail_pledge
Browse files Browse the repository at this point in the history
Add "pledge id" as column and filter in Contribution Detail report.
  • Loading branch information
yashodha authored Mar 31, 2020
2 parents 1078125 + 4415408 commit deae79e
Showing 1 changed file with 41 additions and 1 deletion.
42 changes: 41 additions & 1 deletion CRM/Report/Form/Contribute/Detail.php
Original file line number Diff line number Diff line change
Expand Up @@ -343,12 +343,25 @@ public function __construct() {
],
],
],
'civicrm_pledge_payment' => [
'dao' => 'CRM_Pledge_DAO_PledgePayment',
'fields' => [
'pledge_id' => [
'title' => ts('Pledge ID'),
],
],
'filters' => [
'pledge_id' => [
'title' => ts('Pledge ID'),
'type' => CRM_Utils_Type::T_INT,
],
],
],
],
$this->getColumns('Address')
);
// The tests test for this variation of the sort_name field. Don't argue with the tests :-).
$this->_columns['civicrm_contact']['fields']['sort_name']['title'] = ts('Donor Name');

$this->_groupFilter = TRUE;
$this->_tagFilter = TRUE;
// If we have campaigns enabled, add those elements to both the fields, filters and sorting
Expand Down Expand Up @@ -793,6 +806,27 @@ public function alterDisplay(&$rows) {
);
}

// Contribution amount links to viewing contribution
if ($value = CRM_Utils_Array::value('civicrm_pledge_payment_pledge_id', $row)) {
if (CRM_Core_Permission::check('access CiviContribute')) {
$url = CRM_Utils_System::url(
"civicrm/contact/view/pledge",
[
'reset' => 1,
'id' => $row['civicrm_pledge_payment_pledge_id'],
'cid' => $row['civicrm_contact_id'],
'action' => 'view',
'context' => 'pledge',
'selectedChild' => 'pledge',
],
$this->_absoluteUrl
);
$rows[$rowNum]['civicrm_pledge_payment_pledge_id_link'] = $url;
$rows[$rowNum]['civicrm_pledge_payment_pledge_id_hover'] = ts("View Details of this Pledge.");
}
$entryFound = TRUE;
}

$entryFound = $this->alterDisplayAddressFields($row, $rows, $rowNum, 'contribute/detail', 'List all contribution(s) for this ') ? TRUE : $entryFound;

// skip looking further in rows, if first row itself doesn't
Expand Down Expand Up @@ -965,6 +999,12 @@ public function appendAdditionalFromJoins() {
}
// for credit card type
$this->addFinancialTrxnFromClause();

if ($this->isTableSelected('civicrm_pledge_payment')) {
$this->_from .= "
LEFT JOIN civicrm_pledge_payment {$this->_aliases['civicrm_pledge_payment']} ON {$this->_aliases['civicrm_pledge_payment']}.contribution_id = {$this->_aliases['civicrm_contribution']}.id
";
}
}

/**
Expand Down

0 comments on commit deae79e

Please sign in to comment.