Exemplo n.º 1
0
 /**
  * View method
  *
  * @param string|null $id Alerta id.
  * @return \Cake\Network\Response|null
  * @throws \Cake\Datasource\Exception\RecordNotFoundException When record not found.
  */
 public function view($id = null)
 {
     $alerta = $this->Alertas->get($id, ['contain' => []]);
     $tomboEquip = $alerta->tomboEquipamento;
     $local = $this->Alertas->Equipamentos->find()->select(['codLocal'])->where(['tombo' => $tomboEquip])->first()->toArray();
     $session = $this->request->session()->read('Auth.User.matricula');
     $bolsistas = UsersController::getUsersLocalsBolsistas($local['codLocal']);
     $equipamento = $this->Alertas->Equipamentos->find()->where(['tombo' => $alerta->tomboEquipamento])->first()->toArray();
     $this->set('session', $session);
     $this->set('bolsistas', $bolsistas);
     $this->set('alerta', $alerta);
     $this->set('equipamento', $equipamento);
     $this->set('_serialize', ['alerta', 'bolsistas', 'session', 'equipamento']);
 }
Exemplo n.º 2
0
 /**
  * bolsista method
  *
  * @param string|null $codigo Local codigo.
  * @return \Cake\Network\Response|void Redirects on successful edit, renders view otherwise.
  */
 public function bolsista($codigo = null)
 {
     /**
             $local = $this->Locals->get($id, [
                 'contain' => []
             ]);
             **/
     $local = $this->Locals->find()->where(['codigo' => $codigo])->all()->first();
     if (is_null($local)) {
         throw new \Cake\Datasource\Exception\RecordNotFoundException("Ops! Algo de errado aconteceu.", 1);
     }
     $userAuth = $this->request->session()->read('Auth.User');
     /** Bolsistas **/
     $usersLocal = UsersController::getUsersLocalsBolsistas($local->codigo);
     /** Matriculas **/
     $matriculas = UsersController::getMatriculaUsers($local->codigo);
     if (!empty($matriculas)) {
         /** Bolsistas **/
         $userLocalsBolsistas = UsersController::getBolistas($local->codigo);
     }
     if ($this->request->is(['patch', 'post', 'put'])) {
         /** Trata o array de matriculas vindo do formulario **/
         $matriculasForm = array_unique(array_merge($this->request->data['bolsistas']));
         $matriculasForm = array_filter($matriculasForm);
         $matriculaInserir = array_diff($matriculasForm, $matriculas);
         $local = $this->Locals->patchEntity($local, $this->request->data);
         // Salva as outras informalções do local
         if ($this->Locals->save($local)) {
             /** Insere os novos registros **/
             foreach ($matriculaInserir as $user) {
                 UsersController::insereUserLocals($local->codigo, $user);
             }
             /** Deleta do tabela os que foram removidos **/
             foreach ($usersLocal as $user) {
                 if (!in_array($user->user_matricula, $matriculasForm)) {
                     UsersController::deleteUserLocals($user->id);
                 }
             }
             $this->Flash->success(__('Bolsistas alterados com sucesso.'));
             return $this->redirect(['action' => 'index']);
         } else {
             $this->Flash->error(__('Ops! Ocorreu um erro ao salvar.'));
         }
     }
     $bolsistas = $this->Locals->Users->find()->select(['nome', 'matricula'])->where(['role' => 'Bolsista'])->all()->toArray();
     $this->set(compact('local', 'bolsistas', 'userLocalsBolsistas', 'usersLocal'));
     $this->set('_serialize', ['local']);
 }