diff --git a/src/main/java/de/thm/arsnova/controller/ConfigurationController.java b/src/main/java/de/thm/arsnova/controller/ConfigurationController.java index 4f0a0c4e89050d9c3129c69654e45b3a4d3e4bce..93fbc54b1a4f276c19981164b0123caa7bf274b8 100644 --- a/src/main/java/de/thm/arsnova/controller/ConfigurationController.java +++ b/src/main/java/de/thm/arsnova/controller/ConfigurationController.java @@ -94,12 +94,19 @@ public class ConfigurationController extends AbstractController { @Value("${question.parse-answer-option-formatting:false}") private String parseAnswerOptionFormatting; - + + @Value("${pp.subjects}") + private String ppSubjects; + + @Value("${pp.licenses}") + private String ppLicenses; + @RequestMapping(method = RequestMethod.GET) @ResponseBody public final HashMap<String, Object> getConfiguration(HttpServletRequest request) { HashMap<String, Object> config = new HashMap<String, Object>(); HashMap<String, Boolean> features = new HashMap<String, Boolean>(); + HashMap<String, String> publicPool = new HashMap<String, String>(); /* The API path could be unknown to the client in case the request was forwarded */ config.put("apiPath", request.getContextPath()); @@ -144,6 +151,12 @@ public class ConfigurationController extends AbstractController { features.put("studentsOwnQuestions", "true".equals(studentsOwnQuestions)); features.put("flashcard", "true".equals(flashcardEnabled)); features.put("gridSquare", "true".equals(gridSquareEnabled)); + + // add public pool configuration + config.put("publicPool", publicPool); + + publicPool.put("subjects", ppSubjects); + publicPool.put("licenses", ppLicenses); return config; } diff --git a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java index 171c39d6ac53c17b4de04170a39e518009a7e59c..158a75d6e7c9683a408c3979ba3b903d17ad3388 100644 --- a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java +++ b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java @@ -337,8 +337,10 @@ public class CouchDBDao implements IDatabaseDao { @Override public final Session saveSession(final User user, final Session session) { final Document sessionDocument = new Document(); - - sessionDocument.put("type", "session"); + if (session.getPpAuthorName() != null) + sessionDocument.put("type", "session_public_pool"); + else + sessionDocument.put("type", "session"); sessionDocument.put("name", session.getName()); sessionDocument.put("shortName", session.getShortName()); sessionDocument.put("keyword", sessionService.generateKeyword()); diff --git a/src/main/resources/arsnova.properties.example b/src/main/resources/arsnova.properties.example index 0d5baa750ec10180b57cb470b6f7544664185509..5747ea0aaa7bca10c47a484e8ed0ece3b55cb0c6 100644 --- a/src/main/resources/arsnova.properties.example +++ b/src/main/resources/arsnova.properties.example @@ -199,3 +199,7 @@ links.overlay.url=https://arsnova.eu/overlay/ links.organization.url= links.imprint.url= links.privacy-policy.url= + +# configuration for the public pool +pp.subjects = Mathematik,Informatik,BWL +pp.licenses = MIT,Apache License V2