From 8b2dc0b175cc4a93f0fc8ee5f00701777c9aa815 Mon Sep 17 00:00:00 2001 From: Pradeep Nayak Date: Wed, 9 Nov 2016 15:15:41 +0530 Subject: [PATCH] CRM-19623, code cleanup for report filters and fields, fixed report filter type ---------------------------------------- * CRM-19623: is not of the type Int when report is filtered with postal code https://issues.civicrm.org/jira/browse/CRM-19623 --- CRM/Report/Form.php | 84 ++++++++++++++------------------------------- 1 file changed, 25 insertions(+), 59 deletions(-) diff --git a/CRM/Report/Form.php b/CRM/Report/Form.php index 33e3df18a7..821394aff4 100644 --- a/CRM/Report/Form.php +++ b/CRM/Report/Form.php @@ -4063,6 +4063,20 @@ LEFT JOIN civicrm_contact {$field['alias']} ON {$field['alias']}.id = {$this->_a * address fields for construct clause */ public function addAddressFields($groupBy = TRUE, $orderBy = FALSE, $filters = TRUE, $defaults = array('country_id' => TRUE)) { + $defaultAddressFields = array( + 'street_address' => ts('Street Address'), + 'supplemental_address_1' => ts('Supplementary Address Field 1'), + 'supplemental_address_2' => ts('Supplementary Address Field 2'), + 'street_number' => ts('Street Number'), + 'street_name' => ts('Street Name'), + 'street_unit' => ts('Street Unit'), + 'city' => ts('City'), + 'postal_code' => ts('Postal Code'), + 'postal_code_suffix' => ts('Postal Code Suffix'), + 'country_id' => ts('Country'), + 'state_province_id' => ts('State/Province'), + 'county_id' => ts('County'), + ); $addressFields = array( 'civicrm_address' => array( 'dao' => 'CRM_Core_DAO_Address', @@ -4072,64 +4086,16 @@ LEFT JOIN civicrm_contact {$field['alias']} ON {$field['alias']}.id = {$this->_a 'default' => CRM_Utils_Array::value('name', $defaults, FALSE), 'name' => 'name', ), - 'street_address' => array( - 'title' => ts('Street Address'), - 'default' => CRM_Utils_Array::value('street_address', $defaults, FALSE), - ), - 'supplemental_address_1' => array( - 'title' => ts('Supplementary Address Field 1'), - 'default' => CRM_Utils_Array::value('supplemental_address_1', $defaults, FALSE), - ), - 'supplemental_address_2' => array( - 'title' => ts('Supplementary Address Field 2'), - 'default' => CRM_Utils_Array::value('supplemental_address_2', $defaults, FALSE), - ), - 'street_number' => array( - 'name' => 'street_number', - 'title' => ts('Street Number'), - 'type' => 1, - 'default' => CRM_Utils_Array::value('street_number', $defaults, FALSE), - ), - 'street_name' => array( - 'name' => 'street_name', - 'title' => ts('Street Name'), - 'type' => 1, - 'default' => CRM_Utils_Array::value('street_name', $defaults, FALSE), - ), - 'street_unit' => array( - 'name' => 'street_unit', - 'title' => ts('Street Unit'), - 'type' => 1, - 'default' => CRM_Utils_Array::value('street_unit', $defaults, FALSE), - ), - 'city' => array( - 'title' => ts('City'), - 'default' => CRM_Utils_Array::value('city', $defaults, FALSE), - ), - 'postal_code' => array( - 'title' => ts('Postal Code'), - 'default' => CRM_Utils_Array::value('postal_code', $defaults, FALSE), - ), - 'postal_code_suffix' => array( - 'title' => ts('Postal Code Suffix'), - 'default' => CRM_Utils_Array::value('postal_code_suffix', $defaults, FALSE), - ), - 'country_id' => array( - 'title' => ts('Country'), - 'default' => CRM_Utils_Array::value('country_id', $defaults, FALSE), - ), - 'state_province_id' => array( - 'title' => ts('State/Province'), - 'default' => CRM_Utils_Array::value('state_province_id', $defaults, FALSE), - ), - 'county_id' => array( - 'title' => ts('County'), - 'default' => CRM_Utils_Array::value('county_id', $defaults, FALSE), - ), ), 'grouping' => 'location-fields', ), ); + foreach ($defaultAddressFields as $fieldName => $fieldLabel) { + $addressFields['civicrm_address']['fields'][$fieldName] = array( + 'title' => $fieldLabel, + 'default' => CRM_Utils_Array::value($fieldName, $defaults, FALSE), + ); + } if ($filters) { // Address filter depends on whether street address parsing is enabled. @@ -4141,13 +4107,13 @@ LEFT JOIN civicrm_contact {$field['alias']} ON {$field['alias']}.id = {$this->_a $street_address_filters = array( 'street_number' => array( 'title' => ts('Street Number'), - 'type' => 1, + 'type' => CRM_Utils_Type::T_INT, 'name' => 'street_number', ), 'street_name' => array( 'title' => ts('Street Name'), 'name' => 'street_name', - 'operator' => 'like', + 'type' => CRM_Utils_Type::T_STRING, ), ); } @@ -4155,7 +4121,7 @@ LEFT JOIN civicrm_contact {$field['alias']} ON {$field['alias']}.id = {$this->_a $street_address_filters = array( 'street_address' => array( 'title' => ts('Street Address'), - 'operator' => 'like', + 'type' => CRM_Utils_Type::T_STRING, 'name' => 'street_address', ), ); @@ -4163,12 +4129,12 @@ LEFT JOIN civicrm_contact {$field['alias']} ON {$field['alias']}.id = {$this->_a $general_address_filters = array( 'postal_code' => array( 'title' => ts('Postal Code'), - 'type' => 1, + 'type' => CRM_Utils_Type::T_STRING, 'name' => 'postal_code', ), 'city' => array( 'title' => ts('City'), - 'operator' => 'like', + 'type' => CRM_Utils_Type::T_STRING, 'name' => 'city', ), 'country_id' => array( -- 2.25.1