@Transactional public static Result pesquisarAnuncio() { DynamicForm pesquisarForm = Form.form().bindFromRequest(); List<Anuncio> result = null; if (pesquisarForm.get("optradio").equals("1")) { result = dao.findByAttributeName("Anuncio", "nome", pesquisarForm.get("pesquisa")); } else if (pesquisarForm.get("optradio").equals("2")) { result = dao.findByAttributeInstumento(pesquisarForm.get("pesquisa")); } else if (pesquisarForm.get("optradio").equals("3")) { result = dao.findByAttributeEstilo(pesquisarForm.get("pesquisa")); } else if (pesquisarForm.get("optradio").equals("4")) { if (pesquisarForm.get("objetivo").equals("Tocar Ocasionalmente")) { result = dao.findByAttributeName("Anuncio", "objetivo", "Tocar Ocasionalmente"); } else if (pesquisarForm.get("objetivo").equals("Procuro Banda")) { result = dao.findByAttributeName("Anuncio", "objetivo", "Procuro Banda"); } else if (pesquisarForm.get("objetivo").equals("Procuro musico")) { result = dao.findByAttributeName("Anuncio", "objetivo", "Procuro musico"); } } else if (pesquisarForm.get("optradio").equals("5")) { result = dao.findByAttributeName("Anuncio", "objetivo", "Procuro Banda"); } else if (pesquisarForm.get("optradio").equals("6")) { result = dao.findByAttributeName("Anuncio", "objetivo", "Procuro musico"); } if (result == null) { return redirect(routes.Application.anuncios()); } return ok(views.html.pesquisar.render(result)); }
/** Testa se é possível registrar um usuário. */ @Test public void deveRegistrarUser() { List<User> users = dao.findAllByClassName("User"); assertThat(users.size()).isEqualTo(10); Map<String, String> form = new HashMap<String, String>(); cadastraUsuario(form); assertThat(status(result)).isEqualTo(Http.Status.SEE_OTHER); users = dao.findAllByClassName("User"); assertThat(users).isNotEmpty(); }
@Transactional public static Result newAnuncio() { // O formulário dos Livros Preenchidos DynamicForm filledForm = Form.form().bindFromRequest(); String objetivo = ""; if (filledForm.get("objetivo").equals("Tocar Ocasionalmente")) { objetivo = "Tocar Ocasionalmente"; } else if (filledForm.get("objetivo").equals("Procuro banda")) { objetivo = "Procuro banda"; } else if (filledForm.get("objetivo").equals("Procuro musico")) { objetivo = "Procuro musico"; } if (filledForm.hasErrors()) { List<Anuncio> result = dao.findAllByClass(Anuncio.class); // TODO falta colocar na interface mensagem de erro. return badRequest(views.html.index.render(result, contador)); } else { Anuncio novoAnuncio = new Anuncio( filledForm.get("nome"), filledForm.get("cidade"), filledForm.get("bairro"), filledForm.get("instrumentos"), filledForm.get("email"), filledForm.get("face"), objetivo, filledForm.get("estilo_gosta"), filledForm.get("estilo_nao_gosta"), filledForm.get("codigo")); Logger.debug( "Criando anúncio: " + filledForm.data().toString() + " como " + novoAnuncio.getNome()); // Persiste o Anuncio criado dao.persist(novoAnuncio); // Espelha no Banco de Dados dao.flush(); /* * Usar routes.Application.<uma action> é uma forma de * evitar colocar rotas literais (ex: "/books") * hard-coded no código. Dessa forma, se mudamos no * arquivo routes, continua funcionando. */ return redirect(routes.Application.anuncios()); } }
// Notação transactional sempre que o método fizer transação com o Banco de // Dados. @Transactional public static Result deleteAnuncio(Long id) { DynamicForm deleteForm = Form.form().bindFromRequest(); if (deleteForm.get("codigo").equals(dao.findByEntityId(Anuncio.class, id).getCodigo())) { // Remove o Anuncio pelo Id dao.removeById(Anuncio.class, id); // Espelha no banco de dados dao.flush(); } if (deleteForm.get("optradio").equals("1")) { contador.setResolvido(contador.getResolvido() + 1); } else { contador.setNao_resolvido(contador.getNao_resolvido() + 1); } dao.persist(contador); dao.flush(); return redirect(routes.Application.anuncios()); }
/** Testa se realmente não se pode registrar um usuário com login já usado. */ @Test public void deveNaoPermitirCadastroDeUsuariosComMesmoLogin() { Map<String, String> form1 = new HashMap<String, String>(); cadastraUsuario(form1); assertThat(status(result)).isEqualTo(Http.Status.SEE_OTHER); List<User> users = dao.findAllByClassName("User"); assertThat(users.size()).isEqualTo(11); Map<String, String> form2 = new HashMap<String, String>(); cadastraUsuariologin(form2); assertThat(status(result)).isEqualTo(Http.Status.BAD_REQUEST); users = dao.findAllByClassName("User"); assertThat(users.size()).isEqualTo(11); Map<String, String> flash = new HashMap<String, String>(); flash.put("fail", "Login em uso"); assertThat(flash(result)).isEqualTo(flash); }
/** Testa se realmente não se pode registrar um usuário com e-mail já usado. */ @Test public void deveNaoPermitirCadastroDeUsuariosComMesmoEmail() { FakeRequest fakeRequest1 = new FakeRequest(); Map<String, String> form1 = new HashMap<String, String>(); form1.put("nome", "joao"); form1.put("email", "*****@*****.**"); form1.put("login", "mimimimi"); form1.put("pass", "tchutchu"); fakeRequest1.withFormUrlEncodedBody(form1); result = callAction(controllers.routes.ref.Register.register(), fakeRequest1); assertThat(status(result)).isEqualTo(Http.Status.SEE_OTHER); List<User> users = dao.findAllByClassName("User"); assertThat(users.size()).isEqualTo(11); FakeRequest fakeRequest2 = new FakeRequest(); Map<String, String> form2 = new HashMap<String, String>(); form2.put("nome", "joao"); form2.put("email", "*****@*****.**"); form2.put("login", "herbert"); form2.put("pass", "tchutchu"); fakeRequest2.withFormUrlEncodedBody(form2); result = callAction(controllers.routes.ref.Register.register(), fakeRequest2); assertThat(status(result)).isEqualTo(Http.Status.BAD_REQUEST); users = dao.findAllByClassName("User"); assertThat(users.size()).isEqualTo(11); Map<String, String> flash = new HashMap<String, String>(); flash.put("fail", "E-mail em uso"); assertThat(flash(result)).isEqualTo(flash); }
@Transactional public static Result criar() { List<Anuncio> result = dao.findAllByClass(Anuncio.class); return ok(views.html.criar.render(result)); }
/* * A Anotação transactional é necessária em todas as Actions que * usarem o BD. */ @Transactional public static Result anuncios() { // Todos os Livros do Banco de Dados List<Anuncio> result = dao.findAllByClass(Anuncio.class); return ok(views.html.index.render(result, contador)); }