. * * @link https://www.librenms.org * @copyright 2019 Tony Murray * @author Tony Murray */ namespace App\Http\Controllers\Select; use App\Models\Dashboard; class DashboardController extends SelectController { protected function searchFields($request) { return ['dashboard_name']; } /** * Defines the base query for this resource * * @param \Illuminate\Http\Request $request * @return \Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Query\Builder */ protected function baseQuery($request) { return Dashboard::query() ->where('access', '>', 0) ->with('user') ->orderBy('user_id') ->orderBy('dashboard_name'); } public function formatItem($dashboard) { /** @var Dashboard $dashboard */ return [ 'id' => $dashboard->dashboard_id, 'text' => $this->describe($dashboard), ]; } private function describe($dashboard) { return "{$dashboard->user->username}: {$dashboard->dashboard_name} (" . ($dashboard->access == 1 ? __('read-only') : __('read-write')) . ')'; } }