コード例 #1
0
 /**
  * Cadastro de novo perfil
  */
 public function novoAction()
 {
     $this->view->form = $this->formPerfil();
     if ($this->getRequest()->isPost()) {
         $aDados = $this->getRequest()->getPost();
         if ($this->view->form->isValid($aDados)) {
             $oPerfil = new Administrativo_Model_Perfil();
             $check_perfil = Administrativo_Model_Perfil::getByAttribute('nome', $aDados['nome']);
             if ($check_perfil !== null) {
                 $this->view->messages[] = array('error' => 'Perfil já cadastrado');
                 return;
             }
             $oPerfil->persist($aDados);
             $this->_helper->getHelper('FlashMessenger')->addMessage(array('notice' => 'Perfil cadastrado com sucesso.'));
             $this->_redirector->gotoSimple('editar', 'perfil', 'administrativo', array('id' => $oPerfil->getId()));
         }
     }
 }
コード例 #2
0
 /**
  * Alteração de usuário
  */
 public function editarAction()
 {
     $usuario_id = $this->getRequest()->getParam('id');
     $contribuinte = $this->getRequest()->getParam('cont');
     if ($usuario_id == NULL) {
         $this->_redirector->gotoSimple('index');
     }
     $usuario = Administrativo_Model_Usuario::getById($usuario_id);
     $form = $this->formUsuario('editar', array('id' => $usuario_id));
     if ($usuario == NULL) {
         $aMensagem = array('error' => $this->translate->_('Usuário inválido.'));
         $this->_helper->getHelper('FlashMessenger')->addMessage($aMensagem);
         $this->_redirector->gotoSimple('index');
     }
     if ($this->getRequest()->isPost()) {
         if (!$form->isValidPartial($_POST)) {
             $this->view->form = $form;
         } else {
             $aDados = $this->getRequest()->getPost();
             $oUsuarioEmail = Administrativo_Model_Usuario::getByAttribute('email', $aDados['email']);
             if ($oUsuarioEmail != NULL && $oUsuarioEmail->getId() != $usuario->getId()) {
                 $aMensagem = array('error' => $this->translate->_('Email já está cadastrado no sistema.'));
                 $this->_helper->getHelper('FlashMessenger')->addMessage($aMensagem);
                 $this->_redirector->gotoSimple('editar', 'usuario', 'administrativo', array('id' => $usuario->getId()));
             }
             $oPerfil = Administrativo_Model_Perfil::getByAttribute('id', $aDados['perfil']);
             $iTipoPerfil = $oPerfil->getEntity()->getTipo();
             if ($usuario->getTipo() != $iTipoPerfil) {
                 $aMensagem = array('error' => $this->translate->_('Perfil incorreto para o tipo selecionado.'));
                 $this->_helper->getHelper('FlashMessenger')->addMessage($aMensagem);
                 $this->_redirector->gotoSimple('editar', 'usuario', 'administrativo', array('id' => $usuario->getId()));
             }
             $usuario->persist($aDados);
             $aMensagem = array('success' => $this->translate->_('Usuário alterado com sucesso.'));
             $this->_helper->getHelper('FlashMessenger')->addMessage($aMensagem);
             $this->_redirector->gotoSimple('editar', 'usuario', 'administrativo', array('id' => $usuario->getId()));
         }
     } else {
         $aValues = array('id' => $usuario_id, 'login' => $usuario->getLogin(), 'nome' => $usuario->getNome(), 'email' => $usuario->getEmail(), 'fone' => $usuario->getTelefone(), 'administrativo' => $usuario->getAdministrativo(), 'perfil' => $usuario->getPerfil()->getId());
         $this->view->formVincularContribuinte = $this->formVincularContribuinte($usuario_id);
         $this->view->form = $this->formUsuario('editar', $aValues);
     }
     if ($contribuinte !== NULL) {
         $contribuinte = Administrativo_Model_UsuarioContribuinte::getById($contribuinte);
     }
     if ($contribuinte != NULL) {
         $this->view->contribuinte_id = $contribuinte->getId();
     }
     $usuarios_contribuintes = $usuario->getUsuariosContribuintes();
     $paginatorAdapter = new Zend_Paginator_Adapter_Array($usuarios_contribuintes);
     $paginator = new Zend_Paginator($paginatorAdapter);
     $paginator->setItemCountPerPage(10);
     $paginator->setCurrentPageNumber($this->_request->getParam('page'));
     $empresas = array();
     foreach ($paginator as $p) {
         $oRetorno = Administrativo_Model_UsuarioContribuinte::getContribuinte($p->getId());
         if (empty($oRetorno)) {
             continue;
         }
         $empresas[$p->getId()] = $oRetorno;
     }
     // busca permissoes administrativas
     $aPermissoesADM = array();
     $aAcoes = $usuario->getAcoesAdm();
     foreach ($aAcoes as $oAcao) {
         $aPermissoesADM[] = $oAcao->getId();
     }
     // formulario para vincular contribuinte
     $this->view->paginator = $paginator;
     $this->view->contribuintes = $empresas;
     $this->view->modulosAdm = Administrativo_Model_Modulo::getByAttribute('modulo', 'Administrativo');
     $this->view->permissoesAdm = $aPermissoesADM;
     $this->view->modulosFiscal = Administrativo_Model_Modulo::getByAttribute('modulo', 'Fiscal');
     $this->view->usuario = $usuario;
 }