mirror of
https://github.com/InvoiceShelf/InvoiceShelf.git
synced 2026-04-15 09:14:08 +00:00
- 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
30 lines
745 B
PHP
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;
|
|
}
|
|
}
|