diff --git a/src/main/java/org/olat/modules/lecture/ui/coach/DailyLectureBlockOverviewController.java b/src/main/java/org/olat/modules/lecture/ui/coach/DailyLectureBlockOverviewController.java index 4cdd66c82d3b72246ac4138c8a6ef13bfd89ffc2..683b20b975e21e26c5011dec57a5c02693c45f94 100644 --- a/src/main/java/org/olat/modules/lecture/ui/coach/DailyLectureBlockOverviewController.java +++ b/src/main/java/org/olat/modules/lecture/ui/coach/DailyLectureBlockOverviewController.java @@ -105,6 +105,7 @@ public class DailyLectureBlockOverviewController extends FormBasicController { private final Formatter formatter; private final boolean isAdministrativeUser; private final boolean authorizedAbsenceEnabled; + private final boolean dailyRecordingEnabled; private final Identity profiledIdentity; private final LecturesSecurityCallback secCallback; private final RollCallSecurityCallback rollCallSecCallback; @@ -134,6 +135,7 @@ public class DailyLectureBlockOverviewController extends FormBasicController { Roles roles = ureq.getUserSession().getRoles(); isAdministrativeUser = securityModule.isUserAllowedAdminProps(roles); authorizedAbsenceEnabled = lectureModule.isAuthorizedAbsenceEnabled(); + dailyRecordingEnabled = lectureModule.getDailyRollCall() == DailyRollCall.daily; initForm(ureq); loadModel(); @@ -187,7 +189,7 @@ public class DailyLectureBlockOverviewController extends FormBasicController { toolsCol.setSortable(false); columnsModel.addFlexiColumnModel(toolsCol); - tableModel = new DailyLectureBlockTableModel(columnsModel, getLocale()); + tableModel = new DailyLectureBlockTableModel(columnsModel, getLocale(), dailyRecordingEnabled); tableEl = uifactory.addTableElement(getWindowControl(), "table", tableModel, 20, false, getTranslator(), formLayout); FlexiTableSortOptions sortOptions = new FlexiTableSortOptions(); sortOptions.setDefaultOrderBy(new SortKey(BlockCols.times.name(), true)); diff --git a/src/main/java/org/olat/modules/lecture/ui/coach/DailyLectureBlockTableModel.java b/src/main/java/org/olat/modules/lecture/ui/coach/DailyLectureBlockTableModel.java index 1d702ceb754eacfecf0ad0b4ba44e6730d6ef609..b8b52f3ca39bc1814b34ed199ed0ac7e195d9f60 100644 --- a/src/main/java/org/olat/modules/lecture/ui/coach/DailyLectureBlockTableModel.java +++ b/src/main/java/org/olat/modules/lecture/ui/coach/DailyLectureBlockTableModel.java @@ -46,10 +46,12 @@ public class DailyLectureBlockTableModel extends DefaultFlexiTreeTableDataModel< implements SortableFlexiTableDataModel<DailyLectureBlockRow> { private final Locale locale; + private final boolean dailyRecordingEnabled; - public DailyLectureBlockTableModel(FlexiTableColumnModel columnModel, Locale locale) { + public DailyLectureBlockTableModel(FlexiTableColumnModel columnModel, Locale locale, boolean dailyRecordingEnabled) { super(columnModel); this.locale = locale; + this.dailyRecordingEnabled = dailyRecordingEnabled; } @Override @@ -114,7 +116,7 @@ implements SortableFlexiTableDataModel<DailyLectureBlockRow> { switch(BlockCols.values()[col]) { case times: return row.getLectureBlock(); case tools: return row.getTools(); - case details: return Boolean.TRUE; + case details: return Boolean.valueOf(dailyRecordingEnabled); default: return null; } } @@ -130,20 +132,22 @@ implements SortableFlexiTableDataModel<DailyLectureBlockRow> { case numOfAbsences: return row.getNumOfAbsences(); case warnings: case alerts: return row.getLectureBlockBlockStatistics(); - case details: { - Date end = row.getLectureBlock().getEndDate(); - Date start = row.getLectureBlock().getStartDate(); - Date now = new Date(); - return end.before(new Date()) || (row.isIamTeacher() && start.compareTo(now) <= 0); - } + case details: return allowDetails(row); case tools: return row.getTools(); default: return "ERROR"; } } + + private boolean allowDetails(DailyLectureBlockRow row) { + Date end = row.getLectureBlock().getEndDate(); + Date start = row.getLectureBlock().getStartDate(); + Date now = new Date(); + return end.before(new Date()) || (row.isIamTeacher() && start.compareTo(now) <= 0); + } @Override public DefaultFlexiTableDataModel<DailyLectureBlockRow> createCopyWithEmptyList() { - return new DailyLectureBlockTableModel(getTableColumnModel(), locale); + return new DailyLectureBlockTableModel(getTableColumnModel(), locale, dailyRecordingEnabled); } public enum BlockCols implements FlexiSortableColumnDef {