CRM-19170 update sybunt to optimise group filter
authoreileen <emcnaughton@wikimedia.org>
Thu, 4 Aug 2016 11:01:18 +0000 (23:01 +1200)
committereileen <emcnaughton@wikimedia.org>
Tue, 16 Aug 2016 04:11:55 +0000 (16:11 +1200)
CRM/Report/Form/Contribute/Sybunt.php

index 5818c1da30fb8845498b64f32fa8c323bd1bdec4..aa13ae9ff7cd762dd73007d29d857f5e7cb1bd26 100644 (file)
@@ -47,19 +47,16 @@ class CRM_Report_Form_Contribute_Sybunt extends CRM_Report_Form {
   public $_drilldownReport = array('contribute/detail' => 'Link to Detail Report');
 
   /**
-   * This report has not been optimised for group filtering.
-   *
-   * The functionality for group filtering has been improved but not
-   * all reports have been adjusted to take care of it. This report has not
-   * and will run an inefficient query until fixed.
+   * This report has been optimised for group filtering.
    *
    * CRM-19170
    *
    * @var bool
    */
-  protected $groupFilterNotOptimised = TRUE;
+  protected $groupFilterNotOptimised = FALSE;
 
   /**
+   * Class constructor.
    */
   public function __construct() {
     $this->_rollup = 'WITH ROLLUP';
@@ -121,7 +118,6 @@ class CRM_Report_Form_Contribute_Sybunt extends CRM_Report_Form {
             'title' => ts('Contact Subtype'),
           ),
         ),
-        'grouping' => 'contact-fields',
         'order_bys' => array(
           'sort_name' => array(
             'title' => ts('Last Name, First Name'),
@@ -330,9 +326,8 @@ class CRM_Report_Form_Contribute_Sybunt extends CRM_Report_Form {
   }
 
   public function from() {
-
-    $this->_from = "
-        FROM  civicrm_contribution  {$this->_aliases['civicrm_contribution']}
+    $this->setFromBase('civicrm_contribution', 'contact_id');
+    $this->_from .= "
               INNER JOIN civicrm_contact {$this->_aliases['civicrm_contact']}
                       ON {$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_contribution']}.contact_id
              {$this->_aclFrom}";