Ejemplo n.º 1
0
 /**
  * @return Modulo
  */
 public function getModule()
 {
     if (!$this->module) {
         $this->module = new Modulo();
         $this->module->setChave($this->key);
         $this->module->setTipo((int) Arrays::value($this->data, 'type', 0));
         $this->module->setNome(_(Arrays::value($this->data, 'name')));
         $this->module->setDescricao(_(Arrays::value($this->data, 'description')));
         $this->module->setStatus(0);
     }
     return $this->module;
 }
Ejemplo n.º 2
0
 /**
  * Verifica se o usuário tem acesso a um determinado módulo.
  * 
  * Quando for um módulo de unidade, basta verificar se existe uma permissão
  * para a lotação do usuário no grupo da unidade.
  * 
  * Já quando o módulo for global, verifica se existe alguma lotação para o 
  * módulo, independente do grupo (unidade).
  * 
  * @param Novosga\Model\Util\UsuarioSessao $usuario
  * @param Novosga\Model\Modulo $modulo
  */
 public function hasAccess(UsuarioSessao $usuario, Modulo $modulo)
 {
     if ($modulo->isGlobal()) {
         // para modulos globais
         return $usuario->hasPermissao($modulo);
     } else {
         if (!$usuario->getUnidade()) {
             throw new Exception(_('Para acessar esse módulo primeiro é necessário escolher uma unidade.'));
         }
         // verificando se existe permissao para a lotacao atual do usuario
         $lotacao = $usuario->getLotacao();
         return $usuario->hasPermissao($modulo, $lotacao->getCargo());
     }
 }
Ejemplo n.º 3
0
 public function __construct(App $app, Modulo $modulo)
 {
     parent::__construct($app);
     $this->title = _($modulo->getNome());
     $this->subtitle = _($modulo->getDescricao());
 }
Ejemplo n.º 4
0
 private function getJs(Modulo $modulo)
 {
     return file_get_contents($modulo->getrealPath() . '/public/js/script.js');
 }
Ejemplo n.º 5
0
 /**
  * {@inheritDoc}
  */
 public function __tostring()
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, '__tostring', array());
     return parent::__tostring();
 }