✏️ 正在编辑: SolicitacaoRecursoController.php
路径:
/srv/systems_dir/yuppiecred-lidernegocios/application/controllers/SolicitacaoRecursoController.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class SolicitacaoRecursoController extends Zend_Controller_Action { public function init() { /* Initialize action controller here */ } public function indexAction() { $form = new Form_Filtro_SolicitacaoRecurso(); $request = $this->getRequest(); $ns = new Zend_Session_Namespace('filtro_solicitacao_recurso'); $recursos = array(); if( $request->isPost() ){ $ns->unsetAll(); $ns->filtro_solicitacao_recurso = $request->getPost(); } if( count($ns->filtro_solicitacao_recurso) > 0 ){ $form->populate($ns->filtro_solicitacao_recurso); $model = new Model_SolicitacaoRecurso(); unset($ns->filtro_solicitacao_recurso['btn_filtrar']); $recursos = $model->listar($ns->filtro_solicitacao_recurso, 'id ASC'); } $this->view->paginator = $recursos; $this->view->form = $form; } public function saveAction() { $request = $this->getRequest(); $id = (int) $request->getParam('id'); $form = new Form_SolicitacaoRecurso(); if( $request->isPost() ){ if( strlen($request->getPost('cpf_cnpj')) <= 14 ){ $form->getElement('cpf_cnpj') ->setValidators(array( new Validators_Cpf() )); } else { $form->getElement('cpf_cnpj') ->setValidators(array( new Validators_Cnpj() )); } if( $form->isValid($request->getPost()) ){ $recurso = new Model_SolicitacaoRecurso($request->getPost()); try { $id = $recurso->salvar($recurso); $this->_helper->flashMessenger(array( 'success' => 'Dados salvos com sucesso.' )); } catch ( Zend_Exception $e ) { $this->_helper->flashMessenger($e->getMessage()); } } } if( $id > 0 ){ $recurso = new Model_SolicitacaoRecurso(); $dados = $recurso->exibir($id); if(!$dados['data_aprovacao']){ $dados['data_solicitacao'] = $dados['data_solicitacao'] != '0000-00-00' && $dados['data_solicitacao'] != null ? date('d/m/Y', strtotime($dados['data_solicitacao'])) : ''; $dados['data_pagamento'] = $dados['data_pagamento'] != '0000-00-00' && $dados['data_pagamento'] != null ? date('d/m/Y', strtotime($dados['data_pagamento'])) : ''; $dados['prazo'] = $dados['prazo'] != '0000-00-00' && $dados['prazo'] != null ? date('d/m/Y', strtotime($dados['prazo'])) : ''; $dados['periodo_de'] = $dados['periodo_de'] != '0000-00-00' && $dados['periodo_de'] != null ? date('d/m/Y', strtotime($dados['periodo_de'])) : ''; $dados['periodo_a'] = $dados['periodo_a'] != '0000-00-00' && $dados['periodo_a'] != null ? date('d/m/Y', strtotime($dados['periodo_a'])) : ''; if( strlen($dados['cpf_cnpj']) <= 11 ){ $dados['cpf_cnpj'] = String_Refatorar::resetCpf($dados['cpf_cnpj']); } else { $dados['cpf_cnpj'] = String_Refatorar::resetCnpj($dados['cpf_cnpj']); } $form->populate($dados->toArray()); } else { $this->_helper->flashMessenger(array( 'alert' => 'Não é possível alterar uma solicitação aprovada.' )); $this->_helper->redirector('index'); } } $this->view->form = $form; } public function deleteAction() { $request = $this->getRequest(); $id = (int) $request->getParam('id'); $solicitacoes = $request->getParam('solicitacoes'); $recurso = new Model_SolicitacaoRecurso(); if( $id > 0 ){ $recurso->excluir($id); $this->_helper->FlashMessenger(array( 'success' => 'Dados excluidos com sucesso!' )); } if( $solicitacoes > 0 ){ foreach ( $solicitacoes as $solicitacoesId ) { $result = $recurso->excluir($solicitacoesId); } if( $result > 0 ){ $this->_helper->FlashMessenger(array( 'success' => 'Dados excluidos com sucesso!' )); } } $this->_helper->redirector('index'); } public function aprovarSolicitacaoAction() { $request = $this->getRequest(); $id = (int) $request->getParam('id'); $solicitacoes = $request->getParam('solicitacoes'); $recurso = new Model_DbTable_SolicitacaoRecurso(); $count = 0; $countJaAprovados = 0; if( $id > 0 ){ $result = $recurso->aprovarSolicitacao($id); if( $result > 0 ){ $this->getRequest()->setParam('solicitacao_id', $id); $this->getRequest()->setParam('tipo_notificacao', 0); try { $this->enviarEmailAction(); } catch ( Exception $e ) { $this->_helper->flashMessenger(array( 'alert' => $e->getMessage() )); } $this->_helper->flashMessenger(array( 'success' => 'Solicitação aprovada com sucesso.' )); } else { $this->_helper->flashMessenger(array( 'alert' => 'Nenhum registro foi alterado.' )); } } if( $solicitacoes > 0 ){ foreach ( $solicitacoes as $solicitacaoId ) { $result = null; $dados = $recurso->fetchRow("id = " . $solicitacaoId); if( $dados['usuario_aprovacao'] || $dados['usuario_cancelamento'] ){ $countJaAprovados++; } else { $result = $recurso->aprovarSolicitacao($solicitacaoId); } if( $result ){ $this->getRequest()->setParam('solicitacao_id', $solicitacaoId); $this->getRequest()->setParam('tipo_notificacao', 0); try { $this->enviarEmailAction(); } catch ( Exception $e ) { $this->_helper->flashMessenger(array( 'alert' => $e->getMessage() )); } $count++; } } if( $result > 0 ){ $this->_helper->flashMessenger(array( 'success' => "{$count} Solicitação aprovada com sucesso." )); } elseif( $countJaAprovados > 0 ){ $this->_helper->flashMessenger(array( 'alert' => 'Solicitação já aprovada.' )); } else { $this->_helper->flashMessenger(array( 'alert' => 'Nenhum registro foi alterado.' )); } } $this->_helper->redirector('index'); } public function reprovarSolicitacaoAction() { $request = $this->getRequest(); $id = (int) $request->getParam('id'); $solicitacoes = $request->getParam('solicitacoes'); $recurso = new Model_DbTable_SolicitacaoRecurso(); $count = 0; $countJaReprovados = 0; if( $id > 0 ){ $result = $recurso->reprovarSolicitacao($id); if( $result > 0 ){ $this->getRequest()->setParam('solicitacao_id', $id); $this->getRequest()->setParam('tipo_notificacao', 1); try { $this->enviarEmailAction(); } catch ( Exception $e ) { $this->_helper->flashMessenger(array( 'alert' => $e->getMessage() )); } $this->_helper->flashMessenger(array( 'success' => 'Solicitação reprovada com sucesso.' )); } else { $this->_helper->flashMessenger(array( 'alert' => 'Nenhum registro foi alterado.' )); } } if( $solicitacoes > 0 ){ foreach ( $solicitacoes as $solicitacaoId ) { $result = null; $dados = $recurso->fetchRow("id = " . $solicitacaoId); if( $dados['usuario_cancelamento'] || $dados['usuario_aprovacao'] ){ $countJaReprovados++; } else { $result = $recurso->reprovarSolicitacao($solicitacaoId); } if( $result ){ $this->getRequest()->setParam('solicitacao_id', $solicitacaoId); $this->getRequest()->setParam('tipo_notificacao', 1); try { $this->enviarEmailAction(); } catch ( Exception $e ) { $this->_helper->flashMessenger(array( 'alert' => $e->getMessage() )); } $count++; } } if( $result > 0 ){ $this->_helper->flashMessenger(array( 'success' => "{$count} Solicitação reprovada com sucesso." )); } elseif( $countJaReprovados > 0 ){ $this->_helper->flashMessenger(array( 'alert' => 'Solicitação já reprovada.' )); } else { $this->_helper->flashMessenger(array( 'alert' => 'Nenhum registro foi alterado.' )); } } $this->_helper->redirector('index'); } public function selecionarAcaoAction() { $acao = $this->getRequest()->getPost('acao'); $acoes = array( 'AprovarSolicitacao' => 'aprovar-solicitacao', 'ReprovarSolicitacao' => 'reprovar-solicitacao', 'ExcluirSelecionados' => 'delete', ); if( isset($acoes[$acao]) ){ $this->_forward($acoes[$acao], null, null, $this->getRequest()->getParams()); } else { $this->_helper->redirector('index'); } } public function enviarEmailAction() { if( !Yuppie_Auth::getIdentity()->email ){ throw new Core_Exception("O sistema não pode enviar sua notificação" . " pois você não tem e-mail cadastrado."); } $modelEmpresa = new Model_Empresa(); $dadosEmpresa = $modelEmpresa->exibir(Yuppie_Auth::getIdentity()->empresa_id); $request = $this->getRequest(); $id = (int) $request->getParam('solicitacao_id'); $tipoNotificacao = $request->getParam('tipo_notificacao'); $model = new Model_SolicitacaoRecurso(); $dados = $model->exibir($id); if( !$dados ){ throw new Exception("ID inválido!"); } $modelUsuario = new Model_Usuario(); $dadosUsuario = $modelUsuario->exibir($dados['usuario']); //faz o envio da mensagem try { $mail = new Core_Mail(); $assunto = utf8_decode($tipoNotificacao == 0 ? 'Solicitação Aprovada - ' : "Solicitação Reprovada - " . $dadosEmpresa->nome); $dt = new Zend_Date($dados['data_solicitacao']); $this->view->data_solicitacao = $dt->get('dd/MM/yyyy'); /** * 0 - Notificação - Aprovada * 1 - Notificação - Reprovada */ if( $tipoNotificacao == 0 ){ $mensagem = $this->view->render('solicitacao-recurso/notificacao-aprovada.phtml'); } elseif( $tipoNotificacao == 1 ){ $mensagem = $this->view->render('solicitacao-recurso/notificacao-reprovada.phtml'); } $mail->enviarMensagemHtml($dadosUsuario['nome'], $dadosUsuario['email'], utf8_decode($assunto), $mensagem); } catch ( Zend_Mail_Exception $e ) { $this->_helper->flashMessenger(array( 'alert' => 'Uma falha pode ter ocorrido. ' . 'Sua mensagem não foi enviada. ' . 'Por favor, tente novamente! (' . Yuppie_Auth::getIdentity()->email . ') ' . $e->getMessage() )); } } public function resetAction() { $this->_helper->viewRenderer->setNoRender(); $this->_helper->getHelper('layout')->disableLayout(); $request = $this->getRequest(); $id = (int) $request->getParam('id'); if( count($id) > 0 ){ $dbtable = new Model_DbTable_SolicitacaoRecurso(); $result = $dbtable->updateResetSolicitacao($id); if( $result > 0 ){ $this->_helper->flashMessenger(array( 'success' => 'Solicitação resetada com sucesso.' )); } else { $this->_helper->flashMessenger(array( 'alert' => 'Nenhum registro foi alterado.' )); } } $this->_helper->redirector('index'); } }
💾 保存文件
← 返回文件管理器