diff --git a/app/Http/Controllers/Api/LocationsController.php b/app/Http/Controllers/Api/LocationsController.php index 2e08472bb..ce417ce05 100644 --- a/app/Http/Controllers/Api/LocationsController.php +++ b/app/Http/Controllers/Api/LocationsController.php @@ -232,23 +232,28 @@ class LocationsController extends Controller } if ($request->filled('search')) { - \Log::debug('Searching... '); $locations = $locations->where('locations.name', 'LIKE', '%'.$request->input('search').'%'); } $locations = $locations->orderBy('name', 'ASC')->get(); $locations_with_children = []; + foreach ($locations as $location) { - if(!array_key_exists($location->parent_id, $locations_with_children)) { + if (!array_key_exists($location->parent_id, $locations_with_children)) { $locations_with_children[$location->parent_id] = []; } $locations_with_children[$location->parent_id][] = $location; } - $location_options = Location::indenter($locations_with_children); + if ($request->filled('search')) { + $locations_formatted = $locations; + } else { + $location_options = Location::indenter($locations_with_children); + $locations_formatted = new Collection($location_options); + + } - $locations_formatted = new Collection($location_options); $paginated_results = new LengthAwarePaginator($locations_formatted->forPage($page, 500), $locations_formatted->count(), 500, $page, []); //return []; diff --git a/app/Models/Location.php b/app/Models/Location.php index d6139ddeb..ff3601034 100755 --- a/app/Models/Location.php +++ b/app/Models/Location.php @@ -150,11 +150,13 @@ class Location extends SnipeModel public static function indenter($locations_with_children, $parent_id = null, $prefix = '') { $results = Array(); + if (!array_key_exists($parent_id, $locations_with_children)) { return []; } + foreach ($locations_with_children[$parent_id] as $location) { $location->use_text = $prefix.' '.$location->name; $location->use_image = ($location->image) ? url('/').'/uploads/locations/'.$location->image : null;