public function init() { $this->setAction('/default/index/cadastro')->setMethod('post'); $oElm = $this->createElement('hidden', 'id'); $this->addElement($oElm); $aTipos = array(1 => 'Contador', 2 => 'Contribuinte Prestador', 3 => 'Contribuinte Tomador', 4 => 'Gráfica'); $oElm = $this->createElement('select', 'tipo', array('multiOptions' => $aTipos)); $oElm->setLabel('Tipo:'); $oElm->setAttrib('class', 'span3'); $oElm->setOptions($aTipos); $oElm->setRequired(TRUE); $this->addElement($oElm); $oElm = $this->createElement('text', 'cpfcnpj'); $oElm->setLabel('CPF / CNPJ:'); $oElm->setAttrib('class', 'span3 mask-cpf-cnpj'); $oElm->setAttrib('maxlength', '14'); $oElm->setRequired(TRUE); $oElm->addValidator(new E2Tecnologia_Validator_Cpf()); $oElm->addValidator(new E2Tecnologia_Validator_Cnpj()); $oElm->addFilter(new Zend_Filter_Digits()); $oElm->removeDecorator('errors'); $this->addElement($oElm); $oElm = $this->createElement('text', 'nome'); $oElm->setLabel('Nome / Razão Social:'); $oElm->setAttrib('class', 'span3'); $oElm->setRequired(TRUE); $oElm->removeDecorator('errors'); $this->addElement($oElm); $oElm = $this->createElement('text', 'nome_fantasia'); $oElm->setLabel('Nome Fantasia:'); $oElm->setAttrib('class', 'span3'); $oElm->setRequired(TRUE); $oElm->removeDecorator('errors'); $this->addElement($oElm); $oElm = $this->createElement('text', 'login'); $oElm->setLabel('Login:'******'class', 'span3'); $oElm->setRequired(TRUE); $oElm->removeDecorator('errors'); $this->addElement($oElm); $oElm = $this->createElement('password', 'senha'); $oElm->setLabel('Senha:'); $oElm->setAttrib('class', 'span3'); $oElm->setRequired(TRUE); $oElm->addValidator(new Zend_Validate_StringLength(array('min' => 6))); $oElm->addValidator(new Zend_Validate_Identical('senha_confirma')); $oElm->removeDecorator('errors'); $this->addElement($oElm); $oElm = $this->createElement('password', 'senha_confirma'); $oElm->setLabel('Confirme a Senha:'); $oElm->setAttrib('class', 'span3'); $oElm->setRequired(TRUE); $oElm->addValidator(new Zend_Validate_StringLength(array('min' => 6))); $oElm->addValidator(new Zend_Validate_Identical('senha')); $oElm->removeDecorator('errors'); $this->addElement($oElm); $oElm = $this->createElement('text', 'cep'); $oElm->setLabel('CEP:'); $oElm->setAttrib('class', 'span3 mask-cep'); $oElm->setAttrib('campo-ref', 'cep'); $oElm->setRequired(TRUE); $oElm->removeDecorator('errors'); $this->addElement($oElm); $oElm = new Zend_Form_Element_Hidden('pais'); $oElm->setValue('01058'); $this->addElement($oElm); $aEstados = Default_Model_Cadenderestado::getEstados($this->pais->getValue()); $oElm = $this->createElement('select', 'estado', array('multiOptions' => $aEstados)); $oElm->setLabel('Estado:'); $oElm->setAttrib('class', 'span3 select-estados'); $oElm->setAttrib('ajax-url', '/endereco/get-municipios/'); $oElm->setAttrib('campo-ref', 'uf'); $oElm->setRequired(TRUE); $oElm->removeDecorator('errors'); $this->addElement($oElm); $oElm = $this->createElement('select', 'cidade'); $oElm->setAttrib('class', 'span3'); $oElm->setAttrib('ajax-url', '/endereco/get-bairros/'); $oElm->setAttrib('campo-ref', 'municipio'); $oElm->setLabel('Cidade:'); $oElm->setRequired(TRUE); $oElm->removeDecorator('errors'); $this->addElement($oElm); $oElm = $this->createElement('select', 'cod_bairro'); $oElm->setLabel('Bairro:'); $oElm->setAttrib('class', 'span3 campo-oculto'); $oElm->setRequired(TRUE); $oElm->removeDecorator('errors'); $this->addElement($oElm); $oElm = $this->createElement('text', 'bairro'); $oElm->setLabel('Bairro:'); $oElm->setAttrib('class', 'span3'); $oElm->setRequired(TRUE); $oElm->removeDecorator('errors'); $this->addElement($oElm); $oElm = $this->createElement('select', 'cod_endereco'); $oElm->setLabel('Endereço:'); $oElm->setAttrib('class', 'span3 campo-oculto'); $oElm->setAttrib('campo-ref', 'logradouro'); $oElm->setAttrib('ajax-url', '/endereco/get-enderecos/'); $oElm->setRequired(TRUE); $oElm->removeDecorator('errors'); $this->addElement($oElm); $oElm = $this->createElement('text', 'endereco'); $oElm->setLabel('Endereço:'); $oElm->setAttrib('class', 'span3'); $oElm->setRequired(TRUE); $oElm->removeDecorator('errors'); $this->addElement($oElm); $oElm = $this->createElement('text', 'numero'); $oElm->setLabel('Número:'); $oElm->setAttrib('class', 'span3'); $oElm->setRequired(TRUE); $oElm->removeDecorator('errors'); $this->addElement($oElm); $e = $this->createElement('text', 'complemento'); $e->setLabel('Complemento:'); $e->setAttrib('class', 'span3'); $this->addElement($e); $oElm = $this->createElement('text', 'telefone'); $oElm->setLabel('Telefone:'); $oElm->setAttrib('class', 'span3 mask-fone'); $oElm->setRequired(TRUE); $oElm->removeDecorator('errors'); $this->addElement($oElm); $oElm = $this->createElement('text', 'email'); $oElm->setLabel('Email:'); $oElm->setAttrib('class', 'span3'); $oElm->addValidator(new Zend_Validate_EmailAddress()); $oElm->setRequired(TRUE); $oElm->removeDecorator('errors'); $this->addElement($oElm); $this->addDisplayGroup(array('tipo', 'cpfcnpj', 'nome', 'nome_fantasia', 'login', 'senha', 'senha_confirma', 'cep', 'estado', 'cidade', 'cod_bairro', 'bairro', 'cod_endereco', 'endereco', 'numero', 'complemento', 'telefone', 'email'), 'dados_nota', array('legend' => 'Dados do Usuário')); if ($this->confirmacao) { // Carrega perfis tem que ver como vai ser controlado qual perfil pode vincular usuarios com quais perfis $aPerfis = array('' => ''); $aListaPerfis = Administrativo_Model_Perfil::getAll(); foreach ($aListaPerfis as $oPerfil) { $aPerfis[$oPerfil->getId()] = $oPerfil->getNome(); } $oElm = $this->createElement('select', 'id_perfil', array('multiOptions' => $aPerfis)); $oElm->setLabel('Perfil:'); $oElm->setRequired(TRUE); $oElm->setOrder(1); $this->addElement($oElm); $this->addElement('submit', 'submit', array('label' => 'Confirmar', 'class' => 'span2', 'buttonType' => Twitter_Bootstrap_Form_Element_Submit::BUTTON_SUCCESS)); $this->addElement('submit', 'cancel', array('label' => 'Recusar', 'class' => 'span2', 'buttonType' => Twitter_Bootstrap_Form_Element_Submit::BUTTON_DANGER)); $this->addDisplayGroup(array('submit', 'cancel'), 'actions', array('disableLoadDefaultDecorators' => TRUE, 'decorators' => array('Actions'))); } else { $this->addElement('submit', 'submit', array('label' => 'Salvar', 'class' => 'span2', 'buttonType' => Twitter_Bootstrap_Form_Element_Submit::BUTTON_SUCCESS)); $this->addDisplayGroup(array('submit'), 'actions', array('disableLoadDefaultDecorators' => TRUE, 'decorators' => array('Actions'))); } }
/** * 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; }
/** * Renderiza o formulário * * @see Zend_Form::init() * @return Zend_form */ public function init() { $oBaseUrlHelper = new Zend_View_Helper_BaseUrl(); $this->setName('formCadastroUsuario'); $this->setAction($oBaseUrlHelper->baseUrl('/administrativo/usuario')); $this->setMethod('post'); $oElm = $this->createElement('hidden', 'id'); $oElm->setValue(NULL); $this->addElement($oElm); $aTipos = Administrativo_Model_TipoUsuario::getLista(); $oElm = $this->createElement('select', 'tipo', array('multiOptions' => $aTipos)); $oElm->setLabel('Tipo:'); $oElm->setAttrib('url-buscador', $oBaseUrlHelper->baseUrl('/administrativo/usuario/get-contadores')); $oElm->setRequired(TRUE); $this->addElement($oElm); $oElm = $this->createElement('hidden', 'cnpj'); $this->addElement($oElm); $aContadores = Administrativo_Model_Contador::getAll(); $aListaContadores = array(); foreach ($aContadores as $oContador) { $sNome = utf8_encode($oContador->attr('nome')); $aListaContadores[$oContador->attr('cnpj')] = $sNome . ' - ' . $oContador->attr('cnpj'); } $oElm = $this->createElement('select', 'contador', array('multiOptions' => $aListaContadores)); $oElm->setLabel('Contador:'); $this->addElement($oElm); $oElmBuscar = $this->createElement('button', 'buscador', array('label' => '', 'icon' => 'search', 'iconPosition' => Twitter_Bootstrap_Form_Element_Button::ICON_POSITION_LEFT)); $oElm = $this->createElement('hidden', 'insc_municipal'); $this->addElement($oElm); $oElm = $this->createElement('text', 'cnpj', array('append' => $oElmBuscar, 'class' => 'numerico', 'description' => '-')); $oElm->setAttrib('url-buscador', $oBaseUrlHelper->baseUrl('administrativo/usuario/get-contribuinte-cnpj')); $oElm->setLabel('CNPJ:'); $this->addElement($oElm); $oElm = $this->createElement('text', 'login'); $oElm->setLabel('Login:'******'errors'); $oElm->setRequired(TRUE); $this->addElement($oElm); $oElm = $this->createElement('text', 'nome'); $oElm->setLabel('Nome:'); $oElm->setRequired(TRUE); $oElm->removeDecorator('errors'); $this->addElement($oElm); $oElm = $this->createElement('text', 'email'); $oElm->setLabel('Email:'); $oElm->setRequired(TRUE); $oElm->removeDecorator('errors'); $this->addElement($oElm); $oElm = $this->createElement('text', 'fone'); $oElm->setLabel('Telefone:'); $oElm->setAttrib('class', 'telefone'); $oElm->setValidators(array(new Zend_Validate_Alnum(), new Zend_Validate_StringLength(array('max' => 13)))); $this->addElement($oElm); $aPerfis = array(); $oPerfilUsuario = $this->_view->user->getPerfil(); if ($this->_view->user->getAdministrativo()) { $aDadosPerfis = Administrativo_Model_Perfil::getAll(); foreach ($aDadosPerfis as $oPerfil) { $aPerfis[$oPerfil->getEntity()->getId()] = $oPerfil->getEntity()->getNome(); } } else { $aDadosPerfis = $oPerfilUsuario->getPerfis(); foreach ($aDadosPerfis as $oPerfil) { $aPerfis[$oPerfil->getId()] = $oPerfil->getNome(); } } $oElm = $this->createElement('select', 'perfil', array('multiOptions' => $aPerfis)); $oElm->removeDecorator('errors'); $oElm->setLabel('Perfil:'); $oElm->setRequired(TRUE); $this->addElement($oElm); $this->addElement('submit', 'submit', array('label' => 'Salvar', 'buttonType' => Twitter_Bootstrap_Form_Element_Submit::BUTTON_SUCCESS)); return $this; }