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);