From 657ee972272c4fa579f3e3e3de3408d819780a48 Mon Sep 17 00:00:00 2001 From: jitendrapurohit Date: Tue, 17 Jan 2017 16:36:04 +0530 Subject: [PATCH] CRM-19887: Activity Summary report gives DB error on sort by email --- CRM/Report/Form/ActivitySummary.php | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/CRM/Report/Form/ActivitySummary.php b/CRM/Report/Form/ActivitySummary.php index e1a1049a90..4ce9fb3fc8 100644 --- a/CRM/Report/Form/ActivitySummary.php +++ b/CRM/Report/Form/ActivitySummary.php @@ -251,7 +251,7 @@ class CRM_Report_Form_ActivitySummary extends CRM_Report_Form { if (array_key_exists('fields', $table)) { foreach ($table['fields'] as $fieldName => $field) { if (!empty($field['required']) || !empty($this->_params['fields'][$fieldName])) { - if ($tableName == 'civicrm_email') { + if ($tableName == 'civicrm_email' || in_array('email', CRM_Utils_Array::collect('column', $this->_params['order_bys']))) { $this->_emailField = TRUE; } if ($tableName == 'civicrm_phone') { @@ -337,13 +337,6 @@ class CRM_Report_Form_ActivitySummary extends CRM_Report_Form { LEFT JOIN civicrm_case_contact ON civicrm_case_contact.case_id = civicrm_case.id "; - if ($this->_emailField) { - $this->_from .= " - LEFT JOIN civicrm_email {$this->_aliases['civicrm_email']} - ON {$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_email']}.contact_id AND - {$this->_aliases['civicrm_email']}.is_primary = 1 "; - } - if ($this->_phoneField) { $this->_from .= " LEFT JOIN civicrm_phone {$this->_aliases['civicrm_phone']} @@ -361,6 +354,13 @@ class CRM_Report_Form_ActivitySummary extends CRM_Report_Form { ON target_activity.contact_id = contact_civireport.id {$this->_aclFrom}"; } + + if ($this->_emailField) { + $this->_from .= " + LEFT JOIN civicrm_email {$this->_aliases['civicrm_email']} + ON {$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_email']}.contact_id AND + {$this->_aliases['civicrm_email']}.is_primary = 1 "; + } } /** -- 2.25.1