diff --git a/src/Contao/View/Contao2BackendView/Subscriber/GetGroupHeaderSubscriber.php b/src/Contao/View/Contao2BackendView/Subscriber/GetGroupHeaderSubscriber.php index b3282c20..af9edb7b 100644 --- a/src/Contao/View/Contao2BackendView/Subscriber/GetGroupHeaderSubscriber.php +++ b/src/Contao/View/Contao2BackendView/Subscriber/GetGroupHeaderSubscriber.php @@ -53,14 +53,14 @@ class GetGroupHeaderSubscriber * * @var EventDispatcherInterface */ - private $dispatcher; + private EventDispatcherInterface $dispatcher; /** * The translator. * * @var TranslatorInterface */ - private $translator; + private TranslatorInterface $translator; /** * Create a new instance. @@ -136,6 +136,7 @@ protected function formatGroupHeader( if (isset($evaluation['multiple']) && !$evaluation['multiple'] && ('checkbox' === $property->getWidgetType())) { return $this->formatCheckboxOptionLabel($model->getProperty($property->getName())); } + if (GroupAndSortingInformationInterface::GROUP_NONE !== $groupingMode) { return $this->formatByGroupingMode($groupingMode, $groupingLength, $environment, $property, $model); } @@ -240,9 +241,9 @@ private function formatByCharGrouping($value, $groupingLength) * * @param int $value The value. * - * @return string|null + * @return string */ - private function formatByDayGrouping(int $value): ?string + private function formatByDayGrouping(int $value): string { $value = $this->getTimestamp($value); @@ -263,13 +264,14 @@ private function formatByDayGrouping(int $value): ?string * * @return string */ - private function formatByWeekGrouping(int $value): ?string + private function formatByWeekGrouping(int $value): string { $value = $this->getTimestamp($value); if (0 === $value) { return '-'; } + $event = new ParseDateEvent($value, $this->translator->translate('MSC.week_format')); $this->dispatcher->dispatch($event, ContaoEvents::DATE_PARSE); @@ -281,15 +283,16 @@ private function formatByWeekGrouping(int $value): ?string * * @param int $value The value. * - * @return string|null + * @return string */ - private function formatByMonthGrouping(int $value): ?string + private function formatByMonthGrouping(int $value): string { $value = $this->getTimestamp($value); if (0 === $value) { return '-'; } + $event = new ParseDateEvent($value, 'F Y'); $this->dispatcher->dispatch($event, ContaoEvents::DATE_PARSE); @@ -317,11 +320,11 @@ private function formatByYearGrouping($value) /** * Make sure a timestamp is returned. * - * @param int|\DateTime $value The given date. + * @param \DateTime|int $value The given date. * * @return int */ - private function getTimestamp($value) + private function getTimestamp(\DateTime|int $value): int { return ($value instanceof \DateTime) ? $value->getTimestamp() : $value; }