Index: lams_gradebook/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -r4a0fbb2ddb1262c8a0bb6257ad76aa4e0d7222b8 -r468d69b9c1d4817c71e5449ce78f919ea9aa6234 --- lams_gradebook/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 4a0fbb2ddb1262c8a0bb6257ad76aa4e0d7222b8) +++ lams_gradebook/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 468d69b9c1d4817c71e5449ce78f919ea9aa6234) @@ -38,6 +38,7 @@ gradebook.columntitle.attempt =Attempt # gradebook.columntitle.lesson.mark =Lesson mark gradebook.columntitle.attempts =Previous attempts +gradebook.columntitle.outcome =Learning outcomes gradebook.function.window.showColumns =Show/Hide columns gradebook.function.error.enterNumber =Please enter a number value gradebook.function.search.title =Search grid @@ -121,5 +122,10 @@ 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) - +outcome.authoring.title =Learning outcomes +outcome.authoring.input =Search and select by outcome name or code +outcome.authoring.existing =Added outcomes +outcome.authoring.existing.none =none +outcome.result.not.set =not set +outcome.result.error =Error! #======= End labels: Exported 112 labels for en AU ===== Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java =================================================================== diff -u -r4a0fbb2ddb1262c8a0bb6257ad76aa4e0d7222b8 -r468d69b9c1d4817c71e5449ce78f919ea9aa6234 --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision 4a0fbb2ddb1262c8a0bb6257ad76aa4e0d7222b8) +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision 468d69b9c1d4817c71e5449ce78f919ea9aa6234) @@ -37,6 +37,9 @@ import java.util.TreeSet; import org.apache.log4j.Logger; +import org.apache.tomcat.util.json.JSONArray; +import org.apache.tomcat.util.json.JSONException; +import org.apache.tomcat.util.json.JSONObject; import org.lamsfoundation.lams.dao.IBaseDAO; import org.lamsfoundation.lams.gradebook.GradebookUserActivity; import org.lamsfoundation.lams.gradebook.GradebookUserActivityArchive; @@ -76,6 +79,11 @@ import org.lamsfoundation.lams.lesson.service.ILessonService; import org.lamsfoundation.lams.logevent.LogEvent; import org.lamsfoundation.lams.logevent.service.ILogEventService; +import org.lamsfoundation.lams.outcome.Outcome; +import org.lamsfoundation.lams.outcome.OutcomeMapping; +import org.lamsfoundation.lams.outcome.OutcomeResult; +import org.lamsfoundation.lams.outcome.OutcomeScaleItem; +import org.lamsfoundation.lams.outcome.service.IOutcomeService; import org.lamsfoundation.lams.tool.ToolOutput; import org.lamsfoundation.lams.tool.ToolOutputValue; import org.lamsfoundation.lams.tool.ToolSession; @@ -107,7 +115,6 @@ * */ public class GradebookService implements IGradebookService { - private static Logger logger = Logger.getLogger(GradebookService.class); private static final ExcelCell[] EMPTY_ROW = new ExcelCell[4]; @@ -128,9 +135,11 @@ private MessageService messageService; private ILogEventService logEventService; private static ICoreLearnerService learnerService; + private IOutcomeService outcomeService; @Override - public List getGBActivityRowsForLearner(Long lessonId, Integer userId, TimeZone userTimezone) { + public List getGBActivityRowsForLearner(Long lessonId, Integer userId, TimeZone userTimezone) + throws JSONException { GradebookService.logger.debug("Getting gradebook user data for lesson: " + lessonId + ". For user: " + userId); Lesson lesson = lessonService.getLesson(lessonId); @@ -189,6 +198,30 @@ } } + List outcomeMappings = outcomeService.getOutcomeMappings(null, activity.getToolContentId(), + null); + if (!outcomeMappings.isEmpty()) { + JSONArray outcomeMappingsJSON = new JSONArray(); + for (OutcomeMapping outcomeMapping : outcomeMappings) { + JSONObject outcomeMappingJSON = new JSONObject(); + Outcome outcome = outcomeMapping.getOutcome(); + outcomeMappingJSON.put("mappingId", outcomeMapping.getMappingId()); + outcomeMappingJSON.put("name", outcome.getName()); + outcomeMappingJSON.put("code", outcome.getCode()); + JSONArray possibleValues = new JSONArray(); + for (OutcomeScaleItem possibleValue : outcome.getScale().getItems()) { + possibleValues.put(possibleValue.getName()); + } + outcomeMappingJSON.put("possibleValues", possibleValues); + OutcomeResult result = outcomeService.getOutcomeResult(userId, outcomeMapping.getMappingId()); + if (result != null) { + outcomeMappingJSON.put("value", result.getValue()); + } + outcomeMappingsJSON.put(outcomeMappingJSON); + } + activityDTO.setOutcomes(outcomeMappingsJSON.toString()); + } + gradebookActivityDTOs.add(activityDTO); } @@ -2548,5 +2581,9 @@ public void setMessageService(MessageService messageService) { this.messageService = messageService; } + + public void setOutcomeService(IOutcomeService outcomeService) { + this.outcomeService = outcomeService; + } // ------------------------------------------------------------------------- } \ No newline at end of file Index: lams_gradebook/web/gradebookMonitor.jsp =================================================================== diff -u -r668f1ed8de162a63b6d97ed22b86fa6e1bdd8cb1 -r468d69b9c1d4817c71e5449ce78f919ea9aa6234 --- lams_gradebook/web/gradebookMonitor.jsp (.../gradebookMonitor.jsp) (revision 668f1ed8de162a63b6d97ed22b86fa6e1bdd8cb1) +++ lams_gradebook/web/gradebookMonitor.jsp (.../gradebookMonitor.jsp) (revision 468d69b9c1d4817c71e5449ce78f919ea9aa6234) @@ -14,6 +14,8 @@ + + @@ -23,6 +25,7 @@ +