- 전체 테넌트 선택 시 역할/부서를 테넌트별로 그룹화하여 표시 - 테넌트별 섹션 헤더 추가 (회색 라벨) - 선택 시 [테넌트명] 역할/부서명 형식으로 표시 - 단일 테넌트 선택 시 기존 UI 유지
1.7 KiB
1.7 KiB
역할/부서 권한 관리 - 테넌트별 그룹핑
변경 일자
2025-11-26
변경 목적
- "전체" 테넌트 선택 시 역할/부서가 혼합되어 표시되는 문제 해결
- 테넌트별로 그룹핑하여 가독성 향상
변경 파일
1. Controllers
| 파일 | 변경 내용 |
|---|---|
app/Http/Controllers/RolePermissionController.php |
테넌트별 역할 그룹핑 로직 추가 |
app/Http/Controllers/DepartmentPermissionController.php |
테넌트별 부서 그룹핑 로직 추가 |
주요 로직:
if ($tenantId && $tenantId !== 'all') {
// 특정 테넌트 선택 시 기존 방식
$roles = $rolesQuery->where('tenant_id', $tenantId)->get();
$rolesByTenant = null;
} else {
// 전체 선택 시 테넌트별 그룹핑
$roles = $rolesQuery->get();
$rolesByTenant = $roles->groupBy('tenant_id');
$tenantIds = $rolesByTenant->keys()->filter()->toArray();
$tenants = Tenant::whereIn('id', $tenantIds)->pluck('company_name', 'id');
}
2. Views
| 파일 | 변경 내용 |
|---|---|
resources/views/role-permissions/index.blade.php |
테넌트별 섹션 헤더 및 그룹핑 UI |
resources/views/department-permissions/index.blade.php |
테넌트별 섹션 헤더 및 그룹핑 UI |
UI 변경:
- 전체 테넌트 선택 시: 테넌트별 섹션으로 구분 (회색 라벨)
- 선택된 역할/부서 표시:
[테넌트명] 역할명 역할형식 - 기존 단일 테넌트 선택 시: 기존 UI 유지
테스트 결과
- PHP 문법 검사: 통과
- Laravel Pint: 통과
- 브라우저 테스트: 테넌트별 그룹핑 정상 동작
관련 이슈
- tenants 테이블 컬럼명:
company_name(name 아님)