Index: lams_gradebook/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -r2d20cd764b9f78cf3d349dc62735bcc86d356795 -r502290bd52d375ca2661924f6c80ff5590e5aaaf --- lams_gradebook/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 2d20cd764b9f78cf3d349dc62735bcc86d356795) +++ lams_gradebook/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 502290bd52d375ca2661924f6c80ff5590e5aaaf) @@ -118,6 +118,7 @@ label.activity.marks.weighted =(Activity Marks Weighted) gradebook.export.max.time.taken.seconds =Maximum time taken (seconds) gradebook.export.min.time.taken.seconds =Minimum time taken (seconds) +gradebook.export.groupName = Group name #======= End labels: Exported 112 labels for en AU ===== Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java =================================================================== diff -u -r352e16d0ad309caa12c5422fddebfc221c83714b -r502290bd52d375ca2661924f6c80ff5590e5aaaf --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision 352e16d0ad309caa12c5422fddebfc221c83714b) +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision 502290bd52d375ca2661924f6c80ff5590e5aaaf) @@ -1035,24 +1035,26 @@ ArrayList userRows = getGBUserRowsForLesson(lesson, null); // Setting up the user marks table - ExcelCell[] userTitleRow = new ExcelCell[6]; + ExcelCell[] userTitleRow = new ExcelCell[7]; userTitleRow[0] = new ExcelCell(getMessage("gradebook.export.last.name"), true); userTitleRow[1] = new ExcelCell(getMessage("gradebook.export.first.name"), true); userTitleRow[2] = new ExcelCell(getMessage("gradebook.export.login"), true); - userTitleRow[3] = new ExcelCell(getMessage("gradebook.exportcourse.progress"), true); - userTitleRow[4] = new ExcelCell(getMessage("gradebook.export.time.taken.seconds"), true); - userTitleRow[5] = new ExcelCell(getMessage("gradebook.export.total.mark"), true); + userTitleRow[3] = new ExcelCell(getMessage("gradebook.export.groupName"), true); + userTitleRow[4] = new ExcelCell(getMessage("gradebook.exportcourse.progress"), true); + userTitleRow[5] = new ExcelCell(getMessage("gradebook.export.time.taken.seconds"), true); + userTitleRow[6] = new ExcelCell(getMessage("gradebook.export.total.mark"), true); rowList.add(userTitleRow); for (GBUserGridRowDTO userRow : userRows) { // Adding the user data for the lesson - ExcelCell[] userDataRow = new ExcelCell[6]; + ExcelCell[] userDataRow = new ExcelCell[7]; userDataRow[0] = new ExcelCell(userRow.getLastName(), false); userDataRow[1] = new ExcelCell(userRow.getFirstName(), false); userDataRow[2] = new ExcelCell(userRow.getLogin(), false); - userDataRow[3] = new ExcelCell(getProgressMessage(userRow), false); - userDataRow[4] = new ExcelCell(userRow.getTimeTakenSeconds(), false); - userDataRow[5] = isWeighted ? GradebookUtil.createPercentageCell(userRow.getMark(), true) + userDataRow[3] = new ExcelCell(getGroupName(userRow, lesson), false); + userDataRow[4] = new ExcelCell(getProgressMessage(userRow), false); + userDataRow[5] = new ExcelCell(userRow.getTimeTakenSeconds(), false); + userDataRow[6] = isWeighted ? GradebookUtil.createPercentageCell(userRow.getMark(), true) : new ExcelCell(userRow.getMark(), false); rowList.add(userDataRow); } @@ -1082,11 +1084,13 @@ headerRow[count++] = new ExcelCell(activity.getTitle(), true); // this one works } rowList.add(headerRow); - headerRow = new ExcelCell[4 + filteredActivityToUserDTOMap.keySet().size()]; + headerRow = new ExcelCell[5 + filteredActivityToUserDTOMap.keySet().size()]; count = 0; headerRow[count++] = new ExcelCell(getMessage("gradebook.export.last.name"), true); headerRow[count++] = new ExcelCell(getMessage("gradebook.export.first.name"), true); headerRow[count++] = new ExcelCell(getMessage("gradebook.export.login"), true); + headerRow[count++] = new ExcelCell(getMessage("gradebook.export.groupName"), true); + for (Activity activity : filteredActivityToUserDTOMap.keySet()) { headerRow[count++] = new ExcelCell(getMessage("gradebook.columntitle.mark"), true); } @@ -1095,12 +1099,13 @@ //iterating through all users in a lesson for (GBUserGridRowDTO userRow : userRows) { - ExcelCell[] userDataRow = new ExcelCell[4 + filteredActivityToUserDTOMap.keySet().size()]; + ExcelCell[] userDataRow = new ExcelCell[5 + filteredActivityToUserDTOMap.keySet().size()]; count = 0; userDataRow[count++] = new ExcelCell(userRow.getLastName(), false); userDataRow[count++] = new ExcelCell(userRow.getFirstName(), false); userDataRow[count++] = new ExcelCell(userRow.getLogin(), false); - + userDataRow[count++] = new ExcelCell(getGroupName(userRow, lesson), false); + for (Activity activity : filteredActivityToUserDTOMap.keySet()) { //find according userActivityMark @@ -1911,6 +1916,57 @@ } /** + * LDEV_NTU-10 Add a column "LAMS group" in exported summary + * + * Returns group name. + * @return + */ + private String getGroupName(GBUserGridRowDTO userRow, Lesson lesson) { + Map> filteredActivityToUserDTOMap = new LinkedHashMap>(); + Map> activityToUserDTOMap = getDataForLessonGradebookExport(lesson); + ToolActivity activity = new ToolActivity(); + for (ToolActivity activityy : activityToUserDTOMap.keySet()) { + activity = activityy; + } + + filteredActivityToUserDTOMap.put(activity, activityToUserDTOMap.get(activity)); + + + + String groupName = null; + + for (Activity acty : filteredActivityToUserDTOMap.keySet()) { + + //find according userActivityMark + Double userActivityMark = null; + List userDtos = filteredActivityToUserDTOMap.get(acty); + + Grouping grouping = acty.getGrouping(); + if (grouping != null) { + Set groups = grouping.getGroups(); + if (groups != null) { + + for (Group group : groups) { + //userDataRow[count++] = new ExcelCell(group.getGroupName(), false); + Set usrs = group.getUsers(); + for (User usr : usrs) { + if(usr.getUserDTO().getLogin().equals(userRow.getLogin())) { + groupName = group.getGroupName(); + break; + } + } + } + } + } + + + + } + + return groupName; + } + + /** * Adds a mark to the aggregated total and saves it * * @param gradebookUserLesson