Index: lams_gradebook/web/gradebookMonitor.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_gradebook/web/gradebookMonitor.jsp,v diff -u -r1.1.2.4 -r1.1.2.5 --- lams_gradebook/web/gradebookMonitor.jsp 17 Apr 2009 07:22:27 -0000 1.1.2.4 +++ lams_gradebook/web/gradebookMonitor.jsp 21 Apr 2009 06:39:49 -0000 1.1.2.5 @@ -40,7 +40,7 @@ } displayReleaseOption(); } else { - alert(''); + info_dialog('', '', ''); } }); } @@ -94,7 +94,7 @@ ], loadError: function(xhr,st,err) { jQuery("#userView").clearGridData(); - alert(''); + info_dialog('', '', ''); }, subGrid: true, subGridRowExpanded: function(subgrid_id, row_id) { @@ -115,6 +115,7 @@ cellurl: "/gradebook/gradebookMonitoring.do?dispatch=updateUserActivityGradebookData&lessonID=${lessonDetails.lessonID}&view=monUserView&userID=" + userID, colNames: [ '', + '', '', '', '', @@ -125,6 +126,7 @@ ], colModel: [ {name:'id', index:'id', sortable:false, hidden:true, hidedlg:true}, + {name:'marksAvailable',index:'marksAvailable', sortable:false, editable:false, hidden:true, search:false, hidedlg:true}, {name:'rowName', index:'rowName', sortable:false, editable: false}, {name:'status', index:'status', sortable:false, editable:false, width:50, align:"center"}, {name:'output', index:'output', sortable:false, editable: false, width:200}, @@ -135,25 +137,82 @@ ], loadError: function(xhr,st,err) { jQuery("#"+subgrid_table_id).clearGridData(); - alert(''); + info_dialog('', '', ''); }, + 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; + + } + }, + beforeSaveCell: function(rowid, cellname,value, iRow, iCol){ + value = trim(value); + + if (cellname == "mark") { + if (value == "") { + jQuery("#"+subgrid_table_id).restoreCell( iRow, iCol); + throw("Value required for mark."); + } + + var currRowData = jQuery("#"+subgrid_table_id).getRowData(rowid); + if (currRowData['marksAvailable'] != null && currRowData['marksAvailable'] != "") { + if (parseInt(value) > parseInt(currRowData['marksAvailable'])){ + info_dialog('', '', ''); + jQuery("#"+subgrid_table_id).restoreCell( iRow, iCol); + throw("Mark must be lower than maximum mark"); + } + } + } + }, afterSaveCell: function(rowid, cellname,value, iRow, iCol) { - // Update the total lesson mark for the user if (cellname == "mark") { - var ids = jQuery("#"+subgrid_table_id).getDataIDs() - var totalMark = 0.0; - for (var i=0; i < ids.length; i++) { - var rowData = jQuery("#"+subgrid_table_id).getRowData(ids[i]); - var userMark = rowData["mark"]; - - if (userMark != "-") { - totalMark += parseFloat(userMark); + + if (cellname == "mark") { + var currRowData = jQuery("#"+subgrid_table_id).getRowData(rowid); + if (currRowData['marksAvailable'] != null && currRowData['marksAvailable'] != "") { + var markStr = "" + value + "/" + currRowData['marksAvailable'] + ""; + jQuery("#"+subgrid_table_id).setCell(rowid, "mark", markStr, "", ""); } } - jQuery("#userView").setCell(row_id, "mark", totalMark, "", ""); + + + //var ids = jQuery("#"+subgrid_table_id).getDataIDs() + //var totalMark = 0.0; + //for (var i=0; i < ids.length; i++) { + // var rowData = jQuery("#"+subgrid_table_id).getRowData(ids[i]); + // var userMark = rowData["mark"]; + // + // if (userMark != "-") { + // totalMark += parseFloat(userMark); + // } + //} + //jQuery("#userView").setCell(row_id, "mark", totalMark, "", ""); } }, + errorCell: function(serverresponse, status) { + info_dialog('', '', ''); + }, gridComplete: function(){ toolTip($(".jqgrow")); } @@ -228,7 +287,7 @@ ], loadError: function(xhr,st,err) { jQuery("#activityView").clearGridData(); - alert(''); + info_dialog('', '', ''); }, imgpath: 'includes/javascript/jqgrid/themes/basic/images', subGrid: true, @@ -254,6 +313,7 @@ rowNum:10, colNames: [ '', + '', '', '', '', @@ -263,6 +323,7 @@ ], colModel:[ {name:'id', index:'id', sortable:false, editable:false, hidden:true, search:false, hidedlg:true}, + {name:'marksAvailable',index:'marksAvailable', sortable:false, editable:false, hidden:true, search:false, hidedlg:true}, {name:'rowName',index:'rowName', sortable:true, editable:false}, {name:'status', align:'center', width:30, index:'status', sortable:false, editable:false, search:false, width:50, align:"center"}, {name:'timeTaken', index:'timeTaken', sortable:true, editable: false, width:80, align:"center"}, @@ -272,34 +333,65 @@ ], loadError: function(xhr,st,err) { jQuery("#"+subgrid_table_id).clearGridData(); - alert(''); + info_dialog('', '', ''); }, + 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; + + } + }, + beforeSaveCell: function(rowid, cellname,value, iRow, iCol){ + value = trim(value); + + if (cellname == "mark") { + if (value == "") { + jQuery("#"+subgrid_table_id).restoreCell( iRow, iCol); + throw("Value required for mark."); + } + + var currRowData = jQuery("#"+subgrid_table_id).getRowData(rowid); + if (currRowData['marksAvailable'] != null && currRowData['marksAvailable'] != "") { + if (parseInt(value) > parseInt(currRowData['marksAvailable'])){ + info_dialog('', '', ''); + jQuery("#"+subgrid_table_id).restoreCell( iRow, iCol); + throw("Mark must be lower than maximum mark"); + } + } + } + }, afterSaveCell: function(rowid, cellname,value, iRow, iCol) { - - // update the activity average mark if (cellname == "mark") { - var ids = jQuery("#"+subgrid_table_id).getDataIDs() - var sumMarks = 0.0; - var count = 0; - for (var i = 0; i < ids.length; i++) { - var rowData = jQuery("#"+subgrid_table_id).getRowData(ids[i]); - var activityMark = rowData["mark"]; - - if (activityMark != "-") { - sumMarks += parseFloat(activityMark); - count ++; - } - } - var average; - if (count>0) { - average = sumMarks / count; - } else { - average = value; - } - - jQuery("#activityView").setCell(row_id, "average", average, "", ""); + var currRowData = jQuery("#"+subgrid_table_id).getRowData(rowid); + if (currRowData['marksAvailable'] != null && currRowData['marksAvailable'] != "") { + var markStr = "" + value + "/" + currRowData['marksAvailable'] + ""; + jQuery("#"+subgrid_table_id).setCell(rowid, "mark", markStr, "", ""); + } } }, + errorCell: function(serverresponse, status) { + info_dialog('', '', ''); + }, gridComplete: function(){ toolTip($(".jqgrow")); // applying tooltips for this grid }