function salvarFuncionario() { $funcionario = new Funcionario(); $login = new Login(); $erro = ''; if ($this->getPost('id')) { $oldSenha = ''; $funcionario->setId($this->getPost('id')); $loginSenha = $this->loginDao->obterLogin(array('funcionario_id' => $this->getPost('id')), FALSE); $oldSenha = $loginSenha->getSenha(); } $funcionario->setPessoa_id($this->getPost('pessoa_id')); $funcionario->setData_admissao($this->getPost('data_admissao')); $funcionario->setSalario($this->getPost('salario')); $funcionario->setData_desligamento($this->getPost('data_desligamento')); if ($this->getPost('usuario')) { $login->setUsuario($this->getPost('usuario')); } if ($this->getPost('senha')) { $login->setSenha($this->getPost('senha')); } $funcionario->setLogin($login); $funcionarioS = serialize($funcionario); if ($funcionario->getData_admissao() == '') { $erro = "Data de admissão deve ser preenchida"; } if ($this->getPost('pessoa_id') == '' || $this->getPost('pessoa_id') == 0) { $erro = "Pessoa deve ser informada."; } if (strlen($erro) > 0) { $this->redirect($this->UrlBuilder()->doAction('funcionario', array('errorMsg' => $erro, 'adicionar' => true, 'funcionarioS' => $funcionarioS))); } $funcionarioDao = new FuncionarioDao($funcionario, $login); if ($this->getPost('id')) { $successMsg = "Funcionario atualizado com sucesso!"; $url = $this->UrlBuilder()->doAction('funcionario', array('successMsg' => $successMsg)); if ($this->comparaSimples($this->usuarioLogado, $login->getUsuario())) { if (!$this->comparaSimples($oldSenha, $login->getSenha())) { SessionHandler::deleteSession('usuario'); $url = $this->UrlBuilder()->doAction('login', array('admin' => TRUE)); } } if ($funcionarioDao->editar(array('id' => $this->getPost('id')))) { $this->redirect($url); } else { $errorMsg = "Funcionario não pode ser salvo!"; $this->redirect($this->UrlBuilder()->doAction('funcionario', array('adicionar' => true, 'errorMsg' => $funcionarioDao->getErro(), 'funcionarioS' => $funcionarioS))); } } else { if ($funcionarioDao->salvar()) { $successMsg = "Funcionario salva com sucesso!"; $this->redirect($this->UrlBuilder()->doAction('funcionario', array('successMsg' => $successMsg))); } else { $errorMsg = "Funcionario não pode ser salvo!"; $this->redirect($this->UrlBuilder()->doAction('funcionario', array('errorMsg' => $errorMsg))); } } }
function apagar($conds) { return $this->getCrudManager()->delete(Login::crudGetSource(), $conds); }
function apagar($conds) { return $this->getCrudManager()->delete(Login::crudGetSource(), array('funcionario_id' => $conds['id'])) && $this->getCrudManager()->delete(Funcionario::crudGetSource(), $conds); }