From 1fc741659778596868f91819e2a90cfdc5bf2f3e Mon Sep 17 00:00:00 2001 From: Christoph Thelen <christoph.thelen@mni.thm.de> Date: Wed, 13 Feb 2013 15:06:03 +0100 Subject: [PATCH] Store if the correct answer should be shown to users --- .../controller/QuestionByLecturerController.java | 14 ++++++++++++++ src/main/java/de/thm/arsnova/dao/CouchDBDao.java | 5 +++-- .../java/de/thm/arsnova/entities/Question.java | 9 +++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/main/java/de/thm/arsnova/controller/QuestionByLecturerController.java b/src/main/java/de/thm/arsnova/controller/QuestionByLecturerController.java index 23c0911a..b3ec0cd8 100644 --- a/src/main/java/de/thm/arsnova/controller/QuestionByLecturerController.java +++ b/src/main/java/de/thm/arsnova/controller/QuestionByLecturerController.java @@ -137,6 +137,20 @@ public class QuestionByLecturerController extends AbstractController { } this.questionService.update(question); } + + @RequestMapping(value = "/{questionId}/publishcorrectanswer", method = RequestMethod.POST) + @ResponseBody + public final void publishCorrectAnswer( + @PathVariable final String questionId, + @RequestParam(required = false) final Boolean showCorrectAnswer, + @RequestBody final Question question, + final HttpServletResponse response + ) { + if (showCorrectAnswer != null) { + question.setShowAnswer(showCorrectAnswer); + } + this.questionService.update(question); + } @RequestMapping( value = { "/list" }, diff --git a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java index e9cea280..b74cfcd4 100644 --- a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java +++ b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java @@ -536,12 +536,12 @@ public class CouchDBDao implements IDatabaseDao { q.put("releasedFor", question.getReleasedFor()); q.put("possibleAnswers", question.getPossibleAnswers()); q.put("noCorrect", question.isNoCorrect()); + q.put("showStatistic", question.isShowStatistic()); + q.put("showAnswer", question.isShowAnswer()); try { database.saveDocument(q, null); - question.set_id(q.getId()); question.set_rev(q.getRev()); - return question; } catch (IOException e) { LOGGER.error("Could not save question {}", question); @@ -560,6 +560,7 @@ public class CouchDBDao implements IDatabaseDao { q.put("possibleAnswers", question.getPossibleAnswers()); q.put("noCorrect", question.isNoCorrect()); q.put("showStatistic", question.isShowStatistic()); + q.put("showAnswer", question.isShowAnswer()); this.database.saveDocument(q); question.set_rev(q.getRev()); diff --git a/src/main/java/de/thm/arsnova/entities/Question.java b/src/main/java/de/thm/arsnova/entities/Question.java index 3ce3ae86..cb50a5ad 100644 --- a/src/main/java/de/thm/arsnova/entities/Question.java +++ b/src/main/java/de/thm/arsnova/entities/Question.java @@ -37,6 +37,7 @@ public class Question { private int number; private int duration; private boolean showStatistic; // sic + private boolean showAnswer; private String _id; private String _rev; @@ -160,6 +161,14 @@ public class Question { this.showStatistic = showStatistic; } + public boolean isShowAnswer() { + return showAnswer; + } + + public void setShowAnswer(boolean showAnswer) { + this.showAnswer = showAnswer; + } + public final String get_id() { return _id; } -- GitLab