fix:상담매니저 검색 시 tenant_id 조건 제거

- 파트너 관리 페이지와 동일한 방식으로 역할 확인
- userRoles.role 관계를 통해 manager 역할 검색
- 영업파트너가 누구든 상담매니저 역할을 가진 모든 사용자 검색 가능

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
김보곤
2026-02-02 17:20:02 +09:00
parent 646cd7d6ef
commit b6daff8c6e

View File

@@ -766,46 +766,35 @@ private function getCommissionData(): array
/**
* 상담매니저 역할을 가진 모든 사용자 조회
* (tenant_id 조건 없이 - 파트너 관리 페이지와 동일한 방식)
*/
private function getAllManagerUsers()
{
$tenantId = session('selected_tenant_id', 1);
return User::whereHas('userRoles', function ($q) use ($tenantId) {
$q->where('tenant_id', $tenantId)
->whereHas('role', function ($rq) {
$rq->where('name', 'manager');
});
})
->where('is_active', true)
->where('id', '!=', auth()->id()) // 본인 제외
->get(['id', 'name', 'email']);
return User::whereHas('userRoles.role', fn($q) => $q->where('name', 'manager'))
->where('is_active', true)
->where('id', '!=', auth()->id()) // 본인 제외
->get(['id', 'name', 'email']);
}
/**
* 매니저 검색 API (AJAX)
* (tenant_id 조건 없이 - 모든 상담매니저 검색 가능)
*/
public function searchManagers(Request $request): JsonResponse
{
$query = $request->input('q', '');
$tenantId = session('selected_tenant_id', 1);
$managers = User::whereHas('userRoles', function ($q) use ($tenantId) {
$q->where('tenant_id', $tenantId)
->whereHas('role', function ($rq) {
$rq->where('name', 'manager');
$managers = User::whereHas('userRoles.role', fn($q) => $q->where('name', 'manager'))
->where('is_active', true)
->where('id', '!=', auth()->id())
->when($query, function ($q) use ($query) {
$q->where(function ($subQ) use ($query) {
$subQ->where('name', 'like', "%{$query}%")
->orWhere('email', 'like', "%{$query}%");
});
})
->where('is_active', true)
->where('id', '!=', auth()->id())
->when($query, function ($q) use ($query) {
$q->where(function ($subQ) use ($query) {
$subQ->where('name', 'like', "%{$query}%")
->orWhere('email', 'like', "%{$query}%");
});
})
->limit(10)
->get(['id', 'name', 'email']);
})
->limit(10)
->get(['id', 'name', 'email']);
return response()->json([
'success' => true,