Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/util/EmailAnalysisBuilder.java =================================================================== diff -u -reb224b1b9cb0c9ec32783ba1a98ecfbdf5ad7b12 -rd13e71d4392feff67ce7093ca939ffd7dd90a2aa --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/util/EmailAnalysisBuilder.java (.../EmailAnalysisBuilder.java) (revision eb224b1b9cb0c9ec32783ba1a98ecfbdf5ad7b12) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/util/EmailAnalysisBuilder.java (.../EmailAnalysisBuilder.java) (revision d13e71d4392feff67ce7093ca939ffd7dd90a2aa) @@ -123,9 +123,13 @@ generateFeedbackComments(htmlText, learnerData); htmlText.append("

 

\n"); generateSelfPeerTable(htmlText, learnerData); - htmlText.append("

 

\n"); - generateSAPASPAExplanation(htmlText, learnerData.getSPAFactor(), learnerData.getSAPAFactor()); - + htmlText.append("

 

\n"); + + if (peerreview.isSelfReview()) { + generateSAPASPAExplanation(htmlText, learnerData.getSPAFactor(), learnerData.getSAPAFactor()); + htmlText.append("

 

\n"); + } + htmlText.append("

").append(getLocalisedMessage("email.send.automatically")).append("

\n"); htmlText.append("\n"); return htmlText.toString(); @@ -369,46 +373,66 @@ private void generateSelfPeerTable(StringBuilder htmlText, LearnerData learnerData) { boolean spaDone = false; boolean evenRow = false; + boolean isSelfReview = peerreview.isSelfReview(); + + // SPA factor can come in different places, so it is better to put its cell definition here String spaFactor = roundTo2PlacesAsString(learnerData.getSPAFactor()); - String sapaFactor = roundTo2PlacesAsString(learnerData.getSAPAFactor()); + StringBuilder spaFactorCellContents = new StringBuilder().append(" ") + .append(getLocalisedMessage("email.SPA.factor")).append("").append(spaFactor) + .append(""); htmlText.append(""); for (RatingCriteria criteria : criteriaForCriteriaTable) { SingleCriteriaData criteriaData = learnerData.criteriaDataMap.get(criteria.getRatingCriteriaId()); if (criteriaData != null) { - String selfRating = roundTo2PlacesAsString(criteriaData.selfRating); + + htmlText.append(""); + + if (isSelfReview) { + String selfRating = roundTo2PlacesAsString(criteriaData.selfRating); + htmlText.append(""); + if (!spaDone) { + htmlText.append(spaFactorCellContents); + } + htmlText.append("\n"); + } + String peerRatingExcSelf = roundTo2PlacesAsString(criteriaData.peerRatingExcSelf); - htmlText.append(""); + htmlText.append(""); if (!spaDone) { - htmlText.append(""); - } - htmlText.append("\n"); - if (!spaDone) { - htmlText.append(""); + if (isSelfReview) { + String sapaFactor = roundTo2PlacesAsString(learnerData.getSAPAFactor()); + htmlText.append(""); + } else { + htmlText.append(spaFactorCellContents); + } spaDone = true; } - htmlText.append("\n"); + htmlText.append("\n"); + + if (isSelfReview) { + htmlText.append(""); + htmlText.append("\n"); + } + evenRow = !evenRow; } else { log.warn("Unable to report on criteria " + criteria
").append(criteria.getTitle()).append("").append(selfRatingString) + .append("").append(selfRating).append("
").append(criteria.getTitle()) - .append("").append(selfRatingString) - .append("") - .append(selfRating).append("").append(peerRatingString).append("").append(peerRatingExcSelf) + .append(" ").append(getLocalisedMessage("email.SPA.factor")) - .append("").append(spaFactor) - .append("
").append(peerRatingString) - .append("") - .append(peerRatingExcSelf).append(" ").append(getLocalisedMessage("email.SAPA.factor")) - .append("").append(sapaFactor) - .append(" ") + .append(getLocalisedMessage("email.SAPA.factor")).append("") + .append(sapaFactor).append("
").append("Self & Peers' Rating") - .append("") - .append(roundTo2PlacesAsString(criteriaData.peerRatingIncSelf)).append("
").append("Self & Peers' Rating") + .append("").append(roundTo2PlacesAsString(criteriaData.peerRatingIncSelf)) + .append("