diff --git a/app/Http/Controllers/CitiesController.php b/app/Http/Controllers/CitiesController.php index 44eeaed..1e95f7f 100644 --- a/app/Http/Controllers/CitiesController.php +++ b/app/Http/Controllers/CitiesController.php @@ -17,7 +17,8 @@ class CitiesController extends Controller public $user; public function index(){ - return view('location::cities.index'); + $provinces = Province::all(); + return view('location::cities.index', compact('provinces')); } public function create(){ @@ -78,10 +79,14 @@ class CitiesController extends Controller // Apply search filter if provided if ($request->has('search') && !empty($request->get('search'))) { $search = $request->get('search'); + $search = explode('|', $search); + if(isset($search[0]) &&!empty($search[0])){ + $query->where('province_code',$search[0]); + } $query->where(function ($q) use ($search) { - $q->where('code', 'LIKE', "%$search%"); - $q->orWhere('name', 'LIKE', "%$search%"); - $q->orWhereRelation('province','name', 'LIKE', "%$search%"); + $q->where('code', 'LIKE', "%$search[1]%"); + $q->orWhere('name', 'LIKE', "%$search[1]%"); + $q->orWhereRelation('province','name', 'LIKE', "%$search[1]%"); }); } @@ -108,7 +113,7 @@ class CitiesController extends Controller $filteredRecords = $query->count(); // Get the data for the current page - $cities = $query->with('province')->get(); + $data = $query->with('province')->get(); // Calculate the page count $pageCount = ceil($totalRecords/$request->get('size')); @@ -124,7 +129,7 @@ class CitiesController extends Controller 'pageCount' => $pageCount, 'page' => $currentPage, 'totalCount' => $totalRecords, - 'data' => $cities, + 'data' => $data, ]); } diff --git a/app/Http/Controllers/DistrictsController.php b/app/Http/Controllers/DistrictsController.php index 988b33d..40de7fa 100644 --- a/app/Http/Controllers/DistrictsController.php +++ b/app/Http/Controllers/DistrictsController.php @@ -16,7 +16,8 @@ class DistrictsController extends Controller public $user; public function index(){ - return view('location::districts.index'); + $provinces = Province::all(); + return view('location::districts.index', compact('provinces')); } public function create(){ @@ -78,11 +79,16 @@ class DistrictsController extends Controller // Apply search filter if provided if ($request->has('search') && !empty($request->get('search'))) { $search = $request->get('search'); + $search = explode('|', $search); + if(isset($search[0]) &&!empty($search[0])){ + $query->where('province_code',$search[0]); + } + if(isset($search[1]) &&!empty($search[1])){ + $query->where('city_code',$search[1]); + } $query->where(function ($q) use ($search) { - $q->where('code', 'LIKE', "%$search%"); - $q->orWhere('name', 'LIKE', "%$search%"); - $q->orWhereRelation('city','name', 'LIKE', "%$search%"); - $q->orWhereRelation('city.province','name', 'LIKE', "%$search%"); + $q->where('code', 'LIKE', "%$search[2]%"); + $q->orWhere('name', 'LIKE', "%$search[2]%"); }); } @@ -109,7 +115,7 @@ class DistrictsController extends Controller $filteredRecords = $query->count(); // Get the data for the current page - $cities = $query->with('city.province')->get(); + $data = $query->with('city.province')->get(); // Calculate the page count $pageCount = ceil($totalRecords/$request->get('size')); @@ -125,7 +131,7 @@ class DistrictsController extends Controller 'pageCount' => $pageCount, 'page' => $currentPage, 'totalCount' => $totalRecords, - 'data' => $cities, + 'data' => $data, ]); } diff --git a/app/Http/Controllers/LocationController.php b/app/Http/Controllers/LocationController.php deleted file mode 100644 index dc2df72..0000000 --- a/app/Http/Controllers/LocationController.php +++ /dev/null @@ -1,67 +0,0 @@ -count(); // Get the data for the current page - $provinces = $query->get(); + $data = $query->get(); // Calculate the page count $pageCount = ceil($totalRecords/$request->get('size')); @@ -123,7 +123,7 @@ class ProvincesController extends Controller 'pageCount' => $pageCount, 'page' => $currentPage, 'totalCount' => $totalRecords, - 'data' => $provinces, + 'data' => $data, ]); } diff --git a/resources/views/cities/index.blade.php b/resources/views/cities/index.blade.php index 1b8c829..1b16961 100644 --- a/resources/views/cities/index.blade.php +++ b/resources/views/cities/index.blade.php @@ -4,42 +4,40 @@ {{ Breadcrumbs::render('locations.cities') }} @endsection +@push('styles') +
-
+

List of Cities

-
- -
- + + @foreach($provinces as $province) + + @endforeach - -
@@ -127,6 +125,7 @@ @endpush diff --git a/resources/views/districts/create.blade.php b/resources/views/districts/create.blade.php index 5017de8..684a4b9 100644 --- a/resources/views/districts/create.blade.php +++ b/resources/views/districts/create.blade.php @@ -17,7 +17,7 @@

- {{ isset($district->id) ? 'Edit' : 'Add' }} City + {{ isset($district->id) ? 'Edit' : 'Add' }} District

Back diff --git a/resources/views/districts/index.blade.php b/resources/views/districts/index.blade.php index 738a1df..c7ba56c 100644 --- a/resources/views/districts/index.blade.php +++ b/resources/views/districts/index.blade.php @@ -4,42 +4,44 @@ {{ Breadcrumbs::render('locations.districts') }} @endsection +@push('styles') +
-
+

List of Districts

-
- -
- + + @foreach($provinces as $province) + + @endforeach - + -
@@ -131,11 +133,13 @@ @endpush diff --git a/resources/views/provinces/index.blade.php b/resources/views/provinces/index.blade.php index cbf0d30..048e6ad 100644 --- a/resources/views/provinces/index.blade.php +++ b/resources/views/provinces/index.blade.php @@ -7,7 +7,7 @@ @section('content')
-
+

List of Provinces @@ -165,7 +165,9 @@ // Custom search functionality searchInput.addEventListener('input', function () { const searchValue = this.value.trim(); - dataTable.search(searchValue, true); + if(searchValue.length > 3) { + dataTable.search(searchValue, true); + } }); @endpush