diff --git a/src/main/java/de/thm/arsnova/controller/LecturerQuestionController.java b/src/main/java/de/thm/arsnova/controller/LecturerQuestionController.java index fb6a306bde5f6455ce922063355c56e7af3ee106..9a63ae7177d02f1814c74d575b265f7db8bd297f 100644 --- a/src/main/java/de/thm/arsnova/controller/LecturerQuestionController.java +++ b/src/main/java/de/thm/arsnova/controller/LecturerQuestionController.java @@ -236,6 +236,7 @@ public class LecturerQuestionController extends PaginationController { @RequestParam(value = "lecturequestionsonly", defaultValue = "false") final boolean lectureQuestionsOnly, @RequestParam(value = "flashcardsonly", defaultValue = "false") final boolean flashcardsOnly, @RequestParam(value = "preparationquestionsonly", defaultValue = "false") final boolean preparationQuestionsOnly, + @RequestParam(value = "requestImageData", defaultValue = "false") final boolean requestImageData, final HttpServletResponse response ) { List<Question> questions; @@ -251,6 +252,8 @@ public class LecturerQuestionController extends PaginationController { if (questions == null || questions.isEmpty()) { response.setStatus(HttpStatus.NO_CONTENT.value()); return null; + } else if (!requestImageData) { + questions = questionService.replaceImageData(questions); } return new PaginationListDecorator<Question>(questions, offset, limit); diff --git a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java index 769ee7457e4b4e102cbdc4c0ac53265e2d2ca48c..a9385e8ee8e55d7a7c24a39bdadf7e4c9488aa3d 100644 --- a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java +++ b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java @@ -1641,10 +1641,6 @@ public class CouchDBDao implements IDatabaseDao, ApplicationEventPublisherAware question.setPiRound(1); } - if (question.getImage() != null) { - question.setImage("true"); - } - questions.add(question); } return questions; diff --git a/src/main/java/de/thm/arsnova/services/IQuestionService.java b/src/main/java/de/thm/arsnova/services/IQuestionService.java index 92df798cab5f1f4b7f1fe7d362a8ff649e814e2c..b44a2f267c8160c8605aa0941da96cbe904d7ea1 100644 --- a/src/main/java/de/thm/arsnova/services/IQuestionService.java +++ b/src/main/java/de/thm/arsnova/services/IQuestionService.java @@ -171,4 +171,6 @@ public interface IQuestionService { String getQuestionFcImage(String questionId); + List<Question> replaceImageData(List<Question> questions); + } diff --git a/src/main/java/de/thm/arsnova/services/QuestionService.java b/src/main/java/de/thm/arsnova/services/QuestionService.java index 2ec056efd8145bf21b75d99a01638d4d690fc6b4..c993f4ab947788b289a4a3212ca3db1f1b7dac9b 100644 --- a/src/main/java/de/thm/arsnova/services/QuestionService.java +++ b/src/main/java/de/thm/arsnova/services/QuestionService.java @@ -847,6 +847,18 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis } } + @Override + @PreAuthorize("isAuthenticated()") + public List<Question> replaceImageData(final List<Question> questions) { + for (Question q : questions) { + if (q.getImage() != null) { + q.setImage("true"); + } + } + + return questions; + } + private Session getSession(final String sessionkey) { final Session session = databaseDao.getSessionFromKeyword(sessionkey); if (session == null) {