From 7644fcbe661dadd3a9e007b0d4193979a49b1fc2 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Mon, 30 Oct 2017 12:37:00 +0100 Subject: [PATCH] OO-3101: use the same status algorithm as the table renderer in Excel --- .../LectureBlockStatusCellRenderer.java | 22 ++++++++++++++----- .../ui/export/LecturesBlocksEntryExport.java | 8 ++++++- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/olat/modules/lecture/ui/component/LectureBlockStatusCellRenderer.java b/src/main/java/org/olat/modules/lecture/ui/component/LectureBlockStatusCellRenderer.java index ec8c01b1d02..0d1b0092713 100644 --- a/src/main/java/org/olat/modules/lecture/ui/component/LectureBlockStatusCellRenderer.java +++ b/src/main/java/org/olat/modules/lecture/ui/component/LectureBlockStatusCellRenderer.java @@ -25,6 +25,7 @@ import org.olat.core.gui.render.Renderer; import org.olat.core.gui.render.StringOutput; import org.olat.core.gui.render.URLBuilder; import org.olat.core.gui.translator.Translator; +import org.olat.core.util.StringHelper; import org.olat.modules.lecture.LectureBlock; import org.olat.modules.lecture.LectureBlockStatus; import org.olat.modules.lecture.LectureRollCallStatus; @@ -50,13 +51,22 @@ public class LectureBlockStatusCellRenderer implements FlexiCellRenderer { target.append(translator.translate(status.name())); } else if(cellValue instanceof LectureBlock) { LectureBlock block = (LectureBlock)cellValue; - LectureBlockStatus status = block.getStatus(); - if(LectureBlockStatus.done.equals(status)) { - LectureRollCallStatus rollCallStatus = block.getRollCallStatus(); - target.append(translator.translate(rollCallStatus.name())); - } else { - target.append(translator.translate(status.name())); + String status = getStatus(block, translator); + if(StringHelper.containsNonWhitespace(status)) { + target.append(status); } } } + + public static final String getStatus(LectureBlock block, Translator trans) { + LectureBlockStatus status = block.getStatus(); + if(LectureBlockStatus.done.equals(status)) { + LectureRollCallStatus rollCallStatus = block.getRollCallStatus(); + return trans.translate(rollCallStatus.name()); + } + if(status != null) { + return trans.translate(status.name()); + } + return null; + } } diff --git a/src/main/java/org/olat/modules/lecture/ui/export/LecturesBlocksEntryExport.java b/src/main/java/org/olat/modules/lecture/ui/export/LecturesBlocksEntryExport.java index 32de1a83f9e..6376f113e2f 100644 --- a/src/main/java/org/olat/modules/lecture/ui/export/LecturesBlocksEntryExport.java +++ b/src/main/java/org/olat/modules/lecture/ui/export/LecturesBlocksEntryExport.java @@ -41,6 +41,7 @@ import org.olat.modules.lecture.LectureBlock; import org.olat.modules.lecture.LectureService; import org.olat.modules.lecture.Reason; import org.olat.modules.lecture.model.LectureBlockWithTeachers; +import org.olat.modules.lecture.ui.component.LectureBlockStatusCellRenderer; import org.olat.repository.RepositoryEntry; import org.olat.user.UserManager; @@ -139,7 +140,12 @@ public class LecturesBlocksEntryExport extends OpenXMLWorkbookResource { if(lectureBlock.getRollCallStatus() == null) { pos++; } else { - row.addCell(pos++, translator.translate(lectureBlock.getRollCallStatus().name())); + String status = LectureBlockStatusCellRenderer.getStatus(lectureBlock, translator); + if(status != null) { + row.addCell(pos++, status); + } else { + pos++; + } } row.addCell(pos++, formatter.formatDate(lectureBlock.getAutoClosedDate())); -- GitLab