Hello,
The last alert I get is 'In _retrieveFirstOrDefault - service = ...', so this would mean that service is null.
I never get message 'Planningstatus enable' or 'Planningstatus disable'
The last message I get is an error 'There was an error with field's customized event. Window. load. A network error occurred'
Form_onload: function (XrmContext) {
//Xrm.Utility.alertDialog("Start onload");
if (ProdwareToolKit.COMMON.UserHasRole("System Administrator")
|| ProdwareToolKit.COMMON.UserHasRole("Project manager")
|| ProdwareToolKit.COMMON.UserHasRole("Operations manager")
|| ProdwareToolKit.COMMON.UserHasRole("Product manager")) {
Xrm.Utility.alertDialog("Planningstatus enable");
ProdwareToolKit.FORMSCRIPTING.EnableControl("tr_planningstatus", true);
} else {
Xrm.Utility.alertDialog("Planningstatus disable");
ProdwareToolKit.FORMSCRIPTING.DisableControl("tr_planningstatus", true);
}
var _userHasRole = function (RoleName) {
var currentUserRoles = Xrm.Page.context.getUserRoles();
Xrm.Utility.alertDialog("In _userHasRole: currentUserRoles = " + currentUserRoles);
for (var i = 0; i < currentUserRoles.length; i++) {
var userRole = currentUserRoles[i];
Xrm.Utility.alertDialog("userRole = " + userRole);
var retrievedRoles = ProdwareToolKit.ODATA.RetrieveFirstOrDefault("/RoleSet?$filter=RoleId eq guid'" + userRole + "'");
Xrm.Utility.alertDialog("retrievedRoles = " + retrievedRoles);
if (retrievedRoles != null) {
if (retrievedRoles.Name.toUpperCase() == RoleName.toUpperCase())
return true;
}
}
return false;
};
var _retrieveFirstOrDefault = function (Query) {
if (Query == null)
return null;
_loadJSONAndJQueryLibrary();
var oDataEndpointUrl = _getOdataServerUrl() + Query;
var service = _getRequestObject();
Xrm.Utility.alertDialog("In _retrieveFirstOrDefault - service = " + service);
if (service != null) {
service.open("GET", oDataEndpointUrl, false);
service.setRequestHeader("Accept", "application/json");
service.setRequestHeader("Content-Type", "application/json; charset=utf-8");
service.send(null);
Xrm.Utility.alertDialog("service.status = " + service.status);
if (service.status != 200) {
_errorHandler(service);
return null;
}
var retrievedData = JSON.parse(service.responseText, dateReviver).d;
Xrm.Utility.alertDialog("retrievedData = " + retrievedData);
if (retrievedData != null && retrievedData.results.length != 0) {
return retrievedData.results[0];
}
else {
return null;
}
}
return null;
};