コード例 #1
0
 /**
  * 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;
 }
コード例 #2
0
 public function editaAction()
 {
     parent::noTemplate();
     $id = $this->getRequest()->getParam('id');
     $modulo = $this->getRequest()->getParam('m');
     $controle = Administrativo_Model_Controle::getById($id);
     $modulo = Administrativo_Model_Modulo::getById($modulo);
     $this->view->modulo = $modulo;
     $oForm = $this->formControle($modulo->getId(), '/administrativo/controle/edita', $id, array('nome' => $controle->getNome(), 'identidade' => $controle->getIdentidade(), 'visivel' => $controle->getVisivel()));
     if ($this->getRequest()->isPost()) {
         if (!$oForm->isValid($_POST)) {
             $this->view->form = $oForm;
             $this->getResponse()->setHttpResponseCode(406);
         } else {
             $dados = $this->getRequest()->getPost();
             /* salva módulo */
             $controle->persist($dados);
             $this->_helper->getHelper('FlashMessenger')->addMessage(array('notice' => 'Controle modificado.'));
         }
     }
     $this->view->form = $oForm;
 }
コード例 #3
0
 /**
  * Atualiza os dados de um perfil informado
  */
 public function editarAction()
 {
     $iIdPerfil = $this->getRequest()->getParam('id');
     if ($iIdPerfil === null) {
         $this->_redirector->gotoSimple('index');
     }
     $oPerfil = Administrativo_Model_Perfil::getById($iIdPerfil);
     $oForm = $this->formPerfil('editar', $iIdPerfil);
     if ($oPerfil === null) {
         $this->_helper->getHelper('FlashMessenger')->addMessage(array('notice' => 'Perfil inválido.'));
         $this->_redirector->gotoSimple('index');
     }
     if ($this->getRequest()->isPost()) {
         $aDados = $this->getRequest()->getPost();
         if (!$oForm->isValidPartial($aDados)) {
             $this->view->form = $oForm;
         } else {
             $oPerfil->persist($aDados);
             $this->_helper->getHelper('FlashMessenger')->addMessage(array('notice' => 'Perfil modificado.'));
             $this->_redirector->gotoSimple('editar', 'perfil', 'administrativo', array('id' => $oPerfil->getId()));
         }
     } else {
         $aValues = array('tipo' => $oPerfil->getTipo(), 'nome' => $oPerfil->getNome(), 'administrativo' => $oPerfil->getAdministrativo());
         $this->view->form = $this->formPerfil('editar', $iIdPerfil, $aValues);
     }
     // busca permissões do perfil_perfis
     $aPerfilPerfis = array();
     $oListaPerfilPerfis = $oPerfil->getPerfis();
     foreach ($oListaPerfilPerfis as $aPerfil) {
         $aPerfilPerfis[] = $aPerfil->getId();
     }
     // busca permissões do perfil_perfis
     $aPerfilAcoes = array();
     $oListaPerfilAcoes = $oPerfil->getAcoes();
     foreach ($oListaPerfilAcoes as $aAcao) {
         $aPerfilAcoes[] = $aAcao->getId();
     }
     $this->view->aPerfis = Administrativo_Model_Perfil::getAll();
     $this->view->aPerfilPerfis = $aPerfilPerfis;
     $this->view->modulosAdm = Administrativo_Model_Modulo::getAll();
     $this->view->aPerfilAcoes = $aPerfilAcoes;
     $this->view->perfil = $oPerfil;
 }
コード例 #4
0
 /**
  * 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();
 }
コード例 #5
0
 /**
  * Formulario para criacao de novo modulo
  * @return \Zend_Form 
  */
 private function formModulo($sAction = '/administrativo/modulo/novo', $iIdModulo = NULL, Administrativo_Model_Modulo $aDados = NULL)
 {
     $oForm = new Twitter_Bootstrap_Form_Vertical();
     $oForm->setAction($this->view->baseUrl($sAction))->setMethod('POST')->setAttrib('id', 'form-modulo');
     if ($iIdModulo) {
         $oElm = $oForm->createElement('hidden', 'id');
         $oElm->setValue($iIdModulo);
         $oElm->setRequired(TRUE);
         $oForm->addElement($oElm);
     }
     $oElm = $oForm->createElement('text', 'modulo');
     $oElm->setLabel('Nome');
     $oElm->setValue($aDados != NULL && $aDados->getNome() != NULL ? $aDados->getNome() : NULL);
     $oElm->setRequired(TRUE);
     $oForm->addElement($oElm);
     $oElm = $oForm->createElement('text', 'identidade');
     $oElm->setLabel('Identidade');
     $oElm->setValue($aDados != NULL && $aDados->getIdentidade() != NULL ? $aDados->getIdentidade() : NULL);
     $oElm->setRequired(TRUE);
     $oForm->addElement($oElm);
     $oElm = $oForm->createElement('checkbox', 'visivel');
     $oElm->setLabel('Visibilidade');
     $oElm->setValue($aDados != NULL && $aDados->getVisivel() != NULL ? $aDados->getVisivel() : NULL);
     $oForm->addElement($oElm);
     return $oForm;
 }