X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FReport%2FForm%2FActivitySummary.php;h=fc83ff1e51fd448863013478682a0d790c8bab6c;hb=ccc29f8e783935c37020427479fdbd83c9bb9477;hp=b25165548d178501a26c0f54f63995ceb2fb96f9;hpb=4f440ae1baa6f00c49d582aa210d0f447cd6e843;p=civicrm-core.git diff --git a/CRM/Report/Form/ActivitySummary.php b/CRM/Report/Form/ActivitySummary.php index b25165548d..fc83ff1e51 100644 --- a/CRM/Report/Form/ActivitySummary.php +++ b/CRM/Report/Form/ActivitySummary.php @@ -79,7 +79,7 @@ class CRM_Report_Form_ActivitySummary extends CRM_Report_Form { 'dao' => 'CRM_Core_DAO_Email', 'fields' => array( 'email' => array( - 'title' => 'Email', + 'title' => ts('Email'), ), ), 'order_bys' => array( @@ -93,7 +93,7 @@ class CRM_Report_Form_ActivitySummary extends CRM_Report_Form { 'dao' => 'CRM_Core_DAO_Email', 'fields' => array( 'phone' => array( - 'title' => 'Phone', + 'title' => ts('Phone'), ), ), 'grouping' => 'contact-fields', @@ -275,6 +275,7 @@ class CRM_Report_Form_ActivitySummary extends CRM_Report_Form { } } } + $this->_selectClauses = $select; $this->_select = "SELECT " . implode(', ', $select) . " "; } @@ -400,7 +401,7 @@ class CRM_Report_Form_ActivitySummary extends CRM_Report_Form { } } - public function groupBy() { + public function groupBy($includeSelectCol = TRUE) { $this->_groupBy = array(); if (!empty($this->_params['group_bys']) && is_array($this->_params['group_bys'])) { @@ -431,12 +432,16 @@ class CRM_Report_Form_ActivitySummary extends CRM_Report_Form { } } } - + $groupBy = $this->_groupBy; $this->_groupBy = "GROUP BY " . implode(', ', $this->_groupBy); } else { + $groupBy = "{$this->_aliases['civicrm_activity']}.id"; $this->_groupBy = "GROUP BY {$this->_aliases['civicrm_activity']}.id "; } + if ($includeSelectCol) { + $this->_groupBy = CRM_Contact_BAO_Query::getGroupByFromSelectColumns($this->_selectClauses, $groupBy); + } } /** @@ -537,6 +542,7 @@ class CRM_Report_Form_ActivitySummary extends CRM_Report_Form { // now build the query for duration sum $this->from(TRUE); $this->where(TRUE); + $this->groupBy(FALSE); // build the query to calulate duration sum $sql = "SELECT SUM(activity_civireport.duration) as civicrm_activity_duration_total {$this->_from} {$this->_where} {$this->_groupBy} {$this->_having} {$this->_orderBy} {$this->_limit}"; @@ -626,7 +632,7 @@ class CRM_Report_Form_ActivitySummary extends CRM_Report_Form { public function modifyColumnHeaders() { //CRM-16719 modify name of column if (!empty($this->_columnHeaders['civicrm_activity_status_id'])) { - $this->_columnHeaders['civicrm_activity_status_id']['title'] = "Status"; + $this->_columnHeaders['civicrm_activity_status_id']['title'] = ts('Status'); } }