CRM-20947, fixed notice error for deprecated function on new Bulk entry Batch
[civicrm-core.git] / CRM / Core / Form.php
index ca76c918fd01c838d3dd7fff33a838fdf1d7b9c0..99a091d64f5fa783ec1e028d8b1c610871b25b58 100644 (file)
@@ -1524,6 +1524,9 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
       case 'EntityRef':
         return $this->addEntityRef($name, $label, $props, $required);
 
+      case 'Password':
+        return $this->add('password', $name, $label, $props, $required);
+
       // Check datatypes of fields
       // case 'Int':
       //case 'Float':
@@ -1790,13 +1793,15 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
    * @param bool $required
    * @param string $defaultCurrency
    * @param bool $freezeCurrency
+   * @param bool $setDefaultCurrency
    */
   public function addCurrency(
     $name = 'currency',
     $label = NULL,
     $required = TRUE,
     $defaultCurrency = NULL,
-    $freezeCurrency = FALSE
+    $freezeCurrency = FALSE,
+    $setDefaultCurrency = TRUE
   ) {
     $currencies = CRM_Core_OptionGroup::values('currencies_enabled');
     $options = array('class' => 'crm-select2 eight');
@@ -1812,7 +1817,11 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
       $config = CRM_Core_Config::singleton();
       $defaultCurrency = $config->defaultCurrency;
     }
-    $this->setDefaults(array($name => $defaultCurrency));
+    // In some case, setting currency field by default might override the default value
+    //  as encountered in CRM-20527 for batch data entry
+    if ($setDefaultCurrency) {
+      $this->setDefaults(array($name => $defaultCurrency));
+    }
   }
 
   /**