From 80d68d6d14e0061010b64d27e4decac968c3728b Mon Sep 17 00:00:00 2001 From: Nabeel Shahzad Date: Wed, 3 Jan 2018 20:07:34 -0600 Subject: [PATCH] search airports close #87 --- app/Http/Controllers/Admin/AirportController.php | 8 +++++++- app/Repositories/AirportRepository.php | 2 +- resources/views/admin/airports/index.blade.php | 4 ++++ resources/views/admin/airports/search.blade.php | 15 +++++++++++++++ 4 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 resources/views/admin/airports/search.blade.php diff --git a/app/Http/Controllers/Admin/AirportController.php b/app/Http/Controllers/Admin/AirportController.php index 461b7343..e3b8c80f 100644 --- a/app/Http/Controllers/Admin/AirportController.php +++ b/app/Http/Controllers/Admin/AirportController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers\Admin; use App\Http\Requests\CreateAirportRequest; use App\Http\Requests\UpdateAirportRequest; use App\Repositories\AirportRepository; +use App\Repositories\Criteria\WhereCriteria; use Illuminate\Http\Request; use Flash; use Jackiedo\Timezonelist\Facades\Timezonelist; @@ -31,7 +32,12 @@ class AirportController extends BaseController */ public function index(Request $request) { - $this->airportRepository->pushCriteria(new RequestCriteria($request)); + $where = []; + if($request->has('icao')) { + $where['icao'] = $request->get('icao'); + } + + $this->airportRepository->pushCriteria(new WhereCriteria($request, $where)); $airports = $this->airportRepository->orderBy('icao', 'asc')->paginate(40); return view('admin.airports.index', [ diff --git a/app/Repositories/AirportRepository.php b/app/Repositories/AirportRepository.php index 051e5444..a5f07619 100644 --- a/app/Repositories/AirportRepository.php +++ b/app/Repositories/AirportRepository.php @@ -12,7 +12,7 @@ class AirportRepository extends BaseRepository implements CacheableInterface use CacheableRepository; protected $fieldSearchable = [ - 'icao', + 'icao' => 'like', 'name' => 'like', ]; diff --git a/resources/views/admin/airports/index.blade.php b/resources/views/admin/airports/index.blade.php index 17e11913..3573602d 100644 --- a/resources/views/admin/airports/index.blade.php +++ b/resources/views/admin/airports/index.blade.php @@ -10,6 +10,10 @@ @endsection @section('content') +
+ @include('admin.airports.search') +
+
@include('admin.airports.table')
diff --git a/resources/views/admin/airports/search.blade.php b/resources/views/admin/airports/search.blade.php new file mode 100644 index 00000000..6fd700c8 --- /dev/null +++ b/resources/views/admin/airports/search.blade.php @@ -0,0 +1,15 @@ +
+
+
+
+ {!! Form::open(['route' => 'admin.airports.index', 'method' => 'GET', 'class'=>'form-inline pull-right']) !!} + + {!! Form::label('icao', 'ICAO:') !!} + {!! Form::text('icao', null, ['class' => 'form-control']) !!} +   + clear + {!! Form::close() !!} +
+
+
+