svn commit: samba r17615 - in branches/SOC/sree/ui: .
sree at samba.org
sree at samba.org
Sat Aug 19 22:18:03 GMT 2006
Author: sree
Date: 2006-08-19 22:18:03 +0000 (Sat, 19 Aug 2006)
New Revision: 17615
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=17615
Log:
The user properties window now loads general and profile information. It
cannot still save any of the information. Group information is also not
loaded/saved.
Minor fixes to newuser.
Modified:
branches/SOC/sree/ui/newuser.js
branches/SOC/sree/ui/userbrowser.js
branches/SOC/sree/ui/usermgmt.esp
branches/SOC/sree/ui/userprop.js
Changeset:
Modified: branches/SOC/sree/ui/newuser.js
===================================================================
--- branches/SOC/sree/ui/newuser.js 2006-08-19 20:53:43 UTC (rev 17614)
+++ branches/SOC/sree/ui/newuser.js 2006-08-19 22:18:03 UTC (rev 17615)
@@ -19,7 +19,7 @@
otherflags = 1;
- window.alert(flags + ' ' + otherflags);
+ //window.alert(flags + ' ' + otherflags);
server_call_url("/user_manager/usermgmt.esp", 'user_add',
function(rval) {
Modified: branches/SOC/sree/ui/userbrowser.js
===================================================================
--- branches/SOC/sree/ui/userbrowser.js 2006-08-19 20:53:43 UTC (rev 17614)
+++ branches/SOC/sree/ui/userbrowser.js 2006-08-19 22:18:03 UTC (rev 17615)
@@ -333,13 +333,27 @@
}
else
user.propertiesdialog = null;
+
+ var propattrs = new Object();
+ propattrs = {0:"sAMAccountName", 1:"displayName", 2:"description", 3:"unixName",
+ 4: "userAccountControl", 5: "memberOf", 6: "name", 7: "CN", 8: "profilePath",
+ 9: "scriptPath", 10: "homeDirectory", 11: "homeDrive"};
- var prop = UserPropertiesDialog(user.username.text);
- __center_window_in_parent(w1, prop);
-
- d.add(prop);
- prop.open();
- user.propertiesdialog = prop;
+ server_call_url("/user_manager/usermgmt.esp", 'user_get',
+ function(user_data)
+ {
+ if(user_data)
+ {
+ var prop = UserPropertiesDialog(user.username.text, user_data);
+ __center_window_in_parent(w1, prop);
+
+ d.add(prop);
+ prop.open();
+ user.propertiesdialog = prop;
+ }
+ else
+ window.alert("Unable to load properties for user " + user.username.text);
+ }, user.username.text, propattrs);
}
});
Modified: branches/SOC/sree/ui/usermgmt.esp
===================================================================
--- branches/SOC/sree/ui/usermgmt.esp 2006-08-19 20:53:43 UTC (rev 17614)
+++ branches/SOC/sree/ui/usermgmt.esp 2006-08-19 22:18:03 UTC (rev 17615)
@@ -73,9 +73,10 @@
function __user_get(username, attrs)
{
var sam = user_init(session.authinfo.session_info, session.authinfo.credentials);
-
+ printf("user_get: %s\n", username);
+
result = user_get(sam, username, attrs);
-
+
user_deinit(sam);
return result;
}
Modified: branches/SOC/sree/ui/userprop.js
===================================================================
--- branches/SOC/sree/ui/userprop.js 2006-08-19 20:53:43 UTC (rev 17614)
+++ branches/SOC/sree/ui/userprop.js 2006-08-19 22:18:03 UTC (rev 17615)
@@ -3,7 +3,7 @@
Client-side routines for the User Properties Dialog.
*/
-function __create_general_pane(tv, tb)
+function __create_general_pane(tv, tb, user_data)
{
var gp = new QxTabViewPage(tb);
@@ -29,11 +29,11 @@
}
var l1 = new QxAtom("Full name:");
- var txtFullname = new QxTextField;
+ var txtFullname = new QxTextField(user_data['displayName']);
var l2 = new QxAtom("Description:");
- var txtDescription = new QxTextField;
+ var txtDescription = new QxTextField(user_data['description']);
var l3 = new QxAtom("Unixname:");
- var txtUnixname = new QxTextField;
+ var txtUnixname = new QxTextField(user_data['unixName']);
gl.add(l1, 0, 0);
gl.add(txtFullname, 1, 0);
@@ -42,12 +42,14 @@
gl.add(l3, 0, 2);
gl.add(txtUnixname, 1, 2)
- var user = new QxAtom("username", "icons/32/user.png")
+ var user = new QxAtom(user_data['sAMAccountName'], "icons/32/user.png")
- var chkChangePassword = new QxCheckBox("User must change password at next logon", "", "", true);
- var chkNoChangePassword = new QxCheckBox("User cannot change password", "", "");
- var chkNoPasswordExpire = new QxCheckBox("Password never expires", "", "");
- var chkAccountDisabled = new QxCheckBox("Account is disabled", "", "");
+ var uac = user_data['userAccountControl'];
+
+ var chkChangePassword = new QxCheckBox("User must change password at next logon", "1", "");
+ var chkNoChangePassword = new QxCheckBox("User cannot change password", "64", "", (uac & 64) > 0);
+ var chkNoPasswordExpire = new QxCheckBox("Password never expires", "65536", "", (uac & 65536) > 0);
+ var chkAccountDisabled = new QxCheckBox("Account is disabled", "2", "", (uac & 2) > 0);
var chkAccountLocked = new QxCheckBox("Account is locked out", "", "");
bl.add(user);
@@ -57,7 +59,7 @@
tv.getPane().add(gp);
}
-function __create_memberof_pane(tv, tb)
+function __create_memberof_pane(tv, tb, user_data)
{
var mp = new QxTabViewPage(tb);
@@ -90,7 +92,7 @@
tv.getPane().add(mp);
}
-function __create_profile_pane(tv, tb)
+function __create_profile_pane(tv, tb, user_data)
{
var pp = new QxTabViewPage(tb);
@@ -133,9 +135,9 @@
}
var l1 = new QxAtom("Profile path:");
- var txtProfilePath = new QxTextField;
+ var txtProfilePath = new QxTextField(user_data['profilePath']);
var l2 = new QxAtom("Logon script:");
- var txtLogonScript = new QxTextField;
+ var txtLogonScript = new QxTextField(user_data['scriptPath']);
gl1.add(l1, 0, 0);
gl1.add(txtProfilePath, 1, 0);
@@ -168,11 +170,22 @@
cbDrive.setWidth("10%");
var A = "A".charCodeAt(0);
+ var pDrive = user_data['homeDrive'];
+ if(pDrive)
+ pDrive = pDrive.toUpperCase();
+ var selItem = null;
+
for(var i = 0; i < 26; i++)
- cbDrive.add(new QxListItem(String.fromCharCode(A+i) + ":"));
-
- cbDrive.setSelected(cbDrive.getList().getLastChild());
+ {
+ var lDrive = String.fromCharCode(A+i) + ":";
+ cbDrive.add(new QxListItem(lDrive));
+ if(lDrive == pDrive)
+ selItem = cbDrive.getList().getLastChild();
+ }
+ if(selItem == null) selItem = cbDrive.getList().getLastChild();
+ cbDrive.setSelected(selItem);
+
var lblTo = new QxLabel("To:", "t");
var txtNetworkPath = new QxTextField;
@@ -180,7 +193,7 @@
bl2.setVerticalChildrenAlign("middle");
bl2.setSpacing(5);
bl2.setStretchChildrenOrthogonalAxis(true);
-
+
rm.addEventListener("changeSelected", function(e) {
var rb = e.getData();
txtLocalPath.setEnabled(rb == rb1);
@@ -189,7 +202,16 @@
txtNetworkPath.setEnabled(rb == rb2)
});
- rm.setSelected(rb1);
+ if(pDrive)
+ {
+ rm.setSelected(rb2);
+ txtNetworkPath.setValue(user_data['homeDirectory']);
+ }
+ else
+ {
+ rm.setSelected(rb1);
+ txtLocalPath.setValue(user_data['homeDirectory']);
+ }
gl2.add(rb1, 0, 0);
gl2.add(txtLocalPath, 1, 0);
@@ -203,7 +225,7 @@
tv.getPane().add(pp);
}
-function UserPropertiesDialog(username)
+function UserPropertiesDialog(username, user_data)
{
var w1 = new QxWindow(username + " Properties");
with(w1)
@@ -234,11 +256,10 @@
tvb1.setChecked(true);
tv.getBar().add(tvb1, tvb2, tvb3);
- __create_general_pane(tv, tvb1);
- __create_memberof_pane(tv, tvb2);
- __create_profile_pane(tv, tvb3);
+ __create_general_pane(tv, tvb1, user_data);
+ __create_memberof_pane(tv, tvb2, user_data);
+ __create_profile_pane(tv, tvb3, user_data);
-
var bl2 = new QxBoxLayout;
bl2.setHeight("auto");
bl2.setHorizontalChildrenAlign("right");
More information about the samba-cvs
mailing list