This commit is contained in:
snipe 2019-12-06 13:14:31 -08:00
commit 943cf40247
2 changed files with 11 additions and 4 deletions

View file

@ -232,13 +232,13 @@ class LocationsController extends Controller
} }
if ($request->filled('search')) { if ($request->filled('search')) {
\Log::debug('Searching... ');
$locations = $locations->where('locations.name', 'LIKE', '%'.$request->input('search').'%'); $locations = $locations->where('locations.name', 'LIKE', '%'.$request->input('search').'%');
} }
$locations = $locations->orderBy('name', 'ASC')->get(); $locations = $locations->orderBy('name', 'ASC')->get();
$locations_with_children = []; $locations_with_children = [];
foreach ($locations as $location) { 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] = [];
@ -246,9 +246,14 @@ class LocationsController extends Controller
$locations_with_children[$location->parent_id][] = $location; $locations_with_children[$location->parent_id][] = $location;
} }
if ($request->filled('search')) {
$locations_formatted = $locations;
} else {
$location_options = Location::indenter($locations_with_children); $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, []); $paginated_results = new LengthAwarePaginator($locations_formatted->forPage($page, 500), $locations_formatted->count(), 500, $page, []);
//return []; //return [];

View file

@ -151,10 +151,12 @@ class Location extends SnipeModel
public static function indenter($locations_with_children, $parent_id = null, $prefix = '') { public static function indenter($locations_with_children, $parent_id = null, $prefix = '') {
$results = Array(); $results = Array();
if (!array_key_exists($parent_id, $locations_with_children)) { if (!array_key_exists($parent_id, $locations_with_children)) {
return []; return [];
} }
foreach ($locations_with_children[$parent_id] as $location) { foreach ($locations_with_children[$parent_id] as $location) {
$location->use_text = $prefix.' '.$location->name; $location->use_text = $prefix.' '.$location->name;
$location->use_image = ($location->image) ? url('/').'/uploads/locations/'.$location->image : null; $location->use_image = ($location->image) ? url('/').'/uploads/locations/'.$location->image : null;