public function getVehicle($id) { if (Auth::user()->isAdmin()) { $device = Device::find($id); $vehicles = Vehicle::whereHas('Account', function ($query) { $query->where('company_id', Auth::user()->company_id); })->doesntHave('Device')->get()->lists("fullname", "id")->all(); $form = \DataForm::create(); $form->add('device_id', '', 'hidden')->insertValue($id); $form->add('device_name', 'Aparelho', 'text')->insertValue($device->name)->mode('readonly'); $form->link('/devices', 'Voltar', 'TR'); if ($device->vehicle_id != '') { $form->add('vehicle_name', 'Veículo', 'text')->insertValue($device->Vehicle->fullname)->mode('readonly'); $form->add('vehicle_id', '', 'hidden')->insertValue($device->vehicle_id); $form->add('install_date', 'Data de Instalação', 'date')->format('d/m/Y')->insertValue($device->install_date)->mode('readonly'); $form->textarea('description', 'Observações')->insertValue($device->description)->mode('readonly'); $form->add('action', '', 'hidden')->insertValue('remove'); $form->label('Remover Aparelho'); $form->submit('Confirma Retirada'); } else { $form->add('vehicle_id', 'Veículo', 'select')->option("", "Selecione")->options($vehicles)->rule('required'); $form->add('install_date', 'Data de Instalação', 'date')->format('d/m/Y')->rule('required'); $form->textarea('description', 'Observações')->rule('required|min:15'); $form->add('action', '', 'hidden')->insertValue('assign'); $form->label('Instalar Aparelho'); $form->submit('Salvar'); } return $form->view('devices::vehicle', compact('form')); } else { return $form->view('errors.503'); } }
public function dashboardMap() { $vehicles = Vehicle::whereHas('Device', function ($query) { $query->where('company_id', Auth::user()->company_id); })->get(); $locations = array(); foreach ($vehicles as $vehicle) { $position = $vehicle->Positions()->orderBy('memory_index', 'desc')->first(); if ($position) { $locations[] = $this->getLocations($position); } } return $locations; }