Ejemplo n.º 1
0
 public function mediacaoAction()
 {
     $model = new Application_Model_Propostas();
     $modelCliente = new Application_Model_Clientes();
     $modelImovel = new Application_Model_Empreendimentos();
     $request = $this->_request;
     $id = $request->getParam('id');
     if ($id) {
         $data = $model->selectByClientId($id);
         if ($data['dados_extras']) {
             $data = json_decode($data['dados_extras'], true);
             $empreendimento = $modelImovel->selectById($data['imovel']);
             // Verificando se tem corretagem para o empreendimento
             if ($empreendimento['cad_corretagem'] == false) {
                 $this->view->messages = array('Proposta sem contrato de mediação');
                 $this->view->message_type = "alert-info";
                 $this->view->data = array();
                 return false;
             }
             $condicoes = $model->selectCondicoesPagamento($id);
             $data['imovel'] = $empreendimento['nome'];
             $data['cad_corretagem'] = $empreendimento['cad_corretagem'];
             $data['parcelas'] = json_decode($condicoes['parcelas'], true);
             $this->view->data = $data;
         } else {
             $this->view->data = array();
         }
     }
 }
Ejemplo n.º 2
0
 public function editAction()
 {
     $request = $this->_request;
     $model_proposta = new Application_Model_Propostas();
     $model_imovel = new Application_Model_Empreendimentos();
     $form = new Application_Form_Financeiro();
     $id = $request->getParam('id');
     if ($request->isPost()) {
         $data = $request->getPost();
         $data['parcelas_pagas'] = isset($data['parcelas_pagas']) ? json_encode($data['parcelas_pagas']) : array();
         $data['comissao'] = isset($data['comissao']) ? json_encode($data['comissao']) : json_encode(array());
         if ($form->valid($data)) {
             $dataUpdate = $data;
             $getCondioes = $model_proposta->selectCondicoesPagamento($id);
             // Removendo campos inexistentes para fazer update
             // TODO: colocar esse processo dinamico dentro do Model
             unset($dataUpdate['locked']);
             unset($dataUpdate['locked_by']);
             unset($dataUpdate['nome']);
             unset($dataUpdate['total']);
             $dataUpdate['last_modified'] = date('Y-d-m h:i:s', time());
             // Tenta atualizar se não acresenta uma nova condição
             if ($model_proposta->updateCondicoesPagamento($id, $dataUpdate)) {
                 $this->view->messages = array('Atualizado com sucesso!');
                 $this->view->message_type = 'alert-success';
                 // Se não existir a condição ele cria uma nova.
             } else {
                 if (empty($getCondioes)) {
                     $model_proposta->insertCondicoesPagamento($dataUpdate);
                     $this->view->messages = array('Dados inserido com sucesso!');
                     $this->view->message_type = 'alert-success';
                 } else {
                     $this->view->messages = array('Sem alterações!');
                     $this->view->message_type = 'alert-info';
                 }
             }
         }
     } else {
         $data = $model_proposta->getPropostaAutorizada($id);
         $is_locked = $this->_acl_model->checkLocked($data['locked'], $data['locked_by']);
         if ($is_locked) {
             $this->view->messages = array('Item bloqueado para edição');
             $this->view->form = '';
             $this->view->hide = true;
             return false;
         } else {
             $model_proposta->lockRow($data['id_proposta'], CURRENT_USER_ID, 1);
             $dados_extras = json_decode($data['dados_extras'], true);
             $data['nome'] = $dados_extras['nome'];
             $data['data_proposta'] = $dados_extras['data_proposta'];
             unset($data['dados_extras']);
             // Se estiver zerado sera gerado um erro informando a situação
             $empreendimento = $model_imovel->selectById($dados_extras['imovel']);
             if (empty($empreendimento)) {
                 $this->view->messages = array('Empreendimento não informado na proposta!');
                 $this->view->message_type = 'alert-warning';
                 $this->view->hide = true;
                 return false;
             } else {
                 $unidades = json_decode($empreendimento['unidades'], true);
                 // Passando o valor da comissão do imóvel
                 foreach ($unidades as $unidade) {
                     if ($unidade['bloco-quadra'] == $dados_extras['imovel_bloco_quadra']) {
                         $data['total'] = $unidade['comissao'];
                     }
                 }
             }
         }
     }
     $this->view->barTitle = 'Parcelas: ' . $data['nome'];
     $form->populate($data);
     $this->view->form = $form;
     $this->view->data = $data;
 }
 public function getImovelAction()
 {
     $request = $this->_request;
     $model = new Application_Model_Empreendimentos();
     $this->_helper->layout->setLayout('ajax');
     if ($request->isPost()) {
         $data = $request->getPost();
         $result = $model->selectById($data['id']);
         if ($data['unidades']) {
             $return = array();
             $result = json_decode($result['unidades']);
             // Formatando index
             foreach ($result as $unidade) {
                 $return[] = $unidade;
             }
             echo json_encode($return);
             return false;
         }
         echo json_encode($result);
     }
 }