Index: lams_gradebook/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_gradebook/conf/language/lams/ApplicationResources.properties,v diff -u -r1.1.2.3 -r1.1.2.4 --- lams_gradebook/conf/language/lams/ApplicationResources.properties 17 Apr 2009 07:22:27 -0000 1.1.2.3 +++ lams_gradebook/conf/language/lams/ApplicationResources.properties 21 Apr 2009 06:39:50 -0000 1.1.2.4 @@ -45,11 +45,14 @@ gradebook.function.search.notEqualTo =not equal to gradebook.error.loaderror =There was an error loading the grid. If this problem persists, please contact your system administrator. gradebook.monitor.releasemarks.1 =Release -gradebook.monitor.releasemarks.2 =Un-release +gradebook.monitor.releasemarks.2 =Hide gradebook.monitor.releasemarks.3 =marks for this lesson. gradebook.monitoy.releasemarks.check =Are you sure you want to release marks for this lesson to learners? gradebook.monitoy.releasemarks.check2 =Are you sure you want to un-release marks for this lesson? error.releasemarks.fail =Mark release failed, please contact your system adminstrator. +error.markhigher =Mark must be lower than maximum mark. +error.cellsave =Problem saving cell content, please contact your system administrator. +label.error =Error label.ok =OK label.cancel =Cancel label.find =Find Index: lams_gradebook/conf/language/lams/ApplicationResources_en_AU.properties =================================================================== RCS file: /usr/local/cvsroot/lams_gradebook/conf/language/lams/ApplicationResources_en_AU.properties,v diff -u -r1.1.2.3 -r1.1.2.4 --- lams_gradebook/conf/language/lams/ApplicationResources_en_AU.properties 17 Apr 2009 07:22:27 -0000 1.1.2.3 +++ lams_gradebook/conf/language/lams/ApplicationResources_en_AU.properties 21 Apr 2009 06:39:50 -0000 1.1.2.4 @@ -45,11 +45,14 @@ gradebook.function.search.notEqualTo =not equal to gradebook.error.loaderror =There was an error loading the grid. If this problem persists, please contact your system administrator. gradebook.monitor.releasemarks.1 =Release -gradebook.monitor.releasemarks.2 =Un-release +gradebook.monitor.releasemarks.2 =Hide gradebook.monitor.releasemarks.3 =marks for this lesson. gradebook.monitoy.releasemarks.check =Are you sure you want to release marks for this lesson to learners? gradebook.monitoy.releasemarks.check2 =Are you sure you want to un-release marks for this lesson? error.releasemarks.fail =Mark release failed, please contact your system adminstrator. +error.markhigher =Mark must be lower than maximum mark. +error.cellsave =Problem saving cell content, please contact your system administrator. +label.error =Error label.ok =OK label.cancel =Cancel label.find =Find Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/GBActivityGridRowDTO.java =================================================================== RCS file: /usr/local/cvsroot/lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/GBActivityGridRowDTO.java,v diff -u -r1.1.2.3 -r1.1.2.4 --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/GBActivityGridRowDTO.java 16 Apr 2009 06:46:25 -0000 1.1.2.3 +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/GBActivityGridRowDTO.java 21 Apr 2009 06:39:50 -0000 1.1.2.4 @@ -43,6 +43,7 @@ //double timeTaken; String feedback; Date startDate; + // Properties for activity view String monitorUrl; @@ -65,6 +66,7 @@ ret.add(id.toString()); if (view == GBGridView.MON_USER) { + ret.add(marksAvailable != null ? marksAvailable.toString() : ""); if (activityUrl != null && activityUrl.length() != 0) { ret.add("" @@ -77,11 +79,13 @@ ret.add(competences); ret.add((timeTaken != null) ? convertTimeToString(timeTaken) : CELL_EMPTY); ret.add(feedback); - ret.add((mark != null) ? mark.toString() : CELL_EMPTY); + + ret.add(markToString()); } else if (view == GBGridView.MON_ACTIVITY) { ret.add(groupId != null ? groupId.toString() : ""); + if (monitorUrl != null && monitorUrl.length() != 0) { ret.add("" + rowName + ""); @@ -91,15 +95,19 @@ ret.add((averageTimeTaken != null) ? convertTimeToString(averageTimeTaken) : CELL_EMPTY); ret.add(competences); - ret.add((averageMark != null) ? averageMark.toString() : CELL_EMPTY); + + + ret.add(averageMarkToString()); } else if (view == GBGridView.LRN_ACTIVITY) { ret.add(rowName); ret.add(status); ret.add(feedback); ret.add((averageTimeTaken != null) ? convertTimeToString(averageTimeTaken) : CELL_EMPTY); ret.add((timeTaken != null) ? convertTimeToString(timeTaken) : CELL_EMPTY); - ret.add((averageMark != null) ? averageMark.toString() : CELL_EMPTY); - ret.add((mark != null) ? mark.toString() : CELL_EMPTY); + ret.add(averageMarkToString()); + + + ret.add(markToString()); } return ret; @@ -158,6 +166,6 @@ } public void setStartDate(Date startDate) { - this.startDate = startDate; - } + this.startDate = startDate; + } } Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/GBUserGridRowDTO.java =================================================================== RCS file: /usr/local/cvsroot/lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/GBUserGridRowDTO.java,v diff -u -r1.1.2.1 -r1.1.2.2 --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/GBUserGridRowDTO.java 15 Apr 2009 05:45:46 -0000 1.1.2.1 +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/GBUserGridRowDTO.java 21 Apr 2009 06:39:50 -0000 1.1.2.2 @@ -52,10 +52,12 @@ ret.add(status); ret.add((timeTaken != null) ? convertTimeToString(timeTaken) : CELL_EMPTY); ret.add(feedback); - ret.add((mark != null) ? mark.toString() : CELL_EMPTY); + //ret.add((mark != null) ? mark.toString() : CELL_EMPTY); + ret.add(markToString()); } else if (view == GBGridView.MON_ACTIVITY){ + ret.add(marksAvailable != null ? marksAvailable.toString() : ""); if (activityUrl != null && activityUrl.length() != 0) { ret.add("" + rowName + ""); @@ -66,14 +68,16 @@ ret.add((timeTaken != null) ? convertTimeToString(timeTaken) : CELL_EMPTY); ret.add((output != null) ? output.toString() : CELL_EMPTY); ret.add(feedback); - ret.add((mark != null) ? mark.toString() : CELL_EMPTY); + //ret.add((mark != null) ? mark.toString() : CELL_EMPTY); + ret.add(markToString()); } else if (view == GBGridView.MON_COURSE){ ret.add(rowName); ret.add(status); ret.add((timeTaken != null) ? convertTimeToString(timeTaken) : CELL_EMPTY); ret.add(feedback); - ret.add((mark != null) ? mark.toString() : CELL_EMPTY); + //ret.add((mark != null) ? mark.toString() : CELL_EMPTY); + ret.add(markToString()); } return ret; Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/GradebookGridRowDTO.java =================================================================== RCS file: /usr/local/cvsroot/lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/GradebookGridRowDTO.java,v diff -u -r1.1.2.1 -r1.1.2.2 --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/GradebookGridRowDTO.java 16 Apr 2009 06:46:25 -0000 1.1.2.1 +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/dto/GradebookGridRowDTO.java 21 Apr 2009 06:39:50 -0000 1.1.2.2 @@ -51,6 +51,9 @@ // Average mark for the corresponding task public Double averageMark; + + // Number of marks available where applicable + public Long marksAvailable; /** * A shared function to convert milliseconds into a readable string @@ -81,6 +84,36 @@ } } + protected String markToString(){ + if (mark != null) { + if (marksAvailable != null) { + return "" + mark.toString() + "/" + marksAvailable.toString() + ""; + } else { + return mark.toString(); + } + } else { + if (marksAvailable != null) { + return "" + CELL_EMPTY + "/" + marksAvailable.toString() + ""; + } else { + + } + return CELL_EMPTY; + + } + } + + protected String averageMarkToString(){ + if (averageMark != null) { + if (marksAvailable != null) { + return averageMark.toString() + "/" + marksAvailable.toString(); + } else { + return averageMark.toString(); + } + } else { + return CELL_EMPTY; + } + } + protected String toItalic(String string) { return "" + string + ""; } @@ -132,7 +165,13 @@ public void setAverageMark(Double averageMark) { this.averageMark = averageMark; } - - + + public Long getMarksAvailable() { + return marksAvailable; + } + + public void setMarksAvailable(Long marksAvailable) { + this.marksAvailable = marksAvailable; + } } 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.1.2.6 -r1.1.2.7 --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java 20 Apr 2009 04:30:12 -0000 1.1.2.6 +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java 21 Apr 2009 06:39:50 -0000 1.1.2.7 @@ -44,6 +44,7 @@ import org.lamsfoundation.lams.gradebook.dto.GradebookGridRowDTO; import org.lamsfoundation.lams.gradebook.util.GBGridView; import org.lamsfoundation.lams.learningdesign.Activity; +import org.lamsfoundation.lams.learningdesign.ActivityEvaluation; import org.lamsfoundation.lams.learningdesign.CompetenceMapping; import org.lamsfoundation.lams.learningdesign.Group; import org.lamsfoundation.lams.learningdesign.Grouping; @@ -231,6 +232,8 @@ GBUserGridRowDTO gUserDTO = new GBUserGridRowDTO(); gUserDTO.setRowName(learner.getLastName() + " " + learner.getFirstName()); gUserDTO.setId(learner.getUserId().toString()); + + gUserDTO.setMarksAvailable(getTotalMarksAvailable(activity)); GradebookUserActivity gradebookUserActivity = gradebookDAO.getGradebookUserDataForActivity(activity .getActivityId(), learner.getUserId()); @@ -414,7 +417,7 @@ for (Lesson lesson : lessons) { boolean marksReleased = lesson.getMarksReleased() != null && lesson.getMarksReleased(); - + // Dont include lesson in list if the user doesnt have permission if (!(view == GBGridView.MON_COURSE && (lesson.getLessonClass().isStaffMember(user) || userService.isUserInRole(user @@ -523,20 +526,25 @@ if (groupName != null && groupId != null) { gactivityDTO.setGroupId(groupId); gactivityDTO.setRowName(activity.getTitle() + " (" + groupName + ")"); - + // Need to make the id unique, so appending the group id for this row gactivityDTO.setId(activity.getActivityId().toString() + "_" + groupId.toString()); - + // Setting averages for group - gactivityDTO.setAverageMark(gradebookDAO.getAverageMarkForGroupedActivity(activity.getActivityId(), groupId)); - gactivityDTO.setAverageTimeTaken(gradebookDAO.getAverageDurationForGroupedActivity(activity.getActivityId(), groupId)); - + gactivityDTO.setAverageMark(gradebookDAO + .getAverageMarkForGroupedActivity(activity.getActivityId(), groupId)); + gactivityDTO.setAverageTimeTaken(gradebookDAO.getAverageDurationForGroupedActivity( + activity.getActivityId(), groupId)); + } else { // Setting averages for lesson gactivityDTO.setAverageMark(gradebookDAO.getAverageMarkForActivity(activity.getActivityId())); gactivityDTO.setAverageTimeTaken(gradebookDAO.getAverageDurationForActivity(activity.getActivityId())); } + // Set the possible marks if applicable + gactivityDTO.setMarksAvailable(this.getTotalMarksAvailable(activity)); + String monitorUrl = Configuration.get(ConfigurationKeys.SERVER_URL) + activity.getTool().getMonitorUrl() + "?" + AttributeNames.PARAM_CONTENT_FOLDER_ID + "=" + lesson.getLearningDesign().getContentFolderID() + "&" + AttributeNames.PARAM_TOOL_CONTENT_ID + "=" + activity.getToolContentId(); @@ -587,6 +595,9 @@ } } + // Set the possible marks if applicable + gactivityDTO.setMarksAvailable(this.getTotalMarksAvailable(activity)); + GradebookUserActivity gradebookActivity = gradebookDAO.getGradebookUserDataForActivity( activity.getActivityId(), learner.getUserId()); if (gradebookActivity != null) { @@ -756,6 +767,48 @@ return toolOutputsStr; } + /** + * Gets the + * + * @param activity + * @return + */ + private Long getTotalMarksAvailable(ToolActivity activity) { + SortedMap map = toolService.getOutputDefinitionsFromTool(activity + .getToolContentId()); + + Set actEvals = activity.getActivityEvaluations(); + + if (map != null) { + for (String key : map.keySet()) { + ToolOutputDefinition definition = map.get(key); + if (actEvals != null && actEvals.size() > 0) { + + // get first evaluation + ActivityEvaluation actEval = actEvals.iterator().next(); + + if (actEval.getToolOutputDefinition().equals(key)) { + + Object upperLimit = definition.getEndValue(); + if (upperLimit != null && upperLimit instanceof Long) { + return (Long) upperLimit; + } + break; + } + } else { + if (definition.isDefaultGradebookMark() != null && definition.isDefaultGradebookMark()) { + Object upperLimit = definition.getEndValue(); + if (upperLimit != null && upperLimit instanceof Long) { + return (Long) upperLimit; + } + break; + } + } + } + } + return null; + } + // Getter and setter methods ----------------------------------------------- public IMonitoringService getMonitoringService() { Index: lams_gradebook/web/gradebookCourseLearner.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_gradebook/web/gradebookCourseLearner.jsp,v diff -u -r1.1.2.3 -r1.1.2.4 --- lams_gradebook/web/gradebookCourseLearner.jsp 15 Apr 2009 07:40:21 -0000 1.1.2.3 +++ lams_gradebook/web/gradebookCourseLearner.jsp 21 Apr 2009 06:39:49 -0000 1.1.2.4 @@ -58,7 +58,7 @@ ], loadError: function(xhr,st,err) { jQuery("#organisationGrid").clearGridData(); - alert(''); + info_dialog('', '', ''); }, subGrid: true, subGridRowExpanded: function(subgrid_id, row_id) { @@ -97,7 +97,7 @@ ], loadError: function(xhr,st,err) { jQuery("#"+subgrid_table_id).clearGridData(); - alert(''); + info_dialog('', '', ''); }, gridComplete: function(){ toolTip($(".jqgrow")); Index: lams_gradebook/web/gradebookCourseMonitor.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_gradebook/web/gradebookCourseMonitor.jsp,v diff -u -r1.1.2.2 -r1.1.2.3 --- lams_gradebook/web/gradebookCourseMonitor.jsp 16 Apr 2009 06:46:25 -0000 1.1.2.2 +++ lams_gradebook/web/gradebookCourseMonitor.jsp 21 Apr 2009 06:39:49 -0000 1.1.2.3 @@ -48,7 +48,7 @@ ], loadError: function(xhr,st,err) { jQuery("#organisationGrid").clearGridData(); - alert(''); + info_dialog('', '', ''); }, subGrid: true, subGridRowExpanded: function(subgrid_id, row_id) { @@ -87,32 +87,32 @@ ], loadError: function(xhr,st,err) { jQuery("#"+subgrid_table_id).clearGridData(); - alert(''); + info_dialog('', '', ''); }, afterSaveCell: function(rowid, cellname,value, iRow, iCol) { // update the lesson 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 lessonMark = rowData["mark"]; - - if (lessonMark != "-") { - sumMarks += parseFloat(lessonMark); - count ++; - } - } - var average; - if (count>0) { - average = sumMarks / count; - } else { - average = value; - } - - jQuery("#organisationGrid").setCell(row_id, "mark", average, "", ""); + //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 lessonMark = rowData["mark"]; + // + // if (lessonMark != "-") { + // sumMarks += parseFloat(lessonMark); + // count ++; + // } + //} + //var average; + //if (count>0) { + // average = sumMarks / count; + //} else { + // average = value; + //} + // + //jQuery("#organisationGrid").setCell(row_id, "mark", average, "", ""); } }, gridComplete: function(){ 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 } Index: lams_gradebook/web/includes/jsp/jqGridIncludes.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_gradebook/web/includes/jsp/jqGridIncludes.jsp,v diff -u -r1.1.2.1 -r1.1.2.2 --- lams_gradebook/web/includes/jsp/jqGridIncludes.jsp 14 Apr 2009 06:18:51 -0000 1.1.2.1 +++ lams_gradebook/web/includes/jsp/jqGridIncludes.jsp 21 Apr 2009 06:39:50 -0000 1.1.2.2 @@ -27,135 +27,147 @@