diff --git a/src/main/java/org/olat/course/highscore/ui/HighScoreRunController.java b/src/main/java/org/olat/course/highscore/ui/HighScoreRunController.java index cb565cea01957f481a36fe5bc00db408b1f741d8..e6a4b29b6eec30e80b828aaf9bb2978121d767be 100644 --- a/src/main/java/org/olat/course/highscore/ui/HighScoreRunController.java +++ b/src/main/java/org/olat/course/highscore/ui/HighScoreRunController.java @@ -88,6 +88,7 @@ public class HighScoreRunController extends FormBasicController{ public HighScoreRunController(UserRequest ureq, WindowControl wControl, UserCourseEnvironment userCourseEnv, CourseNode courseNode) { super(ureq, wControl, "highscore"); + boolean adminORcoach = userCourseEnv.isAdmin() || userCourseEnv.isCoach(); List<AssessmentEntry> assessEntries = userCourseEnv.getCourseEnvironment() .getAssessmentManager().getAssessmentEntries(courseNode); @@ -100,10 +101,14 @@ public class HighScoreRunController extends FormBasicController{ ownIdentity = ureq.getIdentity(); viewHighscore = config.getBooleanSafe(HighScoreEditController.CONFIG_KEY_HIGHSCORE); - // do not display highscore if current user has not yet a score - if (!highScoreManager.hasScore(assessEntries, ownIdentity))viewHighscore = false; + // do not display highscore if current user has not yet a score or is not coach or admin + if (!highScoreManager.hasScore(assessEntries, ownIdentity)) { + viewHighscore = adminORcoach; + } // do not build form if high-score is not set - if (!viewHighscore)return; + if (!viewHighscore){ + return; + } viewTable = config.getBooleanSafe(HighScoreEditController.CONFIG_KEY_LISTING); viewHistogram = config.getBooleanSafe(HighScoreEditController.CONFIG_KEY_HISTOGRAM); @@ -134,7 +139,7 @@ public class HighScoreRunController extends FormBasicController{ scoreHistogramVC.contextPut("datas", BarSeries.datasToString(allScores)); //histogram marker for own position scoreHistogramVC.contextPut("cutValue", - ownIdIndices.size() > 0 ? allMembers.get(ownIdIndices.get(0)).getScore() : ""); + ownIdIndices.size() > 0 ? allMembers.get(ownIdIndices.get(0)).getScore() : -1); //find path for ownID image to display in histogram UserAvatarMapper mapper = new UserAvatarMapper(false); String mapperPath = registerMapper(ureq, mapper); diff --git a/src/main/java/org/olat/course/nodes/basiclti/LTIRunController.java b/src/main/java/org/olat/course/nodes/basiclti/LTIRunController.java index a00f874fa18efd430efd6560a2e652b5357760b3..2fe803f2b3473e155ed505d038685409b0a6a024 100644 --- a/src/main/java/org/olat/course/nodes/basiclti/LTIRunController.java +++ b/src/main/java/org/olat/course/nodes/basiclti/LTIRunController.java @@ -116,8 +116,8 @@ public class LTIRunController extends BasicController { if (courseNode.getModuleConfiguration().getBooleanSafe(MSCourseNode.CONFIG_KEY_HAS_SCORE_FIELD,true)){ HighScoreRunController highScoreCtr = new HighScoreRunController(ureq, wControl, userCourseEnv, courseNode); if (highScoreCtr.isViewHighscore()) { - Component compi = highScoreCtr.getInitialComponent(); - run.put("highScore", compi); + Component highScoreComponent = highScoreCtr.getInitialComponent(); + run.put("highScore", highScoreComponent); } } @@ -324,8 +324,8 @@ public class LTIRunController extends BasicController { if (courseNode.getModuleConfiguration().getBooleanSafe(MSCourseNode.CONFIG_KEY_HAS_SCORE_FIELD,false)){ HighScoreRunController highScoreCtr = new HighScoreRunController(ureq, getWindowControl(), userCourseEnv, courseNode); if (highScoreCtr.isViewHighscore()) { - Component compi = highScoreCtr.getInitialComponent(); - startPage.put("highScore", compi); + Component highScoreComponent = highScoreCtr.getInitialComponent(); + startPage.put("highScore", highScoreComponent); } } diff --git a/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunController.java b/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunController.java index 0a09f492c2731ef04ea9a8cfea3c2c76ce06cfea..fb2694d51aa9dfff0cfec9287a45f1bf4152ad70 100644 --- a/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunController.java +++ b/src/main/java/org/olat/course/nodes/cl/ui/CheckListRunController.java @@ -146,8 +146,8 @@ public class CheckListRunController extends FormBasicController implements Contr if (courseNode.getModuleConfiguration().getBooleanSafe(MSCourseNode.CONFIG_KEY_HAS_SCORE_FIELD,false)){ HighScoreRunController highScoreCtr = new HighScoreRunController(ureq, getWindowControl(), userCourseEnv, courseNode); if (highScoreCtr.isViewHighscore()) { - Component compi = highScoreCtr.getInitialComponent(); - layoutCont.put("highScore", compi); + Component highScoreComponent = highScoreCtr.getInitialComponent(); + layoutCont.put("highScore", highScoreComponent); } } diff --git a/src/main/java/org/olat/course/nodes/gta/ui/GTARunController.java b/src/main/java/org/olat/course/nodes/gta/ui/GTARunController.java index a607ad1937933514b8543aafbf33cfe72c9b8d6f..6b6afa1471fb6db0d44e90db8067b69e90d52806 100644 --- a/src/main/java/org/olat/course/nodes/gta/ui/GTARunController.java +++ b/src/main/java/org/olat/course/nodes/gta/ui/GTARunController.java @@ -117,8 +117,8 @@ public class GTARunController extends BasicController { if (gtaNode.getModuleConfiguration().getBooleanSafe(MSCourseNode.CONFIG_KEY_HAS_SCORE_FIELD,false)){ HighScoreRunController highScoreCtr = new HighScoreRunController(ureq, wControl, userCourseEnv, gtaNode); if (highScoreCtr.isViewHighscore()) { - Component compi = highScoreCtr.getInitialComponent(); - mainVC.put("highScore", compi); + Component highScoreComponent = highScoreCtr.getInitialComponent(); + mainVC.put("highScore", highScoreComponent); } } } diff --git a/src/main/java/org/olat/course/nodes/iq/IQRunController.java b/src/main/java/org/olat/course/nodes/iq/IQRunController.java index 04d8adf1543f423f35f0ec4114a21f8520482793..4df291fa4ae3a5ee9e7bed56d42a8939badf3649 100644 --- a/src/main/java/org/olat/course/nodes/iq/IQRunController.java +++ b/src/main/java/org/olat/course/nodes/iq/IQRunController.java @@ -303,8 +303,8 @@ public class IQRunController extends BasicController implements GenericEventList if (courseNode.getModuleConfiguration().getBooleanSafe(MSCourseNode.CONFIG_KEY_HAS_SCORE_FIELD,true)){ HighScoreRunController highScoreCtr = new HighScoreRunController(ureq, wControl, userCourseEnv, courseNode); if (highScoreCtr.isViewHighscore()) { - Component compi = highScoreCtr.getInitialComponent(); - myContent.put("highScore", compi); + Component highScoreComponent = highScoreCtr.getInitialComponent(); + myContent.put("highScore", highScoreComponent); } } diff --git a/src/main/java/org/olat/course/nodes/iq/QTI21AssessmentRunController.java b/src/main/java/org/olat/course/nodes/iq/QTI21AssessmentRunController.java index 71c0061ea184b7d503ae0a8446d8027f2137bab2..aaab155552ab5c4d729feee1f0869e705be0d4bb 100644 --- a/src/main/java/org/olat/course/nodes/iq/QTI21AssessmentRunController.java +++ b/src/main/java/org/olat/course/nodes/iq/QTI21AssessmentRunController.java @@ -127,7 +127,8 @@ public class QTI21AssessmentRunController extends BasicController implements Gen singleUserEventCenter = userSession.getSingleUserEventCenter(); mainVC = createVelocityContainer("assessment_run"); - if (courseNode.getModuleConfiguration().getBooleanSafe(MSCourseNode.CONFIG_KEY_HAS_SCORE_FIELD,true)){ + if (courseNode.getModuleConfiguration().getBooleanSafe(MSCourseNode.CONFIG_KEY_HAS_SCORE_FIELD,true) + || userCourseEnv.isCoach()){ HighScoreRunController highScoreCtr = new HighScoreRunController(ureq, getWindowControl(), userCourseEnv, courseNode); if (highScoreCtr.isViewHighscore()) { Component highScoreComponent = highScoreCtr.getInitialComponent(); diff --git a/src/main/java/org/olat/course/nodes/ms/MSCourseNodeRunController.java b/src/main/java/org/olat/course/nodes/ms/MSCourseNodeRunController.java index 6a78ff32be493c9345899b1f5dac8205e6cafecd..da1d6d128d62c0dcc3fbc189ec53d6fc3ad4f115 100644 --- a/src/main/java/org/olat/course/nodes/ms/MSCourseNodeRunController.java +++ b/src/main/java/org/olat/course/nodes/ms/MSCourseNodeRunController.java @@ -79,8 +79,8 @@ public class MSCourseNodeRunController extends DefaultController { if (msCourseNode.getModuleConfiguration().getBooleanSafe(MSCourseNode.CONFIG_KEY_HAS_SCORE_FIELD,false)){ HighScoreRunController highScoreCtr = new HighScoreRunController(ureq, wControl, userCourseEnv, msCourseNode); if (highScoreCtr.isViewHighscore()) { - Component compi = highScoreCtr.getInitialComponent(); - myContent.put("highScore", compi); + Component highScoreComponent = highScoreCtr.getInitialComponent(); + myContent.put("highScore", highScoreComponent); } } diff --git a/src/main/java/org/olat/course/nodes/portfolio/PortfolioCourseNodeRunController.java b/src/main/java/org/olat/course/nodes/portfolio/PortfolioCourseNodeRunController.java index 659b91d829d64ec0b717f22b04451cb749e0d65a..362c8cc07c1bbf8a8c973fb61b54af412e280a3c 100644 --- a/src/main/java/org/olat/course/nodes/portfolio/PortfolioCourseNodeRunController.java +++ b/src/main/java/org/olat/course/nodes/portfolio/PortfolioCourseNodeRunController.java @@ -147,8 +147,8 @@ public class PortfolioCourseNodeRunController extends FormBasicController { if (courseNode.getModuleConfiguration().getBooleanSafe(MSCourseNode.CONFIG_KEY_HAS_SCORE_FIELD,false)){ HighScoreRunController highScoreCtr = new HighScoreRunController(ureq, getWindowControl(), userCourseEnv, courseNode); if (highScoreCtr.isViewHighscore()) { - Component compi = highScoreCtr.getInitialComponent(); - mainVC.put("highScore", compi); + Component highScoreComponent = highScoreCtr.getInitialComponent(); + mainVC.put("highScore", highScoreComponent); } } diff --git a/src/main/java/org/olat/course/nodes/scorm/ScormRunController.java b/src/main/java/org/olat/course/nodes/scorm/ScormRunController.java index 8ab13f701f17a6c2b9fd619c2603aa489c74795f..5d01b9fba2a2ce597389d95056f8d0accaa4d9ed 100644 --- a/src/main/java/org/olat/course/nodes/scorm/ScormRunController.java +++ b/src/main/java/org/olat/course/nodes/scorm/ScormRunController.java @@ -136,8 +136,8 @@ public class ScormRunController extends BasicController implements ScormAPICallb HighScoreRunController highScoreCtr = new HighScoreRunController(ureq, getWindowControl(), userCourseEnv, scormNode); if (highScoreCtr.isViewHighscore()) { - Component compi = highScoreCtr.getInitialComponent(); - startPage.put("highScore", compi); + Component highScoreComponent = highScoreCtr.getInitialComponent(); + startPage.put("highScore", highScoreComponent); } } diff --git a/src/main/java/org/olat/course/nodes/st/STCourseNodeRunController.java b/src/main/java/org/olat/course/nodes/st/STCourseNodeRunController.java index dc70d93b27ca83d7d8f3b9e04354c840ede272e0..dcc26a0565436932dad339d89350406699bc5fb1 100644 --- a/src/main/java/org/olat/course/nodes/st/STCourseNodeRunController.java +++ b/src/main/java/org/olat/course/nodes/st/STCourseNodeRunController.java @@ -101,8 +101,8 @@ public class STCourseNodeRunController extends BasicController { if (stCourseNode.getModuleConfiguration().getBooleanSafe(MSCourseNode.CONFIG_KEY_HAS_SCORE_FIELD,true)){ HighScoreRunController highScoreCtr = new HighScoreRunController(ureq, wControl, userCourseEnv, stCourseNode); if (highScoreCtr.isViewHighscore()) { - Component compi = highScoreCtr.getInitialComponent(); - myContent.put("highScore", compi); + Component highScoreComponent = highScoreCtr.getInitialComponent(); + myContent.put("highScore", highScoreComponent); } } // read display configuration diff --git a/src/main/webapp/static/js/jquery/openolat/jquery.statistics.chart.js b/src/main/webapp/static/js/jquery/openolat/jquery.statistics.chart.js index fe8e01f6f78f84555d44ed9b3327e04b8576f35d..54ce451999cd818ea758282fae955acbab51ef90 100644 --- a/src/main/webapp/static/js/jquery/openolat/jquery.statistics.chart.js +++ b/src/main/webapp/static/js/jquery/openolat/jquery.statistics.chart.js @@ -788,7 +788,7 @@ .data(data) .enter().append('g') .attr('class', function(d, i) { - console.log(data[i].x == cut, data[i].x,cut); +// console.log(data[i].x == cut, data[i].x,cut); if(cut == null) return 'o_empty'; else if(data[i].x == cut) return 'o_myself'; else return 'o_other';