BookStack/app/Http/Controllers/UserSearchController.php

40 lines
957 B
PHP
Raw Normal View History

2021-01-01 01:25:20 +08:00
<?php
namespace BookStack\Http\Controllers;
use BookStack\Auth\User;
use Illuminate\Http\Request;
class UserSearchController extends Controller
{
/**
* Search users in the system, with the response formatted
* for use in a select-style list.
*/
public function forSelect(Request $request)
{
$hasPermission = signedInUser() && (
2021-12-15 21:49:20 +08:00
userCan('users-manage')
|| userCan('restrictions-manage-own')
|| userCan('restrictions-manage-all')
);
if (!$hasPermission) {
$this->showPermissionError();
}
2021-01-01 01:25:20 +08:00
$search = $request->get('search', '');
$query = User::query()
->orderBy('name', 'asc')
2021-01-01 01:25:20 +08:00
->take(20);
if (!empty($search)) {
$query->where('name', 'like', '%' . $search . '%');
2021-01-01 01:25:20 +08:00
}
return view('form.user-select-list', [
'users' => $query->get(),
]);
2021-01-01 01:25:20 +08:00
}
}