Index: lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20191122.sql =================================================================== diff -u --- lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20191122.sql (revision 0) +++ lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch20191122.sql (revision 6448b48ccaa29e465448dd3b5d49d92d9d9be0b9) @@ -0,0 +1,36 @@ +SET AUTOCOMMIT = 0; +set FOREIGN_KEY_CHECKS = 0; + +-- LDEV-4914 Do not allow NULLs in Lesson settings + +-- set any null values to default value of 0 +UPDATE lams_lesson SET + learner_presence_avail = IFNULL(learner_presence_avail, 0), + learner_im_avail = IFNULL(learner_im_avail, 0), + live_edit_enabled = IFNULL(live_edit_enabled, 0), + enable_lesson_notifications = IFNULL(enable_lesson_notifications, 0), + locked_for_edit = IFNULL(locked_for_edit, 0), + marks_released = IFNULL(marks_released, 0), + enable_lesson_intro = IFNULL(enable_lesson_intro, 0), + display_design_image = IFNULL(display_design_image, 0), + force_restart = IFNULL(force_restart, 0), + allow_restart = IFNULL(allow_restart, 0), + gradebook_on_complete = IFNULL(gradebook_on_complete, 0); + + +ALTER TABLE lams_lesson + MODIFY COLUMN learner_presence_avail TINYINT(1) NOT NULL DEFAULT 0, + MODIFY COLUMN learner_im_avail TINYINT(1) NOT NULL DEFAULT 0, + MODIFY COLUMN live_edit_enabled TINYINT(1) NOT NULL DEFAULT 0, + MODIFY COLUMN enable_lesson_notifications TINYINT(1) NOT NULL DEFAULT 0, + MODIFY COLUMN locked_for_edit TINYINT(1) NOT NULL DEFAULT 0, + MODIFY COLUMN marks_released TINYINT(1) NOT NULL DEFAULT 0, + MODIFY COLUMN enable_lesson_intro TINYINT(1) NOT NULL DEFAULT 0, + MODIFY COLUMN display_design_image TINYINT(1) NOT NULL DEFAULT 0, + MODIFY COLUMN force_restart TINYINT(1) NOT NULL DEFAULT 0, + MODIFY COLUMN allow_restart TINYINT(1) NOT NULL DEFAULT 0, + MODIFY COLUMN gradebook_on_complete TINYINT(1) NOT NULL DEFAULT 0; + +COMMIT; +SET AUTOCOMMIT = 1; +set FOREIGN_KEY_CHECKS = 1; Index: lams_common/src/java/org/lamsfoundation/lams/lesson/Lesson.java =================================================================== diff -u -r1ee503e3d0e0228ea8a45025fddf15d9623c0377 -r6448b48ccaa29e465448dd3b5d49d92d9d9be0b9 --- lams_common/src/java/org/lamsfoundation/lams/lesson/Lesson.java (.../Lesson.java) (revision 1ee503e3d0e0228ea8a45025fddf15d9623c0377) +++ lams_common/src/java/org/lamsfoundation/lams/lesson/Lesson.java (.../Lesson.java) (revision 6448b48ccaa29e465448dd3b5d49d92d9d9be0b9) @@ -215,51 +215,51 @@ private Set gradebookUserLessons = new HashSet(); @Column(name = "enable_lesson_intro") - private Boolean enableLessonIntro; + private boolean enableLessonIntro = false; @Column(name = "description") private String lessonDescription; @Column(name = "display_design_image") - private Boolean displayDesignImage; + private boolean displayDesignImage = false; @Column(name = "locked_for_edit") - private Boolean lockedForEdit; + private boolean lockedForEdit = false; @Column(name = "learner_presence_avail") - private Boolean learnerPresenceAvailable; + private boolean learnerPresenceAvailable = false; @Column(name = "learner_im_avail") - private Boolean learnerImAvailable; + private boolean learnerImAvailable = false; @Column(name = "live_edit_enabled") - private Boolean liveEditEnabled; + private boolean liveEditEnabled = false; @Column(name = "enable_lesson_notifications") - private Boolean enableLessonNotifications; + private boolean enableLessonNotifications = false; @Column(name = "marks_released") - private Boolean marksReleased; + private boolean marksReleased = false; /** * Should Learner start the lesson from the beginning each time he enters it. * Content is not removed, LessonProgress is deleted, not archived. */ @Column(name = "force_restart") - private Boolean forceLearnerRestart; + private boolean forceLearnerRestart = false; /** * Should Learners be allowed to restart the lesson after finishing it. * Content is not removed, LessonProgress is archived and then deleted. */ @Column(name = "allow_restart") - private Boolean allowLearnerRestart; + private boolean allowLearnerRestart = false; /** * Should learners be displayed activity gradebook on lesson complete. */ @Column(name = "gradebook_on_complete") - private Boolean gradebookOnComplete; + private boolean gradebookOnComplete = false; /** * For lesson conditional release @@ -495,62 +495,6 @@ this.previousLessonStateId = previousLessonStateId; } - public Boolean isEnableLessonIntro() { - return enableLessonIntro; - } - - public void setEnableLessonIntro(Boolean enableLessonIntro) { - this.enableLessonIntro = enableLessonIntro; - } - - public Boolean isDisplayDesignImage() { - return displayDesignImage; - } - - public void setDisplayDesignImage(Boolean displayDesignImage) { - this.displayDesignImage = displayDesignImage; - } - - public Boolean getLearnerPresenceAvailable() { - return learnerPresenceAvailable; - } - - public void setLearnerPresenceAvailable(Boolean learnerPresenceAvailable) { - this.learnerPresenceAvailable = learnerPresenceAvailable; - } - - public Boolean getLearnerImAvailable() { - return learnerImAvailable; - } - - public void setLearnerImAvailable(Boolean learnerImAvailable) { - this.learnerImAvailable = learnerImAvailable; - } - - public Boolean getLiveEditEnabled() { - return liveEditEnabled; - } - - public void setLiveEditEnabled(Boolean liveEditEnabled) { - this.liveEditEnabled = liveEditEnabled; - } - - public Boolean getEnableLessonNotifications() { - return enableLessonNotifications; - } - - public void setEnableLessonNotifications(Boolean enableLessonNotifications) { - this.enableLessonNotifications = enableLessonNotifications; - } - - public Boolean getLockedForEdit() { - return lockedForEdit; - } - - public void setLockedForEdit(Boolean lockedForEdit) { - this.lockedForEdit = lockedForEdit; - } - public LearningDesign getLearningDesign() { return this.learningDesign; } @@ -654,51 +598,107 @@ this.gradebookUserLessons = gradebookUserLessons; } - public Boolean getMarksReleased() { - return marksReleased; + public Set getPrecedingLessons() { + return precedingLessons; } - public void setMarksReleased(Boolean marksReleased) { - this.marksReleased = marksReleased; + public void setPrecedingLessons(Set precedingLessons) { + this.precedingLessons = precedingLessons; } - public Boolean getForceLearnerRestart() { - return forceLearnerRestart; + public Set getSucceedingLessons() { + return succeedingLessons; } - public void setForceLearnerRestart(Boolean forceLearnerRestart) { - this.forceLearnerRestart = forceLearnerRestart; + public void setSucceedingLessons(Set succeedingLessons) { + this.succeedingLessons = succeedingLessons; } - public Boolean getAllowLearnerRestart() { - return allowLearnerRestart; + public boolean isEnableLessonIntro() { + return enableLessonIntro; } - public void setAllowLearnerRestart(Boolean allowLearnerRestart) { - this.allowLearnerRestart = allowLearnerRestart; + public void setEnableLessonIntro(boolean enableLessonIntro) { + this.enableLessonIntro = enableLessonIntro; } - public Boolean getGradebookOnComplete() { - return gradebookOnComplete; + public boolean isDisplayDesignImage() { + return displayDesignImage; } - public void setGradebookOnComplete(Boolean gradebookOnComplete) { - this.gradebookOnComplete = gradebookOnComplete; + public void setDisplayDesignImage(boolean displayDesignImage) { + this.displayDesignImage = displayDesignImage; } - public Set getPrecedingLessons() { - return precedingLessons; + public boolean getLockedForEdit() { + return lockedForEdit; } - public void setPrecedingLessons(Set precedingLessons) { - this.precedingLessons = precedingLessons; + public void setLockedForEdit(boolean lockedForEdit) { + this.lockedForEdit = lockedForEdit; } - public Set getSucceedingLessons() { - return succeedingLessons; + public boolean getLearnerPresenceAvailable() { + return learnerPresenceAvailable; } - public void setSucceedingLessons(Set succeedingLessons) { - this.succeedingLessons = succeedingLessons; + public void setLearnerPresenceAvailable(boolean learnerPresenceAvailable) { + this.learnerPresenceAvailable = learnerPresenceAvailable; } + + public boolean getLearnerImAvailable() { + return learnerImAvailable; + } + + public void setLearnerImAvailable(boolean learnerImAvailable) { + this.learnerImAvailable = learnerImAvailable; + } + + public boolean getLiveEditEnabled() { + return liveEditEnabled; + } + + public void setLiveEditEnabled(boolean liveEditEnabled) { + this.liveEditEnabled = liveEditEnabled; + } + + public boolean getEnableLessonNotifications() { + return enableLessonNotifications; + } + + public void setEnableLessonNotifications(boolean enableLessonNotifications) { + this.enableLessonNotifications = enableLessonNotifications; + } + + public boolean getMarksReleased() { + return marksReleased; + } + + public void setMarksReleased(boolean marksReleased) { + this.marksReleased = marksReleased; + } + + public boolean getForceLearnerRestart() { + return forceLearnerRestart; + } + + public void setForceLearnerRestart(boolean forceLearnerRestart) { + this.forceLearnerRestart = forceLearnerRestart; + } + + public boolean getAllowLearnerRestart() { + return allowLearnerRestart; + } + + public void setAllowLearnerRestart(boolean allowLearnerRestart) { + this.allowLearnerRestart = allowLearnerRestart; + } + + public boolean getGradebookOnComplete() { + return gradebookOnComplete; + } + + public void setGradebookOnComplete(boolean gradebookOnComplete) { + this.gradebookOnComplete = gradebookOnComplete; + } } \ No newline at end of file Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java =================================================================== diff -u -r20aa6cbca9fc96d341080e6ad39f82593443f792 -r6448b48ccaa29e465448dd3b5d49d92d9d9be0b9 --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision 20aa6cbca9fc96d341080e6ad39f82593443f792) +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision 6448b48ccaa29e465448dd3b5d49d92d9d9be0b9) @@ -37,7 +37,6 @@ import java.util.TreeSet; import org.apache.log4j.Logger; -import org.lamsfoundation.lams.dao.IBaseDAO; import org.lamsfoundation.lams.gradebook.GradebookUserActivity; import org.lamsfoundation.lams.gradebook.GradebookUserLesson; import org.lamsfoundation.lams.gradebook.dao.IGradebookDAO; @@ -234,8 +233,7 @@ @Override public List getGBActivityArchiveRowsForLearner(Long activityId, Integer userId, TimeZone userTimezone) { - logger - .debug("Getting archive gradebook user data for activity: " + activityId + ". For user: " + userId); + logger.debug("Getting archive gradebook user data for activity: " + activityId + ". For user: " + userId); Activity activity = getActivityById(activityId); Lesson lesson = activity.getLearningDesign().getLessons().iterator().next(); @@ -278,8 +276,7 @@ @Override public List getGBLessonComplete(Long lessonId, Integer userId) { - logger - .debug("Getting lesson complete gradebook user data for lesson: " + lessonId + ". For user: " + userId); + logger.debug("Getting lesson complete gradebook user data for lesson: " + lessonId + ". For user: " + userId); Lesson lesson = lessonService.getLesson(lessonId); User learner = (User) userService.findById(User.class, userId); @@ -775,45 +772,45 @@ /* * TODO Method is not in use. Remove it? * - private void updateUserActivityGradebookMark(Lesson lesson, Activity activity, User learner) { - ToolSession toolSession = toolService.getToolSessionByLearner(learner, activity); + * private void updateUserActivityGradebookMark(Lesson lesson, Activity activity, User learner) { + * ToolSession toolSession = toolService.getToolSessionByLearner(learner, activity); + * + * if ((toolSession == null) || (toolSession == null) || (learner == null) || (lesson == null) + * || (activity == null) || !(activity instanceof ToolActivity) + * || (((ToolActivity) activity).getEvaluation() == null)) { + * return; + * } + * ToolActivity toolActivity = (ToolActivity) activity; + * + * // Getting the first activity evaluation + * ActivityEvaluation eval = toolActivity.getEvaluation(); + * + * try { + * ToolOutput toolOutput = toolService.getOutputFromTool(eval.getToolOutputDefinition(), toolSession, + * learner.getUserId()); + * + * if (toolOutput != null) { + * ToolOutputValue outputVal = toolOutput.getValue(); + * if (outputVal != null) { + * Double outputDouble = outputVal.getDouble(); + * + * GradebookUserActivity gradebookUserActivity = getGradebookUserActivity(toolActivity.getActivityId(), + * learner.getUserId()); + * + * // Only set the mark if it hasnt previously been set by a teacher + * if ((gradebookUserActivity == null) || !gradebookUserActivity.getMarkedInGradebook()) { + * updateGradebookUserActivityMark(lesson, learner, toolActivity, outputDouble, false, false); + * } + * } + * } + * + * } catch (ToolException e) { + * logger.debug( + * "Runtime exception when attempted to get outputs for activity: " + toolActivity.getActivityId(), e); + * } + * } + */ - if ((toolSession == null) || (toolSession == null) || (learner == null) || (lesson == null) - || (activity == null) || !(activity instanceof ToolActivity) - || (((ToolActivity) activity).getEvaluation() == null)) { - return; - } - ToolActivity toolActivity = (ToolActivity) activity; - - // Getting the first activity evaluation - ActivityEvaluation eval = toolActivity.getEvaluation(); - - try { - ToolOutput toolOutput = toolService.getOutputFromTool(eval.getToolOutputDefinition(), toolSession, - learner.getUserId()); - - if (toolOutput != null) { - ToolOutputValue outputVal = toolOutput.getValue(); - if (outputVal != null) { - Double outputDouble = outputVal.getDouble(); - - GradebookUserActivity gradebookUserActivity = getGradebookUserActivity(toolActivity.getActivityId(), - learner.getUserId()); - - // Only set the mark if it hasnt previously been set by a teacher - if ((gradebookUserActivity == null) || !gradebookUserActivity.getMarkedInGradebook()) { - updateGradebookUserActivityMark(lesson, learner, toolActivity, outputDouble, false, false); - } - } - } - - } catch (ToolException e) { - logger.debug( - "Runtime exception when attempted to get outputs for activity: " + toolActivity.getActivityId(), e); - } - } - */ - /** * It's the same method as above, it only also accepts gradebookUserActivity and gradebookUserLesson as parameters. */ @@ -916,7 +913,7 @@ Lesson lesson = lessonService.getLesson(lessonId); - boolean isMarksReleased = (lesson.getMarksReleased() != null) && lesson.getMarksReleased(); + boolean isMarksReleased = lesson.getMarksReleased(); lesson.setMarksReleased(!isMarksReleased); userService.save(lesson); @@ -948,7 +945,7 @@ // For My Grades gradebook page: don't include lesson in list if the user doesn't have permission. if (view == GBGridView.LRN_COURSE) { - boolean marksReleased = (lesson.getMarksReleased() != null) && lesson.getMarksReleased(); + boolean marksReleased = lesson.getMarksReleased(); boolean hasLearnerPermission = lesson.getAllLearners().contains(user); if (!hasLearnerPermission || !marksReleased) { continue; @@ -1122,10 +1119,10 @@ public List exportLessonGradebook(Lesson lesson) { boolean isWeighted = toolService.isWeightedMarks(lesson.getLearningDesign()); - List sheets = new LinkedList(); + List sheets = new LinkedList<>(); // -------------------- process summary excel page -------------------------------- - + ExcelSheet summarySheet = new ExcelSheet(getMessage("gradebook.export.lesson.summary")); sheets.add(summarySheet); @@ -1141,8 +1138,7 @@ ExcelRow lessonMedianTimeTaken = summarySheet.initRow(); lessonMedianTimeTaken.addCell(getMessage("gradebook.export.average.lesson.time.taken"), true); - lessonMedianTimeTaken.addCell(gradebookDAO.getMedianTimeTakenLesson(lesson.getLessonId()) / 1000, - false); + lessonMedianTimeTaken.addCell(gradebookDAO.getMedianTimeTakenLesson(lesson.getLessonId()) / 1000, false); summarySheet.addEmptyRow(); // Adding the activity average data to the summary @@ -1197,11 +1193,11 @@ userDataRow.addCell(userRow.getLogin()); userDataRow.addCell(getProgressMessage(userRow)); userDataRow.addCell(userRow.getTimeTakenSeconds()); - if (isWeighted) { - userDataRow.addPercentageCell(userRow.getMark() / 100.0); - } else { - userDataRow.addCell(userRow.getMark()); - } + if (isWeighted) { + userDataRow.addPercentageCell(userRow.getMark() / 100.0); + } else { + userDataRow.addCell(userRow.getMark()); + } } summarySheet.addEmptyRow(); @@ -1228,7 +1224,7 @@ for (Activity activity : filteredActivityToUserDTOMap.keySet()) { headerRow.addCell(activity.getTitle(), true); // this one works } - + headerRow = summarySheet.initRow(); headerRow.addCell(getMessage("gradebook.export.last.name"), true); headerRow.addCell(getMessage("gradebook.export.first.name"), true); @@ -1258,11 +1254,11 @@ } userDataRow.addCell(userActivityMark); } - if (isWeighted) { - userDataRow.addPercentageCell(userRow.getMark() / 100.0); - } else { - userDataRow.addCell(userRow.getMark()); - } + if (isWeighted) { + userDataRow.addPercentageCell(userRow.getMark() / 100.0); + } else { + userDataRow.addCell(userRow.getMark()); + } } // -------------------- process activity excel page -------------------------------- @@ -1309,12 +1305,12 @@ ExcelSheet learnerViewSheet = new ExcelSheet(getMessage("gradebook.export.learner.view")); sheets.add(learnerViewSheet); - + Set learners = new TreeSet(new LastNameAlphabeticComparator()); if (lesson.getAllLearners() != null) { learners.addAll(lesson.getAllLearners()); } - + for (User learner : learners) { userTitleRow = learnerViewSheet.initRow(); @@ -1418,8 +1414,7 @@ : FileUtil.EXPORT_TO_SPREADSHEET_TITLE_DATE_FORMAT.format(finishDate)); Long duration = getActivityDuration(learnerProgress, activity); activityDataRow.addCell(duration == null ? "" : duration / 1000); - activityDataRow.addCell(activityArchive == null ? "" : activityArchive.getMark(), - false); + activityDataRow.addCell(activityArchive == null ? "" : activityArchive.getMark(), false); } attemptOrder--; } @@ -1433,7 +1428,7 @@ @Override @SuppressWarnings("unchecked") public List exportCourseGradebook(Integer userId, Integer organisationId) { - List sheets = new LinkedList(); + List sheets = new LinkedList<>(); // The entire data list ExcelSheet sheet = new ExcelSheet(getMessage("gradebook.exportcourse.course.summary")); @@ -1584,9 +1579,9 @@ } @Override - public List exportSelectedLessonsGradebook(Integer userId, Integer organisationId, - String[] lessonIds, boolean simplified) { - List sheets = new LinkedList(); + public List exportSelectedLessonsGradebook(Integer userId, Integer organisationId, String[] lessonIds, + boolean simplified) { + List sheets = new LinkedList<>(); ExcelSheet sheet = new ExcelSheet(getMessage("gradebook.exportcourse.course.summary")); sheets.add(sheet); @@ -1655,12 +1650,10 @@ if (simplified) { lessonsNames.addEmptyCells(3); for (Lesson lesson : selectedLessons) { - lessonsNames.addCell(lesson.getLessonName(), true) - .setAlignment(ExcelCell.ALIGN_CENTER); + lessonsNames.addCell(lesson.getLessonName(), true).setAlignment(ExcelCell.ALIGN_CENTER); } lessonsNames.addCell("", ExcelCell.BORDER_STYLE_LEFT_THICK); - lessonsNames.addCell(getMessage("label.overall.totals"), true) - .setAlignment(ExcelCell.ALIGN_CENTER); + lessonsNames.addCell(getMessage("label.overall.totals"), true).setAlignment(ExcelCell.ALIGN_CENTER); lessonsNames.addCell("", ExcelCell.BORDER_STYLE_RIGHT_THICK); } else { lessonsNames.addEmptyCells(4); @@ -1697,8 +1690,7 @@ headerRow.addCell(getMessage("label.actuals"), true, ExcelCell.BORDER_STYLE_LEFT_THICK) .setAlignment(ExcelCell.ALIGN_CENTER); headerRow.addCell(getMessage("label.max")).setAlignment(ExcelCell.ALIGN_CENTER); - headerRow.addCell("%", false, ExcelCell.BORDER_STYLE_RIGHT_THICK) - .setAlignment(ExcelCell.ALIGN_CENTER); + headerRow.addCell("%", false, ExcelCell.BORDER_STYLE_RIGHT_THICK).setAlignment(ExcelCell.ALIGN_CENTER); } else { //create Selected Lessons Header Full for (Lesson lesson : selectedLessons) { @@ -1719,7 +1711,7 @@ headerRow.addCell(getMessage("label.max.mark")); headerRow.addCell("%", ExcelCell.BORDER_STYLE_RIGHT_THICK); } - + headerRow.addEmptyCells(2); headerRow.addCell(getMessage("label.actuals"), true, ExcelCell.BORDER_STYLE_LEFT_THIN); headerRow.addCell(getMessage("label.max"), true); @@ -1890,25 +1882,25 @@ /* * TODO Method is not in use. Remove it? * - public void updateActivityMark(Double mark, String feedback, Integer userID, Long toolSessionID, - Boolean markedInGradebook) { - ToolSession toolSession = toolService.getToolSessionById(toolSessionID); - User learner = (User) userService.findById(User.class, userID); - if ((learner != null) && (toolSession != null)) { - ToolActivity activity = toolSession.getToolActivity(); - GradebookUserActivity gradebookUserActivity = getGradebookUserActivity(activity.getActivityId(), userID); + * public void updateActivityMark(Double mark, String feedback, Integer userID, Long toolSessionID, + * Boolean markedInGradebook) { + * ToolSession toolSession = toolService.getToolSessionById(toolSessionID); + * User learner = (User) userService.findById(User.class, userID); + * if ((learner != null) && (toolSession != null)) { + * ToolActivity activity = toolSession.getToolActivity(); + * GradebookUserActivity gradebookUserActivity = getGradebookUserActivity(activity.getActivityId(), userID); + * + * // If gradebook user activity is null or the mark is set by teacher or was set previously by user - save the + * // mark and feedback + * if ((gradebookUserActivity == null) || markedInGradebook || !gradebookUserActivity.getMarkedInGradebook()) { + * updateGradebookUserActivityMark(toolSession.getLesson(), learner, activity, mark, markedInGradebook, + * false); + * updateUserActivityGradebookFeedback(activity, learner, feedback); + * } + * } + * } + */ - // If gradebook user activity is null or the mark is set by teacher or was set previously by user - save the - // mark and feedback - if ((gradebookUserActivity == null) || markedInGradebook || !gradebookUserActivity.getMarkedInGradebook()) { - updateGradebookUserActivityMark(toolSession.getLesson(), learner, activity, mark, markedInGradebook, - false); - updateUserActivityGradebookFeedback(activity, learner, feedback); - } - } - } - */ - @Override public void removeActivityMark(Integer userID, Long toolSessionID) { ToolSession toolSession = toolService.getToolSessionById(toolSessionID); @@ -2585,7 +2577,7 @@ public void setOutcomeService(IOutcomeService outcomeService) { this.outcomeService = outcomeService; } - + public void setIntegrationService(IIntegrationService integrationService) { this.integrationService = integrationService; } Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/controller/GradebookMonitoringController.java =================================================================== diff -u -rd471fb4d4ad60b6568b9f3cb4ec9cd82c6fbe495 -r6448b48ccaa29e465448dd3b5d49d92d9d9be0b9 --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/controller/GradebookMonitoringController.java (.../GradebookMonitoringController.java) (revision d471fb4d4ad60b6568b9f3cb4ec9cd82c6fbe495) +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/controller/GradebookMonitoringController.java (.../GradebookMonitoringController.java) (revision 6448b48ccaa29e465448dd3b5d49d92d9d9be0b9) @@ -104,7 +104,7 @@ } Lesson lesson = lessonService.getLesson(lessonId); - boolean marksReleased = (lesson.getMarksReleased() != null) && lesson.getMarksReleased(); + boolean marksReleased = lesson.getMarksReleased(); LessonDetailsDTO lessonDetatilsDTO = lesson.getLessonDetails(); request.setAttribute("lessonDetails", lessonDetatilsDTO); request.setAttribute("marksReleased", marksReleased);