diff --git a/src/main/java/org/olat/course/assessment/ui/tool/IdentityListCourseNodeController.java b/src/main/java/org/olat/course/assessment/ui/tool/IdentityListCourseNodeController.java index d5c96424fef0f3655620cb1fbdc6a2d6f8321f3d..961ff36e5285156fa1c18add9a2bd5739695b733 100644 --- a/src/main/java/org/olat/course/assessment/ui/tool/IdentityListCourseNodeController.java +++ b/src/main/java/org/olat/course/assessment/ui/tool/IdentityListCourseNodeController.java @@ -261,7 +261,7 @@ public class IdentityListCourseNodeController extends FormBasicController implem columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, IdentityCourseElementCols.lastCoachModified, select)); if(course.getCourseConfig().isCertificateEnabled()) { - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(IdentityCourseElementCols.certificate, new DownloadCertificateCellRenderer())); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(IdentityCourseElementCols.certificate, new DownloadCertificateCellRenderer(getLocale()))); if(course.getCourseConfig().isRecertificationEnabled()) { columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(IdentityCourseElementCols.recertification, new DateFlexiCellRenderer(getLocale()))); } diff --git a/src/main/java/org/olat/course/certificate/ui/CertificateAndEfficiencyStatementListController.java b/src/main/java/org/olat/course/certificate/ui/CertificateAndEfficiencyStatementListController.java index d3770934a1a67fde00600b48c7145dc528972cca..c3212552e9a03473adfbf50e7b42f8011ddc52b4 100644 --- a/src/main/java/org/olat/course/certificate/ui/CertificateAndEfficiencyStatementListController.java +++ b/src/main/java/org/olat/course/certificate/ui/CertificateAndEfficiencyStatementListController.java @@ -191,7 +191,7 @@ public class CertificateAndEfficiencyStatementListController extends FormBasicCo tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel("table.header.show", translate("table.header.show"), CMD_SHOW)); tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.lastModified)); - tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.certificate, new DownloadCertificateCellRenderer(assessedIdentity))); + tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.certificate, new DownloadCertificateCellRenderer(assessedIdentity, getLocale()))); tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.recertification, new DateFlexiCellRenderer(getLocale()))); tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel("table.header.launchcourse", translate("table.header.launchcourse"), CMD_LAUNCH_COURSE)); diff --git a/src/main/java/org/olat/course/certificate/ui/DownloadCertificateCellRenderer.java b/src/main/java/org/olat/course/certificate/ui/DownloadCertificateCellRenderer.java index 928bf73395a902d5713fce3fe880fcd1a3107a70..ac7ccb7efd677c38f520d41b45bbc6caa86cc920 100644 --- a/src/main/java/org/olat/course/certificate/ui/DownloadCertificateCellRenderer.java +++ b/src/main/java/org/olat/course/certificate/ui/DownloadCertificateCellRenderer.java @@ -27,7 +27,6 @@ import org.olat.basesecurity.model.IdentityRefImpl; import org.olat.core.CoreSpringFactory; import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiCellRenderer; import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableComponent; -import org.olat.core.gui.components.table.CustomCellRenderer; import org.olat.core.gui.render.Renderer; import org.olat.core.gui.render.StringOutput; import org.olat.core.gui.render.URLBuilder; @@ -48,38 +47,31 @@ import org.olat.user.UserManager; * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com * */ -public class DownloadCertificateCellRenderer implements CustomCellRenderer, FlexiCellRenderer { +public class DownloadCertificateCellRenderer implements FlexiCellRenderer { + private final Locale locale; private Identity assessedIdentity; - public DownloadCertificateCellRenderer() { - // + public DownloadCertificateCellRenderer(Locale locale) { + this.locale = locale; } - public DownloadCertificateCellRenderer(Identity assessedIdentity) { + public DownloadCertificateCellRenderer(Identity assessedIdentity, Locale locale) { + this(locale); this.assessedIdentity = assessedIdentity; } - @Override - public void render(StringOutput sb, Renderer renderer, Object val, Locale locale, int alignment, String action) { - if(val instanceof CertificateLight) { - CertificateLight certificate = (CertificateLight)val; - if(assessedIdentity == null) { - IdentityRef idRef = new IdentityRefImpl(certificate.getIdentityKey()); - render(sb, certificate, idRef, locale); - } else { - render(sb, certificate, assessedIdentity, locale); - } - } else if(val instanceof CertificateLightPack) { - CertificateLightPack pack = (CertificateLightPack)val; - render(sb, pack.getCertificate(), pack.getIdentity(), locale); - } - } - @Override public void render(Renderer renderer, StringOutput target, Object cellValue, int row, FlexiTableComponent source, URLBuilder ubu, Translator translator) { - if(cellValue instanceof CertificateLight) { + if(renderer == null) { + if(cellValue instanceof CertificateLight) { + renderExcel(target, (CertificateLight)cellValue); + } else if(cellValue instanceof CertificateLightPack) { + CertificateLightPack pack = (CertificateLightPack)cellValue; + renderExcel(target, pack.getCertificate()); + } + } else if(cellValue instanceof CertificateLight) { CertificateLight certificate = (CertificateLight)cellValue; if(assessedIdentity == null) { IdentityRef idRef = new IdentityRefImpl(certificate.getIdentityKey()); @@ -93,6 +85,11 @@ public class DownloadCertificateCellRenderer implements CustomCellRenderer, Flex } } + private void renderExcel(StringOutput sb, CertificateLight certificate) { + String date = Formatter.getInstance(locale).formatDate(certificate.getCreationDate()); + sb.append(date); + } + private void render(StringOutput sb, CertificateLight certificate, IdentityRef identity, Locale locale) { String name = Formatter.getInstance(locale).formatDate(certificate.getCreationDate()); if(CertificateStatus.pending.equals(certificate.getStatus())) { diff --git a/src/main/java/org/olat/modules/coach/ui/CourseController.java b/src/main/java/org/olat/modules/coach/ui/CourseController.java index 9b7f5c422945371dc2a337d2ff186a3ad7cdbb5b..400e7b821a2c732bbd1520cbd10b33e2e2c5631e 100644 --- a/src/main/java/org/olat/modules/coach/ui/CourseController.java +++ b/src/main/java/org/olat/modules/coach/ui/CourseController.java @@ -195,7 +195,7 @@ public class CourseController extends FormBasicController implements Activateabl columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Columns.score, new ScoreCellRenderer())); CourseConfig courseConfig = CourseFactory.loadCourse(course).getCourseConfig(); if(courseConfig.isCertificateEnabled()) { - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Columns.certificate, new DownloadCertificateCellRenderer())); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Columns.certificate, new DownloadCertificateCellRenderer(getLocale()))); if(courseConfig.isRecertificationEnabled()) { columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Columns.recertification, new DateFlexiCellRenderer(getLocale()))); } diff --git a/src/main/java/org/olat/modules/coach/ui/GroupController.java b/src/main/java/org/olat/modules/coach/ui/GroupController.java index 34627732203bb1c13e05b2997e542f8185012667..b9de74d4b348b5ccd37b1fe74d78c3c2c674429c 100644 --- a/src/main/java/org/olat/modules/coach/ui/GroupController.java +++ b/src/main/java/org/olat/modules/coach/ui/GroupController.java @@ -190,7 +190,7 @@ public class GroupController extends FormBasicController implements Activateable columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Columns.repoName)); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Columns.passed, new PassedCellRenderer())); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Columns.score, new ScoreCellRenderer())); - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Columns.certificate, new DownloadCertificateCellRenderer())); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Columns.certificate, new DownloadCertificateCellRenderer(getLocale()))); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Columns.recertification, new DateFlexiCellRenderer(getLocale()))); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, Columns.lastModification)); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Columns.lastUserModified)); diff --git a/src/main/java/org/olat/modules/coach/ui/StudentCoursesController.java b/src/main/java/org/olat/modules/coach/ui/StudentCoursesController.java index 43e57f4eec44282502cdd5f115c432ef39f14b75..e9503014c472238472e9eb580bcbc5b81a8ff59c 100644 --- a/src/main/java/org/olat/modules/coach/ui/StudentCoursesController.java +++ b/src/main/java/org/olat/modules/coach/ui/StudentCoursesController.java @@ -205,7 +205,7 @@ public class StudentCoursesController extends FormBasicController implements Act columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Columns.repoName, "select")); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Columns.passed, new PassedCellRenderer())); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Columns.score, new ScoreCellRenderer())); - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Columns.certificate, new DownloadCertificateCellRenderer())); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Columns.certificate, new DownloadCertificateCellRenderer(getLocale()))); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Columns.recertification, new DateFlexiCellRenderer(getLocale()))); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Columns.progress, new ProgressRenderer(true, getTranslator()))); if(lectureModule.isEnabled()) {