feat(variants): add filtering for inactive event dates in visibleVariants method

This commit is contained in:
2026-09-14 16:52:34 -03:00
parent c27d9628fd
commit 9fa4da7de2
3 changed files with 50 additions and 6 deletions

View File

@@ -221,11 +221,12 @@ class CatalogItem extends Model
public function visibleVariants(?int $includedVariantId = null): Collection
{
return $this->variants
->filter(fn (Variant $variant): bool => ($includedVariantId !== null && $variant->id === $includedVariantId)
|| ($variant->isSellable() && (
$this->inventory_policy === InventoryPolicy::Unlimited
|| ($variant->inventory?->availableStock() ?? 0) > 0
)))
->filter(fn (Variant $variant): bool => $variant->hasOnlyActiveEventDates()
&& (($includedVariantId !== null && $variant->id === $includedVariantId)
|| ($variant->isSellable() && (
$this->inventory_policy === InventoryPolicy::Unlimited
|| ($variant->inventory?->availableStock() ?? 0) > 0
))))
->values();
}