Loading src/Element/OfficeHoursDatetime.php +5 −10 Original line number Diff line number Diff line Loading @@ -166,28 +166,23 @@ class OfficeHoursDatetime extends Datetime { return TRUE; } if ($element['day'] !== '' && strlen($element['day']) > 1) { // Check exception day. if (OfficeHoursDateHelper::isExceptionDay($element['day'])) { if (isset($element['day_delta']) && $element['day_delta'] == 0) { // @todo Why is day_delta sometimes not set? // First slot is never empty if an Exception date is set. return FALSE; } if ((isset($element['starthours']) && OfficeHoursDatetime::isEmpty($element['starthours'])) && (isset($element['endhours']) && OfficeHoursDatetime::isEmpty($element['endhours'])) && (!isset($element['comment']) || empty($element['comment'])) ) { return TRUE; } } // Check normal weekday element. if ((isset($element['day']) && !OfficeHoursDateHelper::isExceptionDay($element['day'])) // Hours may be empty if a comment is set. if (isset($element['day']) && (isset($element['starthours']) && OfficeHoursDatetime::isEmpty($element['starthours'])) && (isset($element['endhours']) && OfficeHoursDatetime::isEmpty($element['endhours'])) && (!isset($element['comment']) || empty($element['comment'])) ) { return TRUE; } // Check HTML5 datetime element. if ((isset($element['starthours']['time']) && OfficeHoursDatetime::isEmpty($element['starthours']['time'])) && (isset($element['endhours']['time']) && OfficeHoursDatetime::isEmpty($element['endhours']['time'])) Loading src/Element/OfficeHoursList.php +12 −1 Original line number Diff line number Diff line Loading @@ -198,6 +198,7 @@ class OfficeHoursList extends FormElement { // If any field of slot is filled, check for required time fields. $required_start = $validate_hours || $field_settings['required_start'] ?? FALSE; $required_end = $validate_hours || $field_settings['required_end'] ?? FALSE; if ($required_start && empty($start)) { $error_text = 'Opening hours must be set.'; $erroneous_element = &$element['starthours']; Loading @@ -224,7 +225,17 @@ class OfficeHoursList extends FormElement { } if ($error_text) { $is_exception_day = OfficeHoursDateHelper::isExceptionDay($input['day']); if (!$is_exception_day) { $day_name = OfficeHoursDateHelper::weekDays(FALSE)[$input['day']]; } else { // @todo Fix empty day name if error in 'more' slot. // @todo Add date to label -using proper formatLabels() helper function. $day_name = 'Exception day'; } $error_text = $day_name // Day name is already translated. . ': ' . t($error_text, Loading src/OfficeHoursDateHelper.php +1 −1 Original line number Diff line number Diff line Loading @@ -354,7 +354,7 @@ class OfficeHoursDateHelper extends DateHelper { * False if the day_number is a (sorted) weekday (-7 until +7). */ public static function isExceptionDay($day_number) { return !(((int) $day_number) < 8); return (((int) $day_number) >= 8); } } Loading
src/Element/OfficeHoursDatetime.php +5 −10 Original line number Diff line number Diff line Loading @@ -166,28 +166,23 @@ class OfficeHoursDatetime extends Datetime { return TRUE; } if ($element['day'] !== '' && strlen($element['day']) > 1) { // Check exception day. if (OfficeHoursDateHelper::isExceptionDay($element['day'])) { if (isset($element['day_delta']) && $element['day_delta'] == 0) { // @todo Why is day_delta sometimes not set? // First slot is never empty if an Exception date is set. return FALSE; } if ((isset($element['starthours']) && OfficeHoursDatetime::isEmpty($element['starthours'])) && (isset($element['endhours']) && OfficeHoursDatetime::isEmpty($element['endhours'])) && (!isset($element['comment']) || empty($element['comment'])) ) { return TRUE; } } // Check normal weekday element. if ((isset($element['day']) && !OfficeHoursDateHelper::isExceptionDay($element['day'])) // Hours may be empty if a comment is set. if (isset($element['day']) && (isset($element['starthours']) && OfficeHoursDatetime::isEmpty($element['starthours'])) && (isset($element['endhours']) && OfficeHoursDatetime::isEmpty($element['endhours'])) && (!isset($element['comment']) || empty($element['comment'])) ) { return TRUE; } // Check HTML5 datetime element. if ((isset($element['starthours']['time']) && OfficeHoursDatetime::isEmpty($element['starthours']['time'])) && (isset($element['endhours']['time']) && OfficeHoursDatetime::isEmpty($element['endhours']['time'])) Loading
src/Element/OfficeHoursList.php +12 −1 Original line number Diff line number Diff line Loading @@ -198,6 +198,7 @@ class OfficeHoursList extends FormElement { // If any field of slot is filled, check for required time fields. $required_start = $validate_hours || $field_settings['required_start'] ?? FALSE; $required_end = $validate_hours || $field_settings['required_end'] ?? FALSE; if ($required_start && empty($start)) { $error_text = 'Opening hours must be set.'; $erroneous_element = &$element['starthours']; Loading @@ -224,7 +225,17 @@ class OfficeHoursList extends FormElement { } if ($error_text) { $is_exception_day = OfficeHoursDateHelper::isExceptionDay($input['day']); if (!$is_exception_day) { $day_name = OfficeHoursDateHelper::weekDays(FALSE)[$input['day']]; } else { // @todo Fix empty day name if error in 'more' slot. // @todo Add date to label -using proper formatLabels() helper function. $day_name = 'Exception day'; } $error_text = $day_name // Day name is already translated. . ': ' . t($error_text, Loading
src/OfficeHoursDateHelper.php +1 −1 Original line number Diff line number Diff line Loading @@ -354,7 +354,7 @@ class OfficeHoursDateHelper extends DateHelper { * False if the day_number is a (sorted) weekday (-7 until +7). */ public static function isExceptionDay($day_number) { return !(((int) $day_number) < 8); return (((int) $day_number) >= 8); } }