示例#1
0
  @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();
  }
示例#3
0
  @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());
    }
  }
示例#4
0
  // 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);
  }
示例#7
0
 @Transactional
 public static Result criar() {
   List<Anuncio> result = dao.findAllByClass(Anuncio.class);
   return ok(views.html.criar.render(result));
 }
示例#8
0
 /*
  * 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));
 }