public function especialidade($profissional_beleza_id)
 {
     $modelProfissionalBelezaEspecialidade = new Model_DbTable_ProfissionalBelezaEspecialidade();
     $especialidades = $modelProfissionalBelezaEspecialidade->getByField("profissional_beleza_id", $profissional_beleza_id);
     //Zend_Debug::dump($especialidades);
     $dados = array();
     foreach ($especialidades as $key => $especialidade) {
         //Zend_Debug::dump($key); die();
         if ($key <= 4) {
             $dados[] = $especialidade->especialidade_nome;
         } else {
             $dados[] = $especialidade->especialidade_nome . '...';
             break;
         }
     }
     return implode(', ', $dados);
 }
 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/");
             }
         }
     }
 }
 public function profissional($especialidade_id, $salao_id)
 {
     $modelProfissionalBelezaEspecialidade = new Model_DbTable_ProfissionalBelezaEspecialidade();
     $profissionais = $modelProfissionalBelezaEspecialidade->getProfissionaisEspecialidade($especialidade_id, $salao_id);
     return $profissionais;
 }