private function getProfissionaisBeleza() { $options = array('' => 'Selecione...'); $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $modelProfissionalBeleza = new Model_DbTable_ProfissionalBeleza(); $profissionais = $modelProfissionalBeleza->getProfissionaisBeleza($auth->getIdentity()->salao_id); foreach ($profissionais as $profissional) { $options[$profissional->profissional_beleza_id] = $profissional->profissional_beleza_nome; } } return $options; }
public function isValid($value, $context = null) { // verifica se já existe $modelProfissionalBeleza = new Model_DbTable_ProfissionalBeleza(); $where[] = $modelProfissionalBeleza->getDefaultAdapter()->quoteInto("profissional_beleza_ativo = ?", 1); $where[] = $modelProfissionalBeleza->getDefaultAdapter()->quoteInto("profissional_beleza_email = ?", $value); $profissional = $modelProfissionalBeleza->fetchRow($where); if (null !== $profissional) { $this->_error(self::NOT_VALID); 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; }
private function checkHasProfissional() { $modelProfissionalBeleza = new Model_DbTable_ProfissionalBeleza(); $profissionais = $modelProfissionalBeleza->getProfissionaisBeleza($this->identity->salao_id); return $profissionais->count(); }
public function editarAction() { $profissional_beleza_id = $this->getRequest()->getParam('id'); if (!$profissional_beleza_id) { $this->_helper->flashMessenger->addMessage(array('danger' => 'Não foi possível pesquisar o profissional')); $this->_redirect("/salao"); } /** * Busco o profissional */ $modelProfissionalbeleza = new Model_DbTable_ProfissionalBeleza(); $profissional = $modelProfissionalbeleza->getProfissionalBeleza($profissional_beleza_id, $this->identity->salao_id); if (!$profissional) { $this->_helper->flashMessenger->addMessage(array('danger' => 'Profissional não encontrado')); $this->_redirect("/salao"); } /** * Busca as especialidades */ $modelProfissionalBelezaEspecialidade = new Model_DbTable_ProfissionalBelezaEspecialidade(); $especialidades = $modelProfissionalBelezaEspecialidade->getByField("profissional_beleza_id", $profissional_beleza_id); $array_especialidades = array(); foreach ($especialidades as $especialidade) { $array_especialidades[$especialidade->especialidade_id] = $especialidade->especialidade_id; } $profissional = $profissional->toArray(); $profissional['especialidade_id'] = $array_especialidades; /** * form de cadastro */ $formAdd = new Form_Salao_ProfissionalBelezaAdd(); $formAdd->submit->setLabel("Editar"); // a foto nao e mais obrigatoria $formAdd->profissional_beleza_avatar->setRequired(false); // remove o validator de email $formAdd->profissional_beleza_email->setValidators(array()); // populate $formAdd->populate($profissional); $this->view->form = $formAdd; if ($this->getRequest()->isPost()) { $data = $this->getRequest()->getPost(); if ($formAdd->isValid($data)) { if ($formAdd->getValue('profissional_beleza_avatar')) { $originalFilename = pathinfo($formAdd->profissional_beleza_avatar->getFileName()); $newFilename = uniqid() . '.' . $originalFilename['extension']; $formAdd->profissional_beleza_avatar->addFilter('Rename', $newFilename); } else { unset($formAdd->profissional_beleza_avatar); } $data = $formAdd->getValues(); $especialidades = $data['especialidade_id']; unset($data['especialidade_id']); try { Zend_Db_Table_Abstract::getDefaultAdapter()->beginTransaction(); $modelProfissionalBeleza = new Model_DbTable_ProfissionalBeleza(); $modelProfissionalBelezaEspecialidade = new Model_DbTable_ProfissionalBelezaEspecialidade(); $modelProfissionalBeleza->updateById($data, $profissional_beleza_id); /** * exclui todas especialidades */ $modelProfissionalBelezaEspecialidade->delete("profissional_beleza_id = {$profissional_beleza_id}"); foreach ($especialidades as $especialidade) { $dadosEpecialidade = array('profissional_beleza_id' => $profissional_beleza_id, 'salao_id' => $this->identity->salao_id, 'especialidade_id' => $especialidade); $modelProfissionalBelezaEspecialidade->insert($dadosEpecialidade); } Zend_Db_Table_Abstract::getDefaultAdapter()->commit(); /** * Message success */ $this->_helper->flashMessenger->addMessage(array('success' => 'Profissional editado com sucesso')); $this->_redirect("salao/"); } catch (Exception $ex) { $this->_helper->flashMessenger->addMessage(array('danger' => 'Houve um erro ao editar o profissional. Por favor tente mais tarde. - ' . $ex->getMessage())); $this->_redirect("salao/"); } } } }