Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/LearnerController.java =================================================================== diff -u -r58f8a894e785390508199bfb43acefd77ee63d0a -rfe0eeacb777596f33a8f05f06c36f95c4b473d8e --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/LearnerController.java (.../LearnerController.java) (revision 58f8a894e785390508199bfb43acefd77ee63d0a) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/LearnerController.java (.../LearnerController.java) (revision fe0eeacb777596f33a8f05f06c36f95c4b473d8e) @@ -460,10 +460,16 @@ @RequestMapping("/isNextGateActivityOpen") @ResponseBody - public String isNextGateActivityOpen(@RequestParam int userId, @RequestParam(required = false) Long toolSessionId, - @RequestParam(required = false) Long lessonId, Locale locale) { - GateActivityDTO gateDto = null; + public String isNextGateActivityOpen(@RequestParam(required = false) Long toolSessionId, + @RequestParam(required = false) Long lessonId, HttpSession session, Locale locale) { + UserDTO userDto = (UserDTO) session.getAttribute(AttributeNames.USER); + if (userDto == null) { + throw new IllegalArgumentException("No user is logged in"); + } + + Integer userId = userDto.getUserID(); + GateActivityDTO gateDto = null; if (toolSessionId != null) { gateDto = learnerService.isNextGateActivityOpenByToolSessionId(userId, toolSessionId); } else if (lessonId != null) { Index: lams_learning/web/includes/javascript/gate-check.js =================================================================== diff -u -r896e5e929b496c1ad7a7fd9049b752f997d1c3f1 -rfe0eeacb777596f33a8f05f06c36f95c4b473d8e --- lams_learning/web/includes/javascript/gate-check.js (.../gate-check.js) (revision 896e5e929b496c1ad7a7fd9049b752f997d1c3f1) +++ lams_learning/web/includes/javascript/gate-check.js (.../gate-check.js) (revision fe0eeacb777596f33a8f05f06c36f95c4b473d8e) @@ -1,4 +1,4 @@ -function checkNextGateActivity(finishButtonId, userId, toolSessionId, lessonId, submitFunction){ +function checkNextGateActivity(finishButtonId, toolSessionId, lessonId, submitFunction){ // we need bootstrap tooltip, not jQuery UI one // if it has not been isolated yet, try to do it now if (typeof $.fn.bootstrapTooltip != 'function') { @@ -28,7 +28,7 @@ // check if there is a gate after this activity // if so, check if learner can pass $.ajax({ - 'url' : '/lams/learning/learner/isNextGateActivityOpen.do?userId=' + userId + '&toolSessionId=' + toolSessionId + '&lessonId=' + lessonId, + 'url' : '/lams/learning/learner/isNextGateActivityOpen.do?toolSessionId=' + toolSessionId + '&lessonId=' + lessonId, 'cache' : false, 'dataType' : 'json', 'success' : function(response) { Index: lams_tool_assessment/web/pages/learning/results.jsp =================================================================== diff -u -r272283f9e61f61403d2b4120ce8ee296de371c1e -rfe0eeacb777596f33a8f05f06c36f95c4b473d8e --- lams_tool_assessment/web/pages/learning/results.jsp (.../results.jsp) (revision 272283f9e61f61403d2b4120ce8ee296de371c1e) +++ lams_tool_assessment/web/pages/learning/results.jsp (.../results.jsp) (revision fe0eeacb777596f33a8f05f06c36f95c4b473d8e) @@ -63,7 +63,7 @@