Get People Picker user properties in SharePoint Online

SPClientPeoplePicker.SPClientPeoplePickerDict.pplNominationSubmitted_TopSpan.OnValueChangedClientScript = function (peoplePickerId, selectedUsersInfo) {
if (selectedUsersInfo[0] == undefined) {
$("#txtNomination").val("");
}
else {
getUserDetails(selectedUsersInfo[0].Key, "txtNomination", "pplNominationSubmitted");
}
};

/***This will give you the selected user Details***/
function getUserDetails(userName, ctrl, pplCtrl) {
var email = userName.split('|')[2];
var url = "/_api/SP.UserProfiles.PeopleManager/GetPropertiesFor(accountName=@v)?@v=%27i:0%23.f|membership|" + email + "%27"
getItems(url, function (userData) {
var userProperies = $.grep(userData.d.UserProfileProperties.results, function (item, index) {
return item.Key == "Department";
})
GetUserID(userData.d.AccountName, pplCtrl)
});

}


/***It will Create the user in Site user information list and give you the User ID***/
function GetUserID(logonName, pplCtrl) {
var userId = "";
var item = {
'logonName': logonName
};
$.ajax({
url: _spPageContextInfo.siteAbsoluteUrl + "/_api/web/ensureuser",
type: "POST",
async: false,
contentType: "application/json;odata=verbose",
data: JSON.stringify(item),
headers: {
"Accept": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val()
},
success: function (data) {
$("#" + pplCtrl).attr("UserID", data.d.Id);
},
error: function (data) {
console.log(data);
}
});
return userId;
}



/**Pass the people picker control div ID It will give you the Email of people picker picked user**/
function GetEmail(ctrlPPLID) {
if ($("#" + ctrlPPLID + "_TopSpan_HiddenInput").val().length > 2) {
return jQuery.parseJSON($("#" + ctrlPPLID + "_TopSpan_HiddenInput").val().slice(1, $("#" + ctrlPPLID + "_TopSpan_HiddenInput").val().length - 1))["EntityData"]["Email"]
}
else {
return "";
}
}

Comments

Popular posts from this blog

My Interview Experience

React Checkbox Control SPFx