diff --git a/src/main/java/de/thm/arsnova/services/IQuestionService.java b/src/main/java/de/thm/arsnova/services/IQuestionService.java index 35ccb04781e4b7db89ddc84254e0152a8592fa12..f0864314749967c9b0c15066a57aad42a5fc38f4 100644 --- a/src/main/java/de/thm/arsnova/services/IQuestionService.java +++ b/src/main/java/de/thm/arsnova/services/IQuestionService.java @@ -125,6 +125,8 @@ public interface IQuestionService { int countPreparationQuestionAnswersInternal(String sessionkey); + int countFlashcardsForUserInternal(String sessionkey); + void deleteLectureQuestions(String sessionkey); void deleteFlashcards(String sessionkey); diff --git a/src/main/java/de/thm/arsnova/services/QuestionService.java b/src/main/java/de/thm/arsnova/services/QuestionService.java index c0f73137fe19f3edf42bf2f4f76b636f1fd95c32..b00252ea59528e6345e776acb71411ee20d1938d 100644 --- a/src/main/java/de/thm/arsnova/services/QuestionService.java +++ b/src/main/java/de/thm/arsnova/services/QuestionService.java @@ -918,6 +918,15 @@ public class QuestionService implements IQuestionService, ApplicationEventPublis return databaseDao.countPreparationQuestionAnswers(getSession(sessionkey)); } + /* + * The "internal" suffix means it is called by internal services that have no authentication! + * TODO: Find a better way of doing this... + */ + @Override + public int countFlashcardsForUserInternal(final String sessionkey) { + return databaseDao.getFlashcardsForUsers(getSession(sessionkey)).size(); + } + @Override @PreAuthorize("isAuthenticated()") public void deleteLectureQuestions(final String sessionkey) { diff --git a/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java b/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java index e7b9143cc36382c97f794f4fd29ada8a3c2921d0..7c6da91214321e75ffaf6cdf3e9264ed4558292f 100644 --- a/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java +++ b/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java @@ -359,6 +359,7 @@ public class ARSnovaSocketIOServer implements ARSnovaSocket, NovaEventVisitor { client.sendEvent("unansweredPreparationQuestions", questionService.getUnAnsweredPreparationQuestionIds(sessionKey, user)); client.sendEvent("countLectureQuestionAnswers", questionService.countLectureQuestionAnswersInternal(sessionKey)); client.sendEvent("countPreparationQuestionAnswers", questionService.countPreparationQuestionAnswersInternal(sessionKey)); + client.sendEvent("countFlashcards", questionService.countFlashcardsForUserInternal(sessionKey)); client.sendEvent("activeUserCountData", sessionService.activeUsers(sessionKey)); client.sendEvent("learningProgressOptions", session.getLearningProgressOptions()); final de.thm.arsnova.entities.Feedback fb = feedbackService.getFeedback(sessionKey);