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; } } }
protected function cadastraBeautyMaker() { // form cadastro profissional $formCadastroSalao = new Form_Site_CadastroSalao(); $this->view->formCadastroProfissional = $formCadastroSalao; $data = $this->getRequest()->getPost(); unset($data['submit']); if ($formCadastroSalao->isValid($data)) { $modelSalao = new Model_DbTable_Salao(); $senha = $data['senha']; unset($data['senha']); $cupom = $data['salao_cupom']; unset($data['salao_cupom']); $pluginSalaoSlug = new Plugin_SalaoSlug($data['salao_nome']); $data['salao_slug'] = $pluginSalaoSlug->getSlug(); try { Zend_Db_Table_Abstract::getDefaultAdapter()->beginTransaction(); $hash = md5(uniqid()); $salao_id = $modelSalao->insert($data); /** * cria o registro da autenticacao com o hash */ $modelAutenticacao = new Model_DbTable_Autenticacao(); $dadosAutenticacao = array('autenticacao_email' => $data['salao_email'], 'autenticacao_hash_ativar' => $hash, 'autenticacao_senha' => md5($senha), 'autenticacao_modulo' => 2); $modelAutenticacao->insert($dadosAutenticacao); /** * set Message sucess */ $this->_helper->flashMessenger->addMessage(array('success' => ' Seu cadastro foi realizado com sucesso. Favor verificar o e-mail informado para validar sua conta. ')); /** * Verifica se tem cupom */ if (!empty($cupom)) { $valida_cupom = $this->validaCupom($cupom, $salao_id); // retorno if ($valida_cupom == 0) { $this->_helper->flashMessenger->addMessage(array('danger' => ' Houve um problema na validação do seu cupom. Favor entre em contato com o nossa equipe de suporte! ')); } elseif ($cupom == 1) { $this->_helper->flashMessenger->addMessage(array('success' => ' Seu cupom foi validado com sucesso! ')); } elseif ($cupom == 2) { $this->_helper->flashMessenger->addMessage(array('warning' => ' Este cupom já foi utilizado! ')); } } /** * Envia o email */ $link_ativar = Zend_Registry::get('config')->url->site . "/beautymaker/ativar/hash/" . $hash; $pluginMail = new Plugin_Mail(); $pluginMail->setDataMail('salao_proprietario', $data['salao_proprietario']); $pluginMail->setDataMail('salao_nome', $data['salao_nome']); $pluginMail->setDataMail('link_ativar', $link_ativar); $pluginMail->send('salao-cadastro.phtml', 'Cadastro Recebido', $data['salao_email']); Zend_Db_Table_Abstract::getDefaultAdapter()->commit(); $this->_redirect('beautymaker/'); } catch (Exception $ex) { Zend_Db_Table_Abstract::getDefaultAdapter()->rollBack(); $this->_helper->flashMessenger->addMessage(array('danger' => $ex->getMessage())); $this->_redirect('beautymaker/'); } } else { $this->view->errors = true; } }
public function preCadastroAction() { /** * form de salao */ $formSalao = new Form_Site_CadastroSalao(); // removing some elements $formSalao->removeElement('salao_cnpj'); $formSalao->removeElement('salao_proprietario'); $formSalao->removeElement('senha'); $formSalao->removeElement('salao_politica_termo'); $formSalao->removeElement('salao_cupom'); // setting not required $formSalao->salao_contato->setRequired(false); $formSalao->salao_numero->setRequired(false); $this->view->form = $formSalao; if ($this->getRequest()->isPost()) { $data = $this->getRequest()->getPost(); if ($formSalao->isValid($data)) { $data = $formSalao->getValues(); $data['salao_pre_cadastro'] = 1; try { // gerar o slug $pluginSalaoSlug = new Plugin_SalaoSlug($data['salao_nome']); $data['salao_slug'] = $pluginSalaoSlug->getSlug(); Zend_Db_Table_Abstract::getDefaultAdapter()->beginTransaction(); $modelSalao = new Model_DbTable_Salao(); $salao_id = $modelSalao->insert($data); /** * Gera a autenticacao */ $hash = md5(uniqid()); $dadosAutenticacao = array('autenticacao_email' => $data['salao_email'], 'autenticacao_modulo' => 2, 'autenticacao_hash_ativar' => $hash); $modelAutenticacao = new Model_DbTable_Autenticacao(); $modelAutenticacao->insert($dadosAutenticacao); // envie o email para o salao $pluginMail = new Plugin_Mail(); $pluginMail->setDataMail('salao_hash', $hash); $pluginMail->setDataMail('key', $data['salao_slug']); //$pluginMail->send("salao-pre-cadastro.phtml", "", $data['salao_email']); $pluginMail->send("salao-pre-cadastro.phtml", "Oportunidade!!!", "*****@*****.**"); Zend_Db_Table_Abstract::getDefaultAdapter()->commit(); /** * set Message sucess */ $this->_helper->flashMessenger->addMessage(array('success' => ' Salão pré-cadastrado com sucesso. ')); $this->_redirect("admin/salao/pre-cadastro"); } catch (Zend_Mail_Exception $ex) { Zend_Db_Table_Abstract::getDefaultAdapter()->rollBack(); $this->_helper->flashMessenger->addMessage(array('danger' => ' E-mail não pode ser enviado! - ' . $ex->getMessage())); $this->_redirect("admin/salao/pre-cadastro"); } catch (Exception $ex) { Zend_Db_Table_Abstract::getDefaultAdapter()->rollBack(); $this->_helper->flashMessenger->addMessage(array('danger' => ' Houve um erro ao cadastrar o salão. - ' . $ex->getMessage())); $this->_redirect("admin/salao/pre-cadastro"); } } } }