/** * La todas as notificacoes referentes ao usuario * @param Administrativo_Model_Usuario $usuario */ public static function getNotificacoesUsuario(Administrativo_Model_Usuario $usuario) { $notificacoes = array(); if ($usuario->getAdministrativo()) { $notificacoes = array_merge(self::getNotificacoesCadastro($usuario), self::getNotificacoesRequisicaoRps($usuario)); } return $notificacoes; }
/** * Busca a aliquota por servico [Json] */ public function emissaoManualBuscarDadosServicoAction() { try { // Perfil do usuario $iIdPerfil = $this->oUsuario->getPerfil()->getId(); $iIdServico = $this->getParam('id_servico'); $aRetornoJson = array(); // Ignora se for prestador eventual if ($iIdPerfil != 6) { $aServicos = Contribuinte_Model_Servico::getByIm($this->oContribuinte->getInscricaoMunicipal(), FALSE); if (is_array($aServicos)) { foreach ($aServicos as $oServico) { if ($oServico->attr('cod_atividade') == $iIdServico) { $aRetornoJson = array('item_servico' => $oServico->attr('desc_item_servico'), 'cod_item_servico' => $oServico->attr('cod_item_servico'), 'estrut_cnae' => $oServico->attr('estrut_cnae'), 'deducao' => $oServico->attr('deducao'), 'aliq' => DBSeller_Helper_Number_Format::toMoney($oServico->attr('aliq'))); break; } } } } echo $this->getHelper('json')->sendJson($aRetornoJson); } catch (Exception $e) { $aRetorno['erro'] = TRUE; if ($e->getCode() == Global_Lib_Model_WebService::CODIGO_ERRO_CONSULTA_WEBSERVICE) { $aRetorno['mensagem'] = "E-cidade temporariamente insdisponível. Emissão bloqueada!"; } else { $aRetorno['mensagem'] = $e->getMessage(); } echo $this->getHelper('json')->sendJson($aRetorno); } }
/** * Cria um novo protocolo * @param int $iTipo * @param string $sMensagem * @param null $sCaminhoSistema * @throws Exception */ public function criaProtocolo($iTipo = 3, $sMensagem, $sCaminhoSistema = NULL) { if (!$sMensagem) { throw new Exception('Informe uma mensagem!'); } if (empty(self::$aTiposProtocolo[$iTipo])) { throw new Exception('Tipo de Protocolo está inválido!'); } try { /** * Monta a rota executada pelo sistema */ if (empty($sCaminhoSistema)) { $sSistemaEmUso = Zend_Controller_Front::getInstance()->getRequest(); $sCaminhoSistema = $sSistemaEmUso->getModuleName() . '/' . $sSistemaEmUso->getControllerName() . '/' . $sSistemaEmUso->getActionName(); } $oDataProcessamento = new DateTime(); $sLoginUsuario = Zend_Auth::getInstance()->getIdentity(); $oUsuario = Administrativo_Model_Usuario::getByAttribute('login', $sLoginUsuario['login']); $sData = $oDataProcessamento->format('Y-m-d\\TH:i:s'); $sCodigoProtocolo = SHA1(rand() . $sData . $aCodigoUsuario['id'] . time()); $this->setProtocolo($sCodigoProtocolo); $this->setTipo($iTipo); $this->setMensagem(trim($sMensagem)); $this->setSistema(trim($sCaminhoSistema)); $this->setUsuario($oUsuario->getEntity()); $this->setDataProcessamento($oDataProcessamento); $this->getEm()->persist($this->getEntity()); $this->getEm()->flush(); } catch (Exception $oErro) { throw new Exception($oErro->getMessage()); } return $this->getEntity(); }
/** * Lista todos os usuarios do sistema para o fiscal * poder acessa-lo */ public function listarCadastrosAction() { // retornar os contadores e contribuintes $aParametros = array('habilitado' => true, 'tipo' => array(1, 2)); $aOrdem = array('nome' => 'ASC'); $oUsuarios = Administrativo_Model_Usuario::getByAttributes($aParametros, $aOrdem); $this->view->aUsuarios = $oUsuarios; }
/** * Retorna o objeto do usuario * * @return ambiguos <Administrativo_Model_Usuario(), null> */ public static function getAuthData() { $oAuth = Zend_Auth::getInstance(); $sLogin = $oAuth->getIdentity(); if (isset($sLogin['login'])) { return Administrativo_Model_Usuario::getByAttribute('login', $sLogin['login']); } return NULL; }
/** * @param Administrativo_Model_Usuario $usuario * @param integer $contribuinte * @return Administrativo_Model_UsuarioContribuinte[] */ public static function getByUsuarioContribuinte($usuario, $contribuinte) { $qb = parent::getEm()->createQueryBuilder(); $qb->select('uc')->from(self::$entityName, 'uc')->where('1=1'); if ($usuario !== null) { $qb->andWhere('uc.usuario = :u'); $qb->setParameter('u', $usuario->getEntity()); } if ($contribuinte !== null) { $qb->andWhere('uc.im = :c'); $qb->setParameter('c', $contribuinte); } $a = array(); foreach ($qb->getQuery()->getResult() as $r) { $a[] = new Administrativo_Model_UsuarioContribuinte($r); } return $a; }
/** * Construtor da classe Modelo Relatório */ public function carregaDados() { $aIdentity = Zend_Auth::getInstance()->getIdentity(); $this->oDadosPrefeitura = Administrativo_Model_Prefeitura::getDadosPrefeituraBase(); $this->oDadosUsuario = Administrativo_Model_Usuario::getById($aIdentity['id']); $this->SetFillColor(220, 220, 220); $this->AddPage(); $this->SetAutoPageBreak(TRUE, 12); }
/** * Busca no webservice todos os contadores cadastrados * @param boolean $com_usuario TRUE para buscar todos inclusive os que ja tem usuário cadastrado * @return Administrativo_Model_Contador */ public static function getAll($com_usuario = false) { $result = self::get(array()); $a = array(); foreach ($result as $r) { if (!$com_usuario) { $usuario = Administrativo_Model_Usuario::getByAttribute('cnpj', $r->cnpj); if ($usuario === null) { $a[] = new self($r); } } else { $a[] = new self($r); } } return $a; }
/** * Recursos / Previlegios */ protected function _setupResourcesPrivilegesUserAuth() { $aDadosLogin = Zend_Auth::getInstance()->getIdentity(); $oUsuario = Administrativo_Model_Usuario::getByAttribute('login', $aDadosLogin["login"]); $oContribuinte = new Zend_Session_Namespace('nfse'); if (!isset($oContribuinte->contribuinte)) { $aUsuarioAcoes = $oUsuario->getAcoes(); if (is_array($aUsuarioAcoes) && count($aUsuarioAcoes) > 0) { foreach ($aUsuarioAcoes as $oUsuarioAcao) { $sControle = $oUsuarioAcao->getControle()->getIdentidade(); $sModulo = $oUsuarioAcao->getControle()->getModulo()->getIdentidade(); $oResource = new Zend_Acl_Resource("{$sModulo}:{$sControle}"); if (!$this->_acl->has($oResource->getResourceId())) { $this->_acl->addResource($oResource); } $oAcoesExtra = explode(',', trim($oUsuarioAcao->getSubAcoes())); $aAcoesExtra = array_merge($oAcoesExtra, array($oUsuarioAcao->getAcaoAcl())); foreach ($aAcoesExtra as $sAcao) { if (empty($sAcao)) { continue; } $this->_acl->allow('Usuario', $oResource->getResourceId(), $sAcao); } } } } if (!empty($oContribuinte->contribuinte)) { $iCodigoUsuarioContribuinte = $oContribuinte->contribuinte->getIdUsuarioContribuinte(); $oUsuarioContribuinte = Administrativo_Model_UsuarioContribuinte::getById($iCodigoUsuarioContribuinte); foreach ($oUsuarioContribuinte->getUsuarioContribuinteAcoes() as $oPermissoes) { $oAcoesExtra = explode(',', trim($oPermissoes->getAcao()->getSubAcoes())); $aAcoesExtra = array_merge($oAcoesExtra, array($oPermissoes->getAcao()->getAcaoAcl())); $sModulo = $oPermissoes->getAcao()->getControle()->getModulo()->getIdentidade(); $sControle = $oPermissoes->getAcao()->getControle()->getIdentidade(); $oResource = new Zend_Acl_Resource("{$sModulo}:{$sControle}"); if (!$this->_acl->has($oResource->getResourceId())) { $this->_acl->addResource($oResource); } foreach ($aAcoesExtra as $sAcao) { if (empty($sAcao)) { continue; } $this->_acl->allow('Usuario', $oResource->getResourceId(), $sAcao); } } } }
/** * Cria Formulário * * @see Zend_Form::init() */ public function init() { $oBaseUrlHelper = new Zend_View_Helper_BaseUrl(); $this->setName('formConsulta'); $this->setMethod(Zend_form::METHOD_POST); $this->setAction($oBaseUrlHelper->baseUrl('/administrativo/protocolo/consulta-processar')); /** * Consulta usuários ativos */ $aUsuarios = Administrativo_Model_Usuario::getByAttributes(array('habilitado' => true, 'tipo' => array(1, 2)), array('nome' => 'ASC')); $aListaUsuarios = array('' => 'Selecione'); foreach ($aUsuarios as $oUsuario) { $aListaUsuarios[$oUsuario->getId()] = trim(DBSeller_Helper_String_Format::wordsCap($oUsuario->getNome())); } $oElm = $this->createElement('select', 'usuario', array('multiOptions' => $aListaUsuarios, 'divspan' => '10')); $oElm->setLabel('Usuário/Contribuinte:'); $oElm->setAttrib('class', 'input-xlarge span4'); $oElm->setValue(NULL); $this->addElement($oElm); $oElm = $this->createElement('text', 'data_processamento_inicial', array('divspan' => '5')); $oElm->setLabel('Data Inicial:'); $oElm->setAttrib('class', 'span2'); $oElm->addValidator(new Zend_Validate_Date(array('locale' => 'pt-Br'))); $oElm->removeDecorator('errors'); $this->addElement($oElm); $oElm = $this->createElement('text', 'data_processamento_final', array('divspan' => '5')); $oElm->setLabel('Data Final:'); $oElm->setAttrib('class', 'span2'); $oElm->addValidator(new Zend_Validate_Date(array('locale' => 'pt-Br'))); $oElm->removeDecorator('errors'); $this->addElement($oElm); $oElm = $this->createElement('select', 'ordenacao', array('divspan' => '5')); $oElm->setLabel('Ordenação:'); $oElm->setAttrib('class', 'span2'); $oElm->addMultiOptions(array('asc' => 'Crescente', 'desc' => 'Decrescente')); $oElm->removeDecorator('errors'); $oElm->setRequired(TRUE); $this->addElement($oElm); $oElm = $this->createElement('text', 'protocolo', array('divspan' => '5')); $oElm->setLabel('Número do Protocolo:'); $oElm->setAttrib('class', 'span2'); $oElm->removeDecorator('errors'); $this->addElement($oElm); $this->addElement('submit', 'btn_consultar', array('divspan' => 2, 'label' => 'Consultar', 'class' => 'input-medium', 'buttonType' => Twitter_Bootstrap_Form_Element_Button::BUTTON_PRIMARY)); $this->addDisplayGroup(array('usuario', 'data_processamento_inicial', 'data_processamento_final', 'ordenacao', 'protocolo', 'btn_consultar'), 'dados_consulta', array('legend' => 'Parâmetros')); return $this; }
public function alteraUser() { // retorna os dados do fiscal para o sistema. if (isset($this->_session->iUsuarioEscolhido)) { // Seta os dados do usuário logado no sistema $aLogin = Zend_Auth::getInstance()->getIdentity(); $oUsuarioLogado = Administrativo_Model_Usuario::getByAttribute('login', $aLogin['login']); $this->user = $oUsuarioLogado; $this->view->user = $oUsuarioLogado; $this->view->layout()->user = $oUsuarioLogado; $this->_session->id = NULL; $this->_session->contribuinte = NULL; unset($this->_session->iUsuarioEscolhido); // Reseta permissões new DBSeller_Acl_Setup(TRUE); } }
public function init() { $this->view->messages = $this->_helper->getHelper('FlashMessenger')->getMessages(); $this->_redirector = $this->_helper->getHelper('Redirector'); $this->_ajaxContext = $this->_helper->getHelper('AjaxContext'); // pega login do usuario para mostrar no layout $login = Zend_Auth::getInstance()->getIdentity(); $this->view->user = Administrativo_Model_Usuario::getByAttribute('login', $login['login']); $this->view->moduleName = $this->getRequest()->getModuleName(); // inicializa variavel sessao $this->_session = new Zend_Session_Namespace('nfse'); $this->view->contribuinte = $this->_session->contribuinte; // verifica quantidade de notificações para o usuário logado if ($this->view->user !== null) { $notificacoes = Default_Model_Notificacao::getNotificacoesUsuario($this->view->user); $this->view->qtd_notif = count($notificacoes) == 0 ? '' : count($notificacoes); } }
/** * Retorna contribuinte pela inscrição municipal * * @param $iInscricaoMunicipal * @return Contribuinte_Model_Contribuinte|null|object */ public static function getByInscricaoMunicipal($iInscricaoMunicipal) { $oContribuinteWebService = NULL; if ($iInscricaoMunicipal != NULL) { $oContribuinteWebService = self::getDadosContribuinteEcidade($iInscricaoMunicipal); $iUsuarioLogadoSessao = Zend_Auth::getInstance()->getIdentity(); $iUsuarioLogado = Administrativo_Model_Usuario::getById($iUsuarioLogadoSessao['id']); $oUsuarioContribuinte = Administrativo_Model_UsuarioContribuinte::getByUsuarioContribuinte($iUsuarioLogado, $iInscricaoMunicipal); // verifica se tá cadastrado e se tem contribuinte vinculado no nota. if (empty($oUsuarioContribuinte) || is_array($oUsuarioContribuinte) && count($oUsuarioContribuinte) == 1) { $oContribuinte = self::preencherInstanciaContribuinte($oContribuinteWebService); // caso não exista ela não está cadastrado no nota então ele não tem id ainda if (!empty($oUsuarioContribuinte)) { $oContribuinte->setIdUsuarioContribuinte($oUsuarioContribuinte[0]->getId()); } return $oContribuinte; } } return NULL; }
/** * Página inicial do módulo padrão */ public function indexAction() { // Verifica se o usuário está logado parent::checkIdentity(); // Zera as permissões do contribuinte $oSessao = new Zend_Session_Namespace('nfse'); $oSessao->contribuinte = NULL; $this->view->contribuinte = NULL; $this->_session->id = NULL; $this->view->iUsuarioEscolhido = $oSessao->iUsuarioEscolhido; $aAuth = Zend_Session::namespaceGet('Zend_Auth'); $oUsuario = Administrativo_Model_Usuario::getById($aAuth['storage']['id']); if ($oUsuario->getTipo() == 3) { $oBaseUrl = new Zend_View_Helper_BaseUrl(); // Verifica se possui cadastros eventuais $aCadastrosEventuais = Contribuinte_Model_CadastroPessoa::getCadastrosParaLiberacao(); if (count($aCadastrosEventuais) > 0) { $sMensagem = "Hà " . count($aCadastrosEventuais) . " Cadastros Eventuais Pendentes <br/>"; $sMensagem .= " <a href=" . $oBaseUrl->baseUrl("/fiscal/usuario-eventual/listar-novos-cadastros") . "> Verificar </a>"; DBSeller_Plugin_Notificacao::addAviso('F001', $sMensagem); } // Verifica se possui solicitações de cancelamento $aSolicitacoesCancelamento = Contribuinte_Model_SolicitacaoCancelamento::getAll(); if (count($aSolicitacoesCancelamento) > 0) { $sMensagem = "Hà " . count($aSolicitacoesCancelamento) . " Solicitações de cancelamento de NFS-e <br/>"; $sMensagem .= " <a href=" . $oBaseUrl->baseUrl("/fiscal/cancelamento-nfse/consultar") . "> Verificar </a>"; DBSeller_Plugin_Notificacao::addAviso('F002', $sMensagem); } } // Tiver apenas um módulo redireciona para a default/index if (isset($this->view->user) && count($this->view->user->getModulos()) == 1) { $aModulos = each($this->view->user->getModulos()); $sModulo = strtolower($aModulos['value']->getNome()); $this->_redirector->gotoSimple('index', 'index', $sModulo); } // Recria as permissões do usuário new DBSeller_Acl_Setup(TRUE); }
/** * Tela inicial do módulo fiscal * * @return void */ public function indexAction() { $aAuth = Zend_Session::namespaceGet('Zend_Auth'); $oUsuario = Administrativo_Model_Usuario::getById($aAuth['storage']['id']); if ($oUsuario->getTipo() == 3) { $oBaseUrl = new Zend_View_Helper_BaseUrl(); // Verifica se possui cadastros eventuais $aCadastrosEventuais = Contribuinte_Model_CadastroPessoa::getCadastrosParaLiberacao(); if (count($aCadastrosEventuais) > 0) { $sMensagem = "Hà " . count($aCadastrosEventuais) . " Cadastros Eventuais Pendentes <br/>"; $sMensagem .= " <a href=" . $oBaseUrl->baseUrl("/fiscal/usuario-eventual/listar-novos-cadastros") . "> Verificar </a>"; DBSeller_Plugin_Notificacao::addAviso('F001', $sMensagem); } // Verifica se possui solicitações de cancelamento $aSolicitacoesCancelamento = Contribuinte_Model_SolicitacaoCancelamento::getAll(); if (count($aSolicitacoesCancelamento) > 0) { $sMensagem = "Hà " . count($aSolicitacoesCancelamento) . " Solicitações de cancelamento de NFS-e <br/>"; $sMensagem .= " <a href=" . $oBaseUrl->baseUrl("/fiscal/cancelamento-nfse/consultar") . "> Verificar </a>"; DBSeller_Plugin_Notificacao::addAviso('F002', $sMensagem); } } $this->view->oculta_breadcrumbs = TRUE; }
/** * Comprovante de importação de RPS */ public function rpsReciboAction() { parent::noLayout(); $iIdImportacao = $this->_getParam('id'); $oDoctrine = Zend_Registry::get('em'); $oImportacao = $oDoctrine->find('\\Contribuinte\\ImportacaoArquivo', $iIdImportacao); $oDadosUsuario = Administrativo_Model_Usuario::getById($oImportacao->getIdUsuario()); $oPrefeitura = Administrativo_Model_ParametroPrefeitura::getAll(); // Dados da View $this->view->oImportacao = $oImportacao; $this->view->oDadosUsuario = $oDadosUsuario; $this->view->oDadosPrefeitura = $oPrefeitura[0]; $this->view->sNomePrefeitura = $oPrefeitura[0]->getEntity()->getNome(); // Carrega a view do comprovante $sHtml = $this->view->render('importacao-arquivo/comprovante-importacao-rps.phtml'); // Renderiza a view do comprovante $this->renderPdf($sHtml, 'comprovante-importacao-rps', array('format' => 'A4')); }
/** * Adiciona o usuario que efetuou o cancelamento * * @param Administrativo_Model_Usuario $oUsuario */ public function setUsuarioCancelamento(Administrativo_Model_Usuario $oUsuario) { $this->setUsuario($oUsuario->getEntity()); }
/** * Busca permissões do usuário */ public function getPermissaoAction() { $iIdUsuarioContribuinte = $this->_getParam('usuario_contribuinte'); $oUsuarioContribuinte = Administrativo_Model_UsuarioContribuinte::getById($iIdUsuarioContribuinte); $aRetornoJson = array(); if ($oUsuarioContribuinte) { $aAcoes = $oUsuarioContribuinte->getAcoes(); foreach ($aAcoes as $oAcao) { $aRetornoJson[] = $oAcao->getId(); } } else { $iIdUsuario = $this->_getParam('usuario'); $oUsuario = Administrativo_Model_Usuario::getById($iIdUsuario); foreach ($oUsuario->getAcoes() as $oAcao) { $aRetornoJson[] = $oAcao->getId(); } } echo $this->getHelper('json')->sendJson($aRetornoJson); }
/** * Cria a Senha e Atualiza o os dados dado usuário */ public function recuperarSenhaPostAction() { $oRequest = $this->getRequest(); $aRetornoJson = array(); $aRetornoJson['status'] = TRUE; $aRetornoJson['message'] = ''; $oDoctrine = Zend_Registry::get('em'); try { $oDoctrine->getConnection()->beginTransaction(); if ($oRequest->isPost() || $oRequest->isGet()) { $oForm = new Auth_Form_RecuperarSenha(); if ($oRequest->senha != $oRequest->senharepetida) { $aRetornoJson['fields'] = array('senha', 'senharepetida'); throw new Exception($this->translate->_('As senhas informadas não correspondem.')); } if (!$oForm->isValid($oRequest->getParams())) { $aRetornoJson['fields'] = array_keys($oForm->getMessages()); throw new Exception($this->translate->_('Preencha os dados corretamente.')); } /** * Buscamos o usuário pelo email */ $oQueryAtivos = Administrativo_Model_Usuario::getQuery(); $oQueryAtivos->select('e'); $oQueryAtivos->from('\\Administrativo\\Usuario', "e"); $oQueryAtivos->where("e.email = '{$oForm->email->getValue()}' and e.habilitado = true"); $aEntitiesUsuarios = $oQueryAtivos->getQuery()->getResult(); if (count($aEntitiesUsuarios) != 1) { throw new Exception($this->translate->_('Email informado não é um cadastro válido.')); } $oUsuario = new Administrativo_Model_Usuario($aEntitiesUsuarios[0]); /** * Recriamos o hash do usuario. caso nao seja o mesmo enviado, negamos a troca de senha */ $sHashUsuario = $oUsuario->criarHash(); if ($sHashUsuario != $oRequest->getParam('hash')) { throw new Exception($this->translate->_('Código de verificação informado é inválido.')); } $oUsuario->setSenha($oRequest->getParam('senha')); $oUsuario->persist(); $oDoctrine->getConnection()->commit(); $aRetornoJson['success'] = $this->translate->_('Senha alterada com sucesso.'); $aRetornoJson['login'] = $oUsuario->getLogin(); $aRetornoJson['url'] = $this->view->baseUrl('/auth/login'); } } catch (Exception $eErro) { $oDoctrine->getConnection()->rollback(); $aRetornoJson['status'] = FALSE; $aRetornoJson['error'][] = $eErro->getMessage(); } echo $this->getHelper('json')->sendJson($aRetornoJson); }
/** * Carrega a autenticação do usuario de acordo com o retorno da validação do certificado * * @param string $sLoginUsuario * @throws Exception * @return boolean */ public function autenticaUsuario($sLoginUsuario) { try { $oEntityManager = Zend_Registry::get('em'); $oAuthAdapter = new Doctrine_Auth_Adapter($oEntityManager, 'Administrativo\\Usuario', 'login', 'senha'); $oAuthAdapter->setIdentity($sLoginUsuario); $oAuthAdapter->setCredential(''); $oAuth = Zend_Auth::getInstance(); $iStatus = $oAuth->authenticate($oAuthAdapter)->getCode(); if (in_array($iStatus, array(1, -3))) { $sLogin = $oAuth->getIdentity(); $oUser = Administrativo_Model_Usuario::getByAttribute('login', $sLoginUsuario); if ($oUser && $oUser->getHabilitado()) { Zend_Auth::getInstance()->getStorage()->write(array('id' => $oUser->getId(), 'login' => $sLoginUsuario)); } else { $this->oModeloImportacao->setMensagemErro('E157', 'Usuário não habilitado'); } } else { $this->oModeloImportacao->setMensagemErro('E157', 'Usuário Inválido'); } /** * Verifica se ocorreu algum erro no processamentos dos dados na importacao */ if ($this->oModeloImportacao->getErro()) { return $this->oModeloImportacao->processaErroWebService(NULL); } /** * Reecreve os dados e permissões de sessão na ACL */ new DBSeller_Acl_Setup(TRUE); /** * Verifica a permissão de execução da ação conforme liberação do usuário */ $sAmbiente = Zend_Controller_Front::getInstance()->getRequest()->getActionName(); if (!DBSeller_Plugin_Auth::checkPermission("webservice/{$sAmbiente}/recepcionar-lote-rps")) { return FALSE; } return TRUE; } catch (Exception $oErro) { throw new Exception($oErro->getMessage(), $oErro->getCode()); } }
/** * Envia um email com os dados para Recuperacao/alteração da senha do usuário * @param Administrativo_Model_Usuario $oUsuario instancia do usuario */ public static function enviarEmailSenha(Administrativo_Model_Usuario $oUsuario) { $sHash = $oUsuario->criarHash(); $oView = new Zend_View(); $oView->setScriptPath(APPLICATION_PATH . '/modules/auth/views/scripts/login/'); $oView->sUrlRecuperarSenha = $oView->serverUrl("/auth/login/recuperar-senha/hash/{$sHash}"); $oView->nome = $oUsuario->getEntity()->getNome(); $sTextoEmail = $oView->render('email-recuperacao-senha.phtml'); $oTranslate = Zend_Registry::get('Zend_Translate'); DBSeller_Helper_Mail_Mail::send($oUsuario->getEmail(), $oTranslate->_('ECidadeOnline2 - Recuperação de Senha'), $sTextoEmail); }
/** * Método responsável pelo envio de email no cancelamento ou na solicitação do mesmo * * @param $oNota * @param $oSolicitacao * @param $sJustificativaFiscal * @return null|string */ public function enviarEmailRejeicao($oNota, $oSolicitacao, $sJustificativaFiscal) { //Retorna os usuarios do tipo fiscal $aUsuariosFiscal = Administrativo_Model_Usuario::getByAttribute('tipo', Administrativo_Model_Usuario::USUARIO_TIPO_FISCAL); //Remove o usuário admin do array if ($aUsuariosFiscal[0]->getAdministrativo()) { unset($aUsuariosFiscal[0]); } $aEmailBCC = array(); //Pega os emails cadastrados dos usuarios fiscais foreach ($aUsuariosFiscal as $oUsuarioFiscal) { $sEmail = $oUsuarioFiscal->getEmail(); if (!is_null($sEmail) && $sEmail != '') { $aEmailBCC[] = $sEmail; } } $oValidadorEmail = new Zend_Validate_EmailAddress(); $emailTO = $oNota->getT_email(); $sMensagemRetorno = NULL; $sEmailTomador = $oSolicitacao->getEmailTomador(); if ($oValidadorEmail->isValid($emailTO) || !empty($sEmailTomador) && $oValidadorEmail->isValid($sEmailTomador) || count($aEmailBCC) > 0) { $iInscricaoMunicipal = $oNota->getP_im(); $oContribuinte = Contribuinte_Model_Contribuinte::getByInscricaoMunicipal($iInscricaoMunicipal); $this->view->nota = $oNota; $this->view->justificativa_fiscal = $sJustificativaFiscal; $this->view->tomadorNome = $oNota->getT_razao_social(); $this->view->prestadorNome = $oContribuinte->getNome(); $this->view->prestadorCnpj = DBSeller_Helper_Number_Format::maskCPF_CNPJ($oContribuinte->getCgcCpf()); $this->view->nfseNumero = $oNota->getNota(); $this->view->nfseUrl = $oNota->getUrlVerificacaoNota(); $this->mensagem = $this->view->render('nota/email-rejeicao-cancelamento.phtml'); // Verifica se foi mudado o e-mail do Tomador para enviar uma cópia oculta do cancelamento if (!empty($sEmailTomador) && $sEmailTomador != $oNota->getT_email() && $oValidadorEmail->isValid($sEmailTomador)) { $emailTO = $sEmailTomador; if ($oValidadorEmail->isValid($oNota->getT_email())) { $aEmailBCC[] = $oNota->getT_email(); } $sMensagemRetorno = "Cancelamento rejeitado com sucesso.<br>Email foi enviado para {$emailTO}"; } // Caso não haja email cadastrado na nota e nem email informado no cancelamento, // ou se for uma solicitação de cancelamento, o primeiro email de fiscal é colocado // como destinatário principal para que seja possível o envio if (is_null($emailTO) || empty($emailTO)) { $emailTO = $aEmailBCC[0]; unset($aEmailBCC[0]); $sMensagemRetorno = "Cancelamento efetuado com sucesso.<br>Email foi enviado para {$emailTO}"; } // Envia Email DBSeller_Helper_Mail_Mail::send($emailTO, "Nota Fiscal Eletrônica nº {$oNota->getNota()}", $this->mensagem, 'utf-8', $aEmailBCC); } return $sMensagemRetorno; }
/** * Método construtor, será executado para todos os módulos do sistema */ public function init() { $this->aIniConfig = $this->getFrontController()->getParam('bootstrap')->getApplication()->getOptions(); self::maintenance(); $this->zendHelperUrl = new Zend_View_Helper_Url(); // Seta os dados do módulo, controller, action para os controllers, views e layouts $this->module = $this->getRequest()->getModuleName(); $this->controller = $this->getRequest()->getControllerName(); $this->action = $this->getRequest()->getActionName(); $this->view->moduleName = $this->getRequest()->getModuleName(); $this->view->controller = $this->getRequest()->getControllerName(); $this->view->action = $this->getRequest()->getActionName(); $this->view->layout()->module = $this->getRequest()->getModuleName(); $this->view->layout()->controller = $this->getRequest()->getControllerName(); $this->view->layout()->action = $this->getRequest()->getActionName(); // Tradutor $this->translate = Zend_Registry::get('Zend_Translate'); $this->view->translate = $this->translate; $this->view->layout()->translate = $this->translate; // Ambiente $this->view->messages = $this->_helper->getHelper('FlashMessenger')->getMessages(); $this->_redirector = $this->_helper->getHelper('Redirector'); $this->_ajaxContext = $this->_helper->getHelper('AjaxContext'); // Seta os dados do contribuinte para as views e layouts $this->_session = new Zend_Session_Namespace('nfse'); $this->view->contribuinte = $this->_session->contribuinte; $this->view->layout()->contribuinte = $this->_session->contribuinte; // Seta os dados da prefeitura nas views e layouts $oPrefeitura = self::getDadosPrefeitura(); $this->oPrefeitura = $oPrefeitura; $this->view->oPrefeitura = $oPrefeitura; $this->view->layout()->oPrefeitura = $oPrefeitura; // Dados do usuário logado (independente do perfil) $aLogin = Zend_Auth::getInstance()->getIdentity(); $oUsuarioLogado = Administrativo_Model_Usuario::getByAttribute('login', $aLogin['login']); $this->usuarioLogado = $oUsuarioLogado; $this->view->usuarioLogado = $oUsuarioLogado; $this->view->layout()->usuarioLogado = $oUsuarioLogado; // Seta o usuário que irá utilizar o sistema (usuários escolhido pelo fiscal ou contador) if (isset($this->_session->iUsuarioEscolhido)) { $oUsuarioLogado = Administrativo_Model_Usuario::getByAttribute('id', $this->_session->iUsuarioEscolhido); $this->user = $oUsuarioLogado; $this->view->user = $oUsuarioLogado; $this->view->layout()->user = $oUsuarioLogado; } else { // Seta os dados do usuário iguais aos do usuário logado no sistema $this->user = $oUsuarioLogado; $this->view->user = $oUsuarioLogado; $this->view->layout()->user = $oUsuarioLogado; } }
/** * 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); }
private function aprovarUsuario() { // Atualiza Cadastro $iId = $this->_getParam('id'); $oCadastro = Administrativo_Model_Cadastro::getById($iId); $oCadastro->setStatus('1'); $oCadastro->persist(); $oFilterDigits = new Zend_Filter_Digits(); $oFilterTrim = new Zend_Filter_StringTrim(); // Cadastra Usuario $aDados = $this->_getAllParams(); $aUsuario['id_perfil'] = $oFilterDigits->filter($aDados['id_perfil']); $aUsuario['tipo'] = $oFilterDigits->filter($aDados['tipo']); $aUsuario['cnpj'] = $oFilterDigits->filter($aDados['cpfcnpj']); $aUsuario['login'] = $oFilterTrim->filter($aDados['login']); $aUsuario['senha'] = $oFilterTrim->filter($aDados['senha']); $aUsuario['nome'] = $oFilterTrim->filter($aDados['nome']); $aUsuario['email'] = $oFilterTrim->filter($aDados['email']); $aUsuario['fone'] = $oFilterDigits->filter($aDados['telefone']); $oUsuario = new Administrativo_Model_Usuario(); $oUsuario->persist($aUsuario); }
/** * Execucao do cancelamento de NFSE via ajax */ public function cancelarPostAction() { $aDados = $this->getRequest()->getParams(); $oForm = new Contribuinte_Form_NotaCancelar(); $oForm->populate($aDados); if (!$oForm->isValid($aDados)) { $aRetornoJson['status'] = FALSE; $aRetornoJson['fields'] = array_keys($oForm->getMessages()); $aRetornoJson['error'][] = 'Preencha os dados corretamente.'; } else { try { $oContribuinte = $this->_session->contribuinte; $oPrefeitura = Administrativo_Model_Prefeitura::getDadosPrefeituraBase(); $aLoginUsuario = Zend_Auth::getInstance()->getIdentity(); $oUsuario = Administrativo_Model_Usuario::getByAttribute('login', $aLoginUsuario['login']); $oDataCancelamento = new DateTime(); $oNota = Contribuinte_Model_Nota::getById($aDados['id']); if ($oNota->podeCancelar($oContribuinte)) { //Retorna os usuarios do tipo fiscal $aUsuariosFiscal = Administrativo_Model_Usuario::getByAttribute('tipo', Administrativo_Model_Usuario::USUARIO_TIPO_FISCAL); //Remove o usuário admin do array if ($aUsuariosFiscal[0]->getAdministrativo()) { unset($aUsuariosFiscal[0]); } $aEmailBCC = array(); //Pega os emails cadastrados dos usuarios fiscais foreach ($aUsuariosFiscal as $oUsuarioFiscal) { $sEmail = $oUsuarioFiscal->getEmail(); if (!is_null($sEmail) && $sEmail != '') { $aEmailBCC[] = $sEmail; } } if ($oPrefeitura->getSolicitaCancelamento()) { $oSolicitacaoCancelamento = new Contribuinte_Model_SolicitacaoCancelamento(); $oSolicitacaoCancelamento->solicitar($oNota->getEntity(), $aDados, $oUsuario->getEntity()); $sJustificativa = $oSolicitacaoCancelamento->getJustificativa(); $sRetornoEmail = $this->enviarEmailCancelamento($oNota, $aDados, $aEmailBCC, TRUE, $sJustificativa); $sMensagemRetorno = "Cancelamento solicitado com sucesso!"; } else { $oCancelamentoNota = new Contribuinte_Model_CancelamentoNota(); $oCancelamentoNota->setUsuarioCancelamento($oUsuario); $oCancelamentoNota->setNotaCancelada($oNota); $oCancelamentoNota->setJustificativa($aDados['cancelamento_justificativa']); $oCancelamentoNota->setMotivoCancelmento($aDados['cancelamento_motivo']); $oCancelamentoNota->setDataHora($oDataCancelamento); $oCancelamentoNota->salvar(); $sRetornoEmail = $this->enviarEmailCancelamento($oNota, $aDados, $aEmailBCC, FALSE); $sMensagemRetorno = "Cancelamento efetuado com sucesso!"; } $sMensagemRetorno = is_null($sRetornoEmail) ? $sMensagemRetorno : $sRetornoEmail; $aRetornoJson['status'] = TRUE; $aRetornoJson['success'] = $sMensagemRetorno; } else { throw new Exception("Esta nota não pode mais ser cancelada!"); } } catch (Exception $oErro) { $aRetornoJson['status'] = FALSE; $aRetornoJson['error'][] = $oErro->getMessage(); } } echo $this->getHelper('json')->sendJson($aRetornoJson); }