Error message is not populating for itil user and when the grp is inactive
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-12-2024 01:26 AM
Error message is not populating for itil user and when the grp is inactive
and it is working for active grp but not for inactive grp.
on catalog item having field "name" when itil user adding name and it is existing then it should restrict.
this is working for active group but don't have such functionality added in my script.
how to active this?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-12-2024 02:14 AM - edited 02-12-2024 02:22 AM
Hi @shweta14, the glide record (server script) and query looks good to me and there is no check to filter the Inactive groups. The script checks if the group exists or not.
I have updated the script include and client script. Can you give a try once?
Script Include:
getGroupDuplicate: function() {
var grpName = this.getParameter('sysparm_gname');
var values = {};
values['answer'] = false;
values['number'] = '';
values['reqLink'] = '';
var grpCheck = new GlideRecord('sys_user_group');
grpCheck.addQuery("name", grpName);
grpCheck.query();
if (grpCheck.next()) {
//Group available
var url = 'https://' + gs.getProperty('instance_name') + '.service-now.com/';
var link = url + 'helpzone?id=sc_cat_item&sys_id=-234--sys_id&sysparm_variables={"Request_Type":"Create","ITSM_Data_Type":"Group"}';
values['answer'] = true;
values['link'] = link;
} else {
var gr_req_item = new GlideRecord('sc_req_item');
gr_req_item.addEncodedQuery('cat_item=456___syid__^state=1700^variables.87----sys_id=' + grpName);
gr_req_item.query();
if (gr_req_item.next()) {
var sysID = gr_req_item.sys_id;
var url1 = 'https://' + gs.getProperty('instance_name') + '.service-now.com/';
var link1 = url1 + 'sc_req_item.do?sys_id=' + sysID;
values['answer'] = true;
values['number'] = gr_req_item.number.toString();
values['reqLink'] = link1;
}
}
return JSON.stringify(values);
},
Client script:
var ga = new GlideAjax('userGroupVerification');
ga.addParam('sysparm_name', 'getGroupDuplicate');
ga.addParam('sysparm_gname', newValue);
ga.getXML(notifyUser);
}
function notifyUser(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
var returnedData = JSON.parse(answer);
var groupName = g_form.getValue('gname');
if (returnedData.answer == true) {
if (returnedData.number != '') {
var msg = getMessage('request.exists');
g_form.addErrorMessage(msg + groupName + ', Existing Request <a href=' + returnedData.reqLink + ' target="_blank">' + returnedData.number + '</a>');
g_form.clearValue('gname');
} else {
var msg1 = getMessage('group.exists');
g_form.addErrorMessage(msg1 + '<a href=' + returnedData.link + ' target="_blank">' + 'Contact Team' + '</ a>');
g_form.clearValue('gname');
}
}
Regards,
Sunil
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-12-2024 02:32 AM - edited 02-12-2024 02:37 AM
Thank you for your reply
tried this code but not working.
admin user the functionality working fine but for itil it is not