Index: lams_common/src/flash/org/lamsfoundation/lams/common/ws/Workspace.as =================================================================== diff -u -r40a70d85dd1955bbfb01d42e29d93b240a21ba5e -r3fe017c75ad639fd69c001a4d680cc722f27500a --- lams_common/src/flash/org/lamsfoundation/lams/common/ws/Workspace.as (.../Workspace.as) (revision 40a70d85dd1955bbfb01d42e29d93b240a21ba5e) +++ lams_common/src/flash/org/lamsfoundation/lams/common/ws/Workspace.as (.../Workspace.as) (revision 3fe017c75ad639fd69c001a4d680cc722f27500a) @@ -23,7 +23,7 @@ */ public function Workspace (){ //Create the model. - workspaceModel = new WorkspaceModel(); + workspaceModel = new WorkspaceModel(this); //Create the authoring view and register with model workspaceView = new WorkspaceView(workspaceModel, undefined); @@ -33,16 +33,16 @@ private function init():Void{ //find out the users wsp: - getUserWorkspace(); + requestUserWorkspace(); } /** * Retrieves the workspace details for the current user from the server. * @usage */ - public function getUserWorkspace():Void{ - var callback:Function = Proxy.create(this,setUserWorkspace); + private function requestUserWorkspace():Void{ + var callback:Function = Proxy.create(this,recievedUserWorkspace); var uid:Number = Config.getInstance().userID; Application.getInstance().getComms().getRequest('workspace.do?method=getWorkspace&userID='+uid,callback, false); } @@ -52,26 +52,66 @@ * Sets the data in the model * @usage */ - public function setUserWorkspace(dto):Void{ - Debugger.log('workspaceID:'+dto.workspaceID+',rootFolderID:'+dto.rootFolderID,Debugger.GEN,'setUserWorkspace','Workspace'); + public function recievedUserWorkspace(dto):Void{ + Debugger.log('workspaceID:'+dto.workspaceID+',rootFolderID:'+dto.rootFolderID,Debugger.GEN,'recievedUserWorkspace','Workspace'); workspaceModel.rootFolderID = dto.rootFolderID; workspaceModel.workspaceID = dto.workspaceID; + //if the wsp data is null, then must be 1st time in (probabbly is ay!? - we are in init phase) + requestWorkspaceFolders(); + + } + public function requestFolderContents(folderID:Number):Void{ + var callback:Function = Proxy.create(this,recievedFolderContents); + var uid:Number = Config.getInstance().userID; + Application.getInstance().getComms().getRequest('workspace.do?method=getFolderContents&folderID='+folderID+'&mode='+Config.getInstance().mode+'&userID='+uid,callback, false); + + } + + public function recievedFolderContents(dto:Object):Void{ + workspaceModel.setFolderContents(dto); + + } + + + + /** + * Retrieves the available folders: + * The information returned is categorized under 3 main heads + PRIVATE The folder which belongs to the given User + RUN_SEQUENCES The folder in which user stores his lessons + ORGANISATIONS List of folders (root folder only) which belong to organizations of which user is a member + */ + private function requestWorkspaceFolders():Void{ + var callback:Function = Proxy.create(this,recievedWorkspaceFolders); + var uid:Number = Config.getInstance().userID; + Application.getInstance().getComms().getRequest('workspace.do?method=getAccessibleWorkspaceFolders&userID='+uid,callback, false); + + } + + private function recievedWorkspaceFolders(dto:Object):Void{ + Debugger.log('Got the available folders - PRIVATE.workspaceFolderID:'+dto.PRIVATE.workspaceFolderID,Debugger.GEN,'recievedWorkspaceFolders','Workspace'); + //_global.breakpoint(); + workspaceModel.parseDataForTree(dto); + + //TODO: Enable the Workspace buttons on the UI now we have the minimum data + + + } + /** * This is the method called when the user opens a design * - * @param id - the Learning design ID */ public function userSelectItem(){ - //Open the workspace dialog in the centre of the screen - workspaceView.createWorkspaceDialog('centre',Delegate.create(this,itemSelected)); + workspaceModel.openDesignBySelection(); } /** * Called when design has been selected from within the workspace dialog, inovked via callback method. */ - private function itemSelected(designId:Number){ + public function itemSelected(designId:Number){ Debugger.log('!!designID:'+designId,Debugger.GEN,'itemSelected','org.lamsfoundation.lams.Workspace'); //Design has been chosen, get Canvas to open design