Ejemplo n.º 1
0
 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;
 }