Exemplo n.º 1
0
 public function isAuthorized($user)
 {
     if ($this->request->action === 'index') {
         if (isset($user['role']) && $user['role'] === 'Administrador' || $user['role'] === 'Suporte') {
             return true;
         }
         return false;
     }
     if ($this->request->action === 'cadastrar') {
         if (isset($user['role'])) {
             return true;
         }
         return false;
     }
     if ($this->request->action === 'add') {
         if (isset($user['role']) && $user['role'] === 'Administrador') {
             return true;
         }
         return false;
     }
     if ($this->request->action === 'view') {
         if (isset($user['role'])) {
             return true;
         }
         return false;
     }
     if ($this->request->action === 'editar') {
         if (isset($user['role'])) {
             return true;
         }
         return false;
     }
     if ($this->request->action === 'edit') {
         if (isset($user['role']) && $user['role'] === 'Administrador') {
             return true;
         }
         return false;
     }
     if ($this->request->action === 'delete') {
         if (isset($user['role']) && $user['role'] === 'Administrador' || $user['role'] === 'Professor' || $user['role'] === 'Bolsista') {
             return true;
         }
         return false;
     }
     if ($this->request->action === 'find') {
         if (isset($user['role'])) {
             return true;
         }
         return false;
     }
     if ($this->request->action === 'alterarResponsavel') {
         if (isset($user['role']) && $user['role'] === 'Administrador' || $user['role'] === 'Professor' || $user['role'] === 'Bolsista') {
             return true;
         }
         return false;
     }
     if ($this->request->action === 'relatorio') {
         $tomboEquipamento = $this->request->params['pass']['0'];
         $equipamento = $this->Equipamentos->find()->where(['tombo' => $tomboEquipamento])->contain(['Locals', 'Users'])->first();
         if (isset($user['role']) && $user['role'] === 'Administrador' || $user['role'] === 'Suporte' || UsersController::isCoordenador($user, $equipamento->codLocal) || $equipamento->responsavel === $user['matricula']) {
             return true;
         }
         return false;
     }
     if ($this->request->action === 'alterarStatus') {
         return true;
     }
 }
Exemplo n.º 2
0
 public function isAuthorized($user)
 {
     if ($this->request->action === 'view') {
         $codLocal = $this->request->params['pass']['0'];
         $local = $this->Locals->find()->where(['codigo' => $codLocal])->first();
         if (!strcmp($local->tipo, 'Almoxarifado')) {
             if (isset($user['role']) && $user['role'] === 'Administrador' || $user['role'] === 'Suporte') {
                 return true;
             }
             return false;
         }
         return true;
     }
     if ($this->request->action === 'edit') {
         if (isset($user['role']) && $user['role'] === 'Administrador') {
             return true;
         }
         return false;
     }
     if ($this->request->action === 'moverEquipamentos') {
         if (isset($user['role']) && $user['role'] === 'Administrador') {
             return true;
         }
         return false;
     }
     if ($this->request->action === 'bolsista') {
         $codLocal = $this->request->params['pass']['0'];
         if (isset($user['role']) && UsersController::isCoordenador($user, $codLocal) || $user['role'] === 'Administrador') {
             return true;
         }
         return false;
     }
     if ($this->request->action === 'relatorio') {
         $codLocal = $this->request->params['pass']['0'];
         if (isset($user['role']) && UsersController::isCoordenador($user, $codLocal) || $user['role'] === 'Administrador' || $user['role'] === 'Suporte') {
             return true;
         }
         return false;
     }
     return parent::isAuthorized($user);
 }