format_locale - Present single-value option. Fix display of null value.
authorTim Otten <totten@civicrm.org>
Fri, 4 Mar 2022 23:46:49 +0000 (15:46 -0800)
committerTim Otten <totten@civicrm.org>
Fri, 4 Mar 2022 23:46:49 +0000 (15:46 -0800)
Overview: Fix display of new setting in admin form.

Before: Field incorrectly displays as multi-value selection.

After: Field displays as single-value selection. The null value is specifically allowed.

CRM/Core/I18n.php
settings/Localization.setting.php

index 3b471c950ec222ac11ed92e2099340b1f0e0782f..9b8fdcc1bf59cc070bac6cacd38053f1a93082b6 100644 (file)
@@ -246,9 +246,10 @@ class CRM_Core_I18n {
    *
    * @return array
    */
-  public static function getLocaleOptions(): array {
+  public static function getFormatLocales(): array {
     $values = CRM_Core_OptionValue::getValues(['name' => 'languages'], $optionValues, 'label', TRUE);
     $return = [];
+    $return[NULL] = ts('Inherit from language');
     foreach ($values as $value) {
       $return[$value['name']] = $value['label'];
     }
index 4c09df3ad1a8fec927c9eeeab2a6fd73762e3867..6a55c01d981d5cd79b84065c4ee346f7fc6f2dd7 100644 (file)
@@ -417,7 +417,6 @@ return [
     'quick_form_type' => 'Select',
     'html_type' => 'Select',
     'html_attributes' => [
-      'multiple' => 0,
       'class' => 'crm-select2',
     ],
     'default' => NULL,
@@ -427,7 +426,7 @@ return [
     'is_contact' => 0,
     'help_text' => NULL,
     'pseudoconstant' => [
-      'callback' => 'CRM_Core_I18n::getLocaleOptions',
+      'callback' => 'CRM_Core_I18n::getFormatLocales',
     ],
     'description' => ts('Locale to use when formatting money (and in future dates). This replaces thousandsSeparator & decimalSeparator & moneyFormat settings.'),
   ],