Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/GBActivityGridRowDTO.java
===================================================================
diff -u -rd800327041497bb1a053493a53c450512121b951 -r2bbb1206137d5ff2a03d6d08101e4617d0fe02eb
--- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/GBActivityGridRowDTO.java (.../GBActivityGridRowDTO.java) (revision d800327041497bb1a053493a53c450512121b951)
+++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/GBActivityGridRowDTO.java (.../GBActivityGridRowDTO.java) (revision 2bbb1206137d5ff2a03d6d08101e4617d0fe02eb)
@@ -24,6 +24,7 @@
package org.lamsfoundation.lams.gradebook.dto;
import java.util.ArrayList;
+import java.util.Date;
import org.lamsfoundation.lams.gradebook.util.GBGridView;
@@ -41,6 +42,7 @@
String activityUrl;
//double timeTaken;
String feedback;
+ Date startDate;
// Properties for activity view
String monitorUrl;
@@ -139,5 +141,13 @@
public void setMonitorUrl(String monitorUrl) {
this.monitorUrl = monitorUrl;
+ }
+
+ public Date getStartDate() {
+ return startDate;
+ }
+
+ public void setStartDate(Date startDate) {
+ this.startDate = startDate;
}
}
Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/comparators/GBStartDateComparator.java
===================================================================
diff -u
--- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/comparators/GBStartDateComparator.java (revision 0)
+++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/comparators/GBStartDateComparator.java (revision 2bbb1206137d5ff2a03d6d08101e4617d0fe02eb)
@@ -0,0 +1,59 @@
+/****************************************************************
+ * Copyright (C) 2008 LAMS Foundation (http://lamsfoundation.org)
+ * =============================================================
+ * License Information: http://lamsfoundation.org/licensing/lams/2.0/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2.0
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA
+ *
+ * http://www.gnu.org/licenses/gpl.txt
+ * ****************************************************************
+ */
+
+/* $Id$ */
+package org.lamsfoundation.lams.gradebook.dto.comparators;
+
+import java.util.Comparator;
+import java.util.Date;
+
+import org.lamsfoundation.lams.gradebook.dto.GBActivityGridRowDTO;
+
+@SuppressWarnings("unchecked")
+public class GBStartDateComparator implements Comparator {
+ public int compare(Object actGridRow, Object anotherActGridRow) {
+ if (actGridRow instanceof GBActivityGridRowDTO && anotherActGridRow instanceof GBActivityGridRowDTO) {
+
+ Date startDate1 = ((GBActivityGridRowDTO) actGridRow).getStartDate();
+ Date startDate2 = ((GBActivityGridRowDTO) anotherActGridRow).getStartDate();
+
+ Long id1 = ((GBActivityGridRowDTO) actGridRow).getId();
+ Long id2 = ((GBActivityGridRowDTO) anotherActGridRow).getId();
+
+ if (startDate1 == null && startDate2 == null) {
+ if (id1 == null || id2 == null) {
+ return 0;
+ }
+ Long ret = id1 - id2;
+ return ret.intValue() * -1;
+ } else if (startDate1 == null) {
+ return +1;
+ } else if (startDate2 == null) {
+ return -1;
+ } else {
+ return startDate1.compareTo(startDate2);
+ }
+ } else {
+ return 0;
+ }
+ }
+}
Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java
===================================================================
diff -u -rd800327041497bb1a053493a53c450512121b951 -r2bbb1206137d5ff2a03d6d08101e4617d0fe02eb
--- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision d800327041497bb1a053493a53c450512121b951)
+++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision 2bbb1206137d5ff2a03d6d08101e4617d0fe02eb)
@@ -557,6 +557,12 @@
+ activity.getTool().getLearnerProgressUrl() + "&userID=" + learner.getUserId()
+ "&toolSessionID=" + toolSession.getToolSessionId().toString());
gactivityDTO.setOutput(this.getToolOutputsStr(activity, toolSession, learner));
+
+ if (activityState == LearnerProgress.ACTIVITY_ATTEMPTED) {
+ gactivityDTO.setStartDate(learnerProgress.getAttemptedActivities().get(activity));
+ }else {
+ gactivityDTO.setStartDate(learnerProgress.getCompletedActivities().get(activity).getStartDate());
+ }
}
}
@@ -665,7 +671,6 @@
}
}
toolOutputsStr += "";
-
}
}
Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/util/GradebookConstants.java
===================================================================
diff -u -re074865bde063cd3ac9e531a90857d07de9d121c -r2bbb1206137d5ff2a03d6d08101e4617d0fe02eb
--- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/util/GradebookConstants.java (.../GradebookConstants.java) (revision e074865bde063cd3ac9e531a90857d07de9d121c)
+++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/util/GradebookConstants.java (.../GradebookConstants.java) (revision 2bbb1206137d5ff2a03d6d08101e4617d0fe02eb)
@@ -52,6 +52,7 @@
public static final String PARAM_AVG_TIME_TAKEN = "avgTimeTaken";
public static final String PARAM_AVG_MARK = "avgMark";
public static final String PARAM_VIEW = "view";
+ public static final String PARAM_START_DATE = "startDate";
// Sort
public static final String SORT_DESC = "desc";
Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/util/GradebookUtil.java
===================================================================
diff -u -re074865bde063cd3ac9e531a90857d07de9d121c -r2bbb1206137d5ff2a03d6d08101e4617d0fe02eb
--- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/util/GradebookUtil.java (.../GradebookUtil.java) (revision e074865bde063cd3ac9e531a90857d07de9d121c)
+++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/util/GradebookUtil.java (.../GradebookUtil.java) (revision 2bbb1206137d5ff2a03d6d08101e4617d0fe02eb)
@@ -45,6 +45,7 @@
import org.lamsfoundation.lams.gradebook.dto.comparators.GBIDComparator;
import org.lamsfoundation.lams.gradebook.dto.comparators.GBMarkComparator;
import org.lamsfoundation.lams.gradebook.dto.comparators.GBRowNameComparator;
+import org.lamsfoundation.lams.gradebook.dto.comparators.GBStartDateComparator;
import org.lamsfoundation.lams.gradebook.dto.comparators.GBTimeTakenComparator;
import org.lamsfoundation.lams.util.WebUtil;
import org.w3c.dom.Document;
@@ -212,6 +213,8 @@
Collections.sort(gridRows, new GBAverageTimeTakenComparator());
} else if (sortBy.equals(GradebookConstants.PARAM_AVG_MARK)) {
Collections.sort(gridRows, new GBAverageMarkComparator());
+ } else if (sortBy.equals(GradebookConstants.PARAM_START_DATE)) {
+ Collections.sort(gridRows, new GBStartDateComparator());
} else {
Collections.sort(gridRows, new GBRowNameComparator());
}
Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/action/GradebookAction.java
===================================================================
diff -u -re074865bde063cd3ac9e531a90857d07de9d121c -r2bbb1206137d5ff2a03d6d08101e4617d0fe02eb
--- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/action/GradebookAction.java (.../GradebookAction.java) (revision e074865bde063cd3ac9e531a90857d07de9d121c)
+++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/action/GradebookAction.java (.../GradebookAction.java) (revision 2bbb1206137d5ff2a03d6d08101e4617d0fe02eb)
@@ -155,8 +155,8 @@
gradebookActivityDTOs = gradebookService.getGBActivityRowsForLesson(lesson);
}
- if (sortBy == null) {
- sortBy = GradebookConstants.PARAM_ID;
+ if (sortBy == null || sortBy.equals("")) {
+ sortBy = GradebookConstants.PARAM_START_DATE;
}
String ret = GradebookUtil.toGridXML(gradebookActivityDTOs, view, sortBy, isSearch, searchField,
Index: lams_gradebook/web/gradebookCourseLearner.jsp
===================================================================
diff -u -rd800327041497bb1a053493a53c450512121b951 -r2bbb1206137d5ff2a03d6d08101e4617d0fe02eb
--- lams_gradebook/web/gradebookCourseLearner.jsp (.../gradebookCourseLearner.jsp) (revision d800327041497bb1a053493a53c450512121b951)
+++ lams_gradebook/web/gradebookCourseLearner.jsp (.../gradebookCourseLearner.jsp) (revision 2bbb1206137d5ff2a03d6d08101e4617d0fe02eb)
@@ -71,7 +71,6 @@
url: "/gradebook/gradebook.do?dispatch=getActivityGridData&view=lrnActivity&lessonID=" + lessonID,
height: "100%",
width: 550,
- sortname: "id",
imgpath: 'includes/javascript/jqgrid/themes/basic/images',
pager: subgrid_table_id + "_pager",
rowList:[5,10,20,30],
Index: lams_gradebook/web/gradebookMonitor.jsp
===================================================================
diff -u -r824584ee2b82bea619fbe38b470de7cca15868ea -r2bbb1206137d5ff2a03d6d08101e4617d0fe02eb
--- lams_gradebook/web/gradebookMonitor.jsp (.../gradebookMonitor.jsp) (revision 824584ee2b82bea619fbe38b470de7cca15868ea)
+++ lams_gradebook/web/gradebookMonitor.jsp (.../gradebookMonitor.jsp) (revision 2bbb1206137d5ff2a03d6d08101e4617d0fe02eb)
@@ -64,7 +64,6 @@
height: "100%",
width: 650,
cellEdit:true,
- sortname: "id",
imgpath: 'includes/javascript/jqgrid/themes/basic/images',
pager: subgrid_table_id + "_pager",
rowList:[5,10,20,30],