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