/** * Método abstrato para validar o formulário em ambos os relatórios * * @param string $sTipoRelatorio * @return array|boolean */ protected function validarFormulario($sTipoRelatorio = Fiscal_Form_Relatorio4::TIPO9) { $aDados = $this->getRequest()->getPost(); $aRetornoErros = array(); $oForm = new Fiscal_Form_Relatorio4(); $oForm->render(NULL, $sTipoRelatorio); // Verifica se os parâmetros do formulário são válidos if ($oForm->isValid($aDados)) { // Parâmetros do formulário $sCompetencia = $this->getRequest()->getParam('data_competencia_inicial', NULL); $oValidaCompetencia = new DBSeller_Validator_Competencia(); $oValidaCompetencia->setCompetenciaInicial($sCompetencia); $oValidaCompetencia->setCompetenciaFinal($sCompetencia); // Valida a competência inicial e final if (!$oValidaCompetencia->isValid($sCompetencia)) { $aRetornoErros['status'] = FALSE; $aRetornoErros['fields'] = array('data_competencia_inicial'); $aMensagensErro = $oValidaCompetencia->getMessages(); $aIndicesErro = array_keys($aMensagensErro); foreach ($aIndicesErro as $sIndiceErro) { if (array_key_exists($sIndiceErro, $aMensagensErro)) { $aRetornoErros['error'][] = $this->translate->_($aMensagensErro[$sIndiceErro]); } } return $aRetornoErros; } return TRUE; } else { $aCamposComErro = array_keys($oForm->getMessages()); $sMensagemErro = $this->translate->_('Preencha os dados corretamente.'); if (count($aCamposComErro) > 1) { $sMensagemErro = $this->translate->_('Preencha os dados corretamente.'); } else { if (in_array('data_competencia', $aCamposComErro)) { $sMensagemErro = $this->translate->_('Informe a Competência corretamente.'); } } $aRetornoErros['status'] = FALSE; $aRetornoErros['fields'] = array_keys($oForm->getMessages()); $aRetornoErros['error'][] = $this->translate->_($sMensagemErro); } return $aRetornoErros; }
/** * Método abstrato para validar o formulário em ambos os relatórios * * @return array|boolean */ protected function validarFormulario() { $aDados = $this->getRequest()->getPost(); $aRetornoErros = array(); $oForm = new Fiscal_Form_Relatorio6(); $oForm->render(); // Verifica se os parâmetros do formulário são válidos if ($oForm->isValid($aDados)) { // Parâmetros do formulário $sCompetenciaInicial = $oForm->getValue('data_competencia_inicial'); $sCompetenciaFinal = $oForm->getValue('data_competencia_final'); $sPrestadorCnpj = $oForm->getValue('prestador_cnpj'); // Valida se é cadastrado e se é prestador de servico $oPrestador = Contribuinte_Model_Contribuinte::getByCpfCnpj($sPrestadorCnpj); if (!$oPrestador instanceof Contribuinte_Model_Contribuinte) { $sMensagemErro = $this->translate->_('Contribuinte não cadastrado no sistema.'); $aRetornoErros['status'] = FALSE; $aRetornoErros['fields'] = array('prestador_cnpj'); $aRetornoErros['error'][] = $this->translate->_($sMensagemErro); return $aRetornoErros; } else { if (!Contribuinte_Model_Servico::getByIm($oPrestador->getInscricaoMunicipal())) { $sMensagemErro = $this->translate->_('O contribuinte não é prestador de serviços.'); $aRetornoErros['status'] = FALSE; $aRetornoErros['fields'] = array('prestador_cnpj'); $aRetornoErros['error'][] = $this->translate->_($sMensagemErro); return $aRetornoErros; } } // Objeto para validação das competências inicial e final $oValidaCompetencia = new DBSeller_Validator_Competencia(); $oValidaCompetencia->setCompetenciaInicial($sCompetenciaInicial); $oValidaCompetencia->setCompetenciaFinal($sCompetenciaFinal); // Valida a competência inicial e final if (!$oValidaCompetencia->isValid($sCompetenciaInicial)) { $aRetornoErros['status'] = FALSE; $aRetornoErros['fields'] = array('data_competencia_inicial', 'data_competencia_final'); $aMensagensErro = $oValidaCompetencia->getMessages(); $aIndicesErro = array_keys($aMensagensErro); foreach ($aIndicesErro as $sIndiceErro) { if (array_key_exists($sIndiceErro, $aMensagensErro)) { $aRetornoErros['error'][] = $this->translate->_($aMensagensErro[$sIndiceErro]); } } return $aRetornoErros; } return TRUE; } else { $aCamposComErro = array_keys($oForm->getMessages()); $sMensagemErro = $this->translate->_('Preencha os dados corretamente.'); if (count($aCamposComErro) > 1) { $sMensagemErro = $this->translate->_('Preencha os dados corretamente.'); } else { if (in_array('data_competencia_final', $aCamposComErro)) { $sMensagemErro = $this->translate->_('Informe a Competência Final corretamente.'); } else { if (in_array('data_competencia_inicial', $aCamposComErro)) { $sMensagemErro = $this->translate->_('Informe a Competência Inicial corretamente.'); } } } $aRetornoErros['status'] = FALSE; $aRetornoErros['fields'] = array_keys($oForm->getMessages()); $aRetornoErros['error'][] = $this->translate->_($sMensagemErro); } return $aRetornoErros; }