Index: lams_tool_laqa/web/learning/RevisitedLearnerRep.jsp
===================================================================
diff -u -rd038b7b5b6879abc60637c74af2110bb4d453275 -r185407e8ce549d060dcd00c47c86007145eee47e
--- lams_tool_laqa/web/learning/RevisitedLearnerRep.jsp (.../RevisitedLearnerRep.jsp) (revision d038b7b5b6879abc60637c74af2110bb4d453275)
+++ lams_tool_laqa/web/learning/RevisitedLearnerRep.jsp (.../RevisitedLearnerRep.jsp) (revision 185407e8ce549d060dcd00c47c86007145eee47e)
@@ -115,12 +115,26 @@
rows += '';
+ var usesRatings = false;
+ var hasStartedRating = false;
+
+
if (${generalLearnerFlowDTO.allowRateAnswers == 'true'}) {
rows += '
';
if (userData["visible"] == 'true') {
rows += ' ';
+ // if the user has left a comment or done a rating in a batch of ratings, we need to keep all related ratings open.
+ usesRatings = true;
+ for (j = 0; !hasStartedRating && j < userData.criteriaDtos.length; j++){
+ hasStartedRating = userData.criteriaDtos[j].userRating != "";
+ if ( hasStartedRating) {
+ idsBeingRated.push(itemId); // idsBeingRated defined in rating.js
+ }
+ }
+ hasStartedRating = hasStartedRating || ${isCommentsEnabled} && userData["commentPostedByUser"] != "";
+
for (j = 0; j < userData.criteriaDtos.length; j++){
var criteriaDto = userData.criteriaDtos[j];
var objectId = criteriaDto["ratingCriteriaId"] + "-" + itemId;
@@ -129,7 +143,7 @@
var userRating = criteriaDto.userRating;
var isCriteriaNotRatedByUser = userRating == "";
var averageRatingDisplayed = (isItemAuthoredByUser || !isCriteriaNotRatedByUser) ? averageRating : 0;
- var ratingStarsClass = (IS_DISABLED ||isItemAuthoredByUser || (MAX_RATES > 0) && (countRatedItems >= MAX_RATES) || !isCriteriaNotRatedByUser) ? "rating-stars-disabled" : "rating-stars";
+ var ratingStarsClass = (IS_DISABLED ||isItemAuthoredByUser || (MAX_RATES > 0) && (countRatedItems >= MAX_RATES) && ! hasStartedRating || !isCriteriaNotRatedByUser) ? "rating-stars-disabled" : "rating-stars";
rows += ' ';
rows += criteriaDto.title;
@@ -185,7 +199,7 @@
rows += '';
//show comments textarea and a submit button
- } else if (!IS_DISABLED) {
+ } else if (! (IS_DISABLED || usesRatings && MAX_RATES>0 && countRatedItems >= MAX_RATES && !hasStartedRating)) {
rows += ' |