Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java =================================================================== diff -u -r27f1c5a7f08417a5d6f5e4c7faff092f520078a6 -r6620a13bf25c9d8b453624779809cb62d53f2722 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision 27f1c5a7f08417a5d6f5e4c7faff092f520078a6) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision 6620a13bf25c9d8b453624779809cb62d53f2722) @@ -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 "