@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())); } }