From 98b0e7f9a9c7e7152e9b6827f88c43d4ca44bad1 Mon Sep 17 00:00:00 2001 From: mirivlad Date: Tue, 31 Mar 2026 15:57:39 +0800 Subject: [PATCH] =?UTF-8?q?Fix:=20=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=BE=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D1=82=D0=B5=D0=BB=D0=B5=D0=B9=20=D0=B2=20=D0=B3?= =?UTF-8?q?=D1=80=D1=83=D0=BF=D0=BF=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ✅ Проверка на дубликаты (не добавлять если уже в группе) ✅ Фильтрация поиска по организации группы ✅ UserSearchController фильтрует по organization_id ✅ Подсказка в modal для групп организации Co-authored-by: Qwen-Coder --- app/Http/Controllers/Admin/GroupUserController.php | 9 +++++++-- app/Http/Controllers/Api/UserSearchController.php | 11 +++++++++-- resources/views/admin/groups/show.blade.php | 10 +++++++++- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/Admin/GroupUserController.php b/app/Http/Controllers/Admin/GroupUserController.php index c0cb8ca..4f7578b 100755 --- a/app/Http/Controllers/Admin/GroupUserController.php +++ b/app/Http/Controllers/Admin/GroupUserController.php @@ -129,9 +129,14 @@ class GroupUserController extends Controller $user = User::find($userId); if (!$user) continue; - // Проверка доступа + // Проверка: если группа организации - только пользователи этой организации if ($group->organization_id && $user->organization_id !== $group->organization_id) { - continue; // Пропускаем пользователей из других организаций + continue; + } + + // Проверка: не состоит ли уже в группе + if ($group->users()->where('user_id', $userId)->exists()) { + continue; } $group->users()->attach($userId); diff --git a/app/Http/Controllers/Api/UserSearchController.php b/app/Http/Controllers/Api/UserSearchController.php index 1788355..a3a568c 100755 --- a/app/Http/Controllers/Api/UserSearchController.php +++ b/app/Http/Controllers/Api/UserSearchController.php @@ -11,9 +11,16 @@ class UserSearchController extends Controller public function __invoke(Request $request) { $query = $request->get('q', ''); + $organizationId = $request->get('organization_id', null); - $users = User::query() - ->with('organization') + $usersQuery = User::query()->with('organization'); + + // Если указан organization_id - фильтруем + if ($organizationId) { + $usersQuery->where('organization_id', $organizationId); + } + + $users = $usersQuery ->where('name', 'like', "%{$query}%") ->orWhere('email', 'like', "%{$query}%") ->orderBy('name') diff --git a/resources/views/admin/groups/show.blade.php b/resources/views/admin/groups/show.blade.php index 913ec68..302d0f5 100755 --- a/resources/views/admin/groups/show.blade.php +++ b/resources/views/admin/groups/show.blade.php @@ -85,7 +85,15 @@