Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java =================================================================== diff -u -r1699f7ed4fd338ac614126e4d68739f417997c4d -rbcc7587bf9ecfad75c935702a8b53405a7b90a17 --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision 1699f7ed4fd338ac614126e4d68739f417997c4d) +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision bcc7587bf9ecfad75c935702a8b53405a7b90a17) @@ -519,6 +519,7 @@ if (lesson == null) { return; } + boolean weighted = isWeightedMarks(lesson.getLearningDesign()); Map userToGradebookUserLessonMap = getUserToGradebookUserLessonMap(lesson, null); @@ -530,7 +531,7 @@ List userActivities = gradebookDAO.getGradebookUserActivitiesForLesson(lessonId, userId); - Double totalMark = calculateLessonMark(isWeightedMarks(lesson.getLearningDesign()), userActivities, null); + Double totalMark = calculateLessonMark(weighted, userActivities, null); if (totalMark != null) { @@ -1936,9 +1937,12 @@ Double rawMark = inputRawMark != null ? inputRawMark : 0.0; if (useWeightings) { ToolActivity activity = guact.getActivity(); - Long maxMark = toolService.getActivityMaxPossibleMark(activity); - Integer weight = activity.getEvaluation().getWeight() != null ? activity.getEvaluation().getWeight() : 0; - return doWeightedMarkCalc(rawMark, activity, weight, maxMark); + if (activity.getEvaluation() == null || activity.getEvaluation().getWeight() == null) { + return 0.0; + } else { + return doWeightedMarkCalc(rawMark, activity, activity.getEvaluation().getWeight(), + toolService.getActivityMaxPossibleMark(activity)); + } } return rawMark; }