Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/MonitoringController.java
===================================================================
diff -u -r0b1d534ce1915b907afff0171909f90226b31921 -r62268e7ff195cf0f4cd2f3cdbb79b603ade5449d
--- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 0b1d534ce1915b907afff0171909f90226b31921)
+++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 62268e7ff195cf0f4cd2f3cdbb79b603ade5449d)
@@ -60,6 +60,7 @@
import org.lamsfoundation.lams.qb.dto.QbStatsActivityDTO;
import org.lamsfoundation.lams.qb.model.QbQuestion;
import org.lamsfoundation.lams.qb.service.IQbService;
+import org.lamsfoundation.lams.rating.RatingUtil;
import org.lamsfoundation.lams.rating.dto.RatingCommentDTO;
import org.lamsfoundation.lams.rating.model.Rating;
import org.lamsfoundation.lams.rating.model.RatingCriteria;
@@ -629,19 +630,9 @@
double ratingSum = ratings.stream().mapToDouble(Rating::getRating).sum();
String averageRating = NumberUtil.formatLocalisedNumberForceDecimalPlaces(
ratingSum / numberOfVotes, null, 2);
-
- starString = "
";
- starString +=
- "
";
- starString += "
";
- starString +=
- "
";
- String msg = service.getMessage("label.average.rating",
- new Object[] { averageRating, numberOfVotes });
- starString += msg;
- starString += "
";
+
+ String averageRatingLabel = service.getMessage("label.average.rating", new Object[] { averageRating, numberOfVotes });
+ starString = RatingUtil.constructRatingTagDisabled(averageRating, averageRatingLabel);
}
}
userData.add(starString);
Index: lams_tool_assessment/web/pages/learning/results/allquestions.jsp
===================================================================
diff -u -rf768c5e3cbd32379fe4c54d5e74faec64b8dc1cd -r62268e7ff195cf0f4cd2f3cdbb79b603ade5449d
--- lams_tool_assessment/web/pages/learning/results/allquestions.jsp (.../allquestions.jsp) (revision f768c5e3cbd32379fe4c54d5e74faec64b8dc1cd)
+++ lams_tool_assessment/web/pages/learning/results/allquestions.jsp (.../allquestions.jsp) (revision 62268e7ff195cf0f4cd2f3cdbb79b603ade5449d)
@@ -1,6 +1,7 @@
<%@ include file="/common/taglibs.jsp"%>
+
@@ -24,7 +25,7 @@
-
+
-
-
-
-
+
+
+
@@ -123,57 +118,87 @@
{name:'userName',index:'userName', width:83, searchoptions: { clearSearch: false }, formatter : function(cellvalue, options, rowObject) {
return definePortraitPopover(rowObject[rowObject.length - 1], rowObject[rowObject.length - 2], rowObject[2]);
}},
- {name:'response', index:'response', width:400, sortable:false, search:false, formatter: responseFormatter},
-
- {name:'confidence', index:'confidence', width: 80, search:false, classes: 'vertical-align', formatter: gradientNumberFormatter},
-
-
- {name:'rating', index:'rating', width:120, align:"center", sortable:false, search:false},
-
- {name:'grade', index:'grade', width:50, sorttype:"float", search:false, editable:true,
- editoptions: {size:4, maxlength: 4}, align:"right", classes: 'vertical-align', title : false},
- {name:'marker', index:'marker', width: 110, search:false, title: false},
- {name:'markerComment', index:'markerComment', width:300, editable:true, edittype: 'textarea',
- sortable: false, editoptions: {maxlength: 3000, rows: 6}, title : false,
- formatter:function(cellvalue, options, rowObject, event) {
- if (event == "edit") {
- cellvalue = cellvalue.replace(/\n/g, '\n
');
- }
- return cellvalue;
- },
- unformat:function(cellvalue, options, rowObject) {
- return rowObject.innerText;
- }
- },
- {name:'userId', index:'userId', width:0, hidden: true},
- {name:'portraitId', index:'portraitId', width:0, hidden: true}
- ],
- multiselect: false,
- caption: "${sessionDto.sessionName}",
- cellurl: '&',
- cellEdit: true,
- formatCell: function(rowid, name, value, iRow, iCol){
- if (name != "grade") {
- return value;
- }
- if (value == "-") {
- value = "";
- }
- return value;
- },
- beforeEditCell: function (rowid,name,val,iRow,iCol){
- if (name != "grade") {
- return;
- }
- previousCellValue = val;
- },
- beforeSaveCell : function(rowid, name, val, iRow, iCol) {
- if (name != "grade") {
- return val;
- }
- if (isNaN(val)) {
- return null;
- }
+ {name:'response', index:'response', width:400, sortable:false, search:false, formatter: responseFormatter},
+
+ {name:'confidence', index:'confidence', width: 80, search:false, classes: 'vertical-align', formatter: gradientNumberFormatter},
+
+
+ {name:'rating', index:'rating', width:120, align:"center", sortable:false, search:false},
+
+ {name:'grade', index:'grade', width:30, sorttype:"float", search:false, editable:true,
+ editoptions: {size:4, maxlength: 4}, align:"right", classes: 'vertical-align', title : false},
+ {name:'marker', index:'marker', width: 80, search:false, title: false},
+ {name:'markerComment', index:'markerComment', width:120, search:false, editable:true, sortable: false,
+ editoptions: {maxlength: 100}, align:"left", classes: 'vertical-align', title : false },
+ {name:'userId', index:'userId', width:0, hidden: true},
+ {name:'portraitId', index:'portraitId', width:0, hidden: true}
+ ],
+ multiselect: false,
+ caption: "${sessionDto.sessionName}",
+ cellurl: '&',
+ cellEdit: true,
+ formatCell: function(rowid, name, value, iRow, iCol){
+ if (name != "grade") {
+ return value;
+ }
+ if (value == "-") {
+ value = "0";
+ }
+ return value;
+ },
+ beforeEditCell: function (rowid,name,val,iRow,iCol){
+ if (name != "grade") {
+ return;
+ }
+ previousCellValue = val;
+ },
+ beforeSaveCell : function(rowid, name, val, iRow, iCol) {
+ if (name != "grade") {
+ return val;
+ }
+ if (isNaN(val)) {
+ return null;
+ }
+
+ var maxMark = jQuery("#session${sessionDto.sessionId}").getCell(rowid, 'maxMark');
+
+ if (+val > +maxMark) {
+ return maxMark;
+ }
+ },
+ afterSaveCell : function (rowid,name,val,iRow,iCol){
+ if (name != "grade") {
+ return;
+ }
+ var questionResultUid = jQuery("#session${sessionDto.sessionId}").getCell(rowid, 'questionResultUid');
+ if (isNaN(val) || (questionResultUid=="")) {
+ jQuery("#session${sessionDto.sessionId}").restoreCell(iRow,iCol);
+ } else {
+ isEdited = true;
+ }
+ },
+ beforeSubmitCell : function (rowid,name,val,iRow,iCol){
+ if (name == "grade" && isNaN(val)) {
+ return {nan:true};
+ } else {
+ var questionResultUid = jQuery("#session${sessionDto.sessionId}").getCell(rowid, 'questionResultUid');
+ return {
+ questionResultUid:questionResultUid,
+ column:name
+ };
+ }
+ },
+ afterSubmitCell : function (serverresponse, rowid, name, value, iRow, iCol) {
+ if (serverresponse.statusText == "OK") {
+ if (serverresponse.responseText != "") {
+ $(this).setCell(rowid, 'marker', serverresponse.responseText, {}, {});
+ }
+ return [true, ""];
+ }
+ },
+ loadComplete: function () {
+ initializeStarability();
+ initializePortraitPopover('');
var maxMark = jQuery("#session${sessionDto.sessionId}").getCell(rowid, 'maxMark');