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');