From 101356ac6f7216cab481a404fb58cc454d41150e Mon Sep 17 00:00:00 2001 From: Ryan Mitchell Date: Wed, 15 May 2024 19:19:11 +0100 Subject: [PATCH] Move date check logic --- src/Stache/Query/QueriesEntryStatus.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Stache/Query/QueriesEntryStatus.php b/src/Stache/Query/QueriesEntryStatus.php index b5a5d33eed..a8e60fdca5 100644 --- a/src/Stache/Query/QueriesEntryStatus.php +++ b/src/Stache/Query/QueriesEntryStatus.php @@ -22,7 +22,6 @@ public function whereStatus(string $status) return $this->where(fn ($query) => $this ->getCollectionsForStatusQuery() - ->filter(fn ($collection) => $collection->dated()) ->each(fn ($collection) => $query->orWhere(fn ($q) => $this->addCollectionStatusLogicToQuery($q, $status, $collection)))); } @@ -30,6 +29,14 @@ private function addCollectionStatusLogicToQuery($query, $status, $collection): { $this->addCollectionWhereToStatusQuery($query, $collection->handle()); + if (! $collection->dated()) { + if ($status !== 'published') { + $query->where('date', 'invalid'); // intentionally trigger no results. + } + + return; + } + if ($collection->futureDateBehavior() === 'public' && $collection->pastDateBehavior() === 'public') { if ($status === 'scheduled' || $status === 'expired') { $query->where('date', 'invalid'); // intentionally trigger no results.