public function init() { $oBaseUrlHelper = new Zend_View_Helper_BaseUrl(); // pega codigo do IBGE do municipio no arquivo de configuracao $iCodigoIbge = Administrativo_Model_Prefeitura::getDadosPrefeituraBase()->getIbge(); $this->setAction($oBaseUrlHelper->baseUrl($this->sAction)); $this->setMethod(Zend_Form::METHOD_POST); $this->setAttrib('id', 'formTomador'); $oElm = $this->createElement('hidden', 'endereco_fora'); $oElm->setValue('1'); $this->addElement($oElm); $oElm = $this->createElement('text', 'z01_cgccpf'); $oElm->setLabel('CNPJ: '); $oElm->addValidator(new DBSeller_Validator_Cnpj()); $oElm->addValidator(new Zend_Validate_StringLength(array('min' => 14, 'max' => 18))); $oElm->addFilter(new Zend_Filter_Digits()); $oElm->setRequired(TRUE); $oElm->removeDecorator('errors'); $this->addElement($oElm); $oElm = $this->createElement('text', 'z01_nome'); $oElm->setLabel('Razão Social: '); $oElm->setRequired(TRUE); $oElm->removeDecorator('errors'); $this->addElement($oElm); $aEstados = Default_Model_Cadenderestado::getEstados('01058'); $oElm = $this->createElement('select', 'z01_uf', array('multiOptions' => $aEstados)); $oElm->setLabel('Estado: '); $oElm->setAttrib('class', 'select-estados'); $oElm->setAttrib('select-munic', 'z01_munic'); $oElm->setAttrib('ajax-url', '/endereco/get-municipios/'); $oElm->setAttrib('key', FALSE); $oElm->setRequired(TRUE); $oElm->addValidator(new Zend_Validate_Alpha()); $oElm->removeDecorator('errors'); $this->addElement($oElm); $oElm = $this->createElement('select', 'z01_munic'); $oElm->setLabel('Cidade: '); $oElm->setAttrib('key', TRUE); $oElm->setRequired(TRUE); $oElm->addValidator(new Zend_Validate_Digits()); $oElm->addValidator(new Zend_Validate_GreaterThan(array('min' => 0))); $oElm->removeDecorator('errors'); $this->addElement($oElm); $oElm = $this->createElement('text', 'z01_cep'); $oElm->setLabel('CEP: '); $oElm->setAttrib('maxlength', 8); $oElm->setRequired(TRUE); $oElm->addValidator(new Zend_Validate_Digits()); $oElm->addValidator(new Zend_Validate_StringLength(array('min' => 8))); $oElm->removeDecorator('errors'); $this->addElement($oElm); $aBairros = Default_Model_Cadenderbairro::getBairros(); $oElm = $this->createElement('select', 'z01_bairro_munic', array('multiOptions' => $aBairros)); $oElm->setLabel('Bairro: '); $oElm->setAttrib('municipio', $iCodigoIbge); $oElm->setRequired(TRUE); $oElm->addValidator(new Zend_Validate_Digits()); $oElm->addValidator(new Zend_Validate_GreaterThan(array('min' => 0))); $oElm->removeDecorator('errors'); $this->addElement($oElm); $aMunicipios = Default_Model_Cadenderrua::getRuas(); $oElm = $this->createElement('select', 'z01_ender_munic', array('multiOptions' => $aMunicipios)); $oElm->setLabel('Endereço: '); $oElm->setAttrib('municipio', $iCodigoIbge); $oElm->setRequired(TRUE); $oElm->addValidator(new Zend_Validate_Digits()); $oElm->addValidator(new Zend_Validate_GreaterThan(array('min' => 0))); $oElm->removeDecorator('errors'); $this->addElement($oElm); $oElm = $this->createElement('text', 'z01_bairro_fora'); $oElm->setLabel('Bairro: '); $oElm->setRequired(TRUE); $oElm->removeDecorator('errors'); $this->addElement($oElm); $oElm = $this->createElement('text', 'z01_ender_fora'); $oElm->setLabel('Endereço: '); $oElm->setRequired(TRUE); $oElm->removeDecorator('errors'); $this->addElement($oElm); $oElm = $this->createElement('text', 'z01_numero'); $oElm->setLabel('Número: '); $oElm->setRequired(TRUE); $oElm->removeDecorator('errors'); $this->addElement($oElm); $oElm = $this->createElement('text', 'z01_compl'); $oElm->setLabel('Complemento: '); $this->addElement($oElm); $oElm = $this->createElement('text', 'z01_telef'); $oElm->setLabel('Telefone: '); $oElm->addFilter(new Zend_Filter_Digits()); $this->addElement($oElm); $oElm = $this->createElement('text', 'z01_email'); $oElm->setLabel('Email: '); $oElm->setRequired(TRUE); $oElm->addValidator(new Zend_Validate_EmailAddress()); $oElm->removeDecorator('errors'); $this->addElement($oElm); if ($this->bSubmit) { $this->addElement(new Zend_Form_Element_Submit('Cadastrar', 'Cadastrar', array('label' => 'Criar'))); } return $this; }
public function preenche($aDados = NULL) { // Preenche campo cidade pelo estado if (isset($aDados['estado'])) { $aCidades = Default_Model_Cadendermunicipio::getByEstado($aDados['estado']); $elmCidade = $this->getElement('cidade'); if (is_array($aCidades)) { $elmCidade->setMultiOptions($aCidades); } } // Exibe/Oculta campos de bairro e endereco quando o codigo da cidade da prefeitura for igual ao escolhido $elmBairroTexto = $this->getElement('cod_bairro'); $elmBairroTexto->setAttrib('class', 'campo-oculto'); $elmEndTexto = $this->getElement('cod_endereco'); $elmEndTexto->setAttrib('class', 'campo-oculto'); // Classe "campo-oculto" no javascript // Codigo da cidade da prefeitura $iCodigoIbge = Administrativo_Model_Prefeitura::getDadosPrefeituraBase()->getIbge(); if (isset($aDados['cidade'])) { if ($iCodigoIbge == $aDados['cidade']) { $aDados['bairro'] = NULL; $elmBairroTexto = $this->getElement('bairro'); $elmBairroTexto->setAttrib('class', 'campo-oculto'); $elmBairroTexto->clearValidators(); $elmBairroTexto->setRequired(FALSE); $elmBairroCombo = $this->getElement('cod_bairro'); $elmBairroCombo->setAttrib('class', ''); $aBairros = Default_Model_Cadenderbairro::getBairros(); if (is_array($aBairros)) { $elmBairroCombo->setMultiOptions($aBairros); } $aDados['endereco'] = NULL; $elmEndTexto = $this->getElement('endereco'); $elmEndTexto->setAttrib('class', 'campo-oculto'); $elmEndTexto->clearValidators(); $elmEndTexto->setRequired(FALSE); $elmEndCombo = $this->getElement('cod_endereco'); $elmEndCombo->setAttrib('class', ''); $aEnderecos = Default_Model_Cadenderrua::getRuas(); if (is_array($aEnderecos)) { $elmEndCombo->setMultiOptions($aEnderecos); } } } $this->populate($aDados); return $this; }
/** * Carrega a lista de endereços no elemento, seta o endereço do elemento se informado * * @param $iIdBairro * @param $iIdEndereco [opcional] */ public function carregarEnderecos($iIdBairro, $iIdEndereco = NULL) { $aEnderecos = Default_Model_Cadenderrua::getRuas($iIdBairro); $this->cod_endereco->addMultiOptions($aEnderecos); $this->cod_endereco->setValue($iIdEndereco); }
/** * Retorna lista de todos os enderecos * * @return JSON $aEnderecos[] */ public function getEnderecosAction() { $aEnderecos = Default_Model_Cadenderrua::getRuas(); echo $this->getHelper('json')->sendJson($aEnderecos); }