From 9341d54474285474c3db150ea605973c175501ee Mon Sep 17 00:00:00 2001 From: "Donald A. Lobo" <lobo@civicrm.org> Date: Tue, 14 May 2013 10:52:09 -0700 Subject: [PATCH] CRM-12591 ---------------------------------------- * CRM-12591: Event Income Report (Detail): inacuracy in Payment Method Breakdown http://issues.civicrm.org/jira/browse/CRM-12591 --- CRM/Report/Form/Event/Income.php | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/CRM/Report/Form/Event/Income.php b/CRM/Report/Form/Event/Income.php index 5b5a3298c5..fec147ad45 100644 --- a/CRM/Report/Form/Event/Income.php +++ b/CRM/Report/Form/Event/Income.php @@ -221,17 +221,19 @@ class CRM_Report_Form_Event_Income extends CRM_Report_Form_Event { //e.g. Credit Card, Check,Cash etc $paymentInstrument = " SELECT c.payment_instrument_id as INSTRUMENT, - COUNT( c.id ) as participant, - SUM(civicrm_participant.fee_amount) as amount, + COUNT( civicrm_participant.id ) as participant, + SUM( civicrm_participant.fee_amount ) as amount, civicrm_participant.event_id as event_id - FROM civicrm_participant - LEFT JOIN civicrm_participant_payment pp ON(pp.participant_id = civicrm_participant.id ) + FROM civicrm_participant, + civicrm_participant_payment pp LEFT JOIN civicrm_contribution c ON ( pp.contribution_id = c.id) - WHERE civicrm_participant.event_id IN ( {$eventID}) AND - civicrm_participant.is_test = 0 + WHERE civicrm_participant.event_id IN ( {$eventID} ) + AND civicrm_participant.is_test = 0 {$activeParticipantClause} + AND ((pp.participant_id = civicrm_participant.id ) + OR (pp.participant_id = civicrm_participant.registered_by_id )) GROUP BY c.payment_instrument_id, civicrm_participant.event_id "; @@ -242,7 +244,7 @@ class CRM_Report_Form_Event_Income extends CRM_Report_Form_Event { if ($instrumentDAO->INSTRUMENT) { $instrumentRows[$instrumentDAO->event_id][$paymentInstruments[$instrumentDAO->INSTRUMENT]]['total'] = $instrumentDAO->participant; $instrumentRows[$instrumentDAO->event_id][$paymentInstruments[$instrumentDAO->INSTRUMENT]]['round'] = round(($instrumentDAO->participant / $count[$instrumentDAO->event_id]) * 100, 2); - $instrumentRows[$instrumentDAO->event_id][$paymentInstruments[$instrumentDAO->INSTRUMENT]]['amount'] = $instrumentDAO->amount; + $instrumentRows[$instrumentDAO->event_id][$paymentInstruments[$instrumentDAO->INSTRUMENT]]['amount'] = CRM_Utils_Money::format($instrumentDAO->amount, $currency[$instrumentDAO->event_id]); } } $rows['Payment Method'] = $instrumentRows; -- GitLab