Fix for CRM-16565
authorWeb Access <rohan.katkar@webaccessglobal.com>
Tue, 2 Jun 2015 06:57:01 +0000 (12:27 +0530)
committerWeb Access <rohan.katkar@webaccessglobal.com>
Tue, 2 Jun 2015 06:57:01 +0000 (12:27 +0530)
CRM/Contribute/Form/Task/Invoice.php
CRM/Price/BAO/LineItem.php

index 9693c4b769cf9973045592c464aa3e62a16327b6..6b004586eec815013e0a348852c296b1246ec1cb 100644 (file)
@@ -327,7 +327,7 @@ class CRM_Contribute_Form_Task_Invoice extends CRM_Contribute_Form_Task {
       else {
         $eid = $contribution->_relatedObjects['participant']->id;
         $etable = 'participant';
-        $lineItem = CRM_Price_BAO_LineItem::getLineItems($eid, $etable);
+        $lineItem = CRM_Price_BAO_LineItem::getLineItems($eid, $etable, NULL, TRUE, FALSE, '', TRUE);
       }
 
       //TO DO: Need to do changes for partially paid to display amount due on PDF invoice
index 4ae8375f9ebc3e24a2baf6382c26204fdb1bd1fc..c4422397064e55c99a16aadf4419331126065555 100644 (file)
@@ -143,6 +143,7 @@ AND li.entity_id = {$entityId}
    * @param null $isQuick
    * @param bool $isQtyZero
    * @param bool $relatedEntity
+   * @param bool $invoice
    *
    * @param string $overrideWhereClause
    *   E.g "WHERE contribution id = 7 " per the getLineItemsByContributionID wrapper.
@@ -152,7 +153,7 @@ AND li.entity_id = {$entityId}
    * @return array
    *   Array of line items
    */
-  public static function getLineItems($entityId, $entity = 'participant', $isQuick = NULL, $isQtyZero = TRUE, $relatedEntity = FALSE, $overrideWhereClause = '') {
+  public static function getLineItems($entityId, $entity = 'participant', $isQuick = NULL, $isQtyZero = TRUE, $relatedEntity = FALSE, $overrideWhereClause = '', $invoice = FALSE) {
     $whereClause = $fromClause = NULL;
     $selectClause = "
       SELECT    li.id,
@@ -187,7 +188,8 @@ AND li.entity_id = {$entityId}
     $whereClause = "
       WHERE     %2.id = %1";
 
-    if ($entity == 'participant') {
+    // CRM-16250 get additional participant's fee selection details only for invoice PDF (if any)
+    if ($entity == 'participant' && $invoice) {
       $additionalParticipantIDs = CRM_Event_BAO_Participant::getAdditionalParticipantIds($entityId);
       if (!empty($additionalParticipantIDs)) {
         $whereClause = "WHERE %2.id IN (%1, " . implode(', ', $additionalParticipantIDs) . ")";