/** * 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())); } } }
/** * 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; }