From 2a82f44dc272e7547d2487fde1a07eac071896e1 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Mon, 22 Aug 2016 10:26:09 +0200 Subject: [PATCH] OO-2057: fix selection in table view of "My entries" and remove deleted entries of the list --- .../portfolio/ui/MyPageListController.java | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/olat/modules/portfolio/ui/MyPageListController.java b/src/main/java/org/olat/modules/portfolio/ui/MyPageListController.java index a9f8e719ff8..6b9e2886b99 100644 --- a/src/main/java/org/olat/modules/portfolio/ui/MyPageListController.java +++ b/src/main/java/org/olat/modules/portfolio/ui/MyPageListController.java @@ -29,6 +29,9 @@ import org.olat.core.gui.components.Component; import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.elements.FormLink; import org.olat.core.gui.components.form.flexible.impl.FormEvent; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableRenderEvent; +import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableRendererType; +import org.olat.core.gui.components.form.flexible.impl.elements.table.SelectionEvent; import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; import org.olat.core.gui.components.stack.TooledStackedPanel; @@ -44,6 +47,7 @@ import org.olat.modules.portfolio.BinderSecurityCallback; import org.olat.modules.portfolio.Category; import org.olat.modules.portfolio.CategoryToElement; import org.olat.modules.portfolio.Page; +import org.olat.modules.portfolio.PageStatus; import org.olat.modules.portfolio.Section; import org.olat.modules.portfolio.ui.component.TimelinePoint; import org.olat.modules.portfolio.ui.model.PageRow; @@ -114,6 +118,10 @@ public class MyPageListController extends AbstractPageListController { List<PageRow> rows = new ArrayList<>(pages.size()); List<TimelinePoint> points = new ArrayList<>(pages.size()); for (Page page : pages) { + if(page.getPageStatus() == PageStatus.deleted) { + continue; + } + List<Assignment> pageAssignmentList = pageToAssignments.get(page); PageRow row = forgeRow(page, null, pageAssignmentList, false, categorizedElementMap, numberOfCommentsMap); rows.add(row); @@ -139,7 +147,21 @@ public class MyPageListController extends AbstractPageListController { @Override protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { - if(source instanceof FormLink) { + if(tableEl == source) { + if(event instanceof FlexiTableRenderEvent) { + FlexiTableRenderEvent re = (FlexiTableRenderEvent)event; + if(re.getRendererType() == FlexiTableRendererType.custom) { + tableEl.sort(null, false); + } + } else if(event instanceof SelectionEvent) { + SelectionEvent se = (SelectionEvent)event; + String cmd = se.getCommand(); + if("select-page".equals(cmd)) { + PageRow row = model.getObject(se.getIndex()); + doOpenPage(ureq, row); + } + } + } else if(source instanceof FormLink) { FormLink link = (FormLink)source; String cmd = link.getCmd(); if("new.entry".equals(cmd)) { -- GitLab