Index: lams_flash/src/central/flash/lams_monitoring_v1.fla =================================================================== diff -u -r2dd65b84334012d958de5a9c6588ded951c52dc6 -r887180a91dab0c85349f1492b7b5a04400cabef4 Binary files differ Index: lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LessonTabView.as =================================================================== diff -u -r3ae4179b4bcf1d3075cb59e1ab9600c664720fff -r887180a91dab0c85349f1492b7b5a04400cabef4 --- lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LessonTabView.as (.../LessonTabView.as) (revision 3ae4179b4bcf1d3075cb59e1ab9600c664720fff) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/monitoring/mv/tabviews/LessonTabView.as (.../LessonTabView.as) (revision 887180a91dab0c85349f1492b7b5a04400cabef4) @@ -103,7 +103,9 @@ private var learner_expp_cb:CheckBox; private var learner_expp_cb_lbl:Label; private var learner_epres_cb:CheckBox; - private var learner_epres_cb_lbl:Label; + private var learner_epres_cb_lbl:Label; + private var learner_eim_cb:CheckBox; + private var learner_eim_cb_lbl:Label; //Text Items private var LSTitle_lbl:Label; @@ -265,6 +267,7 @@ statusApply_btn.addEventListener("click", Proxy.create(this, changeStatus)); learner_expp_cb.addEventListener("click", Delegate.create(this, toggleExpPortfolio)); learner_epres_cb.addEventListener("click", Delegate.create(this, togglePresence)); + learner_eim_cb.addEventListener("click", Delegate.create(this, togglePresenceIm)); this.addEventListener("apply", Proxy.create(_monitorController, _monitorController.changeStatus)); @@ -404,6 +407,8 @@ learner_expp_cb_lbl._y = learner_expp_cb_lbl._y - 30 learner_epres_cb._y = learner_epres_cb._y - 30 learner_epres_cb_lbl._y = learner_epres_cb_lbl._y - 30 + learner_eim_cb._y = learner_eim_cb._y - 30 + learner_eim_cb_lbl._y = learner_eim_cb_lbl._y - 30 } /** @@ -426,6 +431,14 @@ class_txt.text = s.organisationName; learner_expp_cb.selected = s.learnerExportAvailable; learner_epres_cb.selected = s.learnerPresenceAvailable; + + if (learner_epres_cb.selected) { + learner_eim_cb.enabled = true; + learner_eim_cb.selected = s.learnerImAvailable; + }else { + learner_eim_cb.enabled = false; + learner_eim_cb.selected = false; + } } private function populateStatusList(stateID:Number):Void{ @@ -794,6 +807,7 @@ manageTime_lbl.text = Dictionary.getValue('ls_manage_time_lbl'); learner_expp_cb_lbl.text = Dictionary.getValue('ls_manage_learnerExpp_lbl'); learner_epres_cb_lbl.text = Dictionary.getValue('ls_manage_presenceEnabled_lbl'); + learner_eim_cb_lbl.text = Dictionary.getValue('ls_manage_presenceImEnabled_lbl'); //Button viewLearners_btn.label = Dictionary.getValue('ls_manage_learners_btn'); @@ -842,12 +856,20 @@ Application.getInstance().getComms().getRequest('monitoring/monitoring.do?method=presenceAvailable&lessonID='+_root.lessonID+'&presenceAvailable='+target.selected, callback, false); } + private function togglePresenceIm(evt:Object) { + Debugger.log("Toggle presence instant messaging", Debugger.GEN, "togglePresenceIm", "WizardView"); + var target:CheckBox = CheckBox(evt.target); + + var callback:Function = Proxy.create(this,confirmOutput); + Application.getInstance().getComms().getRequest('monitoring/monitoring.do?method=presenceImAvailable&lessonID='+_root.lessonID+'&presenceImAvailable='+target.selected, callback, false); + } + public function confirmOutput(r):Void{ if(r instanceof LFError) { r.showErrorAlert(); } else { if (r == "learnerExportPortfolioAvailable") { - if (learner_expp_cb.selected){ + if (learner_expp_cb.selected) { var msg:String = Dictionary.getValue('ls_confirm_expp_enabled') ; LFMessage.showMessageAlert(msg); @@ -859,15 +881,29 @@ else if (r == "presenceAvailable") { Application.getInstance().getComms().getRequest('Presence.do?method=createXmppRoom&lessonId=' + _root.lessonID, null, false); if (learner_epres_cb.selected) { + learner_eim_cb.enabled = true; var msg:String = Dictionary.getValue('ls_confirm_presence_enabled') ; LFMessage.showMessageAlert(msg); }else { + learner_eim_cb.enabled = false; + learner_eim_cb.selected = false; + var msg:String = Dictionary.getValue('ls_confirm_presence_disabled') ; LFMessage.showMessageAlert(msg); } } + else if (r == "presenceImAvailable") { + if (learner_eim_cb.selected) { + var msg:String = Dictionary.getValue('ls_confirm_presence_im_enabled') ; + LFMessage.showMessageAlert(msg); + + }else { + var msg:String = Dictionary.getValue('ls_confirm_presence_im_disabled') ; + LFMessage.showMessageAlert(msg); + } + } } } @@ -897,6 +933,7 @@ // Check box label learner_expp_cb_lbl.setStyle('styleName', styleObj); learner_epres_cb_lbl.setStyle('styleName', styleObj); + learner_eim_cb_lbl.setStyle('styleName', styleObj); //SMALL LABELS styleObj = _tm.getStyleObject('PIlabel'); Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java =================================================================== diff -u -r11fc453f24005ba4f0a47a127d563df7663f7606 -r887180a91dab0c85349f1492b7b5a04400cabef4 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java (.../MonitoringAction.java) (revision 11fc453f24005ba4f0a47a127d563df7663f7606) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/MonitoringAction.java (.../MonitoringAction.java) (revision 887180a91dab0c85349f1492b7b5a04400cabef4) @@ -181,8 +181,8 @@ Integer organisationId = WebUtil.readIntParam(request,"organisationID",true); long ldId = WebUtil.readLongParam(request, AttributeNames.PARAM_LEARNINGDESIGN_ID); Boolean learnerExportAvailable = WebUtil.readBooleanParam(request, "learnerExportPortfolio", false); - Boolean learnerPresenceAvailable = WebUtil.readBooleanParam(request, "learnerPresencePortfolio", false); - Boolean learnerImAvailable = WebUtil.readBooleanParam(request, "learnerImPortfolio", false); + Boolean learnerPresenceAvailable = WebUtil.readBooleanParam(request, "learnerPresenceAvailable", false); + Boolean learnerImAvailable = WebUtil.readBooleanParam(request, "learnerImAvailable", false); Boolean liveEditEnabled = WebUtil.readBooleanParam(request, "liveEditEnabled", false); Lesson newLesson = monitoringService.initializeLesson(title,desc,learnerExportAvailable,ldId,organisationId,getUserId(), null, learnerPresenceAvailable, learnerImAvailable, liveEditEnabled); @@ -1068,9 +1068,14 @@ try { Long lessonID = new Long(WebUtil.readLongParam(request,"lessonID")); Integer userID = getUserId(); - Boolean presenceAvailable = WebUtil.readBooleanParam(request,"presenceAvailable",false); + Boolean presenceAvailable = WebUtil.readBooleanParam(request,"presenceAvailable",false); + monitoringService.setPresenceAvailable(lessonID, userID, presenceAvailable); + if(!presenceAvailable){ + monitoringService.setPresenceImAvailable(lessonID, userID, false); + } + flashMessage = new FlashMessage("presenceAvailable", "presenceAvailable"); } catch (Exception e) { flashMessage = handleException(e, "presenceAvailable", monitoringService); Index: lams_monitoring/web/lams_monitoring.swf =================================================================== diff -u -ree15dd3827f3fc08e09000fdc7cb920858517ff4 -r887180a91dab0c85349f1492b7b5a04400cabef4 Binary files differ Index: lams_monitoring/web/lams_monitoring_library.swf =================================================================== diff -u -ree15dd3827f3fc08e09000fdc7cb920858517ff4 -r887180a91dab0c85349f1492b7b5a04400cabef4 Binary files differ