Index: lams_tool_preview/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -rdba2f7d55fdf5f5048e1f0c3ad9bcc931fc96220 -r4fc1d41d116c3105ecb1e2f7eeb89991f4042aaa --- lams_tool_preview/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision dba2f7d55fdf5f5048e1f0c3ad9bcc931fc96220) +++ lams_tool_preview/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 4fc1d41d116c3105ecb1e2f7eeb89991f4042aaa) @@ -166,12 +166,14 @@ email.SAPA.factor =SAPA Factor email.self.rating =Self rating email.peers.rating =Peers\' rating -email.explanation.SPA.less.one =SPA < 1.0 +email.explanation.SPA.less =SPA < {0} +email.explanation.SPA.range =SPA >= {0} and <= {1} email.explanation.SPA.one =SPA = 1.0 -email.explanation.SPA.greater.one =SPA > 1.0 -email.explanation.SAPA.less.one =SAPA < 1.0 +email.explanation.SPA.greater =SPA > {0} +email.explanation.SAPA.less =SAPA < {0} +email.explanation.SAPA.range =SAPA >= {0} and <= {1} email.explanation.SAPA.one =SAPA = 1.0 -email.explanation.SAPA.greater.one =SAPA > 1.0 +email.explanation.SAPA.greater =SAPA > {0} email.explanation.1 =Your performance is below expectation and your self-assessment is too low. email.explanation.2 =Your performance met expectation but your self-assessment is too low. email.explanation.3 =Your performance exceeds expectation but your self-assessment is too low. @@ -198,5 +200,6 @@ label.sapa.factor =SAPA factor label.sa = SA label.pa = PA +label.authoring.advanced.tolearnce = Tolerance of SA and SAPA factors (hundredth, 0.0x) #======= End labels: Exported 189 labels for en AU ===== Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/dbupdates/patch20200607.sql =================================================================== diff -u --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/dbupdates/patch20200607.sql (revision 0) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/dbupdates/patch20200607.sql (revision 4fc1d41d116c3105ecb1e2f7eeb89991f4042aaa) @@ -0,0 +1,15 @@ +-- Turn off autocommit, so nothing is committed if there is an error +SET AUTOCOMMIT = 0; +SET FOREIGN_KEY_CHECKS=0; +-- Put all sql statements below here + +--LDEV-5035 Add tolerance to SAP and SAPA factors in Peer Review + +ALTER TABLE tl_laprev11_peerreview ADD COLUMN tolerance TINYINT UNSIGNED NOT NULL DEFAULT 0; + +-- Put all sql statements above here + +-- If there were no errors, commit and restore autocommit to on +COMMIT; +SET AUTOCOMMIT = 1; +SET FOREIGN_KEY_CHECKS=1; Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/model/Peerreview.java =================================================================== diff -u -r1ee503e3d0e0228ea8a45025fddf15d9623c0377 -r4fc1d41d116c3105ecb1e2f7eeb89991f4042aaa --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/model/Peerreview.java (.../Peerreview.java) (revision 1ee503e3d0e0228ea8a45025fddf15d9623c0377) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/model/Peerreview.java (.../Peerreview.java) (revision 4fc1d41d116c3105ecb1e2f7eeb89991f4042aaa) @@ -127,6 +127,9 @@ @Column(name = "notify_users_of_results") private boolean notifyUsersOfResults; + @Column + private int tolerance; + // ********************************************************** // Function method for Peerreview // ********************************************************** @@ -161,7 +164,7 @@ // clone ratingCriterias as well if (ratingCriterias != null) { - Set newCriterias = new HashSet(); + Set newCriterias = new HashSet<>(); for (LearnerItemRatingCriteria criteria : ratingCriterias) { LearnerItemRatingCriteria newCriteria = (LearnerItemRatingCriteria) criteria.clone(); // just clone old file without duplicate it in repository @@ -453,4 +456,12 @@ public void setShowRatingsLeftByUser(boolean showRatingsLeftByUser) { this.showRatingsLeftByUser = showRatingsLeftByUser; } -} + + public int getTolerance() { + return tolerance; + } + + public void setTolerance(int tolerance) { + this.tolerance = tolerance; + } +} \ No newline at end of file Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/util/EmailAnalysisBuilder.java =================================================================== diff -u -re4074ec4e7813548c96d2338da3b42d3239b91de -r4fc1d41d116c3105ecb1e2f7eeb89991f4042aaa --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/util/EmailAnalysisBuilder.java (.../EmailAnalysisBuilder.java) (revision e4074ec4e7813548c96d2338da3b42d3239b91de) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/util/EmailAnalysisBuilder.java (.../EmailAnalysisBuilder.java) (revision 4fc1d41d116c3105ecb1e2f7eeb89991f4042aaa) @@ -470,27 +470,31 @@ double spa = new BigDecimal(rawSPA).setScale(2, RoundingMode.HALF_UP).doubleValue(); double sapa = new BigDecimal(rawSAPA).setScale(2, RoundingMode.HALF_UP).doubleValue(); + double tolerance = peerreview.getTolerance() == 0 ? 0 : roundTo2Places(peerreview.getTolerance() / 100d); + double rangeStart = roundTo2Places(1 - tolerance); + double rangeEnd = roundTo2Places(1 + tolerance); + int cellToHighlight; - if (sapa < 1.0) { - if (spa < 1.0) { + if (sapa < rangeStart) { + if (spa < rangeStart) { cellToHighlight = 1; - } else if (spa > 1.0) { + } else if (spa > rangeEnd) { cellToHighlight = 3; } else { cellToHighlight = 2; } - } else if (sapa > 1.0) { - if (spa < 1.0) { + } else if (sapa > rangeEnd) { + if (spa < rangeStart) { cellToHighlight = 7; - } else if (spa > 1.0) { + } else if (spa > rangeEnd) { cellToHighlight = 9; } else { cellToHighlight = 8; } } else { - if (spa < 1.0) { + if (spa < rangeStart) { cellToHighlight = 4; - } else if (spa > 1.0) { + } else if (spa > rangeEnd) { cellToHighlight = 6; } else { cellToHighlight = 5; @@ -542,34 +546,46 @@ // SPA / SAPA comparison results table tempBuffer = new StringBuilder(); + double tolerance = peerreview.getTolerance() == 0 ? 0 : roundTo2Places(peerreview.getTolerance() / 100d); + String rangeStart = roundTo2PlacesAsString(1 - tolerance); + String rangeEnd = roundTo2PlacesAsString(1 + tolerance); + tempBuffer.append("\n"); tempBuffer.append(""); tempBuffer.append("\n"); + .append(getLocalisedMessage("email.explanation.SAPA.less", new Object[] { rangeStart })) + .append(""); addExplanationCell(tempBuffer, 1, "email.explanation.1"); addExplanationCell(tempBuffer, 2, "email.explanation.2"); addExplanationCell(tempBuffer, 3, "email.explanation.3"); tempBuffer.append("\n"); + .append(tolerance == 0 ? getLocalisedMessage("email.explanation.SAPA.one") + : getLocalisedMessage("email.explanation.SAPA.range", new Object[] { rangeStart, rangeEnd })) + .append(""); addExplanationCell(tempBuffer, 4, "email.explanation.4"); addExplanationCell(tempBuffer, 5, "email.explanation.5"); addExplanationCell(tempBuffer, 6, "email.explanation.6"); tempBuffer.append("\n"); + .append(getLocalisedMessage("email.explanation.SAPA.greater", new Object[] { rangeEnd })) + .append(""); addExplanationCell(tempBuffer, 7, "email.explanation.7"); addExplanationCell(tempBuffer, 8, "email.explanation.8"); addExplanationCell(tempBuffer, 9, "email.explanation.9"); Index: lams_tool_preview/web/pages/authoring/advance.jsp =================================================================== diff -u -r80821e9537b4e30c38b9ca656076f09d9bcbf316 -r4fc1d41d116c3105ecb1e2f7eeb89991f4042aaa --- lams_tool_preview/web/pages/authoring/advance.jsp (.../advance.jsp) (revision 80821e9537b4e30c38b9ca656076f09d9bcbf316) +++ lams_tool_preview/web/pages/authoring/advance.jsp (.../advance.jsp) (revision 4fc1d41d116c3105ecb1e2f7eeb89991f4042aaa) @@ -47,7 +47,12 @@ - +
+ +
 ").append(getLocalisedMessage("email.explanation.SPA.less.one")) + .append(centeredStyle).append("\">") + .append(getLocalisedMessage("email.explanation.SPA.less", new Object[] { rangeStart })) .append("").append(getLocalisedMessage("email.explanation.SPA.one")) + .append(centeredStyle).append("\">") + .append(tolerance == 0 ? getLocalisedMessage("email.explanation.SPA.one") + : getLocalisedMessage("email.explanation.SPA.range", new Object[] { rangeStart, rangeEnd })) .append("").append(getLocalisedMessage("email.explanation.SPA.greater.one")) + .append(centeredStyle).append("\">") + .append(getLocalisedMessage("email.explanation.SPA.greater", new Object[] { rangeEnd })) .append("
") - .append(getLocalisedMessage("email.explanation.SAPA.less.one")).append("
") - .append(getLocalisedMessage("email.explanation.SAPA.one")).append("
") - .append(getLocalisedMessage("email.explanation.SAPA.greater.one")).append("