示例#1
0
  @Transactional
  @Security.Authenticated(Secured.class)
  public static Result addDiscordanciaEmMetaDica(long idMetaDica) {
    DynamicForm filledForm = Form.form().bindFromRequest();

    MetaDica metaDica = dao.findByEntityId(MetaDica.class, idMetaDica);

    if (filledForm.hasErrors()) {
      return disciplina(metaDica.getDisciplina().getId());
    } else {
      Map<String, String> formMap = filledForm.data();
      String username = session("username");
      String login = session("login");
      String discordancia = formMap.get("discordancia");

      metaDica.addUsuarioQueVotou(login);
      metaDica.addUserCommentary(username, discordancia);
      metaDica.incrementaDiscordancias();
      dao.merge(metaDica);
      dao.flush();

      return redirect(routes.Application.disciplina(metaDica.getDisciplina().getId()));
    }
  }