Index: lams_central/src/java/org/lamsfoundation/lams/gradebook/service/GradeBookService.java =================================================================== diff -u -rf2d64fc903d09f04b37223c41e8d5a18fa0d35eb -rd4f878f99390e0f6405420dc960cfefe3e87aa97 --- lams_central/src/java/org/lamsfoundation/lams/gradebook/service/GradeBookService.java (.../GradeBookService.java) (revision f2d64fc903d09f04b37223c41e8d5a18fa0d35eb) +++ lams_central/src/java/org/lamsfoundation/lams/gradebook/service/GradeBookService.java (.../GradeBookService.java) (revision d4f878f99390e0f6405420dc960cfefe3e87aa97) @@ -468,7 +468,7 @@ status = ""; } else if (learnerProgress.getAttemptedActivities() != null && learnerProgress.getAttemptedActivities().size() > 0) { - status = ""; + status = ""; } } return status; @@ -486,7 +486,7 @@ if (learnerProgress != null) { byte statusByte = learnerProgress.getProgressState(activity); if (statusByte == LearnerProgress.ACTIVITY_ATTEMPTED) { - return ""; + return ""; } else if (statusByte == LearnerProgress.ACTIVITY_COMPLETED) { return ""; } Index: lams_central/src/java/org/lamsfoundation/lams/gradebook/web/action/GradeBookAction.java =================================================================== diff -u -rf2d64fc903d09f04b37223c41e8d5a18fa0d35eb -rd4f878f99390e0f6405420dc960cfefe3e87aa97 --- lams_central/src/java/org/lamsfoundation/lams/gradebook/web/action/GradeBookAction.java (.../GradeBookAction.java) (revision f2d64fc903d09f04b37223c41e8d5a18fa0d35eb) +++ lams_central/src/java/org/lamsfoundation/lams/gradebook/web/action/GradeBookAction.java (.../GradeBookAction.java) (revision d4f878f99390e0f6405420dc960cfefe3e87aa97) @@ -129,7 +129,9 @@ if (learner != null) { gradeBookActivityDTOs = gradeBookService.getGBActivityRowsForLearner(lesson, learner); } else { - // TODO: handle error + // return null and the grid will report the error + logger.error("No learner found for: " + login); + return null; } } else if (method.equals("activityView")) { gradeBookActivityDTOs = gradeBookService.getGBActivityRowsForLesson(lesson); @@ -164,7 +166,7 @@ PrintWriter out = response.getWriter(); out.print(ret); } else { - // TODO: handle error + logger.error("No lesson could be found for: " + lessonID); } return null; @@ -216,7 +218,9 @@ if(activity != null) { gradeBookUserDTOs = gradeBookService.getGBUserRowsForActivity(lesson, activity); } else { - // TODO: handle error + // return null and the grid will report an error + logger.error("No activity found for: " + activityID); + return null; } } @@ -267,7 +271,7 @@ PrintWriter out = response.getWriter(); out.print(ret); } else { - // TODO: handle error + logger.error("No lesson could be found for: " + lessonID); } return null; Index: lams_central/src/java/org/lamsfoundation/lams/gradebook/web/action/GradeBookMonitoringAction.java =================================================================== diff -u -rf2d64fc903d09f04b37223c41e8d5a18fa0d35eb -rd4f878f99390e0f6405420dc960cfefe3e87aa97 --- lams_central/src/java/org/lamsfoundation/lams/gradebook/web/action/GradeBookMonitoringAction.java (.../GradeBookMonitoringAction.java) (revision f2d64fc903d09f04b37223c41e8d5a18fa0d35eb) +++ lams_central/src/java/org/lamsfoundation/lams/gradebook/web/action/GradeBookMonitoringAction.java (.../GradeBookMonitoringAction.java) (revision d4f878f99390e0f6405420dc960cfefe3e87aa97) @@ -143,7 +143,7 @@ } } else { - // TODO: handle error + logger.error("No lesson could be found for: " + lessonID); } return null; } @@ -197,7 +197,7 @@ } } else { - // TODO: handle error + logger.error("Lesson or activity missing for lesson: " + lessonID + "and activity: " + activityID); } return null; } Index: lams_central/web/gradebook/gradeBookMonitor.jsp =================================================================== diff -u -r47101746bff31dacb65b68c23f4c75ff8f5f4933 -rd4f878f99390e0f6405420dc960cfefe3e87aa97 --- lams_central/web/gradebook/gradeBookMonitor.jsp (.../gradeBookMonitor.jsp) (revision 47101746bff31dacb65b68c23f4c75ff8f5f4933) +++ lams_central/web/gradebook/gradeBookMonitor.jsp (.../gradeBookMonitor.jsp) (revision d4f878f99390e0f6405420dc960cfefe3e87aa97) @@ -25,9 +25,10 @@ jQuery("#userView").jqGrid({ caption: "Learner View", datatype: "xml", - url: "/gradebook/gradebookMonitoring.do?dispatch=getGradeBookUserRows&method=userView&lessonID=${lessonDetails.lessonID}", + url: "/gradebook/gradebook.do?dispatch=getUserGridData&method=userView&lessonID=${lessonDetails.lessonID}", height: "100%", width: 990, + imgpath: 'includes/javascript/jqgrid/themes/basic/images', cellEdit: true, sortorder: "asc", sortname: "fullName", @@ -43,7 +44,10 @@ {name:'feedback',index:'feedback', sortable:false, editable:true, edittype:'textarea', editoptions:{rows:'4',cols:'20'} }, {name:'mark',index:'mark', sortable:true, editable:true, editrules:{number:true}} ], - imgpath: 'includes/javascript/jqgrid/themes/basic/images', + loadError: function(xhr,st,err) { + jQuery("#userView").clearGridData(); + alert("There was an error loading the Learner View grid"); + }, subGrid: true, subGridRowExpanded: function(subgrid_id, row_id) { var subgrid_table_id; @@ -52,7 +56,7 @@ jQuery("#"+subgrid_id).html("
"); jQuery("#"+subgrid_table_id).jqGrid({ datatype: "xml", - url: "/gradebook/gradebookMonitoring.do?dispatch=getActivityViewLessonGradeBookData&lessonID=${lessonDetails.lessonID}&method=userView&login=" + userName, + url: "/gradebook/gradebook.do?dispatch=getActivityGridData&lessonID=${lessonDetails.lessonID}&method=userView&login=" + userName, height: "100%", width: 920, cellEdit:true, @@ -69,7 +73,11 @@ {name:'competences', width:250, index:'competences', sortable:false, editable: false}, {name:'feedback', width:250, index:'feedback', sortable:false, editable: true, edittype:'textarea', editoptions:{rows:'4',cols:'20'}}, {name:'mark', width:100, index:'mark', sortable:false, editable: true, editrules:{number:true} } - ], + ], + loadError: function(xhr,st,err) { + jQuery("#"+subgrid_table_id).clearGridData(); + alert("There was an error loading the Learner View grid"); + }, afterSaveCell: function(rowid, cellname,value, iRow, iCol) { // Update the total lesson mark for the user @@ -98,7 +106,7 @@ jQuery("#activityView").jqGrid({ caption: "Activity View", datatype: "xml", - url: "/gradebook/gradebookMonitoring.do?dispatch=getActivityViewLessonGradeBookData&method=activityView&lessonID=${lessonDetails.lessonID}", + url: "/gradebook/gradebook.do?dispatch=getActivityGridData&method=activityView&lessonID=${lessonDetails.lessonID}", height: "100%", width: 990, cellEdit: true, @@ -114,6 +122,10 @@ {name:'competences', width:250, index:'competences', sortable:false, editable: false}, {name:'average',index:'average', sortable:false, editable:false} ], + loadError: function(xhr,st,err) { + jQuery("#activityView").clearGridData(); + alert("There was an error loading the Activity View grid"); + }, imgpath: 'includes/javascript/jqgrid/themes/basic/images', subGrid: true, subGridRowExpanded: function(subgrid_id, row_id) { @@ -123,7 +135,7 @@ jQuery("#"+subgrid_id).html("
"); jQuery("#"+subgrid_table_id).jqGrid({ datatype: "xml", - url: "/gradebook/gradebookMonitoring.do?dispatch=getGradeBookUserRows&method=activityView&lessonID=${lessonDetails.lessonID}&activityID=" + activityID, + url: "/gradebook/gradebook.do?dispatch=getUserGridData&method=activityView&lessonID=${lessonDetails.lessonID}&activityID=" + activityID, height: "100%", width: 920, cellEdit:true, @@ -142,6 +154,10 @@ {name:'feedback',index:'feedback', sortable:false, editable:true, edittype:'textarea', editoptions:{rows:'4',cols:'20'} }, {name:'mark',index:'mark', sortable:true, editable:true, editrules:{number:true}} ], + loadError: function(xhr,st,err) { + jQuery("#"+subgrid_table_id).clearGridData(); + alert("There was an error loading the Activity View grid"); + }, afterSaveCell: function(rowid, cellname,value, iRow, iCol) { // update the activity average mark