Index: lams_gradebook/.classpath
===================================================================
RCS file: /usr/local/cvsroot/lams_gradebook/.classpath,v
diff -u -r1.4.2.6 -r1.4.2.7
--- lams_gradebook/.classpath 18 Nov 2016 07:49:46 -0000 1.4.2.6
+++ lams_gradebook/.classpath 3 Feb 2017 09:40:29 -0000 1.4.2.7
@@ -16,6 +16,6 @@
-
+
Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/gradebookApplicationContext.xml
===================================================================
RCS file: /usr/local/cvsroot/lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/gradebookApplicationContext.xml,v
diff -u -r1.4.2.9 -r1.4.2.10
--- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/gradebookApplicationContext.xml 15 Jun 2016 08:02:07 -0000 1.4.2.9
+++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/gradebookApplicationContext.xml 3 Feb 2017 09:40:29 -0000 1.4.2.10
@@ -37,6 +37,7 @@
PROPAGATION_REQUIRED
+ PROPAGATION_REQUIRED
PROPAGATION_REQUIRED
PROPAGATION_REQUIRED,readOnly
PROPAGATION_REQUIRED,readOnly
Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java
===================================================================
RCS file: /usr/local/cvsroot/lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java,v
diff -u -r1.36.2.22 -r1.36.2.23
--- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java 25 Jan 2017 08:57:40 -0000 1.36.2.22
+++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java 3 Feb 2017 09:40:29 -0000 1.36.2.23
@@ -469,9 +469,39 @@
}
}
+ @Override
+ public void recalculateTotalMarksForLesson(Long lessonId) throws Exception {
+ Lesson lesson = lessonDAO.getLesson(lessonId);
+ if (lesson == null) {
+ return;
+ }
+
+ Map userToGradebookUserLessonMap = getUserToGradebookUserLessonMap(lesson, null);
+
+ //update for all users in activity
+ Set users = lesson.getAllLearners();
+ for (User user : users) {
+ Integer userId = user.getUserId();
+ GradebookUserLesson gradebookUserLesson = userToGradebookUserLessonMap.get(userId);
+
+ Double totalMark = gradebookDAO.getGradebookUserActivityMarkSum(lessonId, userId);
+ if (totalMark != null) {
+
+ if (totalMark > 0 && gradebookUserLesson == null) {
+ throw new Exception("An error detected: user (userId:" + userId + ") has total mark that equals to "
+ + totalMark + " but no assocciated gradebookUserLesson exist ");
+ }
+
+ if (gradebookUserLesson != null) {
+ gradebookUserLesson.setMark(totalMark);
+ gradebookDAO.insertOrUpdate(gradebookUserLesson);
+ }
+ }
+ }
+ }
@Override
- public void updateUserMarksForActivity(Activity activity) {
+ public void recalculateGradebookMarksForActivity(Activity activity) {
Long activityId = activity.getActivityId();
Lesson lesson = lessonDAO.getLessonForActivity(activityId);
Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/IGradebookService.java
===================================================================
RCS file: /usr/local/cvsroot/lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/IGradebookService.java,v
diff -u -r1.10.2.9 -r1.10.2.10
--- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/IGradebookService.java 25 Jan 2017 08:57:41 -0000 1.10.2.9
+++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/IGradebookService.java 3 Feb 2017 09:40:29 -0000 1.10.2.10
@@ -124,7 +124,17 @@
*
* @param activity
*/
- void updateUserMarksForActivity(Activity activity);
+ void recalculateGradebookMarksForActivity(Activity activity);
+
+ /**
+ * Recalculates total marks for all users in a lesson. Then stores that mark in a gradebookUserLesson. Doesn't
+ * affect anyhow gradebookUserActivity objects. If total mark is positive but there is no gradebookUserLesson
+ * available - throws exception.
+ *
+ * @param lessonId
+ * @throws Exception
+ */
+ void recalculateTotalMarksForLesson(Long lessonId) throws Exception;
/**
* Updates a user's lesson mark, this will make it desynchronised with the aggregated marks from the activities
Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/servlet/RecalculateTotalMarksForLessonServlet.java'.
Fisheye: No comparison available. Pass `N' to diff?
Index: lams_gradebook/web/WEB-INF/web.xml
===================================================================
RCS file: /usr/local/cvsroot/lams_gradebook/web/WEB-INF/Attic/web.xml,v
diff -u -r1.5.2.4 -r1.5.2.5
--- lams_gradebook/web/WEB-INF/web.xml 25 Nov 2014 09:37:33 -0000 1.5.2.4
+++ lams_gradebook/web/WEB-INF/web.xml 3 Feb 2017 09:40:29 -0000 1.5.2.5
@@ -130,6 +130,11 @@
1
+
+
+ recalculateTotalMarksForLesson
+ org.lamsfoundation.lams.gradebook.web.servlet.RecalculateTotalMarksForLessonServlet
+
action
@@ -140,6 +145,11 @@
Connector
/ckeditor/filemanager/browser/default/connectors/jsp/connector
+
+
+ recalculateTotalMarksForLesson
+ /recalculateTotalMarksForLesson
+
500