Index: lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LessonDetailsDTO.java =================================================================== diff -u -r3664a30d171c8890dbaed3f325d96933fc1e8608 -rfe122f9f7ac40f3a3696a7c69043fc34df7994d4 --- lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LessonDetailsDTO.java (.../LessonDetailsDTO.java) (revision 3664a30d171c8890dbaed3f325d96933fc1e8608) +++ lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LessonDetailsDTO.java (.../LessonDetailsDTO.java) (revision fe122f9f7ac40f3a3696a7c69043fc34df7994d4) @@ -62,6 +62,7 @@ private String encodedLessonID; private Boolean enabledLessonNotifications; private Boolean enableLessonIntro; + private Boolean gradebookOnComplete; /** * Create the DTO based on the lesson. Sets up all the fields except numberStartedLearners @@ -122,6 +123,7 @@ this.isPreview = lesson.isPreviewLesson(); this.enabledLessonNotifications = lesson.getEnableLessonNotifications(); this.enableLessonIntro = lesson.isEnableLessonIntro(); + this.gradebookOnComplete = lesson.getGradebookOnComplete(); } public Date getScheduleEndDate() { @@ -408,4 +410,12 @@ public void setEnableLessonIntro(Boolean enableLessonIntro) { this.enableLessonIntro = enableLessonIntro; } + + public Boolean getGradebookOnComplete() { + return gradebookOnComplete; + } + + public void setGradebookOnComplete(Boolean gradebookOnComplete) { + this.gradebookOnComplete = gradebookOnComplete; + } } Index: lams_monitoring/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -r225d293907a5e2976e367ee3aa790239bad38699 -rfe122f9f7ac40f3a3696a7c69043fc34df7994d4 --- lams_monitoring/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 225d293907a5e2976e367ee3aa790239bad38699) +++ lams_monitoring/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision fe122f9f7ac40f3a3696a7c69043fc34df7994d4) @@ -423,4 +423,10 @@ button.disable.now =Disable now button.disable.now.tooltip =Disable the lesson immediately label.reschedule=Reschedule +label.display.activity.scores=Display activity scores on completion +lesson.display.activity.scores.alert =Now learners can see their activity scores on lesson completion. +lesson.hide.activity.scores.alert =Now learners can not see their activity scores on lesson completion. +tour.display.activity.scores.content =Click on Display activity scores on completion to allow learners to see their activity scores when they finish a lesson. Click again to disable. +tour.lesson.description=Lesson description shown to the learner when the lesson is launched. It may be changed with the Lesson Introduction button below. +tour.edit.lesson.introduction=Change the lesson description (shown above). This description is shown to the learner when the lesson is launched. #======= End labels: Exported 401 labels for en AU ===== Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java =================================================================== diff -u -r225d293907a5e2976e367ee3aa790239bad38699 -rfe122f9f7ac40f3a3696a7c69043fc34df7994d4 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java (.../IMonitoringService.java) (revision 225d293907a5e2976e367ee3aa790239bad38699) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/IMonitoringService.java (.../IMonitoringService.java) (revision fe122f9f7ac40f3a3696a7c69043fc34df7994d4) @@ -276,6 +276,9 @@ */ Boolean toggleLiveEditEnabled(long lessonId, Integer userId, Boolean liveEditEnabled); + /** Set whether or not to display the gradebook activity scores at the end of a lesson */ + Boolean toggleGradebookOnComplete(long lessonId, Integer userId, Boolean gradebookOnComplete); + String forceCompleteActivitiesByUser(Integer learnerId, Integer requesterId, long lessonId, Long activityId, boolean removeLearnerContent); Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java =================================================================== diff -u -r76196ada9bc471e4d21168dc1dd7d54d1eb76c46 -rfe122f9f7ac40f3a3696a7c69043fc34df7994d4 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision 76196ada9bc471e4d21168dc1dd7d54d1eb76c46) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision fe122f9f7ac40f3a3696a7c69043fc34df7994d4) @@ -1187,6 +1187,15 @@ } @Override + public Boolean toggleGradebookOnComplete(long lessonId, Integer userId, Boolean gradebookOnComplete) { + securityService.isLessonMonitor(lessonId, userId, "set gradebook on complete", true); + Lesson requestedLesson = lessonDAO.getLesson(new Long(lessonId)); + requestedLesson.setGradebookOnComplete(gradebookOnComplete != null ? gradebookOnComplete : Boolean.FALSE); + lessonDAO.updateLesson(requestedLesson); + return requestedLesson.getGradebookOnComplete(); + } + + @Override public GateActivity openGate(Long gateId) { GateActivity gate = (GateActivity) activityDAO.getActivityByActivityId(gateId); if (gate != null) { Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java =================================================================== diff -u -r621f712588dcf37f4bc18add622143483cdfc267 -rfe122f9f7ac40f3a3696a7c69043fc34df7994d4 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java (.../MonitoringAction.java) (revision 621f712588dcf37f4bc18add622143483cdfc267) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java (.../MonitoringAction.java) (revision fe122f9f7ac40f3a3696a7c69043fc34df7994d4) @@ -1515,7 +1515,26 @@ } return null; } + + /** + * Set whether or not the activity scores / gradebook values are shown to the learner at the end of the lesson. + * Expects parameters lessonID and presenceAvailable. + */ + public ActionForward gradebookOnComplete(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) throws IOException, ServletException { + Long lessonID = new Long(WebUtil.readLongParam(request, "lessonID")); + Integer userID = getUserId(); + Boolean gradebookOnComplete = WebUtil.readBooleanParam(request, "gradebookOnComplete", false); + + try { + getMonitoringService().toggleGradebookOnComplete(lessonID, userID, gradebookOnComplete); + } catch (SecurityException e) { + response.sendError(HttpServletResponse.SC_FORBIDDEN, "User is not a monitor in the lesson"); + } + return null; + } + /** Open Time Chart display */ public ActionForward viewTimeChart(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { Index: lams_monitoring/web/css/_monitorLesson_base.scss =================================================================== diff -u -r621f712588dcf37f4bc18add622143483cdfc267 -rfe122f9f7ac40f3a3696a7c69043fc34df7994d4 --- lams_monitoring/web/css/_monitorLesson_base.scss (.../_monitorLesson_base.scss) (revision 621f712588dcf37f4bc18add622143483cdfc267) +++ lams_monitoring/web/css/_monitorLesson_base.scss (.../_monitorLesson_base.scss) (revision fe122f9f7ac40f3a3696a7c69043fc34df7994d4) @@ -269,6 +269,24 @@ @include checkboxInTable; } + +@media (min-width: 768px) { +#lessonActions { + display: inline-block; +} + +#lessonActions2 { + display: block; + margin-top: 5px; + } +} + +@media (max-width: 767px) { +#lessonActions { + display: inline; +} +} + /********** SEQUENCE TAB STYLES **********/ div#sequenceCanvas { text-align: center; Index: lams_monitoring/web/includes/javascript/monitorLesson.js =================================================================== diff -u -r621f712588dcf37f4bc18add622143483cdfc267 -rfe122f9f7ac40f3a3696a7c69043fc34df7994d4 --- lams_monitoring/web/includes/javascript/monitorLesson.js (.../monitorLesson.js) (revision 621f712588dcf37f4bc18add622143483cdfc267) +++ lams_monitoring/web/includes/javascript/monitorLesson.js (.../monitorLesson.js) (revision fe122f9f7ac40f3a3696a7c69043fc34df7994d4) @@ -170,6 +170,28 @@ //initialize datetimepicker $("#emaildatePicker").datetimepicker(); + // sets gradebook on complete functionality + $('#gradebookOnCompleteButton').click(function(){ + var checked = $(this).toggleClass('btn-success').hasClass('btn-success'); + $.ajax({ + url : LAMS_URL + 'monitoring/monitoring.do', + cache : false, + data : { + 'method' : 'gradebookOnComplete', + 'gradebookOnComplete' : checked, + 'lessonID' : lessonId + }, + success : function() { + if (checked) { + alert(LABELS.LESSON_ACTIVITY_SCORES_ENABLE_ALERT); + } else { + alert(LABELS.LESSON_ACTIVITY_SCORES_DISABLE_ALERT); + } + } + }); + }); + + } /** Index: lams_monitoring/web/monitor.jsp =================================================================== diff -u -r621f712588dcf37f4bc18add622143483cdfc267 -rfe122f9f7ac40f3a3696a7c69043fc34df7994d4 --- lams_monitoring/web/monitor.jsp (.../monitor.jsp) (revision 621f712588dcf37f4bc18add622143483cdfc267) +++ lams_monitoring/web/monitor.jsp (.../monitor.jsp) (revision fe122f9f7ac40f3a3696a7c69043fc34df7994d4) @@ -201,7 +201,11 @@ LESSON_START : '', - LESSON_FINISH : '' + LESSON_FINISH : '', + + LESSON_ACTIVITY_SCORES_ENABLE_ALERT : decoderDiv.html('').text(), + + LESSON_ACTIVITY_SCORES_DISABLE_ALERT : decoderDiv.html('').text() } $(document).ready(function(){ @@ -386,15 +390,26 @@ - + + +
- + +
+ @@ -448,7 +463,7 @@ - +
Index: lams_monitoring/web/monitorTour.jsp =================================================================== diff -u -r23a6845aa6db9fc477a99de3d241d7e76da45360 -rfe122f9f7ac40f3a3696a7c69043fc34df7994d4 --- lams_monitoring/web/monitorTour.jsp (.../monitorTour.jsp) (revision 23a6845aa6db9fc477a99de3d241d7e76da45360) +++ lams_monitoring/web/monitorTour.jsp (.../monitorTour.jsp) (revision fe122f9f7ac40f3a3696a7c69043fc34df7994d4) @@ -34,6 +34,11 @@ content: "", placement: "left", },{ + element: "#description", + title: "", + content: "", + placement: "bottom", + },{ element: "#lessonStateLabel:first-child", title: "", content: "

", @@ -59,6 +64,16 @@ content: "", placement: "top", },{ + element: "#editIntroButton", + title: "", + content: "", + placement: "top", + },{ + element: "#gradebookOnCompleteButton", + title: "", + content: "", + placement: "top", + },{ element: "#tour-lesson-im", title: "", content: "

",