From 3dfaae167fc439ecc34c126c8db46de5c54fea32 Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Mon, 19 Sep 2022 18:17:21 +0300 Subject: [PATCH] working time function fixes --- .../WorkingTimeGroup/AddWorkingDaysType.php | 9 +++++++- .../Espo/Resources/metadata/app/formula.json | 22 +++++++++---------- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/application/Espo/Core/Formula/Functions/ExtGroup/WorkingTimeGroup/AddWorkingDaysType.php b/application/Espo/Core/Formula/Functions/ExtGroup/WorkingTimeGroup/AddWorkingDaysType.php index 345c124967..e392e56c98 100644 --- a/application/Espo/Core/Formula/Functions/ExtGroup/WorkingTimeGroup/AddWorkingDaysType.php +++ b/application/Espo/Core/Formula/Functions/ExtGroup/WorkingTimeGroup/AddWorkingDaysType.php @@ -32,6 +32,7 @@ namespace Espo\Core\Formula\Functions\ExtGroup\WorkingTimeGroup; use Espo\Core\Field\DateTime; use Espo\Core\Field\DateTimeOptional; use Espo\Core\Formula\ArgumentList; +use Espo\Core\Utils\DateTime as DateTimeUtil; class AddWorkingDaysType extends Base { @@ -67,7 +68,9 @@ class AddWorkingDaysType extends Base $dateTime = DateTimeOptional::fromString($stringValue); - if ($dateTime->isAllDay()) { + $isAllDay = $dateTime->isAllDay(); + + if ($isAllDay) { $dateTime = $dateTime->withTimezone($calendar->getTimezone()); } @@ -79,6 +82,10 @@ class AddWorkingDaysType extends Base return null; } + if ($isAllDay) { + return $result->getDateTime()->format(DateTimeUtil::SYSTEM_DATE_FORMAT); + } + return $result->getString(); } } diff --git a/application/Espo/Resources/metadata/app/formula.json b/application/Espo/Resources/metadata/app/formula.json index 7b971a8c3c..41faf4dd7c 100644 --- a/application/Espo/Resources/metadata/app/formula.json +++ b/application/Espo/Resources/metadata/app/formula.json @@ -458,33 +458,33 @@ "returnType": "string" }, { - "name": "ext\\workingCalendar\\addWorkingDays", + "name": "ext\\workingTime\\addWorkingDays", "insertText": "ext\\workingCalendar\\addWorkingDays(DATE, DAYS)", "returnType": "string|null" }, { - "name": "ext\\workingCalendar\\findClosestWorkingTime", - "insertText": "ext\\workingCalendar\\findClosestWorkingTime(DATE)", + "name": "ext\\workingTime\\findClosestWorkingTime", + "insertText": "ext\\workingTime\\findClosestWorkingTime(DATE)", "returnType": "string|null" }, { - "name": "ext\\workingCalendar\\getSummedWorkingHours", - "insertText": "ext\\workingCalendar\\getSummedWorkingHours(FROM, TO)", + "name": "ext\\workingTime\\getSummedWorkingHours", + "insertText": "ext\\workingTime\\getSummedWorkingHours(FROM, TO)", "returnType": "float" }, { - "name": "ext\\workingCalendar\\getWorkingDays", - "insertText": "ext\\workingCalendar\\getWorkingDays(FROM, TO)", + "name": "ext\\workingTime\\getWorkingDays", + "insertText": "ext\\workingTime\\getWorkingDays(FROM, TO)", "returnType": "int" }, { - "name": "ext\\workingCalendar\\hasWorkingTime", - "insertText": "ext\\workingCalendar\\hasWorkingTime(FROM, TO)", + "name": "ext\\workingTime\\hasWorkingTime", + "insertText": "ext\\workingTime\\hasWorkingTime(FROM, TO)", "returnType": "bool" }, { - "name": "ext\\workingCalendar\\isWorkingDay", - "insertText": "ext\\workingCalendar\\isWorkingDay(DATE)", + "name": "ext\\workingTime\\isWorkingDay", + "insertText": "ext\\workingTime\\isWorkingDay(DATE)", "returnType": "bool" }, {