I have a SharePoint-Field of type string
, that contains a value such as:
domain\usertoken
From the string I would like to retrieve the person - and from the person I would like to retrieve some user data, such as firstname and lastname.
Is there any way to ensure the user beyond the string in JSLink-context and then retrieve some user data?
My latest (failed) attempt looks like this (the relevant part is in function CustomFieldAktuellerGenehmiger(ctx)
):
(function () {
var globalOverrideCtx = {
Templates: {
OnPreRender:function(renderCtx){
var visibleFields = ['Status','Aktueller_Genehmiger'];
var fieldsCount = renderCtx.ListSchema.Field.length;
for (var fieldIndex = fieldsCount - 1; fieldIndex >= 0; fieldIndex--) {
var field = renderCtx.ListSchema.Field[fieldIndex];
if(visibleFields.indexOf(field.Name)==-1){
renderCtx.ListSchema.Field.splice(fieldIndex, 1);
}
}
},
Fields: {
'Aktueller_Genehmiger':{
'View': CustomFieldAktuellerGenehmiger
},
}
}
};
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(globalOverrideCtx);
})();
function CustomFieldAktuellerGenehmiger(ctx){
var return3;
var user = ctx.CurrentItem.Aktueller_Genehmiger;
var context = SP.ClientContext.get_current();
var web = context.get_web();
// This currently returns: TypeError: Cannot read property 'get_current' of undefinedTypeError: Cannot read property 'get_current' of undefinedTypeError: Cannot read property 'get_current' of undefined
var user = context.web.EnsureUser("cznet\zoshaeh");
return3 = testuser;
return return3;
}
This currently returns:
TypeError: Cannot read property 'get_current' of undefined
I don't know how to get the relevant context in JSLink.
Update: I have also tried:
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', function(){
var context = SP.ClientContext.get_current();
var web = context.get_web();
var user = context.web.EnsureUser("domain\usertoken");
console.log(user);
})
This returns:
Uncaught TypeError: Cannot read property 'EnsureUser' of undefined