✏️ 正在编辑: PropostaClienteController.php
路径:
/srv/systems_dir/yuppiecred/application/controllers/PropostaClienteController.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php /** * @sem_permissao */ class PropostaClienteController extends Zend_Controller_Action { public function init() { $this->_helper->layout->setLayout('layout_proposta_cliente'); } public function indexAction() { $dadosCorretor = null; try { $params = Core_Link::trataQuery(); } catch (\Throwable $th) { $this->_helper->flashMessenger([ 'error' => $th->getMessage() ]); $this->render(); return; } if ($params['corretor_id']) $dadosCorretor = (new Model_DbTable_Corretor())->fetchRow(['id = ?' => $params['corretor_id']]); if ($dadosCorretor) { $this->_redirect("proposta-cliente/save?{$_SERVER['QUERY_STRING']}"); } $this->_helper->flashMessenger([ 'alert' => 'Link inexistente, solicite o link correto para o seu corretor.' ]); } public function saveAction() { $request = $this->getRequest(); try { $params = Core_Link::trataQuery() ? Core_Link::trataQuery() : $request->getParams(); } catch (Core_Exception $e) { $this->_helper->flashMessenger([ 'alert' => $e->getMessage() ]); $this->render(); return; } if (empty($params['corretor_id'])) { $this->_helper->flashMessenger([ 'alert' => 'Não foi possível processar sua solicitação. Verifique com o agente credenciado se o token dele está correto.' ]); $this->render(); return; } $dadosCorretor = (new Model_DbTable_Corretor())->fetchRow(['id = ?' => $params['corretor_id']]); $dadosCliente = empty($params['base_id']) ? null : (new Model_DbTable_CallcenterBase())->fetchRow(['id = ?' => $params['base_id']]); $form = new Form_PropostaCliente(); if (empty($dadosCorretor)) { $this->_helper->flashMessenger([ 'alert' => 'Não foi possível processar sua solicitação. Verifique com o agente credenciado se o token dele está liberado.' ]); $this->render(); return; } if ($params['tipo_operacao']) { $form->ocutarCampo('tipo_operacao', $params['tipo_operacao']); } if ($request->isPost()) { $isValid = $form->isValid($request->getPost()); if ($isValid) { $modelProposta = new Model_Proposta(); $modelProposta->efetuarLoginPropostaCliente(); $request = $this->getRequest(); $dados = $request->getPost(); $dados['tipo'] = $dados['tipo_operacao']; $dados['digitado_banco'] = 0; $dados['data_emissao'] = Zend_Date::now()->get("yyyy-MM-dd"); $proposta = new Model_Proposta($dados); $cliente = new Model_Cliente($dados); try { $result = $proposta->adicionarPropostaCliente($proposta, $cliente); } catch (Exception $e) { $result = null; } if (!$result) { $this->_helper->flashMessenger([ 'alert' => 'Houve um problema com o envio dos seus dados, favor tente novamente.' ]); $this->_redirect("proposta-cliente?{$_SERVER['QUERY_STRING']}"); } try { $modelProposta->anexarDocumentosPropostaCliente(['id' => $result]); } catch (Exception $ex) { $this->_helper->flashMessenger([ 'alert' => 'Houve um problema com o envio dos anexos.' ]); } $this->_helper->flashMessenger([ 'success' => "Sua proposta foi enviada com sucesso! Aguarde nosso contato." ]); Yuppie_Auth::clearIdentity(); $this->_request->setPost(['corretor_id' => $params['corretor_id']]); $this->_forward('final', 'proposta-cliente'); $this->view->success = true; } else { $form->populate($request->getPost()); $this->_helper->flashMessenger([ 'alert' => 'Atenção! Preencha os campos corretamente.' ]); } } $dadosForm = []; if ($dadosCliente) { $dadosForm = $dadosCliente->toArray(); unset($dadosForm['id']); } $this->view->corretor = $dadosCorretor; $dadosForm['corretor_id'] = $dadosCorretor['id']; $dadosForm['empresa_id'] = $dadosCorretor['empresa_id']; $this->view->form = $form->populate($dadosForm); } public function finalAction() { $request = $this->getRequest(); $corretorId = $request->getParam('corretor_id'); $dadosCorretor = (new Model_DbTable_Corretor())->fetchRow(['id = ?' => $corretorId]); $this->view->corretor = $dadosCorretor; $this->view->documentos = $request->getParam('documentacao') ? true : false; } public function anexarDocumentosAction() { $request = $this->getRequest(); try { $params = Core_Link::trataQuery() ? Core_Link::trataQuery() : $request->getParams(); } catch (Core_Exception $e) { die($e->getMessage()); } if (empty($params['token_proposta'])) { $this->_helper->flashMessenger([ 'alert' => 'Atenção! Token não identificado!' ]); $this->render("error"); return; } try { $dadosProposta = (new Model_DbTable_Proposta())->fetchRow(['token_proposta = ?' => $params['token_proposta']]); $dadosCorretor = (new Model_DbTable_Corretor())->fetchRow(['id = ?' => $dadosProposta->corretor_id]); $dadosCliente = (new Model_DbTable_Cliente())->fetchRow("id = {$dadosProposta->cliente_id}")->toArray(); } catch(Zend_Db_Statement_Exception $e) { $this->_helper->flashMessenger([ 'error' => 'Não foi possível localizar os dados da proposta para iniciar o formulário.' ]); $this->render("error"); return; } unset($dadosCliente['id']); $dadosForm = array_merge($dadosProposta->toArray(), $dadosCliente); $form = new Form_PropostaClienteAnexos(); $arquivosAnexados = false; if ($request->isPost()) { $modelProposta = new Model_Proposta(); $modelProposta->efetuarLoginPropostaCliente(); $arquivosAnexados = $modelProposta->anexarDocumentosPropostaCliente($request->getPost()); } if ($arquivosAnexados) { Yuppie_Auth::clearIdentity(); $this->_request->setPost(['corretor_id' => $dadosProposta->corretor_id, 'documentacao' => 1]); $this->_forward('final', 'proposta-cliente'); } $form->populate([ 'id' => $dadosProposta->id, 'token_proposta' => $params['token_proposta'], ]); $this->view->corretor = $dadosCorretor; $this->view->dados = $dadosForm; $this->view->form = $form; } }
💾 保存文件
← 返回文件管理器