Skip to content

Instantly share code, notes, and snippets.

@mutuadavid93
Created May 9, 2018 07:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mutuadavid93/0b1433718094a86cbaa8c90a4b568b13 to your computer and use it in GitHub Desktop.
Save mutuadavid93/0b1433718094a86cbaa8c90a4b568b13 to your computer and use it in GitHub Desktop.
// BEGIN PERSON OR GROUP QUERY
// Queery Person or Group Properties
function getItemDetails(webUrl,listTitle,itemId,selectFields, expandFields){
var endpointUrl = webUrl + "/_api/web/lists/getbytitle('" + listTitle + "')/items(" + itemId + ")";
endpointUrl+= '?$select=' + selectFields.join(",");
endpointUrl+= '&$expand=' + expandFields.join(",");
return executeRequest(endpointUrl,'GET');
}
function executeRequest(url,method,headers,payload)
{
if (typeof headers == 'undefined'){
headers = {};
}
headers["Accept"] = "application/json;odata=verbose";
if(method == "POST") {
headers["X-RequestDigest"] = $("#__REQUESTDIGEST").val();
}
var ajaxOptions =
{
url: url,
type: method,
contentType: "application/json;odata=verbose",
headers: headers
};
if(method == "POST") {
ajaxOptions.data = JSON.stringify(payload);
}
return $.ajax(ajaxOptions);
}
var webUrl = _spPageContextInfo.webAbsoluteUrl;
var selectFields = [
"Project_x0020_Manager/Title","Implementing_x0020_Partner/Title",
"Project_x0020_Owner/Title", "StartDate", "EndDate", "Created",
"Project_x0020_Sponsor","Project_x0020_Name"
];
var expandFields = [
'Project_x0020_Manager','Implementing_x0020_Partner',
'Project_x0020_Owner'
];
function cleandates(dates) {
return String.format("{0:d}",new Date(dates));
};
getItemDetails(webUrl,'ProjectDetailsList', 1,selectFields,expandFields)
.done(function(data){
// Populat the UI ASAP
$('#project_name').html(data.d.Project_x0020_Name);
$('#project_start_date').html(cleandates(data.d.StartDate));
$('#project_enddate').html(cleandates(data.d.EndDate));
$('#project_mger').html(data.d.Implementing_x0020_Partner.Title);
$('#implement_mger').html(data.d.Implementing_x0020_Partner.Title);
$('#project_sponsor').html(data.d.Project_x0020_Sponsor);
$('#project_owner').html(data.d.Project_x0020_Owner.Title);
console.log("Project Owner ID: "+data.d.Project_x0020_Owner);
})
.fail(function(jqXHR, textStatus, errorThrown) {
var resp = JSON.parse(jqXHR.responseText);
var message = resp ? resp.error.message.value : textStatus;
alert("Error: "+ message);
});
// END PERSON OR GROUP QUERY
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment