- 라우트 파라미터 충돌 수정 (Layer 4 확장) - TenantScope 글로벌 스코프가 테넌트 콘솔에서 올바른 tenant_id 사용하도록 수정 - 감사로그 상세 테넌트 콘솔 레이아웃 적용 - 테넌트 전환: 모달 → 컨텍스트 메뉴로 이동, 스타일 변경 (녹색+전환아이콘) - 테넌트 전환 이벤트를 openTenantConsole 호출로 통일 - 사이드바 스타일 메인과 통일 + 리포트 주의사항 정리
52 lines
1.5 KiB
PHP
52 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Helpers\TenantHelper;
|
|
use App\Models\Role;
|
|
use App\Models\Tenants\Tenant;
|
|
use App\Services\RolePermissionService;
|
|
use Illuminate\Http\Request;
|
|
|
|
class RolePermissionController extends Controller
|
|
{
|
|
protected RolePermissionService $rolePermissionService;
|
|
|
|
public function __construct(RolePermissionService $rolePermissionService)
|
|
{
|
|
$this->rolePermissionService = $rolePermissionService;
|
|
}
|
|
|
|
/**
|
|
* 역할 권한 관리 메인 페이지
|
|
*/
|
|
public function index(Request $request)
|
|
{
|
|
$tenantId = TenantHelper::getRawTenantId();
|
|
|
|
// 역할 목록 조회
|
|
$rolesQuery = Role::query()->orderBy('tenant_id')->orderBy('name');
|
|
|
|
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');
|
|
}
|
|
|
|
return view('role-permissions.index', [
|
|
'roles' => $roles,
|
|
'rolesByTenant' => $rolesByTenant ?? null,
|
|
'tenants' => $tenants ?? collect(),
|
|
'selectedTenantId' => $tenantId,
|
|
]);
|
|
}
|
|
}
|