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 @@