feat: [tenant] 컨텍스트 메뉴 테넌트 설정 + 콘솔 사이드바 DB 메뉴 적용
- 컨텍스트 메뉴 "이 테넌트로 전환" → "테넌트 설정" (보라색, 설정 아이콘) - context-menu.js에서 직접 window.open 처리 (openTenantConsole 의존 제거) - 테넌트 콘솔 사이드바 하드코딩 → DB 기반 메뉴 시스템 전환 - SidebarMenuService에 getTenantMenusBySection() 추가 - AppServiceProvider에 tenant-console-sidebar View Composer 추가
This commit is contained in:
@@ -131,6 +131,35 @@ public function getMenusBySection(?User $user = null): array
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* 특정 테넌트의 전체 메뉴 트리 조회 (권한 필터 없음, 관리 콘솔용)
|
||||
*/
|
||||
public function getTenantMenuTree(int $tenantId): Collection
|
||||
{
|
||||
$allMenus = Menu::withoutGlobalScopes()
|
||||
->where('tenant_id', $tenantId)
|
||||
->where('is_active', true)
|
||||
->where('hidden', false)
|
||||
->orderBy('sort_order')
|
||||
->get();
|
||||
|
||||
return $this->buildMenuTree($allMenus);
|
||||
}
|
||||
|
||||
/**
|
||||
* 특정 테넌트의 섹션별 메뉴 조회 (관리 콘솔용)
|
||||
*/
|
||||
public function getTenantMenusBySection(int $tenantId): array
|
||||
{
|
||||
$menuTree = $this->getTenantMenuTree($tenantId);
|
||||
|
||||
return [
|
||||
'main' => $menuTree->filter(fn ($m) => $m->getSection() === 'main')->values(),
|
||||
'tools' => $menuTree->filter(fn ($m) => $m->getSection() === 'tools')->values(),
|
||||
'labs' => $menuTree->filter(fn ($m) => $m->getSection() === 'labs')->values(),
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* 메뉴 트리 구성
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user