From fa3a1dc6c11a42b5436b552068972d37e47bbf5a Mon Sep 17 00:00:00 2001
From: Jaap Jansma <jaap.jansma@civicoop.org>
Date: Wed, 9 Oct 2019 14:09:53 +0200
Subject: [PATCH] added currency formatting

---
 .../FieldOutputHandler/AbstractSimpleFieldOutputHandler.php  | 2 ++
 .../AggregateFunctionFieldOutputHandler.php                  | 5 +++--
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/Civi/DataProcessor/FieldOutputHandler/AbstractSimpleFieldOutputHandler.php b/Civi/DataProcessor/FieldOutputHandler/AbstractSimpleFieldOutputHandler.php
index c1cd5fda..edfe86c1 100644
--- a/Civi/DataProcessor/FieldOutputHandler/AbstractSimpleFieldOutputHandler.php
+++ b/Civi/DataProcessor/FieldOutputHandler/AbstractSimpleFieldOutputHandler.php
@@ -96,6 +96,8 @@ class AbstractSimpleFieldOutputHandler extends AbstractFieldOutputHandler implem
     if (strpos($formattedValue, \CRM_Core_DAO::VALUE_SEPARATOR) !== false) {
       $formattedValue = explode(\CRM_Core_DAO::VALUE_SEPARATOR, substr($formattedValue, 1, -1));
       $formattedValue = implode(",", $formattedValue);
+    } elseif ($this->inputFieldSpec->type == 'Money') {
+      $formattedValue = \CRM_Utils_Money::format($rawRecord[$this->inputFieldSpec->alias]);
     }
     $output = new FieldOutput($rawRecord[$this->inputFieldSpec->alias]);
     $output->formattedValue = $formattedValue;
diff --git a/Civi/DataProcessor/FieldOutputHandler/AggregateFunctionFieldOutputHandler.php b/Civi/DataProcessor/FieldOutputHandler/AggregateFunctionFieldOutputHandler.php
index c8403615..72717c03 100644
--- a/Civi/DataProcessor/FieldOutputHandler/AggregateFunctionFieldOutputHandler.php
+++ b/Civi/DataProcessor/FieldOutputHandler/AggregateFunctionFieldOutputHandler.php
@@ -44,7 +44,7 @@ class AggregateFunctionFieldOutputHandler extends AbstractSimpleFieldOutputHandl
    * @return String
    */
   protected function getType() {
-    return 'Float';
+    return $this->inputFieldSpec->type;
   }
 
   /**
@@ -61,6 +61,8 @@ class AggregateFunctionFieldOutputHandler extends AbstractSimpleFieldOutputHandl
     $formattedValue = $value;
     if (is_numeric($this->number_of_decimals) && $value != null) {
       $formattedValue = number_format($value, $this->number_of_decimals, $this->decimal_sep, $this->thousand_sep);
+    } elseif ($this->inputFieldSpec->type == 'Money') {
+      $formattedValue = \CRM_Utils_Money::format($value);
     }
     if ($formattedValue != null) {
       $formattedValue = $this->prefix . $formattedValue . $this->suffix;
@@ -215,7 +217,6 @@ class AggregateFunctionFieldOutputHandler extends AbstractSimpleFieldOutputHandl
       case 'Integer':
       case 'Float':
       case 'Money':
-      case 'String':
         return true;
         break;
     }
-- 
GitLab