mirror of
https://github.com/samba-team/samba.git
synced 2025-01-10 01:18:15 +03:00
r22324: Another step closer to nice listing of user accounts.
rafal
(This used to be commit 3f717e7fc7
)
This commit is contained in:
parent
4a23a696b9
commit
671d785c16
@ -11,57 +11,67 @@ jsonrpc_include("resources.esp");
|
|||||||
|
|
||||||
function _NetContext(params, error)
|
function _NetContext(params, error)
|
||||||
{
|
{
|
||||||
var credParams, credentials;
|
var hostName, credParams, credentials;
|
||||||
var resName;
|
var resName = "netCtx";
|
||||||
|
|
||||||
if (params.length < 1)
|
credentials = session.authinfo.credentials;
|
||||||
{
|
|
||||||
/* create default NetContext based on already provided credentials */
|
|
||||||
credentials = session.authinfo.credentials;
|
|
||||||
resName = "netCtx";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* create user specified credentials object */
|
|
||||||
credParams = params[0];
|
|
||||||
if (typeof(credParams) != "object")
|
|
||||||
{
|
|
||||||
error.setError(jsonrpc.Constant.ServerError.ParameterMismatch,
|
|
||||||
"credentials parameter is expected to be an object");
|
|
||||||
return error;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (typeof(credParams.domain) != "string")
|
|
||||||
{
|
|
||||||
error.setError(jsonrpc.Constant.ServerError.ParameterMismatch,
|
|
||||||
"a valid string is expected in credentials.domain");
|
|
||||||
return error;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (typeof(credParams.username) != "string")
|
|
||||||
{
|
|
||||||
error.setError(jsonrpc.Constant.ServerError.ParameterMismatch,
|
|
||||||
"a valid string is expected in credentials.username");
|
|
||||||
return error;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (typeof(credParams.username) != "string")
|
|
||||||
{
|
|
||||||
error.setError(jsonrpc.Constant.ServerError.ParameterMismatch,
|
|
||||||
"a valid string is expected in credentials.password");
|
|
||||||
return error;
|
|
||||||
}
|
|
||||||
|
|
||||||
credentials = credentials_init();
|
|
||||||
credentials.set_domain(credParams.domain);
|
|
||||||
credentials.set_username(credParams.username);
|
|
||||||
credentials.set_password(credParams.password);
|
|
||||||
|
|
||||||
resName = "netCtx[" + credParams.domain + "/" + credParams.username + "]";
|
if (params.length > 0)
|
||||||
|
{
|
||||||
|
/* first expected argument is host name that this context is going
|
||||||
|
to be attached to */
|
||||||
|
hostName = params[0];
|
||||||
|
if (typeof(hostName) != "string" || hostName == "")
|
||||||
|
{
|
||||||
|
error.setError(jsonrpc.Constant.ServerError.ParameterMismatch,
|
||||||
|
"hostName parameter is expected to be a valid non zero-length string");
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
resName = "netCtx[" + hostName + "]";
|
||||||
|
|
||||||
|
/* check whether credentials are supplied as well */
|
||||||
|
if (params.length > 1)
|
||||||
|
{
|
||||||
|
/* create user specified credentials object */
|
||||||
|
credParams = params[1];
|
||||||
|
if (typeof(credParams) != "object")
|
||||||
|
{
|
||||||
|
error.setError(jsonrpc.Constant.ServerError.ParameterMismatch,
|
||||||
|
"credentials parameter is expected to be an object");
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (typeof(credParams.domain) != "string")
|
||||||
|
{
|
||||||
|
error.setError(jsonrpc.Constant.ServerError.ParameterMismatch,
|
||||||
|
"a valid string is expected in credentials.domain");
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (typeof(credParams.username) != "string")
|
||||||
|
{
|
||||||
|
error.setError(jsonrpc.Constant.ServerError.ParameterMismatch,
|
||||||
|
"a valid string is expected in credentials.username");
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (typeof(credParams.username) != "string")
|
||||||
|
{
|
||||||
|
error.setError(jsonrpc.Constant.ServerError.ParameterMismatch,
|
||||||
|
"a valid string is expected in credentials.password");
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
credentials = credentials_init();
|
||||||
|
credentials.set_domain(credParams.domain);
|
||||||
|
credentials.set_username(credParams.username);
|
||||||
|
credentials.set_password(credParams.password);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* was this NetContext created yet ? */
|
/* was this NetContext created yet ? */
|
||||||
var resId = session.resources.find(key, error);
|
var resId = session.resources.find(resName, error);
|
||||||
if (resId != undefined)
|
if (resId != undefined)
|
||||||
{
|
{
|
||||||
/* yes, return its resource id */
|
/* yes, return its resource id */
|
||||||
@ -76,10 +86,93 @@ function _NetContext(params, error)
|
|||||||
jsonrpc.method.NetContext = _NetContext;
|
jsonrpc.method.NetContext = _NetContext;
|
||||||
|
|
||||||
|
|
||||||
/*
|
function _NetContextCreds(params, error)
|
||||||
* Local Variables:
|
{
|
||||||
* mode: c
|
if (params.length != 1)
|
||||||
* End:
|
{
|
||||||
*/
|
error.setError(jsonrpc.Constant.ServerError.ParameterMismatch,
|
||||||
|
"missing resource id parameter");
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
var resId = params[0];
|
||||||
|
if (typeof(resId) != "number")
|
||||||
|
{
|
||||||
|
error.setError(jsonrpc.Constant.ServerError.ParameterMismatch,
|
||||||
|
"an integer parameter is required");
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
var netCtx = session.resources.get(resId, error);
|
||||||
|
if (typeof(netCtx) != "object")
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
var creds = netCtx.credentials;
|
||||||
|
var result = new Object();
|
||||||
|
result.username = creds.get_username();
|
||||||
|
result.domain = creds.get_domain();
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
jsonrpc.method.NetContextCreds = _NetContextCreds;
|
||||||
|
|
||||||
|
|
||||||
|
function _UserMgr(params, error)
|
||||||
|
{
|
||||||
|
var domainName = null, netCtxId;
|
||||||
|
var resId = -1;
|
||||||
|
var resName = "usrCtx";
|
||||||
|
var netCtx = undefined;
|
||||||
|
var usrCtx = undefined;
|
||||||
|
|
||||||
|
if (params.length == 0)
|
||||||
|
{
|
||||||
|
error.setError(jsonrpc.Constant.ServerError.ParameterMismatch,
|
||||||
|
"NetContext parameter missing");
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* checking NetContext parameter */
|
||||||
|
netCtxId = params[0];
|
||||||
|
if (netCtxId == undefined || typeof(netCtxId) != "number")
|
||||||
|
{
|
||||||
|
error.setError(jsonrpc.Constant.ServerError.ParameterMismatch,
|
||||||
|
"NetContext parameter is expected to be a number");
|
||||||
|
}
|
||||||
|
|
||||||
|
netCtx = session.resources.get(netCtxId, error);
|
||||||
|
if (netCtx == undefined || typeof(netCtx) != "object")
|
||||||
|
{
|
||||||
|
error.setError(jsonrpc.Constant.ServerError.ParameterMismatch,
|
||||||
|
"Incorrect NetContext passed");
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (params.length > 1)
|
||||||
|
{
|
||||||
|
domainName = params[1];
|
||||||
|
if (domainName == undefined || typeof(domainName) != "string")
|
||||||
|
{
|
||||||
|
error.setError(jsonrpc.Constant.ServerError.ParameterMismatch,
|
||||||
|
"domainName parameter is expected to be a valid non zero-length string");
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (domainName == "")
|
||||||
|
{
|
||||||
|
usrCtx = netCtx.UserMgr();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
usrCtx = netCtx.UserMgr(domainName);
|
||||||
|
}
|
||||||
|
|
||||||
|
resId = session.resources.set(usrCtx, resName, error);
|
||||||
|
return resId;
|
||||||
|
}
|
||||||
|
jsonrpc.method.UserMgr = _UserMgr;
|
||||||
|
|
||||||
%>
|
%>
|
||||||
|
@ -70,7 +70,13 @@ qx.Proto.buildFsm = function(module)
|
|||||||
"changeSelection" :
|
"changeSelection" :
|
||||||
{
|
{
|
||||||
"tree" :
|
"tree" :
|
||||||
"Transition_Idle_to_AwaitRpcResult_via_tree_selection_changed"
|
"Transition_Idle_to_Idle_via_tree_selection_changed"
|
||||||
|
},
|
||||||
|
|
||||||
|
"changeNetCtx" :
|
||||||
|
{
|
||||||
|
"swat.module.netmgr.Gui" :
|
||||||
|
"Transition_Idle_to_AwaitRpcResult_via_netCtx_changed"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -85,6 +91,7 @@ qx.Proto.buildFsm = function(module)
|
|||||||
|
|
||||||
"ontransition" : function(fsm, event)
|
"ontransition" : function(fsm, event)
|
||||||
{
|
{
|
||||||
|
// Create default NetContext
|
||||||
var request = _this.callRpc(fsm, "samba.ejsnet", "NetContext", []);
|
var request = _this.callRpc(fsm, "samba.ejsnet", "NetContext", []);
|
||||||
request.setUserData("requestType", "NetContext");
|
request.setUserData("requestType", "NetContext");
|
||||||
}
|
}
|
||||||
@ -111,9 +118,9 @@ qx.Proto.buildFsm = function(module)
|
|||||||
state.addTransition(trans);
|
state.addTransition(trans);
|
||||||
|
|
||||||
var trans = new qx.util.fsm.Transition(
|
var trans = new qx.util.fsm.Transition(
|
||||||
"Transition_Idle_to_AwaitRpcResult_via_tree_selection_changed",
|
"Transition_Idle_to_Idle_via_tree_selection_changed",
|
||||||
{
|
{
|
||||||
"nextState" : "State_AwaitRpcResult",
|
"nextState" : "State_Idle",
|
||||||
|
|
||||||
"ontransition" : function(fsm, event)
|
"ontransition" : function(fsm, event)
|
||||||
{
|
{
|
||||||
@ -122,8 +129,38 @@ qx.Proto.buildFsm = function(module)
|
|||||||
|
|
||||||
var gui = swat.module.netmgr.Gui.getInstance();
|
var gui = swat.module.netmgr.Gui.getInstance();
|
||||||
var parentNode = gui.getParentNode(module, selectedNode);
|
var parentNode = gui.getParentNode(module, selectedNode);
|
||||||
|
|
||||||
var params = (parentNode.credentials == undefined) ? [] : [ parentNode.credentials ];
|
// Change current NetContext if necessary for this host
|
||||||
|
if (parentNode.netCtx != undefined)
|
||||||
|
{
|
||||||
|
module.setNetCtx(parentNode.netCtx);
|
||||||
|
}
|
||||||
|
|
||||||
|
var nodeName = selectedNode.label;
|
||||||
|
var callName = undefined; // rpc call name
|
||||||
|
var callArgs = [ gui.getNetCtx() ]; // NetContex goes first
|
||||||
|
|
||||||
|
switch (nodeName)
|
||||||
|
{
|
||||||
|
case "Users":
|
||||||
|
callName = "UserMgr";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "Groups":
|
||||||
|
case "Domain":
|
||||||
|
case "Services":
|
||||||
|
alert("View not implemented yet");
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
alert("Undefined call selected for node=['" + nodeName + "']");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Bail out if no appropriate call name has been found
|
||||||
|
if (callName == undefined) return;
|
||||||
|
|
||||||
|
var req = _this.callRpc(fsm, "samba.ejsnet", callName, callArgs);
|
||||||
|
req.setUserData("requestType", "UserMgr");
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
@ -131,6 +168,21 @@ qx.Proto.buildFsm = function(module)
|
|||||||
// Add the new transition
|
// Add the new transition
|
||||||
state.addTransition(trans);
|
state.addTransition(trans);
|
||||||
|
|
||||||
|
var trans = new qx.util.fsm.Transition(
|
||||||
|
"Transition_Idle_to_AwaitRpcResult_via_netCtx_changed",
|
||||||
|
{
|
||||||
|
"nextState" : "State_AwaitRpcResult",
|
||||||
|
|
||||||
|
"ontransition" : function(fsm, event)
|
||||||
|
{
|
||||||
|
var netCtxId = 0;
|
||||||
|
var req = _this.callRpc(fsm, "samba.ejsnet", "NetContextCreds", [ netCtxId ]);
|
||||||
|
req.setUserData("requestType", "NetContextCreds");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
state.addTransition(trans);
|
||||||
|
|
||||||
blockedEvents =
|
blockedEvents =
|
||||||
{
|
{
|
||||||
"appear":
|
"appear":
|
||||||
|
@ -5,20 +5,38 @@
|
|||||||
/**
|
/**
|
||||||
* Swat Net Manager class graphical user interface
|
* Swat Net Manager class graphical user interface
|
||||||
*/
|
*/
|
||||||
qx.OO.defineClass("swat.module.netmgr.Gui", qx.core.Object,
|
qx.OO.defineClass("swat.module.netmgr.Gui", qx.core.Target,
|
||||||
function()
|
function()
|
||||||
{
|
{
|
||||||
qx.core.Object.call(this);
|
qx.core.Target.call(this);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
//qx.OO.addProperty({ name : "_tree", type : "object" });
|
//qx.OO.addProperty({ name : "_tree", type : "object" });
|
||||||
//qx.OO.addProperty({ name : "_panel", type : "object" });
|
//qx.OO.addProperty({ name : "_panel", type : "object" });
|
||||||
|
//qx.OO.addProperty({ name : "_view", type : "object" });
|
||||||
|
//qx.OO.addProperty({ name : "_txtDomain", type : "object" });
|
||||||
|
//qx.OO.addProperty({ name : "_txtUsername", type : "object" });
|
||||||
|
|
||||||
|
/* NetContex resource number assigned on the server side.
|
||||||
|
Necessary for every ejsnet call */
|
||||||
|
qx.OO.addProperty({ name : "netCtx", type : "number" });
|
||||||
|
|
||||||
|
|
||||||
qx.Proto.buildGui = function(module)
|
qx.Proto.buildGui = function(module)
|
||||||
{
|
{
|
||||||
var fsm = module.fsm;
|
var fsm = module.fsm;
|
||||||
|
|
||||||
|
// Main layout composing the whole form
|
||||||
|
var vlayout = new qx.ui.layout.VerticalBoxLayout();
|
||||||
|
vlayout.set({
|
||||||
|
top: 20,
|
||||||
|
left: 20,
|
||||||
|
width: "100%",
|
||||||
|
bottom: 20
|
||||||
|
});
|
||||||
|
|
||||||
|
// Horizontal layout holding TreeView and a "panel" for ListView
|
||||||
var hlayout = new qx.ui.layout.HorizontalBoxLayout();
|
var hlayout = new qx.ui.layout.HorizontalBoxLayout();
|
||||||
hlayout.set({
|
hlayout.set({
|
||||||
top: 0,
|
top: 0,
|
||||||
@ -55,38 +73,105 @@ qx.Proto.buildGui = function(module)
|
|||||||
|
|
||||||
panel.set({
|
panel.set({
|
||||||
top: 0,
|
top: 0,
|
||||||
right: 20,
|
left: 10,
|
||||||
width: "80%",
|
width: "80%",
|
||||||
height: "100%"
|
height: "100%"
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Setup some initial columns and (empty) item list - to be replaced soon
|
||||||
|
// with default view loading
|
||||||
|
var columns = { name : { label: "Name", width: 120, type: "text" }};
|
||||||
|
var items = [];
|
||||||
|
|
||||||
|
// Setup the list view
|
||||||
|
this._view = new qx.ui.listview.ListView(items, columns);
|
||||||
|
var view = this._view;
|
||||||
|
view.setBorder(qx.renderer.border.BorderPresets.getInstance().shadow);
|
||||||
|
view.setBackgroundColor("white");
|
||||||
|
view.set({
|
||||||
|
top: 0,
|
||||||
|
left: 0,
|
||||||
|
width: "80%",
|
||||||
|
height: "100%"
|
||||||
|
});
|
||||||
|
|
||||||
|
// Give a list view name to handle
|
||||||
|
fsm.addObject("view", view);
|
||||||
|
|
||||||
|
// and the list view to the panel
|
||||||
|
panel.add(view);
|
||||||
|
|
||||||
// Add the tree view and panel for list view to the layout
|
// Add the tree view and panel for list view to the layout
|
||||||
hlayout.add(tree);
|
hlayout.add(tree);
|
||||||
hlayout.add(panel);
|
hlayout.add(panel);
|
||||||
|
|
||||||
|
// Status layout containing informative labels and status information
|
||||||
var statusLayout = new qx.ui.layout.HorizontalBoxLayout();
|
var statusLayout = new qx.ui.layout.HorizontalBoxLayout();
|
||||||
statusLayout.set({
|
statusLayout.set({
|
||||||
top: 0,
|
top: 10,
|
||||||
left: 0,
|
left: 0,
|
||||||
right: 0,
|
right: 0,
|
||||||
height: "100%"
|
height: "100%"
|
||||||
});
|
});
|
||||||
|
|
||||||
var vlayout = new qx.ui.layout.VerticalBoxLayout();
|
// First "column" of status fields
|
||||||
vlayout.set({
|
var colALayout = new qx.ui.layout.VerticalBoxLayout();
|
||||||
top: 20,
|
colALayout.set({
|
||||||
left: 20,
|
top: 0,
|
||||||
width: "100%",
|
left: 0,
|
||||||
bottom: 20
|
width: 150,
|
||||||
});
|
height: "100%"
|
||||||
|
});
|
||||||
|
|
||||||
|
// Domain name (credentials) - label and text box
|
||||||
|
var statusDomain = new qx.ui.layout.HorizontalBoxLayout();
|
||||||
|
statusDomain.set({ top: 0, left: 0, width: "100%", height: 20,
|
||||||
|
verticalChildrenAlign: "middle" });
|
||||||
|
|
||||||
|
var lblDomain = new qx.ui.basic.Atom();
|
||||||
|
lblDomain.setLabel("Domain:");
|
||||||
|
lblDomain.set({ width: 70, right: 5, horizontalChildrenAlign: "right" });
|
||||||
|
|
||||||
|
var txtDomain = new qx.ui.form.TextField();
|
||||||
|
txtDomain.set({ width: 80, readOnly: true });
|
||||||
|
this._txtDomain = txtDomain;
|
||||||
|
|
||||||
|
statusDomain.add(lblDomain);
|
||||||
|
statusDomain.add(txtDomain);
|
||||||
|
|
||||||
|
// Username (credentials) - label and text box
|
||||||
|
var statusUsername = new qx.ui.layout.HorizontalBoxLayout();
|
||||||
|
statusUsername.set({ top: 0, left: 0, width: "100%", height: 20,
|
||||||
|
verticalChildrenAlign: "middle" });
|
||||||
|
|
||||||
|
var lblUsername = new qx.ui.basic.Atom();
|
||||||
|
lblUsername.setLabel("Username:");
|
||||||
|
lblUsername.set({ width: 70, right: 5, horizontalChildrenAlign: "right" });
|
||||||
|
|
||||||
|
var txtUsername = new qx.ui.form.TextField();
|
||||||
|
txtUsername.set({ width: 80, readOnly: true });
|
||||||
|
this._txtUsername = txtUsername;
|
||||||
|
|
||||||
|
statusUsername.add(lblUsername);
|
||||||
|
statusUsername.add(txtUsername);
|
||||||
|
|
||||||
|
colALayout.add(statusDomain);
|
||||||
|
colALayout.add(statusUsername);
|
||||||
|
|
||||||
|
statusLayout.add(colALayout);
|
||||||
|
|
||||||
vlayout.add(hlayout);
|
vlayout.add(hlayout);
|
||||||
vlayout.add(statusLayout);
|
vlayout.add(statusLayout);
|
||||||
|
|
||||||
vlayout.addEventListener("appear", fsm.eventListener, fsm);
|
vlayout.addEventListener("appear", fsm.eventListener, fsm);
|
||||||
fsm.addObject("vlayout", vlayout);
|
fsm.addObject("vlayout", vlayout);
|
||||||
|
|
||||||
|
// place everything on canvas
|
||||||
module.canvas.add(vlayout);
|
module.canvas.add(vlayout);
|
||||||
|
|
||||||
|
// Add event handler to netCtx property change
|
||||||
|
this.addEventListener("changeNetCtx", fsm.eventListener, fsm);
|
||||||
|
fsm.addObject("swat.module.netmgr.Gui", this);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -107,13 +192,21 @@ qx.Proto.displayData = function(module, rpcRequest)
|
|||||||
switch (requestType)
|
switch (requestType)
|
||||||
{
|
{
|
||||||
case "hostname":
|
case "hostname":
|
||||||
// Add local host node
|
// Add local host node
|
||||||
this._addHostNode(module, rpcRequest, true);
|
this._addHostNode(module, rpcRequest, true);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "NetContext":
|
case "NetContext":
|
||||||
this._initNetContext(module, rpcRequest);
|
this._initNetContext(module, rpcRequest);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case "NetContextCreds":
|
||||||
|
this._updateNetContextCreds(module, rpcRequest);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "UserMgr":
|
||||||
|
this._initUserManager(module, rpcRequest);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
qx.ui.core.Widget.flushGlobalQueues();
|
qx.ui.core.Widget.flushGlobalQueues();
|
||||||
@ -163,8 +256,8 @@ qx.Proto._addHostNode = function(module, rpcRequest, local)
|
|||||||
var hostNode = dataModel.getData()[hostNodeId];
|
var hostNode = dataModel.getData()[hostNodeId];
|
||||||
|
|
||||||
// Set host-specific properties
|
// Set host-specific properties
|
||||||
hostNode.credentials = undefined;
|
hostNode.netCtx = undefined;
|
||||||
hostNode.local = local
|
hostNode.local = local;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -172,7 +265,23 @@ qx.Proto._initNetContext = function(module, rpcRequest)
|
|||||||
{
|
{
|
||||||
// Gather obtained NetContext handle
|
// Gather obtained NetContext handle
|
||||||
var result = rpcRequest.getUserData("result").data;
|
var result = rpcRequest.getUserData("result").data;
|
||||||
module.netCtx = result;
|
this.setNetCtx(result);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
qx.Proto._updateNetContextCreds = function(module, rpcRequest)
|
||||||
|
{
|
||||||
|
// Get requested credentials from the current NetContext
|
||||||
|
var result = rpcRequest.getUserData("result").data;
|
||||||
|
this._txtUsername.setValue(result.username);
|
||||||
|
this._txtDomain.setValue(result.domain);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
qx.Proto._initUserManager = function(module, rpcRequest)
|
||||||
|
{
|
||||||
|
// Get obtained UsrCtx handle
|
||||||
|
var result = rpcRequest.getUserData("result").data;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user