From eefb596b9542384ac2d61bffc578b0035ec434a1 Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Thu, 2 Nov 2017 09:30:49 +0100
Subject: [PATCH] OO-3103: add link in coaching tool too, link point the
 lectures panel in course

---
 .../ui/TeacherLecturesTableController.java    |  6 +++---
 .../ui/coach/LecturesListController.java      | 21 +++++++++++++++++--
 2 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/src/main/java/org/olat/modules/lecture/ui/TeacherLecturesTableController.java b/src/main/java/org/olat/modules/lecture/ui/TeacherLecturesTableController.java
index 13684eb57db..c7b76fdc666 100644
--- a/src/main/java/org/olat/modules/lecture/ui/TeacherLecturesTableController.java
+++ b/src/main/java/org/olat/modules/lecture/ui/TeacherLecturesTableController.java
@@ -260,7 +260,7 @@ public class TeacherLecturesTableController extends FormBasicController implemen
 					doExportLectureBlock(ureq, row.getLectureBlock());
 				} else if("open.course".equals(cmd)) {
 					LectureBlockRow row = tableModel.getObject(se.getIndex());
-					doOpenCourse(ureq, row);
+					doOpenCourseLectures(ureq, row);
 				}
 			}
 		} else if(source instanceof FormLink) {
@@ -331,9 +331,9 @@ public class TeacherLecturesTableController extends FormBasicController implemen
 		toolbarPanel.pushController(reloadedBlock.getTitle(), rollCallCtrl);
 	}
 	
-	private void doOpenCourse(UserRequest ureq, LectureBlockRow row) {
+	private void doOpenCourseLectures(UserRequest ureq, LectureBlockRow row) {
 		Long repoKey = row.getLectureBlock().getEntry().getKey();
-		String businessPath = "[RepositoryEntry:" + repoKey + "]";
+		String businessPath = "[RepositoryEntry:" + repoKey + "][Lectures:0]";
 		NewControllerFactory.getInstance().launch(businessPath, ureq, getWindowControl());
 	}
 
diff --git a/src/main/java/org/olat/modules/lecture/ui/coach/LecturesListController.java b/src/main/java/org/olat/modules/lecture/ui/coach/LecturesListController.java
index 83f488b955c..2a6be3295fe 100644
--- a/src/main/java/org/olat/modules/lecture/ui/coach/LecturesListController.java
+++ b/src/main/java/org/olat/modules/lecture/ui/coach/LecturesListController.java
@@ -21,6 +21,7 @@ package org.olat.modules.lecture.ui.coach;
 
 import java.util.List;
 
+import org.olat.NewControllerFactory;
 import org.olat.basesecurity.BaseSecurityModule;
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.form.flexible.FormItem;
@@ -32,6 +33,7 @@ import org.olat.core.gui.components.form.flexible.impl.FormEvent;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.DefaultFlexiColumnModel;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableDataModelFactory;
+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.control.Controller;
 import org.olat.core.gui.control.WindowControl;
@@ -119,7 +121,7 @@ public class LecturesListController extends FormBasicController {
 		}
 
 		if(showRepositoryEntry) {
-			columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(StatsCols.entry));
+			columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(StatsCols.entry, "open.course"));
 		}
 		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(StatsCols.plannedLectures));
 		columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(StatsCols.attendedLectures));
@@ -150,7 +152,16 @@ public class LecturesListController extends FormBasicController {
 	
 	@Override
 	protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) {
-		if(source == exportButton) {
+		if(source == tableEl) {
+			if(event instanceof SelectionEvent) {
+				SelectionEvent se = (SelectionEvent)event;
+				String cmd = se.getCommand();
+				if("open.course".equals(cmd)) {
+					LectureBlockIdentityStatistics row = tableModel.getObject(se.getIndex());
+					doOpenCourseLectures(ureq, row);
+				}
+			}
+		} else if(source == exportButton) {
 			doExportStatistics(ureq);
 		}
 		super.formInnerEvent(ureq, source, event);
@@ -160,4 +171,10 @@ public class LecturesListController extends FormBasicController {
 		LecturesStatisticsExport export = new LecturesStatisticsExport(statistics, userPropertyHandlers, isAdministrativeUser, getTranslator());
 		ureq.getDispatchResult().setResultingMediaResource(export);
 	}
+	
+	private void doOpenCourseLectures(UserRequest ureq, LectureBlockIdentityStatistics row) {
+		Long repoKey = row.getRepoKey();
+		String businessPath = "[RepositoryEntry:" + repoKey + "][Lectures:0]";
+		NewControllerFactory.getInstance().launch(businessPath, ureq, getWindowControl());
+	}
 }
-- 
GitLab