Feat: Управление группами пользователей

 Modal добавления в группу на странице пользователя
 Метод addUser — добавление пользователя в группу
 Метод removeUser — удаление пользователя из группы
 Фильтр доступных групп (общие + группы организации)
 Проверка: нельзя добавить в группу другой организации
 Маршруты: POST /users/{user}/groups/add, DELETE /groups/{group}/users/{user}/remove

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
mirivlad
2026-03-30 10:25:10 +08:00
co-authored by Qwen-Coder
parent 6599b8d5b6
commit f198afd8a0
4 changed files with 102 additions and 5 deletions
+18 -2
View File
@@ -89,10 +89,26 @@ class UserController extends Controller
public function show(User $user)
{
Gate::authorize('view', $user);
$user->load(['organization', 'roles', 'groups']);
return view('admin.users.show', compact('user'));
// Получаем доступные группы для пользователя
if ($user->organization_id) {
$availableGroups = Group::whereNull('organization_id')
->orWhere('organization_id', $user->organization_id)
->whereDoesntHave('users', function($q) use ($user) {
$q->where('users.id', $user->id);
})
->get();
} else {
$availableGroups = Group::whereNull('organization_id')
->whereDoesntHave('users', function($q) use ($user) {
$q->where('users.id', $user->id);
})
->get();
}
return view('admin.users.show', compact('user', 'availableGroups'));
}
public function edit(User $user)