public function preenche($aDados)
 {
     if (isset($aDados['z01_uf'])) {
         $aCidades = Default_Model_Cadendermunicipio::getByEstado($aDados['z01_uf']);
         $oElm = $this->getElement('z01_munic');
         $oElm->setMultiOptions($aCidades);
     }
 }
 /**
  * Carrega a lista de cidades no elemento, seta o valor do elemento se informado
  *
  * @param integer $iIdEstado
  * @param integer $iIdCidade [opcional]
  */
 public function carregarCidades($iIdEstado, $iIdCidade = NULL)
 {
     $aCidades = Default_Model_Cadendermunicipio::getByEstado($iIdEstado);
     $this->cidade->addMultiOptions($aCidades);
     $this->cidade->setValue($iIdCidade);
 }
 /**
  * Retorna o municipio do serviço
  *
  * @return string
  */
 public function getServicoMunicipio()
 {
     $oMunicipio = Default_Model_Cadendermunicipio::getByAttribute('cod_ibge', $this->getS_dados_municipio_incidencia());
     if ($oMunicipio == NULL || empty($oMunicipio)) {
         return '';
     }
     return $oMunicipio->getNome();
 }
 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;
 }
 public function preenche($aDados)
 {
     if (isset($aDados['z01_uf'])) {
         $aCidades = Default_Model_Cadendermunicipio::getByEstado($aDados['z01_uf']);
         if (isset($aDados['z01_munic'])) {
             $this->z01_uf->setValue($aDados['z01_munic']);
         }
         $this->z01_munic->setMultiOptions($aCidades);
     }
     if (isset($aDados['z01_munic'])) {
         $this->z01_munic->setValue($aDados['z01_munic']);
     }
     $this->populate($aDados);
     return $this;
 }
 /**
  * Método para confirmação do usuário eventual [json]
  *
  * @throws Exception
  * @return void
  */
 public function confirmarAction()
 {
     $oFiltro = new Zend_Filter_Digits();
     $aDados = $this->getRequest()->getParams();
     $sCpfCnpj = DBSeller_Helper_Number_Format::unmaskCPF_CNPJ($aDados['cnpjcpf']);
     // Popula o formulario
     $oForm = new Default_Form_LiberacaoCadastro();
     $oForm->populate($aDados);
     // Valida o formulario
     if ($oForm->isValid($aDados)) {
         if ($aDados['hash'] == NULL || $sCpfCnpj == NULL) {
             throw new Exception($this->translate->_('Campo(s) obrigatório(s) não informado(s).'));
         }
         $oDoctrine = Zend_Registry::get('em');
         $oDoctrine->getConnection()->beginTransaction();
         try {
             $oCadastroPessoa = Contribuinte_Model_CadastroPessoa::getByAttribute('hash', $aDados['hash']);
             if ($oCadastroPessoa == NULL) {
                 $sMensagemErro = 'Dados informados não encontrados. Favor entrar em contato com o suporte da prefeitura.';
                 throw new Exception($this->translate->_($sMensagemErro));
             }
             $iTipoLiberacaoUsuarioBloqueado = Contribuinte_Model_CadastroPessoa::TIPO_LIBERACAO_USUARIO_BLOQUEADO;
             if ($oCadastroPessoa->getTipoLiberacao() == $iTipoLiberacaoUsuarioBloqueado) {
                 $sMensagemErro = 'Cadastro foi recusado. Favor entrar em contato com o setor de fiscalização.';
                 throw new Exception($this->translate->_($sMensagemErro));
             }
             if ($sCpfCnpj != $oCadastroPessoa->getCpfcnpj()) {
                 throw new Exception($this->translate->_('CNPJ/CPF informado não é o mesmo informado no cadastro.'));
             }
             $oUsuarioCadastrado = Administrativo_Model_Usuario::getByAttribute('email', $oCadastroPessoa->getEmail());
             if ($oUsuarioCadastrado instanceof Administrativo_Model_Usuario) {
                 $sLink = '<a href="' . $this->view->serverUrl('/auth/login/esqueci-minha-senha/') . '">Clique Aqui</a>';
                 $sMensagemErro = "Já encontramos um cadastro com este email.<br>Caso tenha esquecido sua senha. {$sLink}";
                 throw new Exception($this->translate->_($sMensagemErro));
             }
             $oCgm = Contribuinte_Model_Cgm::getDadosCgm($sCpfCnpj);
             if ($oCadastroPessoa->getTipoLiberacao() == Contribuinte_Model_CadastroPessoa::TIPO_LIBERACAO_USUARIO && $oCgm == NULL) {
                 $sErro = $this->translate->_('Parametros estão inválidos (CGM não existe), ');
                 $sErro .= $this->translate->_('favor entrar em contato com o setor de fiscalização.');
                 throw new Exception($sErro);
             }
             if ($oCadastroPessoa->getTipoLiberacao() == Contribuinte_Model_CadastroPessoa::TIPO_LIBERACAO_USUARIO_CGM && $oCgm == NULL) {
                 $oNovoCgm = new Contribuinte_Model_Cgm();
                 if (strlen($oCadastroPessoa->getCpfCnpj()) >= 14) {
                     $oNovoCgm->setJuridico(TRUE);
                     $oNovoCgm->setCNPJ($oCadastroPessoa->getCpfCnpj());
                 } else {
                     $oNovoCgm->setJuridico(FALSE);
                     $oNovoCgm->setCPF($oCadastroPessoa->getCpfCnpj());
                 }
                 $sDescricaoMunicipio = Default_Model_Cadendermunicipio::getById($oCadastroPessoa->getCidade())->getNome();
                 $oNovoCgm->setNome($oCadastroPessoa->getNome());
                 $oNovoCgm->setEmail($oCadastroPessoa->getEmail());
                 $oNovoCgm->setCodigoIbgeCidade($oCadastroPessoa->getCidade());
                 $oNovoCgm->setDescricaoMunicipio($sDescricaoMunicipio);
                 $oNovoCgm->setEstado($oCadastroPessoa->getEstado());
                 $oNovoCgm->setTelefone($oFiltro->filter($oCadastroPessoa->getTelefone()));
                 $oNovoCgm->setCep($oFiltro->filter($oCadastroPessoa->getCep()));
                 $oNovoCgm->setEnderecoEcidade(FALSE);
                 if ($oCadastroPessoa->getCodBairro()) {
                     $oNovoCgm->setEnderecoEcidade(TRUE);
                 }
                 $oNovoCgm->setCodigoBairro($oCadastroPessoa->getCodBairro());
                 $oNovoCgm->setCodigoLogradouro($oCadastroPessoa->getCodEndereco());
                 $oNovoCgm->setDescricaoBairro($oCadastroPessoa->getBairro());
                 $oNovoCgm->setDescricaoLogradouro($oCadastroPessoa->getEndereco());
                 $oNovoCgm->setNumeroLogradouro($oCadastroPessoa->getNumero());
                 $oNovoCgm->setComplemento($oCadastroPessoa->getComplemento());
                 $oCodigoCgm = $oNovoCgm->persist();
                 $iCodigoCgm = $oCodigoCgm->codigo_cgm;
             } else {
                 $iCodigoCgm = $oCgm->getCodigoCgm();
             }
             $aArraTipoLiberacao = array(Contribuinte_Model_CadastroPessoa::TIPO_LIBERACAO_USUARIO_CGM, Contribuinte_Model_CadastroPessoa::TIPO_LIBERACAO_USUARIO);
             if (in_array($oCadastroPessoa->getTipoLiberacao(), $aArraTipoLiberacao)) {
                 // Usuário do sistema
                 $oUsuarioSistema = new Administrativo_Model_Usuario();
                 $oUsuarioSistema->setNome($oCadastroPessoa->getNome());
                 $oUsuarioSistema->setTelefone($oFiltro->filter($oCadastroPessoa->getTelefone()));
                 $oUsuarioSistema->setLogin($oCadastroPessoa->getCpfCnpj());
                 $oUsuarioSistema->setSenha($aDados['senha']);
                 $oUsuarioSistema->setEmail($oCadastroPessoa->getEmail());
                 $oUsuarioSistema->setHabilitado(TRUE);
                 $oUsuarioSistema->setAdministrativo(FALSE);
                 $oUsuarioSistema->setTipo(Administrativo_Model_TipoUsuario::$CONTRIBUINTE);
                 $oUsuarioSistema->setCgm($iCodigoCgm);
                 $oUsuarioSistema->setCnpj($oCadastroPessoa->getCpfCnpj());
                 $oUsuarioSistema->setPerfil($oCadastroPessoa->getPerfil()->getEntity());
                 $oUsuarioSistema->adicionaAcoes($oCadastroPessoa->getPerfil()->getAcoes());
                 $oUsuarioSistema->persist();
                 // Criamos o usuario eventual;
                 $oUsuarioEventual = new Administrativo_Model_UsuarioContribuinte();
                 $oUsuarioEventual->setCGM($iCodigoCgm);
                 $oUsuarioEventual->setHabilitado(TRUE);
                 $oUsuarioEventual->setTipoContribuinte(2);
                 $oUsuarioEventual->setCnpjCpf($oCadastroPessoa->getCpfCnpj());
                 $oUsuarioEventual->setUsuario($oUsuarioSistema->getEntity());
                 $oUsuarioEventual->copiaPerfilAcoes($oCadastroPessoa->getPerfil());
                 $oUsuarioEventual->persist();
                 // Cadastro de Pessoa
                 $oCadastroPessoa->setHash(NULL);
                 $oCadastroPessoa->persist();
             }
             $oDoctrine->getConnection()->commit();
             $aRetornoJson['status'] = TRUE;
             $aRetornoJson['success'] = $this->translate->_('Cadastro efetuado com sucesso.');
             $aRetornoJson['url'] = $this->view->serverUrl();
         } catch (Exception $oErro) {
             $oDoctrine->getConnection()->rollback();
             if (isset($oCodigoCgm) && isset($oCodigoCgm->codigo_cgm) && Contribuinte_Model_Cgm::removerCgm($oCodigoCgm->codigo_cgm)) {
                 $oLog = Zend_Registry::get('logger');
                 $oLog->log("Erro ao excluir o CGM: {$oCodigoCgm->codigo_cgm}", Zend_Log::INFO, ' ');
             }
             $aRetornoJson['status'] = FALSE;
             $aRetornoJson['error'][] = $oErro->getMessage();
         }
     } else {
         $aRetornoJson['status'] = FALSE;
         $aRetornoJson['fields'] = array_keys($oForm->getMessages());
         $aRetornoJson['error'][] = $this->translate->_('Preencha os dados corretamente.');
     }
     echo $this->getHelper('json')->sendJson($aRetornoJson);
 }
 /**
  * Preenche os dados referentes ao serviço
  *
  * @param array $aDados
  * @return $this
  */
 public function preencheDadosServico($aDados)
 {
     // Busca lista de cidades do UF e preenche no select */
     if (isset($aDados['estado'])) {
         $aCidade = Default_Model_Cadendermunicipio::getByEstado($aDados['estado']);
         $this->getElement('estado')->setValue($aDados['estado']);
         $this->getElement('s_dados_municipio_incidencia')->setMultiOptions($aCidade);
         if (isset($aDados['s_dados_municipio_incidencia'])) {
             $this->getElement('s_dados_municipio_incidencia')->setValue($aDados['s_dados_municipio_incidencia']);
         }
     }
     if (isset($aDados['s_dados_iss_retido'])) {
         $oElmentoForm = $this->getElement('s_dados_iss_retido');
         $oElmentoForm->setAttrib('checked', FALSE);
         if ($aDados['s_dados_iss_retido'] == 1) {
             $oElmentoForm->setAttrib('checked', TRUE);
         }
     }
     return $this;
 }
 /**
  * Retorna lista dos municipios pela uf dos estados
  * 
  * @param string $uf
  * @return JSON $lista[] Lista de cidades array(cidades "nome" => "nome")
  */
 public function getMunicipiosAction()
 {
     $sUf = $this->_getParam('uf');
     $aCidades = Default_Model_Cadendermunicipio::getByEstado($sUf);
     echo $this->getHelper('json')->sendJson($aCidades);
 }