2012년 11월 13일 화요일

SharePoint 2010 ECMAScript - current user info



1. Get user info then auto fill to controls

var displayName = "";
function GetUser()
{
displayName = $().SPServices.SPGetCurrentUser({
fieldName: "Title"
});
var ctx = new SP.ClientContext.get_current();
this.currentUser = ctx.get_web().get_currentUser();
ctx.load(this.currentUser);
ctx.executeQueryAsync(Function.createDelegate(this, this.onSucceededGetUser),
Function.createDelegate(this, this.onQueryFailed));
}

function onSucceededGetUser(sender, args)
{
//alert("The users " + this.currentUser.get_loginName());
$("input[Title='Title']").val(displayName);
$("input[Title='Account']").val(this.currentUser.get_loginName());
$("input[Title='Email']").val(this.currentUser.get_email());
}
function onQueryFailed(sender, args)
{
    alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}

2. Update user email info


function UpdateUserEmail()
{
var ctx = new SP.ClientContext.get_current();
this.currentUser = ctx.get_web().get_currentUser();
var email = $("input[Title='Email']").val();
this.currentUser.set_email(email);
this.currentUser.update();
ctx.executeQueryAsync(Function.createDelegate(this, this.onSucceededUpdateUserEmail),
Function.createDelegate(this, this.onQueryFailed));
}
function onSucceededUpdateUserEmail(sender, args)
{
alert("Updated! " + this.currentUser.get_email());
}


댓글 없음: