Friday, July 15, 2011

Assign PeoplePicker with logedinuser

function PeoplePicker() {
this.context = null;
this.web = null;
this.currentUser = null;
this.parentTagId = null

this.SetParentTagId = function (id) {
this.parentTagId = id;
}

this.SetLoggedInUser = function () {
if (this.parentTagId != null) {
this.getWebUserData();
}
}

this.getWebUserData = function () {
this.context = new SP.ClientContext.get_current();
this.web = this.context.get_web();
this.currentUser = this.web.get_currentUser();
this.currentUser.retrieve();
this.context.load(this.web);
this.context.executeQueryAsync(Function.createDelegate(this, this.onSuccessMethod),
Function.createDelegate(this, this.onFailureMethod));
}

this.onSuccessMethod = function () {
this.setDefaultValue(this.currentUser.get_title());
}
this.onFailureMethod = function () {
alert('request failed ' + args.get_message() + '\n' + args.get_stackTrace());
}

this.setDefaultValue = function (value) {
var parentTag = document.getElementById(this.parentTagId);
if (parentTag != null) {
var peoplePickerTag = this.getTagFromIdentifierAndTitle(parentTag, 'div',
'UserField_upLevelDiv', 'People Picker');
if (peoplePickerTag) {
peoplePickerTag.innerHTML = value;
}
}
}

this.getTagFromIdentifierAndTitle = function (parentElement, tagName, identifier, title) {

var len = identifier.length;
var tags = parentElement.getElementsByTagName(tagName);
for (var i = 0; i < tags.length; i++) {
var tempString = tags[i].id;
if (tags[i].title == title && (identifier == "" ||
tempString.indexOf(identifier) == tempString.length - len)) {
return tags[i];
}
}
return null;
}


}

ExecuteOrDelayUntilScriptLoaded(SetWebUserData, "sp.js");
function SetWebUserData() {
var pplPicker = new PeoplePicker();
pplPicker.SetParentTagId("RequesterPeoplePicker");
pplPicker.SetLoggedInUser();
}

No comments:

Post a Comment