public function indexAction() { $formBuscaCepAviso = new Form_Site_BuscaCepAviso(); $this->view->formBuscaCepAviso = $formBuscaCepAviso; $cep_busca = $this->getRequest()->getParam("cep_busca", false); if ($cep_busca) { $cep = $this->getRequest()->getParam('cep_busca'); $busca_cep_id = $this->gravaBuscaCep($cep); $formBuscaCepAviso->busca_id->setValue($busca_cep_id); try { /** * encontra o endereco */ $pluginEndereco = new Plugin_Endereco($cep); $this->view->pluginEndereco = $pluginEndereco; if (!$pluginEndereco->get_endereco_object()) { die('erro'); } /** * faco a busca */ $modelSalao = new Model_DbTable_Salao(); $saloes = $modelSalao->buscaSaloes($pluginEndereco); /** * caso nao tenha nenhum salao no bairro pesquisa na cidade */ $this->view->saloes_cidade = $modelSalao->buscaSaloesCidade($pluginEndereco); $this->view->saloes = $saloes; /** * outros dados para a view */ $this->view->cep = $cep; $this->view->endereco = $pluginEndereco->__toString(); /** * atualiza os registros da busca */ if (Zend_Auth::getInstance()->hasIdentity() && isset(Zend_Auth::getInstance()->getIdentity()->usuario_id)) { $busca_email = Zend_Auth::getInstance()->getIdentity()->usuario_email; } else { $busca_email = null; } $dadosAtualizaBusca = array('busca_registros' => $saloes->count(), 'busca_email' => $busca_email, 'busca_cidade' => $pluginEndereco->get_cidade(), 'busca_estado' => $pluginEndereco->get_uf(), 'busca_mobile' => $this->mobileDetect->isMobile() ? 1 : 0); $this->atualizaBuscaCep($busca_cep_id, $dadosAtualizaBusca); } catch (Exception $ex) { /** * atualiza a busca */ $dadosAtualizaBusca = array("busca_valida" => 0); $this->atualizaBuscaCep($busca_cep_id, $dadosAtualizaBusca); $this->_helper->flashMessenger->addMessage(array('danger' => $ex->getTraceAsString())); $this->_redirect("busca/"); } } }
public function isValid($value, $context = null) { // verifica se já existe $modelSalao = new Model_DbTable_Salao(); $salao = $modelSalao->getByField('salao_email', $value); if (null !== $salao) { $this->_error(self::NOT_VALID); return false; } return true; }
protected function geraSlug() { if (!$this->salao_nome) { throw new Exception("Nenhum nome de salão enviado"); } $slug = $this->corrigir($this->salao_nome); // verifica se ja existe slug $modelSalao = new Model_DbTable_Salao(); $ifExists = $modelSalao->fetchAll("salao_slug = '{$slug}'"); if ($ifExists->count() > 0) { $slug .= $ifExists->count() + 1; } return $slug; }
public function isValid($value, $context = null) { // verifica se e valido if (!$this->valida_cnpj($value)) { $this->_error(self::NOT_VALID); return false; } // verifica se já existe $modelSalao = new Model_DbTable_Salao(); $salao = $modelSalao->getByField("salao_cnpj", $value); if (null !== $salao) { $this->_error(self::ALREADY_EXISTS); return false; } return true; }
public function indexAction() { $salao_slug = $this->getRequest()->getParam("slug"); // corrigir slug caso necessario $pluginSalaoSlug = new Plugin_SalaoSlug($salao_slug); $salao_slug = $pluginSalaoSlug->corrigir($salao_slug); // buscao o id do salao $modelSalao = new Model_DbTable_Salao(); $salao = $modelSalao->getByField("salao_slug", $salao_slug); if (!$salao) { throw new Exception("Desculpe! Não encontramos a página solicitada!", 401); } /** * grava o visualizacao */ $modelSalaoVisualizacao = new Model_DbTable_SalaoVisualizacao(); $modelSalaoVisualizacao->insert(array('salao_id' => $salao->salao_id)); // caso seja mobile visualizacao antiga $mobileDetect = new Mobile_MobileDetect(); if ($mobileDetect->isMobile()) { $this->_redirect("agenda/especialidade/salao/" . $salao->salao_id); } /** * PROFISSIONAIS DA BELEZA */ $modelProfissionalBeleza = new Model_DbTable_ProfissionalBeleza(); $profissionais = $modelProfissionalBeleza->getProfissionaisBeleza($salao->salao_id); /** * ESPECIALIDADES E PRECOS */ $modelEspecialidadePreco = new Model_DbTable_EspecialidadePreco(); $especialidades = $modelEspecialidadePreco->getPrecosEspecialidadesSalao($salao->salao_id); $this->view->especialidades = $especialidades; /** * HORARIO DE FUNCIONAMENTO */ $modelSalaoFuncionamento = new Model_DbTable_SalaoFuncionamento(); $funcionamento = $modelSalaoFuncionamento->getByField("salao_id", $salao->salao_id); $this->view->salao = $salao; $this->view->profissionais = $profissionais; $this->view->especialidades = $especialidades; $this->view->funcionamento = $funcionamento; }
public function indexAction() { $salao_id = Zend_Auth::getInstance()->getIdentity()->salao_id; if (!$salao_id) { throw new Exception("Houve um erro!"); } /** * busca dados do salao */ $modelSalao = new Model_DbTable_Salao(); $salao = $modelSalao->getById($salao_id); if (!$salao) { throw new Exception("Salao não encontrado!"); } $salao->estado_id = $salao->estado_nome; /** * Form */ $formSalao = new Form_Site_CadastroSalao(); // removendo alguns elementos $formSalao->removeElement('senha'); $formSalao->removeElement('salao_cupom'); $formSalao->removeElement('salao_politica_termo'); $formSalao->removeElement('salao_email'); $formSalao->populate($salao->toArray()); $this->view->formSalao = $formSalao; if ($this->getRequest()->isPost()) { $data = $this->getRequest()->getPost(); if ($formSalao->isValid($data)) { $data = $formSalao->getValues(); try { $modelSalao->updateById($data, $salao_id); $this->_helper->flashMessenger->addMessage(array('success' => 'Dados alterados com sucesso!')); } catch (Exception $ex) { $this->_helper->flashMessenger->addMessage(array('danger' => 'Houve um problema, favor entre em contato com nosso suporte')); } $this->_redirect("salao/dados-salao"); } else { Zend_Debug::dump($formSalao->getErrors()); die; } } }
public function indexAction() { // Saloes Cadastrados $modelSalao = new Model_DbTable_Salao(); //$where = $modelSalao->getDefaultAdapter()->quoteInto("salao_pre_cadastro = ?", 0); $totalSalao = $modelSalao->getCount(); $this->view->totalSalao = $totalSalao->count; // Clientes Cadastrados $modelCliente = new Model_DbTable_Cliente(); $totalCliente = $modelCliente->getCount(); $this->view->totalCliente = $totalCliente->count; // Consultas CEP (validas) $modelBuscaCep = new Model_DbTable_BucaCep(); $where = $modelBuscaCep->getDefaultAdapter()->quoteInto('busca_valida = ?', 1); $totalConsultaCep = $modelBuscaCep->getCount(1, $where); $this->view->totalConsultaCep = $totalConsultaCep->count; // agendamentos $modelAgenda = new Model_DbTable_Agenda(); $where = $modelAgenda->getDefaultAdapter()->quoteInto("agenda_manual is null", null); $totalAgendamentos = $modelAgenda->fetchAll($where); $this->view->totalAgendamentos = $totalAgendamentos->count(); }
private function setSalaoAuth($email) { $modelSalao = new Model_DbTable_Salao(); $salao = $modelSalao->getByField("salao_email", $email); Zend_Auth::getInstance()->getStorage()->write($salao); $this->_redirect("salao/"); }
/** * * @param type $cupom_codigo * @param type $salao_id * @return int * * 0 - Error * 1 - Success * 2 - Ja usado */ protected function validaCupom($cupom_codigo, $salao_id) { $modelCobrancaLancamento = new Model_DbTable_CobrancaLancamento(); $modelConfig = new Model_DbTable_Config(); $modelCupom = new Model_DbTable_Cupom(); $modelCupomValidacao = new Model_DbTable_CupomValidacao(); $modelSalao = new Model_DbTable_Salao(); // busca o cupom na tabela $cupom = $modelCupom->getByField("cupom_codigo", $cupom_codigo); // dados do salao $salao = $modelSalao->getById($salao_id); /** * Verifica se ja foi validado */ if ($modelCupomValidacao->jaUtilizado($cupom->cupom_id, $salao->salao_email)) { return 2; } // verifica o tipo de desconto if ($cupom->cupom_promo_key === "AGENDAMENTOS") { try { Zend_Db_Table_Abstract::getDefaultAdapter()->beginTransaction(); /** * Insere o credito */ $valor = $cupom->cupom_promo_value * $modelConfig->getBySlug("valor_agendamento")->config_valor * -1; $insertLancamento = array('salao_id' => $salao_id, 'cobranca_lancamento_valor' => $valor, 'cobranca_lancamento_descricao' => "CRÉDITO DE AGENDAMENTOS CUPOM {$cupom_codigo}"); $modelCobrancaLancamento->insert($insertLancamento); /** * seta como validado */ $insertCupomValidacao = array('cupom_id' => $cupom->cupom_id, 'autenticacao_email' => $salao->salao_email, 'cupom_validacao_validado' => 1, 'cupom_validacao_data' => Zend_Date::now()->get("YYYY-MM-dd H:m:s")); $modelCupomValidacao->insert($insertCupomValidacao); Zend_Db_Table_Abstract::getDefaultAdapter()->commit(); return 1; } catch (Exception $ex) { Zend_Db_Table_Abstract::getDefaultAdapter()->rollBack(); return 0; } } Zend_Debug::dump($cupom); die; }
/** * Pagina financeira do salao */ public function financeiroAction() { $salao_id = $this->getRequest()->getParam("salao"); /** * Busca os dados do salao */ $modelSalao = new Model_DbTable_Salao(); $salao = $modelSalao->getById($salao_id); $this->view->salao = $salao; }
public function agendarAction() { $especialidade_id = $this->getRequest()->getParam('especialidade'); $this->view->especialidade_id = $especialidade_id; $salao_id = $this->getRequest()->getParam('salao'); /** * Verifica se o usuario esta logado */ if (!Zend_Auth::getInstance()->hasIdentity() || !isset(Zend_Auth::getInstance()->getIdentity()->usuario_id)) { $this->_helper->flashMessenger->addMessage(array('info' => 'Por favor faça o login para agendar seu horário.')); $this->_redirect("autenticacao/login/salao/{$salao_id}/especialidade/{$especialidade_id}"); } /** * Busca dados do salao */ $modelSalao = new Model_DbTable_Salao(); $salao = $modelSalao->getById($salao_id); $this->view->salao = $salao; /** * Busca dados das especialidades */ $modelEspecialidade = new Model_DbTable_Especialidade(); $especialidade = $modelEspecialidade->getById($especialidade_id); $this->view->especialidade = $especialidade; /** * Busca o preco da especialidade */ $modelEspecialidadePreco = new Model_DbTable_EspecialidadePreco(); $precoEspecialidade = $modelEspecialidadePreco->getPrecoEspecialidadeSalao($especialidade_id, $salao_id); $this->view->precoEspecialidade = $precoEspecialidade; /** * form agendamento */ $formAgendar = new Form_Site_Agendar(); $this->view->formAgendar = $formAgendar; if ($this->getRequest()->isPost()) { $data = $this->getRequest()->getPost(); if ($formAgendar->isValid($data)) { $data = $formAgendar->getValues(); $data['agenda_data'] = App_Helper_Date::getDateDb($data['agenda_data']) . " " . $data['agenda_hora']; unset($data['agenda_hora']); if (empty($data['profissional_beleza_id'])) { $data['profissional_beleza_id'] = null; } //Zend_Debug::dump($data); die(); try { Zend_Db_Table_Abstract::getDefaultAdapter()->beginTransaction(); $modelAgenda = new Model_DbTable_Agenda(); $agenda_id = $modelAgenda->insert($data); /** * Busca os dados completo do agendamento para enviar o email */ $agenda = $modelAgenda->getById($agenda_id); /** * Grava uma notificacao para o salao */ $insertNotificacao = array('autenticacao_email' => $salao->salao_email, 'notificacao_mensagem' => 'Novo Agendamento pendente de confirmação', 'notificacao_link' => Zend_Registry::get('config')->url->site . "salao/agenda/confirmar/"); $pluginNotificacao = new Plugin_Notificacao(); $pluginNotificacao->gravar($insertNotificacao); /** * envia o email de confirmacao (cliente) */ $pluginMail = new Plugin_Mail(); $pluginMail->setDataMail('agenda', $agenda); $pluginMail->send('cliente-agendamento.phtml', 'Agendamento Realizado', Zend_Auth::getInstance()->getIdentity()->usuario_email); /** * envia o email de confirmacao (salao) */ $url_login = Zend_Registry::get('config')->url->login; $pluginMail2 = new Plugin_Mail(); $pluginMail2->setDataMail('url_login', $url_login); $pluginMail2->setDataMail('agenda', $agenda); $pluginMail2->send('salao-agendamento.phtml', 'Novo Agendamento Realizado', $agenda->salao_email); $this->_helper->flashMessenger->addMessage(array('success' => 'Agendamento realizado com sucesso!')); $this->_helper->flashMessenger->addMessage(array('warning' => 'Aguarde a confirmação do seu agendamento pelo estabelecimento!')); Zend_Db_Table_Abstract::getDefaultAdapter()->commit(); } catch (Zend_Mail_Exception $ex) { $this->_helper->flashMessenger->addMessage(array('success' => 'Agendamento realizado com sucesso!')); $this->_helper->flashMessenger->addMessage(array('success' => 'Aguarde a confirmação do seu agendamento pelo estabelecimento!')); Zend_Db_Table_Abstract::getDefaultAdapter()->commit(); } catch (Exception $ex) { $this->_helper->flashMessenger->addMessage(array('danger' => 'Houve um erro ao agendar o horário - ' . $ex->getMessage())); Zend_Db_Table_Abstract::getDefaultAdapter()->rollBack(); } $this->_redirect('cliente/'); } } }