Index: lams_tool_laqa/web/learning/LearnerRep.jsp
===================================================================
diff -u -r16415cf118042e59444dcdca092c9fa11e1eeed5 -rad572fe631188a44a1b0976295ee33af9919ed78
--- lams_tool_laqa/web/learning/LearnerRep.jsp (.../LearnerRep.jsp) (revision 16415cf118042e59444dcdca092c9fa11e1eeed5)
+++ lams_tool_laqa/web/learning/LearnerRep.jsp (.../LearnerRep.jsp) (revision ad572fe631188a44a1b0976295ee33af9919ed78)
@@ -112,12 +112,25 @@
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;
@@ -126,7 +139,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;
@@ -182,7 +195,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 += ' |