CRM-13617 - link custom data for country to state/province drop downs
authoryashodha <yashodha.chaku@webaccess.co.in>
Wed, 6 Nov 2013 09:47:29 +0000 (15:17 +0530)
committeryashodha <yashodha.chaku@webaccess.co.in>
Wed, 6 Nov 2013 09:47:29 +0000 (15:17 +0530)
CRM/Core/BAO/CustomField.php
CRM/Core/BAO/UFGroup.php
CRM/Profile/Form.php

index 1e89e8a3c1838e175682297ac491686470471795..5177c1c53e9781ced8815f264da34b1ca584a20a 100644 (file)
@@ -958,6 +958,7 @@ class CRM_Core_BAO_CustomField extends CRM_Core_DAO_CustomField {
           $useRequired && !$search,
           $dataCrmCustomAttr
         );
+        $qf->_stateCountryMap['state_province'][] = $elementName;
         break;
 
       case 'Multi-Select State/Province':
@@ -977,6 +978,7 @@ class CRM_Core_BAO_CustomField extends CRM_Core_DAO_CustomField {
           $useRequired && !$search,
           $dataCrmCustomAttr
         );
+        $qf->_stateCountryMap['country'][] = $elementName;
         break;
 
       case 'Multi-Select Country':
index e11eff9a23f729edb09a1b9835a488f0bc93cc04..d9ff4a0f4cdf2b7270d4524a104234b493279b0b 100644 (file)
@@ -2184,7 +2184,14 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
       'non_deductible_amount', 'total_amount', 'fee_amount', 'net_amount'))) {
       $form->addRule($name, ts('Please enter a valid amount.'), 'money');
     }
-
+    $stateCountryMap = array();
+    if (!empty($form->_stateCountryMap['state_province']) && !empty($form->_stateCountryMap['country'])) {
+      foreach ($form->_stateCountryMap['state_province'] as $key => $value) {
+        $stateCountryMap[$key]['state_province'] = $value;
+        $stateCountryMap[$key]['country'] = $form->_stateCountryMap['country'][$key];
+      }
+      CRM_Core_BAO_Address::addStateCountryMap($stateCountryMap);
+    }
     if ($rule) {
       if (!($rule == 'email' && $mode == CRM_Profile_Form::MODE_SEARCH)) {
         $form->addRule($name, ts('Please enter a valid %1', array(1 => $title)), $rule);
index 27d9d21e56d2046e2344699e017b33361d8c0154..21c0d2b33dce61088f8b7ae64b72f746c39db910 100644 (file)
@@ -180,6 +180,7 @@ class CRM_Profile_Form extends CRM_Core_Form {
   protected $_currentUserID = NULL;
   protected $_session       = NULL;
 
+  public $_stateCountryMap = array();
   /**
    * pre processing work done here.
    *