/** * Constrói uma nova Entity orientador com base nos dados da view-model * @return \Entity\Orientador */ public function load_orientador() { $orientador = new \Entity\Orientador(); $orientador->setUsuario($this->load_user()); $orientador->setTipoServidor($this->tipoServidor); return $orientador; }
/** * adiciona o usuário já cadastrado ao papel de orientador * @param int $campus_id o id do campus no banco * @param int tipo_servidor 1 - Docente, 2 - Técnico administrativo * @return void */ public function fazerCadastroIncremental($campus_id, $tipoServidor) { $this->em->beginTransaction(); try { $session_user = $this->usuario_bo->getUserSession(); $user = $this->usuario_bo->findUserById($session_user['id']); $orientador_orig = $this->orientador_dao->find_orientador_by_cpf($user->getCpf()); if ($orientador_orig != NULL) { $this->CI->session->set_flashdata('erro', 'Este orientador já existe.'); throw new Exception("Este orientador já existe", 2); } $orientador = new Entity\Orientador(); $orientador->setUsuario($user); $orientador->setTipoServidor($tipoServidor); $this->fazerCadastroOrientadorAux($orientador, $campus_id); $this->em->flush(); $this->em->refresh($user); $this->usuario_bo->redefinirUserRegras($user->getIdUsuario()); sendEmailAfterRecordUser($user->getCpf(), $user->getNome(), $user->getEmail(), "orientador"); return $user->getIdUsuario(); } catch (Exception $ex) { $this->CI->log->write_log('error', $ex->getMessage()); $this->em->getConnection()->rollBack(); } }