/** * validacao se o controle está ativo * @param Zend_Acl_Resource_Interface $oResource * @param string $sPrivilegio */ protected function validaControleAtivo(Zend_Acl_Resource_Interface $oResource, $sPrivilegio) { $aIdentidadeControle = explode(':', $oResource->getResourceId()); $sIdentidadeControle = $aIdentidadeControle[1]; $sIdentidadeModulo = $aIdentidadeControle[0]; $oModulo = Administrativo_Model_Modulo::getByAttribute('identidade', $sIdentidadeModulo); $aControles = $oModulo->getControles(); foreach ($aControles as $oControle) { if ($oControle->getIdentidade() != $sIdentidadeControle) { continue; } if (!$oControle->getVisivel()) { return TRUE; } } return TRUE; }
/** * Tela para configurar as permissões */ public function permissaoAction() { parent::noTemplate(); $usuario_cont_id = $this->getRequest()->getParam('id'); $usuario_cont = Administrativo_Model_UsuarioContribuinte::getById($usuario_cont_id); $usuario = $usuario_cont->getUsuario(); // Gera um vetor com todas as acoes permitidas a esse usuario $acoes = $usuario_cont == NULL ? array() : $usuario_cont->getAcoes(); $permissoes = array(); foreach ($acoes as $a) { $permissoes[] = $a->getId(); } $this->view->contribuinte = Administrativo_Model_UsuarioContribuinte::getContribuinte($usuario_cont->getId()); $this->view->usuario_contribuinte = $usuario_cont->getId(); $this->view->usuario = $usuario; $this->view->modulos = Administrativo_Model_Modulo::getByAttribute('modulo', array('Contribuinte', 'WebService')); if (count($this->view->modulos) == 1) { $this->view->modulos = array($this->view->modulos); } $this->view->permissoes = $permissoes; $this->view->permissoesAdm = array(); }