From a3081fdbaf736e0076029d87f69245ab06cb6bc2 Mon Sep 17 00:00:00 2001 From: snipe Date: Thu, 23 Jan 2025 15:42:10 +0000 Subject: [PATCH] Added companies to user controllers Signed-off-by: snipe --- app/Http/Controllers/Api/UsersController.php | 14 ++++++++------ app/Http/Controllers/Users/UsersController.php | 9 +++++++-- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/app/Http/Controllers/Api/UsersController.php b/app/Http/Controllers/Api/UsersController.php index 1d34f90a39..268b5fe421 100644 --- a/app/Http/Controllers/Api/UsersController.php +++ b/app/Http/Controllers/Api/UsersController.php @@ -47,7 +47,6 @@ class UsersController extends Controller 'users.address', 'users.avatar', 'users.city', - 'users.company_id', 'users.country', 'users.created_by', 'users.created_at', @@ -80,7 +79,7 @@ class UsersController extends Controller 'users.autoassign_licenses', 'users.website', - ])->with('manager', 'groups', 'userloc', 'company', 'department', 'assets', 'licenses', 'accessories', 'consumables', 'createdBy', 'managesUsers', 'managedLocations') + ])->with('groups', 'userloc', 'companies', 'department', 'assets', 'licenses', 'accessories', 'consumables', 'createdBy', 'managesUsers', 'managedLocations', 'manager') ->withCount([ 'assets as assets_count' => function(Builder $query) { $query->withoutTrashed(); @@ -102,7 +101,7 @@ class UsersController extends Controller } if ($request->filled('company_id')) { - $users = $users->where('users.company_id', '=', $request->input('company_id')); + $users = $users->ByCompany($request->get('company_id')); } if ($request->filled('location_id')) { @@ -243,9 +242,9 @@ class UsersController extends Controller case 'created_by': $users = $users->OrderByCreatedBy($order); break; - case 'company': - $users = $users->OrderCompany($order); - break; +// case 'company': +// $users = $users->OrderCompany($order); +// break; case 'first_name': $users->orderBy('first_name', $order); $users->orderBy('last_name', $order); @@ -412,6 +411,8 @@ class UsersController extends Controller $user->groups()->sync([]); } + $user->companies()->sync($request->input('companies')); + return response()->json(Helper::formatStandardApiResponse('success', (new UsersTransformer)->transformUser($user), trans('admin/users/message.success.create'))); } @@ -512,6 +513,7 @@ class UsersController extends Controller // Sync the groups since the user is a superuser and the groups pass validation $user->groups()->sync($request->input('groups')); + $user->companies()->sync($request->input('companies')); } return response()->json(Helper::formatStandardApiResponse('success', (new UsersTransformer)->transformUser($user), trans('admin/users/message.success.update'))); } diff --git a/app/Http/Controllers/Users/UsersController.php b/app/Http/Controllers/Users/UsersController.php index 397bfd16d8..d497102f4d 100755 --- a/app/Http/Controllers/Users/UsersController.php +++ b/app/Http/Controllers/Users/UsersController.php @@ -62,6 +62,7 @@ class UsersController extends Controller { $this->authorize('create', User::class); $groups = Group::pluck('name', 'id'); + $companies = Company::pluck('name', 'id'); $userGroups = collect(); @@ -75,7 +76,7 @@ class UsersController extends Controller $user = new User; - return view('users/edit', compact('groups', 'userGroups', 'permissions', 'userPermissions')) + return view('users/edit', compact('groups', 'userGroups', 'permissions', 'userPermissions', 'companies')) ->with('user', $user); } @@ -142,6 +143,8 @@ class UsersController extends Controller $user->groups()->sync([]); } + $user->companies()->sync($request->input('companies')); + if (($request->input('email_user') == 1) && ($request->filled('email'))) { // Send the credentials through email $data = []; @@ -192,13 +195,14 @@ class UsersController extends Controller $permissions = config('permissions'); $groups = Group::pluck('name', 'id'); + $companies = Company::pluck('name', 'id'); $userGroups = $user->groups()->pluck('name', 'id'); $user->permissions = $user->decodePermissions(); $userPermissions = Helper::selectedPermissionsArray($permissions, $user->permissions); $permissions = $this->filterDisplayable($permissions); - return view('users/edit', compact('user', 'groups', 'userGroups', 'permissions', 'userPermissions'))->with('item', $user); + return view('users/edit', compact('user', 'groups', 'userGroups', 'permissions', 'userPermissions', 'companies'))->with('item', $user); } return redirect()->route('users.index')->with('error', trans('admin/users/message.user_not_found', compact('id'))); @@ -302,6 +306,7 @@ class UsersController extends Controller } $user->permissions = json_encode($permissions_array); + $user->companies()->sync($request->input('companies')); // Handle uploaded avatar app(ImageUploadRequest::class)->handleImages($user, 600, 'avatar', 'avatars', 'avatar');