diff --git a/src/main/java/org/olat/modules/lecture/manager/LectureBlockDAO.java b/src/main/java/org/olat/modules/lecture/manager/LectureBlockDAO.java index 2494b77fb239df880f5c7de9a61af405a0dffc5c..0b4e6a9f5c642bff81d33c0ff937c2ed3a0a5f76 100644 --- a/src/main/java/org/olat/modules/lecture/manager/LectureBlockDAO.java +++ b/src/main/java/org/olat/modules/lecture/manager/LectureBlockDAO.java @@ -42,6 +42,8 @@ import org.olat.core.commons.persistence.PersistenceHelper; import org.olat.core.commons.persistence.QueryBuilder; import org.olat.core.id.Identity; import org.olat.core.util.StringHelper; +import org.olat.course.assessment.AssessmentMode; +import org.olat.course.assessment.manager.AssessmentModeDAO; import org.olat.modules.curriculum.CurriculumElement; import org.olat.modules.curriculum.CurriculumRoles; import org.olat.modules.lecture.LectureBlock; @@ -78,6 +80,8 @@ public class LectureBlockDAO { private DB dbInstance; @Autowired private GroupDAO groupDao; + @Autowired + private AssessmentModeDAO assessmentModeDao; public LectureBlock createLectureBlock(RepositoryEntry entry) { LectureBlockImpl block = new LectureBlockImpl(); @@ -126,6 +130,11 @@ public class LectureBlockDAO { LectureBlock reloadedBlock = dbInstance.getCurrentEntityManager() .getReference(LectureBlockImpl.class, lectureBlock.getKey()); + AssessmentMode assessmentMode = assessmentModeDao.getAssessmentModeByLecture(reloadedBlock); + if(assessmentMode != null) { + assessmentModeDao.delete(assessmentMode); + } + //delete lecture block to group String deleteToGroup = "delete from lectureblocktogroup blocktogroup where blocktogroup.lectureBlock.key=:lectureBlockKey"; int rows = dbInstance.getCurrentEntityManager() diff --git a/src/main/java/org/olat/user/ToolsPrefsController.java b/src/main/java/org/olat/user/ToolsPrefsController.java index 3002301b02faa02e302a8eff03cc40f96e035d75..47ca6973308deac1b03c295e70cb8a4f5e495840 100644 --- a/src/main/java/org/olat/user/ToolsPrefsController.java +++ b/src/main/java/org/olat/user/ToolsPrefsController.java @@ -20,9 +20,9 @@ package org.olat.user; import java.util.Collections; -import java.util.Iterator; import java.util.List; import java.util.Set; +import java.util.stream.Collectors; import org.olat.admin.user.tools.UserToolExtension; import org.olat.admin.user.tools.UserToolsModule; @@ -71,15 +71,10 @@ public class ToolsPrefsController extends FormBasicController { if(enabled) { Set<String> aToolSet = userToolsModule.getAvailableUserToolSet(); - userTools = userToolsModule.getAllUserToolExtensions(ureq); - if(!aToolSet.isEmpty()) { - for(Iterator<UserToolExtension> it=userTools.iterator(); it.hasNext(); ) { - UserToolExtension userToolExt = it.next(); - if(!aToolSet.contains(userToolExt.getUniqueExtensionID()) || userToolExt.isShortCutOnly()) { - it.remove(); - } - } - } + List<UserToolExtension> userToolList = userToolsModule.getAllUserToolExtensions(ureq); + userTools = userToolList.stream() + .filter(tool -> (!tool.isShortCutOnly() && (aToolSet.isEmpty() || aToolSet.contains(tool.getUniqueExtensionID())))) + .collect(Collectors.toList()); } else { userTools = Collections.emptyList(); }