Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/GBUserGridRowDTO.java
===================================================================
diff -u -raf839eeb85f37cf68092401ad23a4613ca7cd001 -r31c98cf20da4c80ce2a9cee72a502e0a884b7d7a
--- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/GBUserGridRowDTO.java (.../GBUserGridRowDTO.java) (revision af839eeb85f37cf68092401ad23a4613ca7cd001)
+++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/GBUserGridRowDTO.java (.../GBUserGridRowDTO.java) (revision 31c98cf20da4c80ce2a9cee72a502e0a884b7d7a)
@@ -89,6 +89,7 @@
if (activityUrl != null && activityUrl.length() != 0) {
ret.add("javascript:launchPopup(\"" + activityUrl + "\",\"" + rowName + "\",796,570)'>");
}
+ ret.add(String.valueOf(hasArchivedMarks));
} else if (view == GBGridView.MON_COURSE) {
ret.add(rowName);
Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java
===================================================================
diff -u -r4a0fbb2ddb1262c8a0bb6257ad76aa4e0d7222b8 -r31c98cf20da4c80ce2a9cee72a502e0a884b7d7a
--- 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 31c98cf20da4c80ce2a9cee72a502e0a884b7d7a)
@@ -380,6 +380,10 @@
gUserDTO.setMark(gradebookUserActivity.getMark());
}
+
+ boolean hasArchivedMarks = gradebookDAO.hasArchivedMarks(lesson.getLessonId(), learner.getUserId());
+ gUserDTO.setHasArchivedMarks(hasArchivedMarks);
+
gradebookUserDTOs.add(gUserDTO);
}
}
Index: lams_gradebook/web/gradebookMonitor.jsp
===================================================================
diff -u -rc571d011beab303685a59352e59f4c421b95f21b -r31c98cf20da4c80ce2a9cee72a502e0a884b7d7a
--- lams_gradebook/web/gradebookMonitor.jsp (.../gradebookMonitor.jsp) (revision c571d011beab303685a59352e59f4c421b95f21b)
+++ lams_gradebook/web/gradebookMonitor.jsp (.../gradebookMonitor.jsp) (revision 31c98cf20da4c80ce2a9cee72a502e0a884b7d7a)
@@ -312,8 +312,9 @@
subGrid : hasArchivedMarks,
subGridRowExpanded: function(subgrid_id, row_id) {
var subgrid_table_id = subgrid_id + "_t",
- rowData = jQuery("#" + subgrid_id.substring(0, subgrid_id.lastIndexOf('_'))).getRowData(row_id),
- activityID = rowData["id"].split("_")[0];
+ nameParts = subgrid_id.split("_"),
+ activityID = nameParts[3],
+ userID = nameParts[1];
jQuery("#"+subgrid_id).html("
");
jQuery("#"+subgrid_table_id).jqGrid({
guiStyle: "bootstrap",
@@ -349,37 +350,10 @@
loadError: function(xhr,st,err) {
jQuery("#"+subgrid_table_id).clearGridData();
alert("");
- },
- formatCell: function(rowid, cellname,value, iRow, iCol) {
- if (cellname == "mark") {
-
- var rowData = jQuery("#"+subgrid_table_id).getRowData(rowid);
- var string = removeHTMLTags(rowData["mark"]);
-
-
- if (string.indexOf("-") != -1)
- {
- string = " ";
-
- } else if (string.indexOf("/") != -1) {
- splits = string.split("/");
-
- if(splits.length == 2) {
- tempMark = splits[0];
- string = " ";
- } else {
- string = " ";
- }
- }
-
- return string;
-
- }
- }
+ }
});
- }
+ }
}).navGrid("#"+subgrid_table_id+"_pager", {edit:false,add:false,del:false,search:false}); // applying refresh button
-
},
gridComplete: function(){
initializePortraitPopover('');
@@ -461,8 +435,9 @@
"",
"",
"",
- 'portraitId',
- 'activityURL'
+ 'portraitId',
+ 'activityURL',
+ 'hasArchivedMarks'
],
colModel:[
{name:'id', index:'id', sortable:false, editable:false, hidden:true, search:false, hidedlg:true},
@@ -475,7 +450,8 @@
{name:'feedback',index:'feedback', sortable:false, editable:true, edittype:'textarea', editoptions:{rows:'4',cols:'20'} , search:false, width:200, hidden:true},
{name:'mark',index:'mark', sortable:true, editable:true, editrules:{number:true}, search:false, width:50, align:"center"},
{name:'portraitId', index:'portraitId', width:0, hidden: true},
- {name:'activityURL', index:'activityURL', width:0, hidden: true}
+ {name:'activityURL', index:'activityURL', width:0, hidden: true},
+ {name:'hasArchivedMarks', index:'hasArchivedMarks', width:0, hidden: true}
],
loadError: function(xhr,st,err) {
jQuery("#"+subgrid_table_id).clearGridData();
@@ -547,7 +523,56 @@
gridComplete: function(){
initializePortraitPopover('');
fixPagerInCenter(subgrid_table_id+"_pager", 1);
- }
+ },
+ subGrid : true,
+ subGridOptions: {
+ hasSubgrid: function (options) {
+ return options.data.hasArchivedMarks == 'true';
+ }
+ },
+ subGridRowExpanded: function(subgrid_id, row_id) {
+ var subgrid_table_id = subgrid_id + "_t",
+ nameParts = subgrid_id.split("_"),
+ activityID = nameParts[1],
+ userID = nameParts[3];
+ jQuery("#"+subgrid_id).html("");
+ jQuery("#"+subgrid_table_id).jqGrid({
+ guiStyle: "bootstrap",
+ iconSet: 'fontAwesome',
+ autoencode:false,
+ datatype: "xml",
+ url: "/gradebook/gradebook.do?dispatch=getActivityArchiveGridData&lessonID=${lessonDetails.lessonID}&activityID="
+ + activityID + "&view=monUserView&userID=" + userID,
+ height: "100%",
+ autowidth:true,
+ cellEdit:false,
+ pager: false,
+ colNames: [
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ ],
+ colModel: [
+ {name:'id', index:'id', sortable:false, editable: false ,width:70, align:"right"},
+ {name:'status', index:'status', sortable:false, editable:false, width:50, align:"center"},
+ {name:'timeTaken',index:'timeTaken', sortable:false, editable: false, width:80, align:"center"},
+ {name:'startDate',index:'startDate', sortable:false, editable:false, search:false, width:85, align:"left"},
+ {name:'finishDate',index:'finishDate', sortable:false, editable:false, search:false, width:85, align:"left"},
+ {name:'feedback', index:'feedback', sortable:false, editable: false, width:200, hidden:true},
+ {name:'lessonMark', index:'lessonMark', sortable:false, editable: false, width:80, align:"center" },
+ {name:'mark', index:'mark', sortable:false, editable: false, width:50, align:"center" }
+ ],
+ loadError: function(xhr,st,err) {
+ jQuery("#"+subgrid_table_id).clearGridData();
+ alert("");
+ }
+ });
+ }
}).navGrid("#"+subgrid_table_id+"_pager", {edit:false,add:false,del:false,search:false}) // applying refresh button
jQuery("#"+subgrid_table_id).jqGrid('filterToolbar');