コード例 #1
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;
 }
コード例 #2
0
 /**
  * Adiciona permissões para o perfil
  */
 public function setPerfilPerfisAction()
 {
     $iCodigoPerfil = $this->getRequest()->getParam('id');
     $aPerfis = $this->getRequest()->getParam('perfilperfis');
     $oPerfil = Administrativo_Model_Perfil::getById($iCodigoPerfil);
     $oPerfil->limparPerfis();
     $aPerfilPerfis = array();
     foreach ($aPerfis as $id => $sPerfil) {
         if ($sPerfil === 'on') {
             $aPerfilPerfis[] = Administrativo_Model_Perfil::getById($id);
         }
     }
     if ($aPerfilPerfis !== null) {
         $iCodigoPerfil = $oPerfil->getId();
         $oPerfil->adicionaPerfis($aPerfilPerfis);
     }
     $this->_helper->getHelper('FlashMessenger')->addMessage(array('notice' => 'Permissões para perfis modificadas para o Perfil.'));
     $this->_redirector->gotoSimple('editar', 'perfil', 'administrativo', array('id' => $oPerfil->getId()));
 }
コード例 #3
0
 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')));
     }
 }
コード例 #4
0
 /**
  * Copia ações definidas no perfil para o usuário
  *
  * @param Administrativo_Model_Perfil $perfil
  */
 public function copiaAcoesPerfil(Administrativo_Model_Perfil $perfil)
 {
     $this->setAdministrativo($perfil->getAdministrativo());
     foreach ($perfil->getAcoes() as $a) {
         $this->addAcao($a->getEntity());
     }
     $this->em->persist($this->entity);
     $this->em->flush();
 }
コード例 #5
0
 /**
  * Seta os dados para gravar a entidade
  * @param array $aDados dados para definir os dados da entidade
  */
 public function setDadosEventual(array $aDados)
 {
     $oFiltro = new Zend_Filter_Digits();
     if (!empty($aDados['id_perfil'])) {
         $this->setPerfil(Administrativo_Model_Perfil::getById($aDados['id_perfil']));
     }
     if (!empty($aDados['cnpjcpf'])) {
         $this->setCpfcnpj($oFiltro->filter($aDados['cnpjcpf']));
     }
     if (!empty($aDados['nome'])) {
         $this->setNome($aDados['nome']);
     }
     if (!empty($aDados['nome_fantasia'])) {
         $this->setNomeFantasia($aDados['nome_fantasia']);
     }
     if (!empty($aDados['cep'])) {
         $this->setCep($oFiltro->filter($aDados['cep']));
     }
     if (!empty($aDados['estado'])) {
         $this->setEstado($aDados['estado']);
     }
     if (!empty($aDados['cidade'])) {
         $this->setCidade($aDados['cidade']);
     }
     if (!empty($aDados['bairro'])) {
         $this->setBairro($aDados['bairro']);
     }
     if (!empty($aDados['cod_bairro'])) {
         $this->setCodBairro($aDados['cod_bairro']);
     }
     if (!empty($aDados['endereco'])) {
         $this->setEndereco($aDados['endereco']);
     }
     if (!empty($aDados['cod_endereco'])) {
         $this->setCodEndereco($aDados['cod_endereco']);
     }
     if (!empty($aDados['numero'])) {
         $this->setNumero($aDados['numero']);
     }
     if (!empty($aDados['complemento'])) {
         $this->setComplemento($aDados['complemento']);
     }
     if (!empty($aDados['telefone'])) {
         $this->setTelefone($oFiltro->filter($aDados['telefone']));
     }
     if (!empty($aDados['email'])) {
         $this->setEmail($aDados['email']);
     }
     if (!empty($aDados['hash'])) {
         $this->setHash($aDados['hash']);
     }
     if (!empty($aDados['tipo_liberacao'])) {
         $this->setTipoLiberacao($aDados['tipo_liberacao']);
     }
     if (!empty($aDados['data_cadastro'])) {
         $this->setDataCadastro($aDados['data_cadastro']);
     } else {
         $this->setDataCadastro(new DateTime());
     }
     return true;
 }
コード例 #6
0
 public static function atualizaTipoEmissao($aContribuintesAtualizar)
 {
     if (!is_array($aContribuintesAtualizar) && count($aContribuintesAtualizar) <= 0) {
         throw new Exception('Problemas ao atualizar tipo de emissão dos contribuintes!');
     }
     foreach ($aContribuintesAtualizar as $aUsuarioContribuinteAtualizar) {
         $aUsuarioContribuinte = NULL;
         $iTipoEmissaoWeb = NULL;
         $iWebServiceUsuarioTipoEmissao = NULL;
         if ($aUsuarioContribuinteAtualizar == NULL) {
             throw new Exception('Problemas ao atualizar tipo de emissão dos contribuintes!');
         }
         if (in_array('attr', get_class_methods($aUsuarioContribuinteAtualizar))) {
             $iTipoEmissaoWeb = $aUsuarioContribuinteAtualizar->attr('tipo_emissao');
             $iWebServiceUsuarioTipoEmissao = !empty($iTipoEmissaoWeb) ? $iTipoEmissaoWeb : 9;
             $aUsuarioContribuintes = Administrativo_Model_UsuarioContribuinte::getByAttribute('cnpj_cpf', $aUsuarioContribuinteAtualizar->attr('cnpj'));
             $iCgm = $aUsuarioContribuinteAtualizar->attr('cgm');
         } else {
             // quando o usuario é tomador que não tem inscrição os dados vem de outro metodo webservice
             if (empty($aUsuarioContribuinteAtualizar->cgccpf) || empty($aUsuarioContribuinteAtualizar->tipo_emissao)) {
                 $aUsuarioContribuinteAtualizar->cgccpf = $aUsuarioContribuinteAtualizar->iCnpj;
                 $aUsuarioContribuinteAtualizar->tipo_emissao = 9;
                 //tipo emissao tomador
                 $aUsuarioContribuinteAtualizar->numero_cgm = $aUsuarioContribuinteAtualizar->iCodigoCgm;
             }
             $iTipoEmissaoWeb = $aUsuarioContribuinteAtualizar->tipo_emissao;
             $iWebServiceUsuarioTipoEmissao = !empty($iTipoEmissaoWeb) ? $iTipoEmissaoWeb : 9;
             $aUsuarioContribuintes = Administrativo_Model_UsuarioContribuinte::getByAttribute('cnpj_cpf', $aUsuarioContribuinteAtualizar->cgccpf);
             $iCgm = $aUsuarioContribuinteAtualizar->numero_cgm;
         }
         if (!is_array($aUsuarioContribuintes)) {
             $aUsuarioContribuintes = array($aUsuarioContribuintes);
         }
         foreach ($aUsuarioContribuintes as $oContribuinte) {
             if (!$oContribuinte instanceof Administrativo_Model_UsuarioContribuinte) {
                 continue;
             }
             if ($iTipoEmissaoWeb == $oContribuinte->getTipoEmissao()) {
                 continue;
             }
             $aTiposEmissao = array(Contribuinte_Model_ContribuinteAbstract::TIPO_EMISSAO_DMS, Contribuinte_Model_ContribuinteAbstract::TIPO_EMISSAO_NOTA);
             $iTipoContribuinte = Administrativo_Model_UsuarioContribuinte::CONTRIBUINTE_MUNICIPAL;
             $iCgmAtualizar = NULL;
             if (!in_array($iWebServiceUsuarioTipoEmissao, $aTiposEmissao)) {
                 $iTipoContribuinte = Administrativo_Model_UsuarioContribuinte::CONTRIBUINTE_EVENTUAL;
                 $iCgmAtualizar = $iCgm;
             }
             $aDados = array('usuario' => $oContribuinte->getUsuario(), 'contribuinte' => $oContribuinte->getIm(), 'cnpj_cpf' => $oContribuinte->getCnpjCpf(), 'tipo_emissao' => $iWebServiceUsuarioTipoEmissao, 'tipo_contribuinte' => $iTipoContribuinte, 'cgm' => $iCgmAtualizar);
             $oContribuinte->persist($aDados);
             $oContribuinte->limparAcoes(TRUE);
             $oTipoEmissaoPerfil = $oContribuinte->getPerfilTipoEmissao($iWebServiceUsuarioTipoEmissao);
             $oPerfil = Administrativo_Model_Perfil::getById($oTipoEmissaoPerfil->iCodigoPerfil);
             $oContribuinte->adicionaAcoes($oPerfil->getAcoes());
         }
     }
 }
コード例 #7
0
 /**
  * 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;
 }