CRM-19401 - Integer list option custom fields do not render properly in reports ...
authorspirit <info@miracom.com.ua>
Thu, 22 Sep 2016 20:29:51 +0000 (23:29 +0300)
committerspirit <info@miracom.com.ua>
Thu, 22 Sep 2016 20:29:51 +0000 (23:29 +0300)
----------------------------------------
* CRM-19401: Integer list option custom fields do not render properly in reports
  https://issues.civicrm.org/jira/browse/CRM-19401

CRM/Report/Form.php

index 043092cd46b4cc98f5c879ed577a7868573778a2..40f63a464258a8e628b24e1da9d44e29bfc9ce7e 100644 (file)
@@ -3706,6 +3706,15 @@ ORDER BY cg.weight, cf.weight";
         case 'Int':
           $curFilters[$fieldName]['operatorType'] = CRM_Report_Form::OP_INT;
           $curFilters[$fieldName]['type'] = CRM_Utils_Type::T_INT;
+          
+          // CRM-19401 fix
+          if ($customDAO->html_type == 'Select') {
+            $options = CRM_Core_PseudoConstant::get('CRM_Core_BAO_CustomField', 'custom_' . $customDAO->cf_id, array(), 'search');
+            if ($options !== FALSE) {
+              $curFilters[$fieldName]['operatorType'] = CRM_Core_BAO_CustomField::isSerialized($customDAO) ? CRM_Report_Form::OP_MULTISELECT_SEPARATOR : CRM_Report_Form::OP_MULTISELECT;
+              $curFilters[$fieldName]['options'] = $options;
+            }
+          }
           break;
 
         case 'Money':