diff --git a/app/Http/Controllers/Table/DeviceController.php b/app/Http/Controllers/Table/DeviceController.php index 8efae96b59..4aa5281d34 100644 --- a/app/Http/Controllers/Table/DeviceController.php +++ b/app/Http/Controllers/Table/DeviceController.php @@ -27,6 +27,7 @@ namespace App\Http\Controllers\Table; use App\Models\Device; use App\Models\Location; use Illuminate\Database\Eloquent\Builder; +use Illuminate\Support\Arr; use Illuminate\Support\Facades\Auth; use LibreNMS\Config; use LibreNMS\Util\Rewrite; @@ -150,7 +151,7 @@ class DeviceController extends TableController 'os' => $this->getOsText($device), 'uptime' => (! $device->status && ! $device->last_polled) ? __('Never polled') : Time::formatInterval($device->status ? $device->uptime : $device->last_polled->diffInSeconds(), 'short'), 'location' => $this->getLocation($device), - 'actions' => $this->getActions($device), + 'actions' => view('device.actions', ['actions' => $this->getActions($device)])->__toString(), 'device_id' => $device->device_id, ]; } @@ -282,38 +283,68 @@ class DeviceController extends TableController : substr($device->location, 0, 32); } - /** - * @param Device $device - * @return string - */ - private function getActions($device) + private function getActions(Device $device): array { - $actions = '