From 65d73a356783da12c9a8fc59418ccc615309e1ee Mon Sep 17 00:00:00 2001 From: Jaap Jansma <jaap.jansma@civicoop.org> Date: Tue, 7 Aug 2018 16:51:33 +0200 Subject: [PATCH] Added denormalize value for default data --- Civi/FormProcessor/API/FormProcessorDefaults.php | 6 +++++- Civi/FormProcessor/Type/AbstractType.php | 11 +++++++++++ Civi/FormProcessor/Type/DateType.php | 15 +++++++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/Civi/FormProcessor/API/FormProcessorDefaults.php b/Civi/FormProcessor/API/FormProcessorDefaults.php index 225a29d..f4cba0f 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 5611a83..88c2ba2 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 02a09d2..16e4f7a 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 -- GitLab