Index: lams_admin/.classpath =================================================================== diff -u -ra7136940932826c124abfb4a8e39a412a82fe1a6 -r48b7b344ad0171dfa0ebdacdf742560366d5d1dc --- lams_admin/.classpath (.../.classpath) (revision a7136940932826c124abfb4a8e39a412a82fe1a6) +++ lams_admin/.classpath (.../.classpath) (revision 48b7b344ad0171dfa0ebdacdf742560366d5d1dc) @@ -25,5 +25,7 @@ + + Index: lams_admin/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -rb6d55d571ea99a87a367fec36df40ec45627b0ea -r48b7b344ad0171dfa0ebdacdf742560366d5d1dc --- lams_admin/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision b6d55d571ea99a87a367fec36df40ec45627b0ea) +++ lams_admin/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 48b7b344ad0171dfa0ebdacdf742560366d5d1dc) @@ -506,6 +506,7 @@ label.event.type = Type of Event label.select.topic = Select topic... label.select.type = Select type... +label.event.user.deleted = Deleted user with ID {0} label.date = Date label.between.dates = Between dates label.lesson.with.name = Lesson: {0} ({1}) Index: lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/LogEventController.java =================================================================== diff -u -r1713042dda0682a11a40bd58cb3bbb8b30238786 -r48b7b344ad0171dfa0ebdacdf742560366d5d1dc --- lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/LogEventController.java (.../LogEventController.java) (revision 1713042dda0682a11a40bd58cb3bbb8b30238786) +++ lams_admin/src/java/org/lamsfoundation/lams/admin/web/controller/LogEventController.java (.../LogEventController.java) (revision 48b7b344ad0171dfa0ebdacdf742560366d5d1dc) @@ -32,12 +32,14 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.hibernate.ObjectNotFoundException; import org.lamsfoundation.lams.logevent.LogEvent; import org.lamsfoundation.lams.logevent.LogEventType; import org.lamsfoundation.lams.logevent.dto.LogEventTypeDTO; import org.lamsfoundation.lams.logevent.service.ILogEventService; import org.lamsfoundation.lams.usermanagement.Role; import org.lamsfoundation.lams.usermanagement.User; +import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; import org.lamsfoundation.lams.util.DateUtil; import org.lamsfoundation.lams.util.JsonUtil; import org.lamsfoundation.lams.util.MessageService; @@ -64,6 +66,9 @@ private ILogEventService logEventService; @Autowired + private IUserManagementService userManagementService; + + @Autowired @Qualifier("adminMessageService") private MessageService messageService; @@ -177,17 +182,31 @@ User user = event.getUser(); if (user != null) { - responseRow.put("userPortraitId", - user.getPortraitUuid() == null ? null : user.getPortraitUuid().toString()); - responseRow.put("userId", user.getUserId()); - responseRow.put("userName", user.getLogin()); + Integer userId = user.getUserId(); + try { + responseRow.put("userPortraitId", + user.getPortraitUuid() == null ? null : user.getPortraitUuid().toString()); + responseRow.put("userId", user.getUserId()); + responseRow.put("userName", user.getLogin()); + } catch (ObjectNotFoundException e) { + responseRow.put("userId", userId); + responseRow.put("userName", + messageService.getMessage("label.event.user.deleted", new Object[] { userId })); + } } User targetUser = event.getTargetUser(); if (targetUser != null) { - responseRow.put("targetUserPortraitId", - targetUser.getPortraitUuid() == null ? null : targetUser.getPortraitUuid().toString()); - responseRow.put("targetUserId", targetUser.getUserId()); - responseRow.put("targetUserName", targetUser.getLogin()); + Integer userId = targetUser.getUserId(); + try { + responseRow.put("targetUserPortraitId", + targetUser.getPortraitUuid() == null ? null : targetUser.getPortraitUuid().toString()); + responseRow.put("targetUserId", targetUser.getUserId()); + responseRow.put("targetUserName", targetUser.getLogin()); + } catch (ObjectNotFoundException e) { + responseRow.put("targetUserId", userId); + responseRow.put("targetUserName", + messageService.getMessage("label.event.user.deleted", new Object[] { userId })); + } } if (eventDetails.length > 1 && eventDetails[1] != null) { responseRow.put("lessonName", JsonUtil.toString(eventDetails[1]));