feat(menu): add label field to menu model and update related functionality
This commit is contained in:
@@ -14,36 +14,46 @@ class MenuSeeder extends Seeder
|
||||
public function run(): void
|
||||
{
|
||||
$menus = [
|
||||
['code' => 'index', 'route' => '/'],
|
||||
['code' => 'product.detail', 'route' => '/product/:id'],
|
||||
['code' => 'checkout', 'route' => '/checkout'],
|
||||
['code' => 'index', 'label' => 'Inicio', 'route' => '/'],
|
||||
[
|
||||
'code' => 'product.detail',
|
||||
'label' => 'Detalle de producto',
|
||||
'route' => '/product/:id',
|
||||
],
|
||||
['code' => 'checkout', 'label' => 'Finalizar compra', 'route' => '/checkout'],
|
||||
[
|
||||
'code' => 'account',
|
||||
'label' => 'Mi cuenta',
|
||||
'content_type' => Menu::CONTENT_TYPE_DYNAMIC,
|
||||
'route' => '/mi-cuenta',
|
||||
],
|
||||
[
|
||||
'code' => 'profile',
|
||||
'code' => 'account.profile',
|
||||
'label' => 'Datos personales',
|
||||
'parent_menu_code' => 'account',
|
||||
'route' => '/mi-cuenta/datos-personales',
|
||||
],
|
||||
[
|
||||
'code' => 'purchases',
|
||||
'code' => 'account.purchases',
|
||||
'label' => 'Mis compras',
|
||||
'parent_menu_code' => 'account',
|
||||
'route' => '/mi-cuenta/compras',
|
||||
],
|
||||
[
|
||||
'code' => 'tickets',
|
||||
'code' => 'account.tickets',
|
||||
'label' => 'Mis tickets',
|
||||
'parent_menu_code' => 'account',
|
||||
'route' => '/mi-cuenta/tickets',
|
||||
],
|
||||
[
|
||||
'code' => 'help',
|
||||
'label' => 'Ayuda',
|
||||
'content_type' => Menu::CONTENT_TYPE_DYNAMIC,
|
||||
'route' => '/ayuda',
|
||||
],
|
||||
[
|
||||
'code' => 'help.faq',
|
||||
'label' => 'Preguntas frecuentes',
|
||||
'parent_menu_code' => 'help',
|
||||
'content_type' => Menu::CONTENT_TYPE_STATIC,
|
||||
'static_content_schema' => [
|
||||
@@ -55,6 +65,7 @@ class MenuSeeder extends Seeder
|
||||
],
|
||||
[
|
||||
'code' => 'help.contact',
|
||||
'label' => 'Contacto',
|
||||
'parent_menu_code' => 'help',
|
||||
'content_type' => Menu::CONTENT_TYPE_STATIC,
|
||||
'static_content_schema' => [
|
||||
@@ -77,18 +88,21 @@ class MenuSeeder extends Seeder
|
||||
],
|
||||
[
|
||||
'code' => 'help.payment-methods',
|
||||
'label' => 'Medios de pago',
|
||||
'parent_menu_code' => 'help',
|
||||
'content_type' => Menu::CONTENT_TYPE_DYNAMIC,
|
||||
'route' => '/ayuda/medios-de-pago',
|
||||
],
|
||||
[
|
||||
'code' => 'help.shipping',
|
||||
'label' => 'Envíos',
|
||||
'parent_menu_code' => 'help',
|
||||
'content_type' => Menu::CONTENT_TYPE_DYNAMIC,
|
||||
'route' => '/ayuda/envios',
|
||||
],
|
||||
[
|
||||
'code' => 'help.terms-and-conditions',
|
||||
'label' => 'Términos y condiciones',
|
||||
'parent_menu_code' => 'help',
|
||||
'content_type' => Menu::CONTENT_TYPE_DYNAMIC,
|
||||
'route' => '/ayuda/terminos-y-condiciones',
|
||||
@@ -105,6 +119,10 @@ class MenuSeeder extends Seeder
|
||||
Menu::updateOrCreate(['code' => $menuData['code']], $menuData);
|
||||
}
|
||||
|
||||
Menu::query()
|
||||
->whereIn('code', ['profile', 'purchases', 'tickets'])
|
||||
->delete();
|
||||
|
||||
$tenants = Tenant::all();
|
||||
|
||||
$allMenus = Menu::pluck('code')->toArray();
|
||||
@@ -167,7 +185,7 @@ class MenuSeeder extends Seeder
|
||||
|
||||
if ($tenant->codigo === 'sonder') {
|
||||
// Sonder NO tiene tickets
|
||||
$menuCodes = array_diff($menuCodes, ['tickets']);
|
||||
$menuCodes = array_diff($menuCodes, ['account.tickets']);
|
||||
} else {
|
||||
// Los demás NO tienen product.detail
|
||||
$menuCodes = array_diff($menuCodes, ['product.detail']);
|
||||
|
||||
Reference in New Issue
Block a user