Skip to content

Commit df84ff7

Browse files
committed
Add search to users overview in admin
1 parent 6187e8b commit df84ff7

File tree

4 files changed

+46
-1
lines changed

4 files changed

+46
-1
lines changed

app/Lio/Accounts/UserRepository.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,14 @@
55

66
class UserRepository extends EloquentRepository
77
{
8+
/**
9+
* @var \Lio\Accounts\User
10+
*/
11+
protected $model;
12+
13+
/**
14+
* @param \Lio\Accounts\User $model
15+
*/
816
public function __construct(User $model)
917
{
1018
$this->model = $model;
@@ -31,6 +39,19 @@ public function getByName($name)
3139
return $this->model->where('name', '=', $name)->first();
3240
}
3341

42+
/**
43+
* @param mixed $value
44+
* @return \Lio\Accounts\User[]
45+
*/
46+
public function search($value)
47+
{
48+
return $this->model
49+
->where('name', $value)
50+
->orWhere('id', $value)
51+
->orWhere('email', $value)
52+
->paginate();
53+
}
54+
3455
public function getFirstX($count)
3556
{
3657
return $this->model->take($count)->get();

app/controllers/Admin/UsersController.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,14 @@
88

99
class UsersController extends BaseController
1010
{
11+
/**
12+
* @var \Lio\Accounts\UserRepository
13+
*/
1114
private $users;
15+
16+
/**
17+
* @var \Lio\Accounts\RoleRepository
18+
*/
1219
private $roles;
1320

1421
/**
@@ -26,6 +33,14 @@ public function __construct(UserRepository $users, RoleRepository $roles, Thread
2633
public function getIndex()
2734
{
2835
$users = $this->users->getAllPaginated(100);
36+
37+
$this->view('admin.users.index', compact('users'));
38+
}
39+
40+
public function search()
41+
{
42+
$users = $this->users->search(Input::get('q'));
43+
2944
$this->view('admin.users.index', compact('users'));
3045
}
3146

app/routes.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,8 @@
109109
});
110110

111111
Route::group(['before' => 'has_role:manage_users'], function() {
112-
Route::get('users', 'UsersController@getIndex');
112+
Route::get('users', ['as' => 'admin.users', 'uses' => 'UsersController@getIndex']);
113+
Route::get('users/search', ['as' => 'admin.users.search', 'uses' => 'UsersController@search']);
113114
Route::get('edit/{user}', 'UsersController@getEdit');
114115
Route::post('edit/{user}', 'UsersController@postEdit');
115116
Route::put('ban-and-delete-threads/{user}', 'UsersController@putBanAndDeleteThreads');

app/views/admin/users/index.blade.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,14 @@
55
</div>
66
</div>
77
</header>
8+
9+
<div style="margin-bottom: 25px">
10+
{{ Form::open(['route' => 'admin.users.search', 'method' => 'GET']) }}
11+
{{ Form::text('q') }}
12+
{{ Form::submit('Search Users') }}
13+
{{ Form::close() }}
14+
</div>
15+
816
<div class="row">
917
<div class="small-12 columns">
1018
@if ($users->getTotal() > 0)

0 commit comments

Comments
 (0)