diff --git a/Civi/FormProcessor/API/FormProcessorDefaults.php b/Civi/FormProcessor/API/FormProcessorDefaults.php index 225a29d233ea436a0c7529d6b7a17af85ffe17a4..f4cba0f2cfcd1a5ed12003a71a9f3c90262b8a8d 100644 --- a/Civi/FormProcessor/API/FormProcessorDefaults.php +++ b/Civi/FormProcessor/API/FormProcessorDefaults.php @@ -184,7 +184,11 @@ $return = array(); foreach($formProcessor['default_data_output_configuration'] as $field => $alias) { - $return[$field] = $dataBag->getDataByAlias($alias); + foreach($formProcessor['inputs'] as $input) { + if ($input['name'] == $field) { + $return[$field] = $input['type']->denormalizeValue($dataBag->getDataByAlias($alias)); + } + } } return $return; } diff --git a/Civi/FormProcessor/Type/AbstractType.php b/Civi/FormProcessor/Type/AbstractType.php index 5611a8360444858c265f89b98b03987400cc8097..88c2ba23432f1b6637cdbe1d6fb9d470f0ebd4ac 100644 --- a/Civi/FormProcessor/Type/AbstractType.php +++ b/Civi/FormProcessor/Type/AbstractType.php @@ -134,6 +134,17 @@ public function normalizeValue($value) { return $value; } + + /** + * Denormalize the input value. + * + * @param $value + * + * @return mixed + */ + public function denormalizeValue($value) { + return $value; + } /** * @param ConfigurationBag $configuration diff --git a/Civi/FormProcessor/Type/DateType.php b/Civi/FormProcessor/Type/DateType.php index 02a09d23527ed49f1c7125af071ca2f1ad26c43f..16e4f7ad5965ce3213acb14e2b42dac616ad0e28 100644 --- a/Civi/FormProcessor/Type/DateType.php +++ b/Civi/FormProcessor/Type/DateType.php @@ -73,6 +73,21 @@ } return $value; } + + /** + * Denormalize the input value. + * + * @param $value + * + * @return mixed + */ + public function denormalizeValue($value) { + if ($value) { + $date = new \DateTime($value); + return $date->format($this->configuration->get('format')); + } + return $value; + } /** * Validate the value