Browse Source

Added user search feture

Hide user register link
pull/3/head
Nafies Luthfi 9 years ago
parent
commit
3e5f228398
  1. 16
      app/Http/Controllers/UsersController.php
  2. 4
      resources/views/layouts/app.blade.php
  3. 49
      resources/views/users/search.blade.php
  4. 6
      routes/web.php
  5. 2
      tests/Feature/ManageUserFamiliesTest.php
  6. 2
      tests/Feature/UsersProfileTest.php

16
app/Http/Controllers/UsersController.php

@ -13,9 +13,21 @@ class UsersController extends Controller
*
* @return \Illuminate\Http\Response
*/
public function index()
public function search(Request $request)
{
//
$q = $request->get('q');
$users = [];
if ($q) {
$users = User::with('father', 'mother')->where(function ($query) use ($q) {
$query->where('name', 'like', '%'.$q.'%');
$query->orWhere('nickname', 'like', '%'.$q.'%');
})
->orderBy('name', 'asc')
->paginate(24);
}
return view('users.search', compact('users'));
}
/**

4
resources/views/layouts/app.blade.php

@ -42,7 +42,7 @@
<div class="collapse navbar-collapse" id="app-navbar-collapse">
<!-- Left Side Of Navbar -->
<ul class="nav navbar-nav">
&nbsp;
<li><a href="{{ route('users.search') }}">Cari Keluarga</a></li>
</ul>
<!-- Right Side Of Navbar -->
@ -50,7 +50,7 @@
<!-- Authentication Links -->
@if (Auth::guest())
<li><a href="{{ route('login') }}">Login</a></li>
<li><a href="{{ route('register') }}">Register</a></li>
{{-- <li><a href="{{ route('register') }}">Register</a></li> --}}
@else
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">

49
resources/views/users/search.blade.php

@ -0,0 +1,49 @@
@extends('layouts.app')
@section('content')
<h3 class="page-header">
Cari Keluarga Anda
@if (request('q'))
<small class="pull-right">User ditemukan : <strong>{{ $users->total() }} Orang</strong> untuk kata kunci : <strong>{{ request('q') }}</strong></small>
@endif
</h3>
{{ Form::open(['method' => 'get','class' => '']) }}
<div class="input-group">
{{ Form::text('q', request('q'), ['class' => 'form-control', 'placeholder' => 'Masukkan nama/panggilan... klik Cari']) }}
<span class="input-group-btn">
{{ Form::submit('Cari', ['class' => 'btn btn-default']) }}
{{ link_to_route('users.search', 'Reset', [], ['class' => 'btn btn-default']) }}
</span>
</div>
{{ Form::close() }}
@if (request('q'))
<br>
{!! str_replace('/?', '?', $users->appends(Request::except('page'))->render()) !!}
@foreach ($users->chunk(4) as $chunkedUser)
<div class="row">
@foreach ($chunkedUser as $user)
<div class="col-md-3">
<div class="panel panel-default">
<div class="panel-heading"><h3 class="panel-title">{{ $user->profileLink() }} ({{ $user->gender }})</h3></div>
<div class="panel-body">
<div>Panggilan : {{ $user->nickname }}</div>
<hr style="margin: 5px 0;">
<div>Ayah : {{ $user->father_id ? $user->father->name : '' }}</div>
<div>Ibu : {{ $user->mother_id ? $user->mother->name : '' }}</div>
</div>
<div class="panel-footer">
{{ link_to_route('users.show', 'Lihat Profil', [$user->id], ['class' => 'btn btn-default btn-xs']) }}
{{ link_to_route('users.chart', 'Bagan Keluarga', [$user->id], ['class' => 'btn btn-default btn-xs']) }}
</div>
</div>
</div>
@endforeach
</div>
@endforeach
{!! str_replace('/?', '?', $users->appends(Request::except('page'))->render()) !!}
@endif
@endsection

6
routes/web.php

@ -11,9 +11,7 @@
|
*/
Route::get('/', function () {
return view('welcome');
});
Route::get('/', 'HomeController@index');
Auth::routes();
@ -26,7 +24,7 @@ Route::post('family-actions/{user}/add-wife', 'FamilyActionsController@addWife')
Route::post('family-actions/{user}/add-husband', 'FamilyActionsController@addHusband')->name('family-actions.add-husband');
Route::post('family-actions/{user}/set-parent', 'FamilyActionsController@setParent')->name('family-actions.set-parent');
Route::get('profile-search', 'UsersController@index')->name('users.search');
Route::get('profile-search', 'UsersController@search')->name('users.search');
Route::get('users/{user}', 'UsersController@show')->name('users.show');
Route::get('users/{user}/edit', 'UsersController@edit')->name('users.edit');
Route::patch('users/{user}', 'UsersController@update')->name('users.update');

2
tests/Feature/ManageUserFamiliesTest.php

@ -244,12 +244,12 @@ class ManageUserFamiliesTest extends TestCase
/** @test */
public function user_can_set_parent_from_existing_couple_id()
{
$user = $this->loginAsUser();
$husband = factory(User::class)->states('male')->create();
$wife = factory(User::class)->states('female')->create();
$husband->addWife($wife);
$marriageId = $husband->wifes->first()->pivot->id;
$user = $this->loginAsUser();
$this->visit(route('profile'));
$this->click('Set Orang Tua');

2
tests/Feature/UsersProfileTest.php

@ -21,7 +21,7 @@ class UsersProfileTest extends TestCase
/** @test */
public function user_can_edit_profile()
{
$user = factory(User::class)->create();
$user = $this->loginAsUser();
$this->visit(route('users.edit', $user->id));
$this->seePageIs(route('users.edit', $user->id));

Loading…
Cancel
Save