From 687bfdce9b3536eceaf93299ac9263fecaab7ee5 Mon Sep 17 00:00:00 2001 From: gnaegi <none@none> Date: Mon, 4 Jul 2016 18:54:21 +0200 Subject: [PATCH] OO-2085 fix class cast exception in case of transient user object --- .../propertyhandlers/DateDisplayPropertyHandler.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/olat/user/propertyhandlers/DateDisplayPropertyHandler.java b/src/main/java/org/olat/user/propertyhandlers/DateDisplayPropertyHandler.java index de3d7b7dc3d..8639081fd02 100644 --- a/src/main/java/org/olat/user/propertyhandlers/DateDisplayPropertyHandler.java +++ b/src/main/java/org/olat/user/propertyhandlers/DateDisplayPropertyHandler.java @@ -23,6 +23,7 @@ import java.util.Date; import java.util.Locale; import java.util.Map; +import org.olat.admin.user.imp.TransientIdentity; import org.olat.core.gui.components.form.ValidationError; import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.FormItemContainer; @@ -73,9 +74,14 @@ public class DateDisplayPropertyHandler extends AbstractUserPropertyHandler { if (DATE_TYPE_CR.equals(myName)) return user.getCreationDate(); if (DATE_TYPE_LL.equals(myName)) { - Identity id = ((UserImpl)user).getIdentity(); - if (id != null) { - return id.getLastLogin(); + if (user instanceof UserImpl) { + Identity id = ((UserImpl)user).getIdentity(); + if (id != null) { + return id.getLastLogin(); + } + } else if (user instanceof TransientIdentity) { + // anticipated, some kind of preview screen + return new Date(0); } // huh, we didn't find this identity log.warn("Couldn't find Identity for given User: " + user.getKey()); -- GitLab