diff --git a/runner/src/server/plugins/engine/models/submission/WebhookModel.ts b/runner/src/server/plugins/engine/models/submission/WebhookModel.ts index 2f642e138d..cefefe2cf4 100644 --- a/runner/src/server/plugins/engine/models/submission/WebhookModel.ts +++ b/runner/src/server/plugins/engine/models/submission/WebhookModel.ts @@ -2,6 +2,22 @@ import { DetailItem } from "../types"; import { format } from "date-fns"; import config from "server/config"; +function flattenMultiInput(rawValue) { + if (!rawValue) return rawValue; + rawValue.forEach((value) => { + Object.keys(value).map((key) => { + if (typeof value[key] == "object" && value[key] !== null) { + value[key] = Object.values(value[key]) + .filter((p) => { + return !!p; + }) + .join(", "); + } + }); + }); + return rawValue; +} + function answerFromDetailItem(item) { switch (item.dataType) { case "list": @@ -18,7 +34,7 @@ function answerFromDetailItem(item) { const [month, year] = Object.values(item.rawValue); return format(new Date(`${year}-${month}-1`), "yyyy-MM"); case "multiInput": - return item.rawValue; + return flattenMultiInput(item.rawValue); default: return item.value; } diff --git a/runner/src/server/plugins/engine/pageControllers/RepeatingSummaryPageController.ts b/runner/src/server/plugins/engine/pageControllers/RepeatingSummaryPageController.ts index bd6b858ed1..47bc19e4aa 100644 --- a/runner/src/server/plugins/engine/pageControllers/RepeatingSummaryPageController.ts +++ b/runner/src/server/plugins/engine/pageControllers/RepeatingSummaryPageController.ts @@ -196,6 +196,7 @@ export class RepeatingSummaryPageController extends PageController { } else if (componentType == "YesNoField") { return value ? "Yes" : "No"; } else if (componentType == "UkAddressField") { + if (typeof (value === "string")) return value; return value ? [ value.addressLine1, diff --git a/version b/version index 4ba5298127..9542e8b3a1 100644 --- a/version +++ b/version @@ -1 +1 @@ -VERSION=0.1.187 +VERSION=0.1.188