public function gravarAction() { $id = $this->_getParam('id', null); $atividade = new Atividade(); $dados = $this->_getAllParams(); if ($id) { unset($dados['id_palestrante']); unset($dados['dt_cadastro']); $rowAtividade = $atividade->find($id)->current(); // Verifica se o usuário que é palestrante da atividade é o usuário logado if (Zend_Auth::getInstance()->getIdentity()->id != $rowAtividade->id_palestrante) { if (Zend_Auth::getInstance()->getIdentity()->sRole != 'admin') { $this->_addMessage('Você não pode modificar esta atividade'); $this->_redirect('participantes'); } } } else { $rowAtividade = $atividade->createRow(); unset($dados['id']); $idUsuario = Zend_Auth::getInstance()->getIdentity()->id; $dados['id_palestrante'] = $idUsuario; $dados['dt_cadastro'] = date('Y-m-d H:i:s'); $dados['situacao'] = Atividade::SUBMETIDO; } $rowAtividade->setFromArray($dados); try { $rowAtividade->save(); $this->_addMessage('A atividade foi gravada com sucesso'); } catch (Exception $e) { $this->_addMessage('Houve problema na gravação da atividade'); } $this->_redirect('participantes'); }