CRM-15172 - Refactor forms to use addChainSelect method
[civicrm-core.git] / CRM / Admin / Form / Setting / Localization.php
index 125315d2e60bc65c5170dc44a88e89cbfe189a6e..b893c694183e0e52a0560a3213c8017f04bc8029 100644 (file)
@@ -134,33 +134,7 @@ class CRM_Admin_Form_Setting_Localization extends CRM_Admin_Form_Setting {
     $includeState->setButtonAttributes('remove', array('value' => ts('<< Remove')));
 
     $this->addElement('select', 'defaultContactCountry', ts('Default Country'), array('' => ts('- select -')) + $country);
-
-    /***Default State/Province***/
-    $stateCountryMap = array();
-    $stateCountryMap[] = array(
-      'state_province' => 'defaultContactStateProvince',
-      'country' => 'defaultContactCountry',
-    );
-
-    $countryDefault = isset($this->_submitValues['defaultContactCountry']) ? $this->_submitValues['defaultContactCountry'] : $config->defaultContactCountry;
-
-    if ($countryDefault) {
-      $selectStateProvinceOptions = array('' => ts('- select -')) + CRM_Core_PseudoConstant::stateProvinceForCountry($countryDefault);
-    }
-    else {
-      $selectStateProvinceOptions = array('' => ts('- select a country -'));
-    }
-
-    $i18n->localizeArray($selectStateProvinceOptions, array('context' => 'state_province'));
-    asort($selectStateProvinceOptions);
-
-    $this->addElement('select', 'defaultContactStateProvince', ts('Default State/Province'), $selectStateProvinceOptions);
-
-    // state country js
-    CRM_Core_BAO_Address::addStateCountryMap($stateCountryMap);
-
-    $defaults = array();
-    CRM_Core_BAO_Address::fixAllStateSelects($form, $defaults);
+    $this->addChainSelect('defaultContactStateProvince', array('label' => ts('Default State/Province')));
 
     // we do this only to initialize currencySymbols, kinda hackish but works!
     $config->defaultCurrencySymbol();
@@ -195,6 +169,11 @@ class CRM_Admin_Form_Setting_Localization extends CRM_Admin_Form_Setting {
     parent::buildQuickForm();
   }
 
+  /**
+   * @param $fields
+   *
+   * @return array|bool
+   */
   static function formRule($fields) {
     $errors = array();
     if (CRM_Utils_Array::value('monetaryThousandSeparator', $fields) ==