Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java =================================================================== diff -u -r093df66baaeb89432c9e5a0351c8fb91cc4a13ac -r935154ecdc7bd5d17052eeb8188ef8487b145306 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision 093df66baaeb89432c9e5a0351c8fb91cc4a13ac) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision 935154ecdc7bd5d17052eeb8188ef8487b145306) @@ -546,9 +546,12 @@ lessonService.setLearners(newLesson, organizationUsers); lessonService.setStaffMembers(newLesson, staffs); } else { - newLesson.setOrganisation(organisation); - // security check needs organisation to be set - securityService.isLessonMonitor(lessonId, userId, "create class for lesson", true); + if (organisation != null) { + // security check needs organisation to be set + // it is not set for lesson preview, so it still needs improvement + newLesson.setOrganisation(organisation); + securityService.isLessonMonitor(lessonId, userId, "create class for lesson", true); + } LessonClass oldLessonClass = newLesson.getLessonClass(); @@ -707,10 +710,12 @@ if (MonitoringService.log.isDebugEnabled()) { MonitoringService.log.debug("=============Starting Lesson " + lessonId + "=============="); } - securityService.isLessonMonitor(lessonId, userId, "start lesson", true); - // we get the lesson just created Lesson requestedLesson = lessonDAO.getLesson(new Long(lessonId)); + if (requestedLesson.getOrganisation() != null) { + // preview does not have organisation set, so this security check still needs improvement + securityService.isLessonMonitor(lessonId, userId, "start lesson", true); + } if (requestedLesson.isLessonStarted()) { MonitoringService.log .warn("Lesson "