Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java =================================================================== diff -u -r5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc -r246994a59d7c4ff0dfd17290461e112bedfc6545 --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision 5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc) +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision 246994a59d7c4ff0dfd17290461e112bedfc6545) @@ -335,8 +335,15 @@ return gradebookDAO.getGradebookUserDataForActivity(activityID, userID); } - public Double getAverageMarkForActivity(Long activityID) { - return gradebookDAO.getAverageMarkForActivity(activityID); + public Double getAverageMarkForActivity(Long activityID, Long groupID) { + //return AverageMarkForActivity if groupId is null and AverageMarkForGroupedActivity if groupId is specified + Double averageMark; + if (groupID == null) { + averageMark = gradebookDAO.getAverageMarkForActivity(activityID); + } else { + averageMark = gradebookDAO.getAverageMarkForGroupedActivity(activityID, groupID); + } + return averageMark; } public Double getAverageMarkForLesson(Long lessonID) { Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/IGradebookService.java =================================================================== diff -u -r5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc -r246994a59d7c4ff0dfd17290461e112bedfc6545 --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/IGradebookService.java (.../IGradebookService.java) (revision 5a5f3640c4d5fdf0c302347e7d6b502a972fd9cc) +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/IGradebookService.java (.../IGradebookService.java) (revision 246994a59d7c4ff0dfd17290461e112bedfc6545) @@ -157,12 +157,14 @@ GradebookUserActivity getGradebookUserActivity(Long activityID, Integer userID); /** - * Returns the average mark for a given activity + * Returns the average mark for a given activity. Activity can be grouped - then supply according groupId to receive + * AverageMarkForGroupedActivity. * * @param activityID + * @param groupID return AverageMarkForActivity if groupId is null and AverageMarkForGroupedActivity if groupId is specified * @return */ - Double getAverageMarkForActivity(Long activityID); + Double getAverageMarkForActivity(Long activityID, Long groupID); /** * Returns the average mark for a lesson Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/action/GradebookAction.java =================================================================== diff -u -rb7097f75fa02948b4092c56103ea3eb853297016 -r246994a59d7c4ff0dfd17290461e112bedfc6545 --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/action/GradebookAction.java (.../GradebookAction.java) (revision b7097f75fa02948b4092c56103ea3eb853297016) +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/action/GradebookAction.java (.../GradebookAction.java) (revision 246994a59d7c4ff0dfd17290461e112bedfc6545) @@ -389,20 +389,21 @@ String rowID = WebUtil.readStrParam(request, AttributeNames.PARAM_ACTIVITY_ID); Long activityID = null; + Long groupID = null; // Splitting the rowID param to get the activity/group id pair String[] split = rowID.split("_"); if (split.length == 2) { activityID = Long.parseLong(split[0]); + groupID = Long.parseLong(split[1]); } else { activityID = Long.parseLong(rowID); } Activity activity = gradebookService.getActivityById(activityID); if (activity != null) { - Double averageMark = gradebookService.getAverageMarkForActivity(activityID); - + Double averageMark = gradebookService.getAverageMarkForActivity(activityID, groupID); if (averageMark != null) { writeResponse(response, CONTENT_TYPE_TEXT_PLAIN, ENCODING_UTF8, averageMark.toString());