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 @@