province abbreviation patch - issue 724 5.57.1-fsf-michael-attempt-0
authorIan Kelling <iank@fsf.org>
Thu, 11 Nov 2021 02:05:07 +0000 (21:05 -0500)
committerMichael McMahon <michael@fsf.org>
Thu, 12 Jan 2023 22:38:13 +0000 (17:38 -0500)
CRM/Contact/BAO/Query.php

index 3200224475c82aa54a6880e8be4e43d48e441f05..446f12ddc288b819907c60bcea3da8801b3117ed 100644 (file)
@@ -6071,7 +6071,16 @@ AND   displayRelType.is_active = 1
           }
         }
         elseif ($value['pseudoField'] == 'state_province_abbreviation') {
-          $dao->$key = CRM_Core_PseudoConstant::stateProvinceAbbreviation($val);
+               // old bad code:
+//          $dao->$key = CRM_Core_PseudoConstant::stateProvinceAbbreviation($val);
+         // iank: Return abbreviation if its a province from a country that uses abbreviations,
+         // otherwise return the name of the province.
+         // https://lab.civicrm.org/dev/core/issues/724
+         if (is_numeric(CRM_Core_PseudoConstant::stateProvinceAbbreviation($val))) {
+           $dao->$key = CRM_Core_PseudoConstant::stateProvince($val);
+         } else {
+           $dao->$key = CRM_Core_PseudoConstant::stateProvinceAbbreviation($val);
+         }
         }
         // @todo handle this in the section above for pseudoconstants.
         elseif (in_array($value['pseudoField'], ['participant_role_id', 'participant_role'])) {