Fixed countable() strings on user destroy

This commit is contained in:
snipe 2019-07-17 17:51:13 -07:00
parent 77a6f6f400
commit 444e250609
2 changed files with 22 additions and 9 deletions

View file

@ -296,10 +296,23 @@ class UsersController extends Controller
$this->authorize('delete', $user); $this->authorize('delete', $user);
if ($user->assets()->count() > 0) { if (($user->assets) && ($user->assets->count() > 0)) {
return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/users/message.error.delete_has_assets'))); return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/users/message.error.delete_has_assets')));
} }
if (($user->licenses) && ($user->licenses->count() > 0)) {
return response()->json(Helper::formatStandardApiResponse('error', null, 'This user still has ' . $user->licenses->count() . ' license(s) associated with them and cannot be deleted.'));
}
if (($user->accessories) && ($user->accessories->count() > 0)) {
return response()->json(Helper::formatStandardApiResponse('error', null, 'This user still has ' . $user->accessories->count() . ' accessories associated with them.'));
}
if (($user->managedLocations()) && ($user->managedLocations()->count() > 0)) {
return response()->json(Helper::formatStandardApiResponse('error', null, 'This user still has ' . $user->managedLocations()->count() . ' locations that they manage.'));
}
if ($user->delete()) { if ($user->delete()) {
return response()->json(Helper::formatStandardApiResponse('success', null, trans('admin/users/message.success.delete'))); return response()->json(Helper::formatStandardApiResponse('success', null, trans('admin/users/message.success.delete')));
} }

View file

@ -340,25 +340,25 @@ class UsersController extends Controller
// Check if we are not trying to delete ourselves // Check if we are not trying to delete ourselves
if ($user->id === Auth::user()->id) { if ($user->id === Auth::user()->id) {
// Redirect to the user management page // Redirect to the user management page
return redirect()->route('users.index')->with('error', 'This user still has ' . $user->assets()->count() . ' assets associated with them.'); return redirect()->route('users.index')->with('error', 'You cannot delete yourself.');
} }
if ($user->assets->count() > 0) { if (($user->assets) && ($user->assets->count() > 0)) {
// Redirect to the user management page // Redirect to the user management page
return redirect()->route('users.index')->with('error', 'This user still has ' . count($user->assets->count()) . ' assets associated with them.'); return redirect()->route('users.index')->with('error', 'This user still has ' . $user->assets->count() . ' assets associated with them. Use the Checkin and Delete button on the user profile to check these items back in and delete this user.');
} }
if ($user->licenses()->count() > 0) { if (($user->licenses) && ($user->licenses->count() > 0)) {
// Redirect to the user management page // Redirect to the user management page
return redirect()->route('users.index')->with('error', 'This user still has ' . $user->assets()->count() . ' assets associated with them.'); return redirect()->route('users.index')->with('error', 'This user still has ' . $user->licenses->count() . ' license(s associated with them. Use the Checkin and Delete button on the user profile to check these items back in and delete this user.');
} }
if ($user->accessories()->count() > 0) { if (($user->accessories) && ($user->accessories->count() > 0)) {
// Redirect to the user management page // Redirect to the user management page
return redirect()->route('users.index')->with('error', 'This user still has ' . $user->accessories()->count() . ' accessories associated with them.'); return redirect()->route('users.index')->with('error', 'This user still has ' . $user->accessories->count() . ' accessories associated with them. Use the Checkin and Delete button on the user profile to check these items back in and delete this user.');
} }
if ($user->managedLocations()->count() > 0) { if (($user->managedLocations()) && ($user->managedLocations()->count() > 0)) {
// Redirect to the user management page // Redirect to the user management page
return redirect()->route('users.index')->with('error', 'This user still has ' . $user->managedLocations()->count() . ' locations that they manage.'); return redirect()->route('users.index')->with('error', 'This user still has ' . $user->managedLocations()->count() . ' locations that they manage.');
} }