svn commit: samba r17619 - in branches/SOC/sree: . ui
sree at samba.org
sree at samba.org
Sun Aug 20 11:26:36 GMT 2006
Author: sree
Date: 2006-08-20 11:26:35 +0000 (Sun, 20 Aug 2006)
New Revision: 17619
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=17619
Log:
Fix a minor bug in usermgmt.js
Properties dialog now loads user groups, as well as allowing deletion of membership.
Warning: Group deletion is instantaneous, independent of Ok and Apply.
Modified:
branches/SOC/sree/ui/usermgmt.esp
branches/SOC/sree/ui/userprop.js
branches/SOC/sree/usermgmt.js
Changeset:
Modified: branches/SOC/sree/ui/usermgmt.esp
===================================================================
--- branches/SOC/sree/ui/usermgmt.esp 2006-08-20 03:56:27 UTC (rev 17618)
+++ branches/SOC/sree/ui/usermgmt.esp 2006-08-20 11:26:35 UTC (rev 17619)
@@ -4,15 +4,9 @@
libinclude("server_call.js");
libinclude("usermgmt.js");
-
-// temporary
function __user_get_all(attrs)
{
- /*var options = GetOptions(ARGV, "POPT_COMMON_CREDENTIALS");
- var system_session = system_session();
- var creds = options.get_credentials();
- sam = user_init(system_session.authinfo.session_info, creds);
- */
+ printf("user_get_all\n");
var sam = user_init(session.authinfo.session_info, session.authinfo.credentials);
var user_dn = sprintf("CN=Users,%s", sam.domain_dn);
@@ -30,10 +24,10 @@
function __user_add(username, fullname, description, password, flags, otherflags, unixname)
{
- printVars(session);
- var sam = user_init(session.authinfo.session_info, session.authinfo.credentials);
printf("user_add: %s, %s, %s, %s, %d, %d, %s\n", username, fullname, description
, password, flags, otherflags, unixname);
+
+ var sam = user_init(session.authinfo.session_info, session.authinfo.credentials);
result = user_add(sam, username, fullname, description, password, flags, otherflags, unixname);
user_deinit(sam);
@@ -42,8 +36,8 @@
function __user_password_set(username, password)
{
+ printf("user_password_set: %s (secret)\n", username);
var sam = user_init(session.authinfo.session_info, session.authinfo.credentials);
- printf("user_password_set: %s (secret)\n", username);
result = user_password_set(sam, username, password);
user_deinit(sam);
@@ -52,8 +46,8 @@
function __user_rename(username, newusername)
{
+ printf("user_rename: %s %s\n", username, newusername);
var sam = user_init(session.authinfo.session_info, session.authinfo.credentials);
- printf("user_rename: %s %s\n", username, newusername);
result = user_rename(sam, username, newusername);
user_deinit(sam);
@@ -62,8 +56,8 @@
function __user_delete(username)
{
+ printf("user_delete: %s\n", username);
var sam = user_init(session.authinfo.session_info, session.authinfo.credentials);
- printf("user_delete: %s\n", username);
result = user_delete(sam, username);
user_deinit(sam);
@@ -72,15 +66,46 @@
function __user_get(username, attrs)
{
- var sam = user_init(session.authinfo.session_info, session.authinfo.credentials);
printf("user_get: %s\n", username);
+ var sam = user_init(session.authinfo.session_info, session.authinfo.credentials);
result = user_get(sam, username, attrs);
user_deinit(sam);
return result;
}
+function __user_group_get(username)
+{
+ printf("user_group_get: %s\n", username);
+
+ var sam = user_init(session.authinfo.session_info, session.authinfo.credentials);
+ result = user_group_get(sam, username);
+ printVars(result);
+ user_deinit(sam);
+ return result;
+}
+
+function __user_group_add(username, groupname)
+{
+ printf("user_group_add: %s %s\n", username, groupname);
+ var sam = user_init(session.authinfo.session_info, session.authinfo.credentials);
+ result = user_group_add(sam, username, groupname);
+
+ user_deinit(sam);
+ return result;
+}
+
+function __user_group_remove(username, groupname)
+{
+ printf("user_group_remove: %s %s\n", username, groupname);
+ var sam = user_init(session.authinfo.session_info, session.authinfo.credentials);
+ result = user_group_remove(sam, username, groupname);
+
+ user_deinit(sam);
+ return result;
+}
+
var call = servCallObj();
call.add('user_get_all', __user_get_all);
call.add('user_add', __user_add);
@@ -88,6 +113,8 @@
call.add('user_rename', __user_rename);
call.add('user_delete', __user_delete);
call.add('user_get', __user_get);
-
+call.add('user_group_get', __user_group_get);
+call.add('user_group_add', __user_group_add);
+call.add('user_group_remove', __user_group_remove);
call.run();
%>
Modified: branches/SOC/sree/ui/userprop.js
===================================================================
--- branches/SOC/sree/ui/userprop.js 2006-08-20 03:56:27 UTC (rev 17618)
+++ branches/SOC/sree/ui/userprop.js 2006-08-20 11:26:35 UTC (rev 17619)
@@ -59,6 +59,22 @@
tv.getPane().add(gp);
}
+function __load_user_groups(groups, lstGroups)
+{
+ if(groups)
+ {
+ lstGroups.removeAll();
+ for(var i = 0; i < groups.length; i++)
+ {
+ var item = new QxListItem(groups[i][1], null, groups[i][0]);
+ lstGroups.add(item);
+ }
+ }
+ else
+ {
+ window.alert("Could not load user's groups!");
+ }
+}
function __create_memberof_pane(tv, tb, user_data)
{
var mp = new QxTabViewPage(tb);
@@ -82,13 +98,45 @@
var btnAdd = new QxButton("Add...");
var btnRemove = new QxButton("Remove");
+ btnRemove.addEventListener("click", function() {
+ var item = grpList.getSelectedItem();
+
+ if(item == null)
+ {
+ window.alert("Please select an item!");
+ return;
+ }
+
+ if(window.confirm("Remove user " + mp.getUserData('username') + " from group "
+ + item.getLabel() + "?"))
+ {
+ server_call_url("/user_manager/usermgmt.esp", 'user_group_remove',
+ function(result) {
+ if(result)
+ server_call_url("/user_manager/usermgmt.esp", 'user_group_get',
+ function(results) { __load_user_groups(results, grpList);},
+ mp.getUserData('username'));
+ else
+ window.alert("Could not remove user from group!");
+ }, mp.getUserData('username'), item.getLabel());
+ }
+ });
+
btnAdd.setWidth(80);
btnRemove.setWidth(80);
bl2.add(btnAdd, btnRemove);
bl.add(grpList);
bl.add(bl2);
+ mp.setUserData('username', user_data['sAMAccountName']);
mp.add(bl);
+ if(user_data['memberOf'])
+ {
+ server_call_url("/user_manager/usermgmt.esp", 'user_group_get',
+ function(results) { __load_user_groups(results, grpList);},
+ mp.getUserData('username'));
+ }
+
tv.getPane().add(mp);
}
Modified: branches/SOC/sree/usermgmt.js
===================================================================
--- branches/SOC/sree/usermgmt.js 2006-08-20 03:56:27 UTC (rev 17618)
+++ branches/SOC/sree/usermgmt.js 2006-08-20 11:26:35 UTC (rev 17619)
@@ -129,6 +129,7 @@
//TODO: Check if user already exists?
if(sam.ldb.add(ldif) != true)
{
+ print(sam.ldb.errstring());
print("Failed to add user!\n");
sam.ldb.transaction_cancel();
return false;
@@ -309,7 +310,7 @@
sam.ldb.transaction_start();
- var user = user_get(sam, username, new Array("sAMAccount"));
+ var user = user_get(sam, username, new Array("sAMAccountName"));
if(user == false)
{
More information about the samba-cvs
mailing list