- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-20-2022 02:47 AM
Hello,
I have a client script and script include returning a user's primary group,reference field to sys_user_grmember, and populate it to the assignment group. However, my script is returning [object, object] and this result in not being able to populate assignment group and assigned to the field.
Can you help me to find out what's wrong here?
Script include
var GetUserPrimaryGroup = Class.create();
GetUserPrimaryGroup.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getEmployeeDetails: function() {
var userName = this.getParameter('sysparm_assigned_to');
var user = new GlideRecord('sys_user');
var result = {
primaryGroup: "",
};
if (user.get(userName)) {
result.primaryGroup = user.u_primary_group.toString();
gs.info(result);
}
return JSON.stringify(result);
},
type: 'GetUserPrimaryGroup'
});
Client script
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
var assigned_user = g_form.getValue('assigned_to');
var ga = new GlideAjax('GetUserPrimaryGroup');
ga.addParam('sysparm_name', 'getEmployeeDetails');
ga.addParam('sysparm_assigned_to', assigned_user);
ga.getXML(EmployeeDetailsLookup);
}
function EmployeeDetailsLookup(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
var result = JSON.parse(answer);
g_form.setValue('assignment_group',result.primaryGroup);
}
Solved! Go to Solution.
- Labels:
-
Scripting and Coding
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-20-2022 03:09 AM
Try the below
var GetUserPrimaryGroup = Class.create();
GetUserPrimaryGroup.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getEmployeeDetails: function() {
var group='';
var userName = this.getParameter('sysparm_assigned_to');
var user = new GlideRecord('sys_user');
if (user.get(userName)) {
group = user.getValue('u_primary_group');
}
return group;
},
type: 'GetUserPrimaryGroup'
});
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
var assigned_user = g_form.getValue('assigned_to');
var ga = new GlideAjax('GetUserPrimaryGroup');
ga.addParam('sysparm_name', 'getEmployeeDetails');
ga.addParam('sysparm_assigned_to', assigned_user);
ga.getXML(EmployeeDetailsLookup);
}
function EmployeeDetailsLookup(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
g_form.setValue('assignment_group',answer);
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-20-2022 03:09 AM
Try the below
var GetUserPrimaryGroup = Class.create();
GetUserPrimaryGroup.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getEmployeeDetails: function() {
var group='';
var userName = this.getParameter('sysparm_assigned_to');
var user = new GlideRecord('sys_user');
if (user.get(userName)) {
group = user.getValue('u_primary_group');
}
return group;
},
type: 'GetUserPrimaryGroup'
});
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
var assigned_user = g_form.getValue('assigned_to');
var ga = new GlideAjax('GetUserPrimaryGroup');
ga.addParam('sysparm_name', 'getEmployeeDetails');
ga.addParam('sysparm_assigned_to', assigned_user);
ga.getXML(EmployeeDetailsLookup);
}
function EmployeeDetailsLookup(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
g_form.setValue('assignment_group',answer);
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-20-2022 03:36 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-20-2022 03:43 AM
I did not get your point
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-20-2022 03:48 AM
When I populate assigned to field, then the client script should automatically populate assignment group based on the users primary group. However, this is not working.