Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/actions/LearningAction.java =================================================================== diff -u -r3a00494e8ecd90ce49d79927d74b4a6b96ba853a -ra3fa9d47a50a02348e23d312f82f181151573a5c --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/actions/LearningAction.java (.../LearningAction.java) (revision 3a00494e8ecd90ce49d79927d74b4a6b96ba853a) +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/web/actions/LearningAction.java (.../LearningAction.java) (revision a3fa9d47a50a02348e23d312f82f181151573a5c) @@ -80,9 +80,8 @@ HttpServletRequest request, HttpServletResponse response) throws Exception { // 'toolSessionID' and 'mode' paramters are expected to be present. - String mode = WebUtil.readStrParam(request, AttributeNames.PARAM_MODE, - false); - checkMode(mode); + ToolAccessMode mode = WebUtil.readToolAccessModeParam(request, + AttributeNames.PARAM_MODE, false); Long toolSessionID = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_SESSION_ID); @@ -112,7 +111,7 @@ return mapping.findForward("defineLater"); } - request.setAttribute("MODE", mode); + request.setAttribute("MODE", mode.toString()); // Create the room if it doesnt exist log.debug(chatSession.isRoomCreated()); @@ -267,15 +266,4 @@ return finishActivity(mapping, form, request, response); } - - private void checkMode(String mode) { - if (!mode.equals("moderator") - && !mode.equals(ToolAccessMode.AUTHOR.toString()) - && !mode.equals(ToolAccessMode.LEARNER.toString()) - && !mode.equals(ToolAccessMode.TEACHER.toString())) { - String errorMsg = "[" + mode + "] is not a legal mode"; - log.error(errorMsg); - throw new IllegalArgumentException(errorMsg); - } - } } Index: lams_tool_chat/web/includes/javascript/learning.js =================================================================== diff -u -r979cb2f09805abc6bf2b11cd04fa51f80a42d1b8 -ra3fa9d47a50a02348e23d312f82f181151573a5c --- lams_tool_chat/web/includes/javascript/learning.js (.../learning.js) (revision 979cb2f09805abc6bf2b11cd04fa51f80a42d1b8) +++ lams_tool_chat/web/includes/javascript/learning.js (.../learning.js) (revision a3fa9d47a50a02348e23d312f82f181151573a5c) @@ -83,8 +83,8 @@ } } - // IE hack to ensure onclick event work when rosterDiv is updated. Only being used when in moderator mode. - if (navigator.appName == "Microsoft Internet Explorer" && MODE == "moderator") { + // IE hack to ensure onclick event work when rosterDiv is updated. Only being used when in teacher mode. + if (navigator.appName == "Microsoft Internet Explorer" && MODE == "teacher") { rosterDiv.parentNode.innerHTML = rosterDiv.parentNode.innerHTML; // following commands are ignored by IE unless we use a delay var t1 = setTimeout("scrollMessageDisplay()", 5); @@ -103,13 +103,28 @@ } var roster = new Roster(); function selectUser(userDiv) { - if (MODE == "moderator") { + if (MODE == "teacher") { var newIndex = userDiv.id.substring(userDiv.id.indexOf("-") + 1, userDiv.id.length); if (roster.currentIndex == newIndex) { roster.currentIndex = null; } else { roster.currentIndex = newIndex; } + + // update "send message to" display + var sendToUserSpan = document.getElementById("sendToUser"); + var sendToEveryoneSpan = document.getElementById("sendToEveryone"); + if (roster.currentIndex == null) { + sendToEveryoneSpan.style.display = "inline"; + sendToUserSpan.style.display = "none"; + } else { + sendToEveryoneSpan.style.display = "none"; + sendToUserSpan.style.display = "inline"; + var nick = roster.users[roster.currentIndex].nick; + var nickElem = createElem("span", null, {color:getColour(nick)}, nick); + sendToUserSpan.innerHTML = ""; // clear previous user name + sendToUserSpan.appendChild(nickElem); + } roster.updateDisplay(); } } @@ -139,7 +154,7 @@ return false; // do not send empty messages. } var aMsg = new JSJaCMessage(); - if (MODE == "moderator" && !(roster.currentIndex === null)) { + if (MODE == "teacher" && !(roster.currentIndex === null)) { var toNick = roster.users[roster.currentIndex].nick; aMsg.setTo(CONFERENCEROOM + "/" + toNick); aMsg.setType("chat"); @@ -223,7 +238,7 @@ roster.updateDisplay(); } function handleConnected() { - if (LEARNER_FINISHED == "true" && LOCK_ON_FINISHED == "true") { + if (MODE == "learner" && LEARNER_FINISHED == "true" && LOCK_ON_FINISHED == "true") { // disable sending messages. document.getElementById("msgArea").disabled = "disabled"; var sendButton = document.getElementById("sendButton"); @@ -312,3 +327,4 @@ return true; } } + Index: lams_tool_chat/web/pages/monitoring/summary.jsp =================================================================== diff -u -r2495e17b412e141f3827b7edee81e43475d16d07 -ra3fa9d47a50a02348e23d312f82f181151573a5c --- lams_tool_chat/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision 2495e17b412e141f3827b7edee81e43475d16d07) +++ lams_tool_chat/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision a3fa9d47a50a02348e23d312f82f181151573a5c) @@ -131,7 +131,7 @@