svn commit: samba r21852 - in branches/SAMBA_4_0/webapps/swat/source/class/swat/module/netmgr: .

mimir at samba.org mimir at samba.org
Fri Mar 16 00:19:41 GMT 2007


Author: mimir
Date: 2007-03-16 00:19:40 +0000 (Fri, 16 Mar 2007)
New Revision: 21852

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=21852

Log:
Further work on initialising libnet context from netmgr.


rafal


Modified:
   branches/SAMBA_4_0/webapps/swat/source/class/swat/module/netmgr/Fsm.js
   branches/SAMBA_4_0/webapps/swat/source/class/swat/module/netmgr/Gui.js


Changeset:
Modified: branches/SAMBA_4_0/webapps/swat/source/class/swat/module/netmgr/Fsm.js
===================================================================
--- branches/SAMBA_4_0/webapps/swat/source/class/swat/module/netmgr/Fsm.js	2007-03-15 22:48:30 UTC (rev 21851)
+++ branches/SAMBA_4_0/webapps/swat/source/class/swat/module/netmgr/Fsm.js	2007-03-16 00:19:40 UTC (rev 21852)
@@ -43,7 +43,7 @@
 		result.data.origin == origins.Server &&
 		result.data.code == serverErrors.ResourceError)
 	    {
-	      this.debug("error" + result);
+	      alert("Error when receiving rpc: '" + result.id + "'" + " exception: " + result.data);
 	    }
 	    else
 	    {
@@ -63,7 +63,13 @@
           {
             "swat.main.canvas" :
               "Transition_Idle_to_AwaitRpcResult_via_canvas_appear"
-          }
+          },
+
+	  "changeSelection" :
+	  {
+	    "tree" :
+	      "Transition_Idle_to_AwaitRpcResult_via_tree_selection_changed"
+	  }
         }
     });
 
@@ -87,6 +93,37 @@
   // Add the new transition
   state.addTransition(trans);
 
+  var trans = new qx.util.fsm.Transition(
+    "Transition_Idle_to_AwaitRpcResult_via_tree_selection_changed",
+    {
+      "nextState" : "State_AwaitRpcResult",
+
+      "ontransition" :
+      function(fsm, event)
+      {
+	var nodes = event.getData();
+	var selectedNode = nodes[0];
+
+	var gui = swat.module.netmgr.Gui.getInstance();
+	var parentNode = gui.getParentNode(module, selectedNode);
+
+	if (typeof(parentNode.credentials) == "object")
+	{
+	  var creds = parentNode.credentials;
+	  var request = _this.callRpc("samba.ejsnet", "NetContext", [ creds ]);
+	  request.setUserData("requestType", "NetContext");
+	}
+	else
+	{
+	  // TODO: display a login dialog
+	}
+      }
+      
+    });
+
+  // Add the new transition
+  state.addTransition(trans);
+  
   blockedEvents =
   {
     "appear":

Modified: branches/SAMBA_4_0/webapps/swat/source/class/swat/module/netmgr/Gui.js
===================================================================
--- branches/SAMBA_4_0/webapps/swat/source/class/swat/module/netmgr/Gui.js	2007-03-15 22:48:30 UTC (rev 21851)
+++ branches/SAMBA_4_0/webapps/swat/source/class/swat/module/netmgr/Gui.js	2007-03-16 00:19:40 UTC (rev 21852)
@@ -85,6 +85,26 @@
 };
 
 
+qx.Proto.getParentNode = function(module, node)
+{
+  var tree = this._tree;
+  var nodes = tree.getTableModel().getData();
+  if (nodes == undefined)
+  {
+    return undefined;
+  }
+
+  if (node.parentNodeId == 0)
+  {
+    // there is no parent node
+    return node;
+  }
+  
+  var parentNode = nodes[node.parentNodeId];
+  return parentNode;
+};
+
+
 qx.Proto._addHostNode = function(module, rpcRequest)
 {
   var fsm = module.fsm;
@@ -93,22 +113,20 @@
   // Get the tree widget
   var tree = this._tree;
   var dataModel = tree.getDataModel();
-
-  // Add new host and its service branches
+  
+  // Add new host and its service leaves
   var hostNodeId = dataModel.addBranch(null, hostname, false);
   
-  var domainNodeId = dataModel.addBranch(hostNodeId, "Domain", false);
-  var usersNodeId = dataModel.addBranch(hostNodeId, "Users", false);
-  var groupsNodeId = dataModel.addBranch(hostNodeId, "Groups", false);
-  var srvcsNodeId = dataModel.addBranch(hostNodeId, "Services", false);
-
-  // Services don't expand
-  dataModel.setState(domainNodeId, { bHideOpenClose : true });
-  dataModel.setState(usersNodeId, { bHideOpenClose : true });
-  dataModel.setState(groupsNodeId, { bHideOpenClose : true });
-  dataModel.setState(srvcsNodeId, { bHideOpenClose : true });
+  var domainNodeId = dataModel.addLeaf(hostNodeId, "Domain", false);
+  var usersNodeId = dataModel.addLeaf(hostNodeId, "Users", false);
+  var groupsNodeId = dataModel.addLeaf(hostNodeId, "Groups", false);
+  var srvcsNodeId = dataModel.addLeaf(hostNodeId, "Services", false);
   
   dataModel.setData();
+  tree.addEventListener("changeSelection", fsm.eventListener, fsm);
+
+  var hostNode = dataModel.getData()[hostNodeId];
+  hostNode.credentials = undefined;
 };
 
 



More information about the samba-cvs mailing list