Esempio n. 1
0
 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/");
             }
         }
     }
 }