Files
InvoiceShelf/app/Traits/GeneratesMenuTrait.php
Darko Gjorgjijoski 9432da467e Add super-admin Administration section and restructure global vs company settings
- Add Administration sidebar section (super-admin only) with Companies, Users, and Global Settings pages
- Add super-admin middleware, controllers, and API routes under /api/v1/super-admin/
- Allow super-admins to manage all companies and users across tenants
- Add user impersonation with short-lived tokens, audit logging, and UI banner
- Move system-level settings (Mail, PDF, Backup, Update, File Disk) from per-company to Administration > Global Settings
- Convert save_pdf_to_disk from CompanySetting to global Setting
- Add per-company mail configuration overrides (optional, falls back to global)
- Add CompanyMailConfigService to apply company mail config before sending emails
2026-04-03 10:35:40 +02:00

30 lines
745 B
PHP

<?php
namespace App\Traits;
trait GeneratesMenuTrait
{
public function generateMenu($key, $user)
{
$new_items = [];
$menu = \Menu::get($key);
$items = $menu ? $menu->items->toArray() : [];
foreach ($items as $data) {
if ($user->checkAccess($data)) {
$new_items[] = [
'title' => $data->title,
'link' => $data->link->path['url'],
'icon' => $data->data['icon'],
'name' => $data->data['name'],
'group' => $data->data['group'],
'group_label' => $data->data['group_label'] ?? '',
];
}
}
return $new_items;
}
}