Merge branch 'develop' into trunk

This commit is contained in:
Noah Lancien 2024-10-29 14:50:21 +01:00
commit e6e8d67b4c

View file

@ -40,18 +40,19 @@ class ProductController extends Controller
Collection $subrangeModelsFiltered = null,
Collection $submeatModelsFiltered = null,
): \Illuminate\Contracts\View\View {
/** @var \Illuminate\Contracts\Pagination\LengthAwarePaginator $productModels */
$productModels = $productModelsFiltered ?? Product::query()
->where('published', true)
->orderBy('slug')
->paginate($this->productModelsPerPage);
$productDiscoverModels = Product::getPublishedDiscovered();
$staticPageModel = StaticPage::getCachedStaticPage(StaticPageType::products);
$rangeModels = Range::getPublishedOrderedWithSubranges();
$subrangeModels = $subrangeModelsFiltered ?? Subrange::getPublishedOrdered();
$meatModels = Meat::getPublishedOrderedWithSubmeats();
$submeatModels = $submeatModelsFiltered ?? Submeat::getPublishedOrdered();
return view('fo.pages.products.index', [
'viewsPaginate' => $this->getViewsFromPaginateModels($productModels),
'productDiscoverModels' => $productDiscoverModels,
@ -248,14 +249,19 @@ class ProductController extends Controller
->where('published', true)
->orderBy('order')
->get();
$productModels = Product::query()
->with(['range', 'subrange', 'meat', 'submeat'])
->where('published', true)
->when(!is_null($rangeModel), function (Builder $q) use ($rangeModel) {
->when(!is_null($rangeModel), function (Builder $q) use ($rangeModel, $request) {
$q->whereHas('range', function (Builder $q) use ($rangeModel) {
$q->where('published', true)->where('id', $rangeModel->getKey());
})->orWhereHas('subrange', function (Builder $q) use ($rangeModel) {
$q->where('published', true)->whereIn('id', $rangeModel->subranges->pluck('id')->toArray());
})->orWhereHas('subrange', function (Builder $q) use ($rangeModel, $request) {
if($request->child_slug) {
$q->where('published', true)->where("slug", $request->child_slug);
} else {
$q->where('published', true)->whereIn('id', $rangeModel->subranges->pluck('id')->toArray());
}
});
})
->where('published', true)
@ -267,6 +273,7 @@ class ProductController extends Controller
'children' => $subrangeModels,
]);
}
return $this->index($productModels, $subrangeModels);
}