Index: lams_gradebook/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -r489e453a8a4e814ac7edbb0b9ca33997ed7e3bae -re4a18240e90b1bff3c0141abc9e711fb54b76d51 --- lams_gradebook/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 489e453a8a4e814ac7edbb0b9ca33997ed7e3bae) +++ lams_gradebook/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision e4a18240e90b1bff3c0141abc9e711fb54b76d51) @@ -52,6 +52,7 @@ gradebook.exportcourse.lessonFeedback = Lesson feedback gradebook.exportcourse.mark = Mark gradebook.exportcourse.lesson = Lesson: {0} +gradebook.exportcourse.subcourse = Subcourse: {0} gradebook.exportcourse.progress = Progress gradebook.exportcourse.learner.name = Name gradebook.exportcourse.ok = Completed Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java =================================================================== diff -u -r9ab81eba5d1a95a6619094dfe12184f5580971e8 -re4a18240e90b1bff3c0141abc9e711fb54b76d51 --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision 9ab81eba5d1a95a6619094dfe12184f5580971e8) +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision e4a18240e90b1bff3c0141abc9e711fb54b76d51) @@ -1769,17 +1769,20 @@ if ((lessons != null) && (lessons.size() > 0)) { // Adding the user lesson marks to the summary---------------------- ExcelRow lessonsNames = sheet.initRow(); - lessonsNames.addCell(""); - lessonsNames.addCell(""); - lessonsNames.addCell(""); + lessonsNames.addEmptyCells(3); for (Lesson lesson : lessons) { lessonsNames.addCell(messageService.getMessage("gradebook.exportcourse.lesson", new Object[] { lesson.getLessonName() }), true); - lessonsNames.addCell(""); - lessonsNames.addCell(""); - lessonsNames.addCell(""); - lessonsNames.addCell(""); - lessonsNames.addCell(""); + boolean isSubcourse = lesson.getOrganisation().getOrganisationType().getOrganisationTypeId() + .equals(OrganisationType.CLASS_TYPE); + if (isSubcourse) { + lessonsNames.addEmptyCell(); + lessonsNames.addCell(messageService.getMessage("gradebook.exportcourse.subcourse", + new Object[] { lesson.getOrganisation().getName() })); + lessonsNames.addEmptyCells(3); + } else { + lessonsNames.addEmptyCells(5); + } } // Setting up the user marks table @@ -1978,24 +1981,29 @@ } lessonsNames.addCell("", ExcelCell.BORDER_STYLE_LEFT_THICK); lessonsNames.addCell(getMessage("label.overall.totals"), true).setAlignment(ExcelCell.ALIGN_CENTER); - lessonsNames.addCell("", ExcelCell.BORDER_STYLE_RIGHT_THICK); } else { - lessonsNames.addEmptyCells(4); for (Lesson lesson : selectedLessons) { String lessonName = isWeightedLessonMap.get(lesson.getLessonId()) ? new StringBuilder(lesson.getLessonName()).append(" ").append(weightedMessage).toString() : lesson.getLessonName(); + lessonsNames.addCell( + messageService.getMessage("gradebook.exportcourse.lesson", new Object[] { lessonName }), + true, ExcelCell.BORDER_STYLE_LEFT_THICK); + boolean isSubcourse = lesson.getOrganisation().getOrganisationType().getOrganisationTypeId() + .equals(OrganisationType.CLASS_TYPE); + if (isSubcourse) { + lessonsNames.addEmptyCell(); + lessonsNames.addCell(messageService.getMessage("gradebook.exportcourse.subcourse", + new Object[] { lesson.getOrganisation().getName() })); + } + List lessonActivities = lessonActivitiesMap.get(lesson.getLessonId()); int numberActivities = lessonActivities.size(); - lessonsNames.addEmptyCells(numberActivities); - lessonsNames.addCell(lessonName, true); - lessonsNames.addEmptyCells(9 + (numberActivities * 2)); + lessonsNames.addEmptyCells(9 + numberActivities + (isSubcourse ? -2 : 0)); } - lessonsNames.addCell("", ExcelCell.BORDER_STYLE_LEFT_THIN); - lessonsNames.addCell(getMessage("label.overall.totals"), true); - lessonsNames.addCell("", ExcelCell.BORDER_STYLE_RIGHT_THICK); + lessonsNames.addCell(getMessage("label.overall.totals"), true, ExcelCell.BORDER_STYLE_LEFT_THICK); } // Headers row---------------------- @@ -2014,7 +2022,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).setAlignment(ExcelCell.ALIGN_CENTER); } else { //create Selected Lessons Header Full for (Lesson lesson : selectedLessons) { @@ -2045,10 +2053,9 @@ 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); - headerRow.addCell("%", true, ExcelCell.BORDER_STYLE_RIGHT_THICK); + headerRow.addCell("%"); } // Actual data rows---------------------- @@ -2178,8 +2185,7 @@ userRow.addCell(overallMaxMark); userRow.addPercentageCell(percentage, false, ExcelCell.BORDER_STYLE_RIGHT_THICK); } else { - userRow.addEmptyCells(2); - userRow.addCell(overallTotal, ExcelCell.BORDER_STYLE_LEFT_THIN); + userRow.addCell(overallTotal, ExcelCell.BORDER_STYLE_LEFT_THICK); userRow.addCell(overallMaxMark); userRow.addPercentageCell(percentage, true, ExcelCell.BORDER_STYLE_RIGHT_THICK); } @@ -2191,7 +2197,7 @@ private void addUsernameCells(User learner, ExcelRow userRow) { //first, last names and login String lastName = (learner.getLastName() == null) ? "" : learner.getLastName().toUpperCase(); - userRow.addCell(lastName); + userRow.addCell(lastName, ExcelCell.BORDER_STYLE_LEFT_THICK); String firstName = (learner.getFirstName() == null) ? "" : learner.getFirstName().toUpperCase(); userRow.addCell(firstName); userRow.addCell(learner.getLogin());