Merge branch 'develop' into trunk
This commit is contained in:
commit
543d01394b
9 changed files with 124 additions and 23 deletions
|
|
@ -39,15 +39,14 @@ enum MenuNodeType: int
|
|||
* Optionnal labels definition.
|
||||
*/
|
||||
private const ROUTENAMES = [
|
||||
// FIXME: Change this when adding routes.
|
||||
self::ourProducts->name => 'fo.products.index',
|
||||
self::ourRecipes->name => 'fo.recipes.index',
|
||||
self::ourCommitments->name => 'fo.contact.show',
|
||||
self::siteLogo->name => '',
|
||||
self::breedings->name => 'fo.contact.show',
|
||||
self::ourBrand->name => 'fo.contact.show',
|
||||
self::ourCommitments->name => 'fo.commitments.brand',
|
||||
self::siteLogo->name => 'fo.home.show',
|
||||
self::breedings->name => 'fo.breeding.index',
|
||||
self::ourBrand->name => 'fo.brand.story',
|
||||
self::recruitment->name => 'fo.recruitment.show',
|
||||
self::news->name => 'fo.contact.show',
|
||||
self::news->name => 'fo.news.index',
|
||||
self::link->name => '',
|
||||
];
|
||||
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ class RecipeController extends Controller
|
|||
public function create(Recipe $recipe): \Illuminate\Contracts\View\View
|
||||
{
|
||||
$productModels = Product::query()->where('published', true)->orderBy('label', 'ASC')->paginate(12);
|
||||
$videoModels = Video::query()->where('published', true)->orderBy('title', 'ASC')->paginate(10);
|
||||
$videoModels = Video::query()->where('published', true)->orderBy('order', 'ASC')->paginate(10);
|
||||
$consumptionMomentModels = ConsumptionMoment::query()->orderBy('title', 'ASC')->paginate(10);
|
||||
return view('bo.pages.recipes.create', [
|
||||
'recipeModel' => $recipe,
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ class HomeController extends Controller
|
|||
'consumptionMoment'
|
||||
])->limit(9)->get();
|
||||
$videoModels = Video::query()->where('published', true)->where('is_on_homepage', true)
|
||||
->orderBy('order', 'ASC')->with('product')->limit(9)->get();
|
||||
->orderBy('order')->with('product')->limit(9)->get();
|
||||
return view('fo.pages.home', compact(
|
||||
'staticPageModel',
|
||||
'mainSlideModels',
|
||||
|
|
|
|||
|
|
@ -48,12 +48,12 @@ class ProductController extends Controller
|
|||
->paginate($this->productModelsPerPage);
|
||||
$productDiscoverModels = Product::query()->where('published', true)->where('discover', true)->get();
|
||||
$staticPageModel = StaticPage::query()->where('type', StaticPageType::products)->first();
|
||||
$rangeModels = Range::query()->where('published', true)->with('subranges')->orderBy('slug')->get();
|
||||
$rangeModels = Range::query()->where('published', true)->with('subranges')->orderBy('order')->get();
|
||||
$subrangeModels = $subrangeModelsFiltered ?? Subrange::query()->where('published', true)
|
||||
->orderBy('slug')->get();
|
||||
$meatModels = Meat::query()->where('published', true)->with('submeats')->orderBy('slug')->get();
|
||||
->orderBy('order')->get();
|
||||
$meatModels = Meat::query()->where('published', true)->with('submeats')->orderBy('order')->get();
|
||||
$submeatModels = $submeatModelsFiltered ?? Submeat::query()->where('published', true)
|
||||
->orderBy('slug')->get();
|
||||
->orderBy('order')->get();
|
||||
|
||||
return view('fo.pages.products.index', [
|
||||
'viewsPaginate' => $this->getViewsFromPaginateModels($productModels),
|
||||
|
|
@ -142,7 +142,7 @@ class ProductController extends Controller
|
|||
});
|
||||
})
|
||||
->where('published', true)
|
||||
->orderBy('slug', 'ASC')
|
||||
->orderBy('slug')
|
||||
->get();
|
||||
|
||||
$collectionIndex = $productModelsList->search(function ($productModelItem, $key) use ($productModel) {
|
||||
|
|
@ -239,7 +239,7 @@ class ProductController extends Controller
|
|||
$q->where('range_id', $rangeModel->getKey());
|
||||
})
|
||||
->where('published', true)
|
||||
->orderBy('slug')
|
||||
->orderBy('order')
|
||||
->get();
|
||||
$productModels = Product::query()
|
||||
->with(['range', 'subrange', 'meat', 'submeat'])
|
||||
|
|
@ -290,7 +290,7 @@ class ProductController extends Controller
|
|||
$q->where('range_id', $rangeModel->getKey());
|
||||
})
|
||||
->where('published', true)
|
||||
->orderBy('slug')
|
||||
->orderBy('order')
|
||||
->get();
|
||||
$productModels = Product::query()
|
||||
->with(['range', 'subrange', 'meat', 'submeat'])
|
||||
|
|
@ -331,7 +331,7 @@ class ProductController extends Controller
|
|||
$q->where('meat_id', $meatModel->getKey());
|
||||
})
|
||||
->where('published', true)
|
||||
->orderBy('slug')
|
||||
->orderBy('order')
|
||||
->get();
|
||||
$productModels = Product::query()
|
||||
->with(['range', 'subrange', 'meat', 'submeat'])
|
||||
|
|
@ -381,7 +381,7 @@ class ProductController extends Controller
|
|||
$q->where('meat_id', $meatModel->getKey());
|
||||
})
|
||||
->where('published', true)
|
||||
->orderBy('slug')
|
||||
->orderBy('order')
|
||||
->get();
|
||||
$productModels = Product::query()
|
||||
->with(['range', 'subrange', 'meat', 'submeat'])
|
||||
|
|
|
|||
|
|
@ -46,9 +46,9 @@ class RecipeController extends Controller
|
|||
$recipeModel = Recipe::query()->where('published', true)->where('highlight', true)->first();
|
||||
$staticPageModel = StaticPage::query()->where('type', StaticPageType::recipes)->first();
|
||||
$consumptionMomentModels = ConsumptionMoment::query()->orderBy('slug')->get();
|
||||
$meatModels = Meat::query()->where('published', true)->with('submeats')->orderBy('slug')->get();
|
||||
$meatModels = Meat::query()->where('published', true)->with('submeats')->orderBy('order')->get();
|
||||
$submeatModels = $submeatModelsFiltered ??
|
||||
Submeat::query()->where('published', true)->orderBy('slug')->get();
|
||||
Submeat::query()->where('published', true)->orderBy('order')->get();
|
||||
|
||||
return view('fo.pages.recipes.index', [
|
||||
'viewsPaginate' => $this->getViewsFromPaginateModels($recipeModels),
|
||||
|
|
@ -196,7 +196,7 @@ class RecipeController extends Controller
|
|||
$q->where('meat_id', $meatModel->getKey());
|
||||
})
|
||||
->where('published', true)
|
||||
->orderBy('slug')
|
||||
->orderBy('order')
|
||||
->get();
|
||||
$recipeModels = Recipe::query()
|
||||
->with(['products', 'products.meat', 'products.submeat', 'consumptionMoment'])
|
||||
|
|
@ -247,7 +247,7 @@ class RecipeController extends Controller
|
|||
$q->where('meat_id', $meatModel->getKey());
|
||||
})
|
||||
->where('published', true)
|
||||
->orderBy('slug')
|
||||
->orderBy('order')
|
||||
->get();
|
||||
$recipeModels = Recipe::query()
|
||||
->with(['products', 'products.meat', 'products.submeat', 'consumptionMoment'])
|
||||
|
|
|
|||
|
|
@ -100,9 +100,9 @@ class ViewServiceProvider extends ServiceProvider
|
|||
['name' => 'customerModelsCount', 'value' => count(Customer::query()->get())],
|
||||
['name' => 'firstMeat', 'value' => Meat::query()->first()],
|
||||
['name' => 'firstRange', 'value' => Range::query()->first()],
|
||||
['name' => 'mainMenuRangeModels', 'value' => Range::query()->orderBy('slug', 'ASC')
|
||||
['name' => 'mainMenuRangeModels', 'value' => Range::query()->orderBy('order', 'ASC')
|
||||
->where('published', true)->get()],
|
||||
['name' => 'mainMenuMeatModels', 'value' => Meat::query()->orderBy('slug', 'ASC')
|
||||
['name' => 'mainMenuMeatModels', 'value' => Meat::query()->orderBy('order', 'ASC')
|
||||
->where('published', true)->get()],
|
||||
['name' => 'homeStaticPageModel', 'value' => StaticPage::query()
|
||||
->where('type', StaticPageType::home)->first()],
|
||||
|
|
|
|||
|
|
@ -0,0 +1,65 @@
|
|||
<?php
|
||||
|
||||
use App\Enums\Settings\MenuNodeType;
|
||||
use App\Enums\Settings\SettingsType;
|
||||
use App\Lib\Link;
|
||||
use App\Models\GeneralSetting;
|
||||
use Database\Seeders\Mandatory\GeneralSettingSeeder;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Support\Facades\Artisan;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
* @throws \Exception In general settings menu is missing.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
/** @var \App\Models\GeneralSetting|null */
|
||||
$generalSettingModel = GeneralSetting::query()->where('type', SettingsType::mainMenu)->first();
|
||||
if (!$generalSettingModel) {
|
||||
throw new \Exception('Missing generalSettings ' . SettingsType::mainMenu->label());
|
||||
}
|
||||
$generalSettingModel->value = collect($generalSettingModel->value)->map(function (\stdClass $item) {
|
||||
if ($item->type->equals(MenuNodeType::ourCommitments)) {
|
||||
$item->link = (new Link(routeName: MenuNodeType::ourCommitments->routeName()))->toArray();
|
||||
} elseif ($item->type->equals(MenuNodeType::siteLogo)) {
|
||||
$item->link = (new Link(routeName: MenuNodeType::siteLogo->routeName()))->toArray();
|
||||
} elseif ($item->type->equals(MenuNodeType::breedings)) {
|
||||
$item->link = (new Link(routeName: MenuNodeType::breedings->routeName()))->toArray();
|
||||
} elseif ($item->type->equals(MenuNodeType::ourBrand)) {
|
||||
$item->link = (new Link(routeName: MenuNodeType::ourBrand->routeName()))->toArray();
|
||||
} elseif ($item->type->equals(MenuNodeType::news)) {
|
||||
$item->link = (new Link(routeName: MenuNodeType::news->routeName()))->toArray();
|
||||
}
|
||||
return $item;
|
||||
});
|
||||
$generalSettingModel->saveQuietly();
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
$generalSettingModel = GeneralSetting::query()->where('type', SettingsType::mainMenu)->first();
|
||||
$generalSettingModel->value = collect($generalSettingModel->value)->map(function ($item) {
|
||||
if (
|
||||
$item->type->equals(MenuNodeType::ourCommitments)
|
||||
|| $item->type->equals(MenuNodeType::siteLogo)
|
||||
|| $item->type->equals(MenuNodeType::breedings)
|
||||
|| $item->type->equals(MenuNodeType::ourBrand)
|
||||
|| $item->type->equals(MenuNodeType::news)
|
||||
) {
|
||||
$item->link = (new Link(routeName: 'fo.contact.show'))->toArray();
|
||||
}
|
||||
return $item;
|
||||
});
|
||||
$generalSettingModel->saveQuietly();
|
||||
}
|
||||
};
|
||||
|
|
@ -154,6 +154,24 @@ body {
|
|||
}
|
||||
}
|
||||
|
||||
.nav-link:hover{
|
||||
overflow: visible;
|
||||
|
||||
&::before {
|
||||
position: absolute;
|
||||
bottom: -0.5rem;
|
||||
left: 50%;
|
||||
width: 2rem;
|
||||
height: 1rem;
|
||||
background-image: url('@/images/header/subline-blue.svg');
|
||||
background-position: left;
|
||||
background-repeat: no-repeat;
|
||||
background-size: contain;
|
||||
content: "";
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
}
|
||||
|
||||
.nav-collapse {
|
||||
width: 100%;
|
||||
}
|
||||
|
|
@ -181,6 +199,24 @@ body {
|
|||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
.nav-link:hover{
|
||||
overflow: visible;
|
||||
|
||||
&::before {
|
||||
position: absolute;
|
||||
bottom: -0.5rem;
|
||||
left: 50%;
|
||||
width: 2rem;
|
||||
height: 1rem;
|
||||
background-image: url('@/images/header/subline-blue.svg');
|
||||
background-position: left;
|
||||
background-repeat: no-repeat;
|
||||
background-size: contain;
|
||||
content: "";
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
{{-- FIXME: wait evolution (integration) --}}
|
||||
<h1 class="f-intro-head-h-base text-center">{{ __('index commitments') }}</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue