diff --git a/src/QUI/ERP/Shipping/Products/Fields/ShippingTimePeriod.php b/src/QUI/ERP/Shipping/Products/Fields/ShippingTimePeriod.php index 952f88677a5deab7c016a0e30631e12a22add659..f13b9aeb08a2930e9c2b1bffcd9d5bac41ef6004 100644 --- a/src/QUI/ERP/Shipping/Products/Fields/ShippingTimePeriod.php +++ b/src/QUI/ERP/Shipping/Products/Fields/ShippingTimePeriod.php @@ -66,13 +66,27 @@ public function validate($value) */ public function cleanup($value) { - $value = parent::cleanup($value); $defaultValue = $this->getDefaultValueFromConfig(); if (empty($value)) { return $defaultValue; } + if (!\is_string($value) && !\is_array($value)) { + return $defaultValue; + } + + if (\is_string($value)) { + $value = \json_decode($value, true); + + if (\json_last_error() !== \JSON_ERROR_NONE) { + return $defaultValue; + } + } + + $value['from'] = (int)$value['from']; + $value['to'] = (int)$value['to']; + switch ($value['option']) { case self::OPTION_TIMEPERIOD: case self::OPTION_UNAVAILABLE: