Author: mimir
Date: 2006-12-12 23:01:51 +0000 (Tue, 12 Dec 2006)
New Revision: 20143

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

Log:
a bit of experiments before doing serious changes in ejsnet.


rafal


Modified:
   branches/SAMBA_4_0/source/scripting/ejs/ejsnet.c
   branches/SAMBA_4_0/testprogs/ejs/ejsnet.js


Changeset:
Modified: branches/SAMBA_4_0/source/scripting/ejs/ejsnet.c
===================================================================
--- branches/SAMBA_4_0/source/scripting/ejs/ejsnet.c    2006-12-12 22:57:43 UTC 
(rev 20142)
+++ branches/SAMBA_4_0/source/scripting/ejs/ejsnet.c    2006-12-12 23:01:51 UTC 
(rev 20143)
@@ -336,6 +336,11 @@
        struct libnet_context *ctx;
        const char *userman_domain = NULL;
        struct libnet_UserInfo req;
+       struct MprVar mprUserInfo;
+       struct MprVar mprAccountName, mprFullName, mprDescription;
+       struct MprVar mprHomeDir, mprHomeDrive, mprComment;
+       struct MprVar mprLogonScript;
+       struct MprVar mprAcctExpiry, mprAllowPassChange, mprForcePassChange;
 
        if (argc != 1) {
                ejsSetErrorMsg(eid, "argument 1 must be a string");
@@ -364,9 +369,44 @@
                ejsSetErrorMsg(eid, "%s", req.out.error_string);
        }
 
-       /* TODO: create user info object and pass received properties */
+       /* create UserInfo object */
+       mprUserInfo = mprObject("UserInfo");
 
+       mprAccountName = mprString(req.out.account_name);
+       mprFullName = mprString(req.out.full_name);
+       mprDescription = mprString(req.out.description);
+       mprHomeDir = mprString(req.out.home_directory);
+       mprHomeDrive = mprString(req.out.home_drive);
+       mprComment = mprString(req.out.comment);
+       mprLogonScript = mprString(req.out.logon_script);
+       mprAcctExpiry = mprString(timestring(mem_ctx, 
req.out.acct_expiry->tv_sec));
+       mprAllowPassChange = mprString(timestring(mem_ctx, 
req.out.allow_password_change->tv_sec));
+       mprForcePassChange = mprString(timestring(mem_ctx, 
req.out.force_password_change->tv_sec));
+
+       status = mprSetVar(&mprUserInfo, "AccountName", mprAccountName);
+       if (!NT_STATUS_IS_OK(status)) goto done;
+       status = mprSetVar(&mprUserInfo, "FullName", mprFullName);
+       if (!NT_STATUS_IS_OK(status)) goto done;
+       status = mprSetVar(&mprUserInfo, "Description", mprDescription);
+       if (!NT_STATUS_IS_OK(status)) goto done;
+       status = mprSetVar(&mprUserInfo, "HomeDirectory", mprHomeDir);
+       if (!NT_STATUS_IS_OK(status)) goto done;
+       status = mprSetVar(&mprUserInfo, "HomeDrive", mprHomeDrive);
+       if (!NT_STATUS_IS_OK(status)) goto done;
+       status = mprSetVar(&mprUserInfo, "Comment", mprComment);
+       if (!NT_STATUS_IS_OK(status)) goto done;
+       status = mprSetVar(&mprUserInfo, "LogonScript", mprLogonScript);
+       if (!NT_STATUS_IS_OK(status)) goto done;
+       status = mprSetVar(&mprUserInfo, "AcctExpiry", mprAcctExpiry);
+       if (!NT_STATUS_IS_OK(status)) goto done;
+       status = mprSetVar(&mprUserInfo, "AllowPasswordChange", 
mprAllowPassChange);
+       if (!NT_STATUS_IS_OK(status)) goto done;
+       status = mprSetVar(&mprUserInfo, "ForcePasswordChange", 
mprForcePassChange);
+       if (!NT_STATUS_IS_OK(status)) goto done;
+
+done:
        talloc_free(mem_ctx);
+       mpr_Return(eid, mprUserInfo);
        return 0;
 }
 

Modified: branches/SAMBA_4_0/testprogs/ejs/ejsnet.js
===================================================================
--- branches/SAMBA_4_0/testprogs/ejs/ejsnet.js  2006-12-12 22:57:43 UTC (rev 
20142)
+++ branches/SAMBA_4_0/testprogs/ejs/ejsnet.js  2006-12-12 23:01:51 UTC (rev 
20143)
@@ -30,6 +30,12 @@
        return -1;
 }
 
+var info = usr_ctx.Info(options.ARGV[1]);
+println("UserInfo.AccountName = " + info.AccountName);
+println("UserInfo.Description = " + info.Description);
+println("UserInfo.FullName = " + info.FullName);
+println("UserInfo.AcctExpiry = " + info.AcctExpiry);
+
 var status = usr_ctx.Delete(options.ARGV[1]);
 if (status.is_ok != true) {
        println("Failed to delete user account " + options.ARGV[1] + ": " + 
status.errstr);

Reply via email to