From 2bdee13b992af43bda17e90f1fdbe249537df96f Mon Sep 17 00:00:00 2001 From: srosse <stephane.rosse@frentix.com> Date: Tue, 21 Jul 2020 19:27:29 +0200 Subject: [PATCH] OO-4810: filter the small list to review with assessable course elements --- .../AssessmentToReviewSmallController.java | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/olat/course/assessment/ui/tool/AssessmentToReviewSmallController.java b/src/main/java/org/olat/course/assessment/ui/tool/AssessmentToReviewSmallController.java index b49966ba0af..556590edf3e 100644 --- a/src/main/java/org/olat/course/assessment/ui/tool/AssessmentToReviewSmallController.java +++ b/src/main/java/org/olat/course/assessment/ui/tool/AssessmentToReviewSmallController.java @@ -41,15 +41,16 @@ import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTable import org.olat.core.gui.components.form.flexible.impl.elements.table.SelectionEvent; import org.olat.core.gui.components.form.flexible.impl.elements.table.SortableFlexiTableDataModel; import org.olat.core.gui.components.form.flexible.impl.elements.table.SortableFlexiTableModelDelegate; +import org.olat.core.gui.components.tree.TreeModel; +import org.olat.core.gui.components.tree.TreeNode; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.WindowControl; import org.olat.core.id.Identity; import org.olat.core.util.Util; -import org.olat.core.util.nodes.INode; import org.olat.core.util.tree.TreeVisitor; -import org.olat.core.util.tree.Visitor; import org.olat.course.CourseFactory; -import org.olat.course.Structure; +import org.olat.course.ICourse; +import org.olat.course.assessment.AssessmentHelper; import org.olat.course.assessment.AssessmentModule; import org.olat.course.assessment.AssessmentToolManager; import org.olat.course.assessment.model.SearchAssessedIdentityParams; @@ -102,16 +103,17 @@ public class AssessmentToReviewSmallController extends FormBasicController { userPropertyHandlers = userManager.getUserPropertyHandlersFor(AssessmentToolConstants.reducedUsageIdentifyer, isAdministrativeUser); nodeIdentToNodeShortTitles = new HashMap<>(); - Structure structure = CourseFactory.loadCourse(courseEntry).getRunStructure(); - new TreeVisitor(new Visitor() { - @Override - public void visit(INode node) { - if(node instanceof CourseNode) { - CourseNode tNode = (CourseNode)node; + ICourse course = CourseFactory.loadCourse(courseEntry); + TreeModel tm = AssessmentHelper.assessmentTreeModel(course); + new TreeVisitor(node -> { + if(node instanceof TreeNode) { + Object uobject = ((TreeNode)node).getUserObject(); + if(uobject instanceof CourseNode) { + CourseNode tNode = (CourseNode)uobject; nodeIdentToNodeShortTitles.put(tNode.getIdent(), tNode.getShortTitle()); } } - }, structure.getRootNode(), false).visitAll(); + }, tm.getRootNode(), false).visitAll(); initForm(ureq); loadModel(); @@ -148,9 +150,12 @@ public class AssessmentToReviewSmallController extends FormBasicController { SearchAssessedIdentityParams params = new SearchAssessedIdentityParams(courseEntry, null, null, assessmentCallback); List<AssessmentEntry> entries = assessmentToolManager.getAssessmentEntries(getIdentity(), params, AssessmentEntryStatus.inReview); List<UserToReviewRow> rows = new ArrayList<>(); - Map<Long,UserToReviewRow> identityKeyToRow = new HashMap<>(); for(AssessmentEntry entry:entries) { + if(!nodeIdentToNodeShortTitles.containsKey(entry.getSubIdent())) { + continue; + } + Identity assessedIdentity = entry.getIdentity(); if(identityKeyToRow.containsKey(assessedIdentity.getKey())) { identityKeyToRow.get(assessedIdentity.getKey()) -- GitLab