Files
sam-manage/app/Http/Controllers/DepartmentPermissionController.php
권혁성 8da1702e47 fix: [tenant-console] 테넌트 콘솔 분리작업
- 라우트 파라미터 충돌 수정 (Layer 4 확장)
- TenantScope 글로벌 스코프가 테넌트 콘솔에서 올바른 tenant_id 사용하도록 수정
- 감사로그 상세 테넌트 콘솔 레이아웃 적용
- 테넌트 전환: 모달 → 컨텍스트 메뉴로 이동, 스타일 변경 (녹색+전환아이콘)
- 테넌트 전환 이벤트를 openTenantConsole 호출로 통일
- 사이드바 스타일 메인과 통일 + 리포트 주의사항 정리
2026-03-13 10:18:23 +09:00

52 lines
1.7 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Helpers\TenantHelper;
use App\Models\Tenants\Department;
use App\Models\Tenants\Tenant;
use App\Services\DepartmentPermissionService;
use Illuminate\Http\Request;
class DepartmentPermissionController extends Controller
{
protected DepartmentPermissionService $departmentPermissionService;
public function __construct(DepartmentPermissionService $departmentPermissionService)
{
$this->departmentPermissionService = $departmentPermissionService;
}
/**
* 부서 권한 관리 메인 페이지
*/
public function index(Request $request)
{
$tenantId = TenantHelper::getRawTenantId();
// 부서 목록 조회
$departmentsQuery = Department::query()->orderBy('tenant_id')->orderBy('sort_order')->orderBy('name');
if ($tenantId && $tenantId !== 'all') {
// 특정 테넌트 선택 시
$departments = $departmentsQuery->where('tenant_id', $tenantId)->get();
$departmentsByTenant = null;
} else {
// 전체 선택 시 테넌트별 그룹핑
$departments = $departmentsQuery->get();
$departmentsByTenant = $departments->groupBy('tenant_id');
// 테넌트 정보 로드
$tenantIds = $departmentsByTenant->keys()->filter()->toArray();
$tenants = Tenant::whereIn('id', $tenantIds)->pluck('company_name', 'id');
}
return view('department-permissions.index', [
'departments' => $departments,
'departmentsByTenant' => $departmentsByTenant ?? null,
'tenants' => $tenants ?? collect(),
'selectedTenantId' => $tenantId,
]);
}
}