Index: lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/Monitor.as =================================================================== diff -u -rc52ea5cdbf3b5fd4a2dadf6cd72ffbe9c286b127 -r498ef818c213ce2bfe7c71eabbe43be55ba3f668 --- lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/Monitor.as (.../Monitor.as) (revision c52ea5cdbf3b5fd4a2dadf6cd72ffbe9c286b127) +++ lams_central/src/flash/org/lamsfoundation/lams/monitoring/mv/Monitor.as (.../Monitor.as) (revision 498ef818c213ce2bfe7c71eabbe43be55ba3f668) @@ -38,7 +38,6 @@ class Monitor { //Constants public static var USE_PROPERTY_INSPECTOR = true; - public var RT_ORG:String = "Organisation"; private var _className:String = "Monitor"; @@ -65,6 +64,8 @@ private var _onOKCallBack:Function; + + /** * Monitor Constructor Function * @@ -99,6 +100,8 @@ //Register view with model to receive update events monitorModel.addObserver(monitorView); + monitorModel.addEventListener('learnersLoad',Proxy.create(this,onUserLoad)); + monitorModel.addEventListener('staffLoad',Proxy.create(this,onUserLoad)); //monitorModel.addObserver(monitorView); //monitorModel.addObserver(monitorView); @@ -133,6 +136,23 @@ } /** + * Called when Users loaded for role type + * @param evt:Object the event object + */ + private function onUserLoad(evt:Object){ + if(evt.type=='staffLoad'){ + monitorModel.staffLoaded = true; + Debugger.log('Staff loaded :',Debugger.CRITICAL,'onUserLoad','Monitor'); + } else if(evt.type=='learnersLoad'){ + monitorModel.learnersLoaded = true; + Debugger.log('Learners loaded :',Debugger.CRITICAL,'onUserLoad','Monitor'); + } else { + Debugger.log('event type not recognised :'+evt.type,Debugger.CRITICAL,'onUserLoad','Monitor'); + } + } + + + /** * Opens a design using workspace and user to select design ID * passes the callback function to recieve selected ID */ @@ -172,90 +192,12 @@ Application.getInstance().getLesson().addNew(lessonID); } + + public function requestUsers(role:String, orgID:Number, callback:Function){ + Application.getInstance().getComms().getRequest('workspace.do?method=getUsersFromOrganisationByRole&organisationID='+orgID+'&role='+role,callback, false); - public function getOrganisations():Void{ - var callback:Function = Proxy.create(this,showOrgTree); - - Application.getInstance().getComms().getRequest('workspace.do?method=getOrganisationsByUserRole&userID='+_root.userID+'&roles=STAFF,TEACHER',callback, false); - } - - private function showOrgTree(dto:Object):Void{ - trace('organisations tree returned...'); - trace('creating root node...'); - // create root (dummy) node - - var odto = getDataObject(dto); - - - var rootNode:XMLNode = getMM().treeDP.addTreeNode(odto.name, odto); - //rootNode.attributes.isBranch = true; - getMM().setOrganisationResource(RT_ORG+'_'+odto.organisationID,rootNode); - - // create tree xml branches - createXMLNodes(rootNode, dto.nodes); - - } - private function createXMLNodes(root:XMLNode, nodes:Array) { - for(var i=0; i0){ - childNode.attributes.isBranch = true; - createXMLNodes(childNode, nodes[i].nodes); - } else { - childNode.attributes.isBranch = false; - } - - getMM().setOrganisationResource(RT_ORG+'_'+odto.organisationID,childNode); - - } - - } - - private function getDataObject(dto:Object):Object{ - var odto= {}; - odto.organisationID = dto.organisationID; - odto.description = dto.description; - odto.name = dto.name; - odto.parentID = dto.parentID; - - return odto; - } - - public function requestOrgUsersByRole(data:Object, roles:Array){ - - trace('requesting org users by role'); - var callback:Function = Proxy.create(this,saveUsers); - - for(var i=0; i