Autopopulate categoryowner depends upon category and subcategory
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-16-2024 09:43 AM - edited 12-19-2024 04:04 AM
8 REPLIES 8
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-17-2024 02:00 AM
Try with below script i have updated
Script Include -
var datadependencyutils = Class.create();
datadependencyutils.prototype = {
initialize: function() {},
getCategoryOwnersApprovaldependsuponCategory: function() {
//var array1 = '';
var category = this.getParameter('sysparm_u_category');
var subcategory = this.getParameter('sysparm_u_sub_category');
if (u_category == 'Other' || u_category == 'Content Management' || u_category == 'Tech Solution Delivery (Software Engineering Tools)' || u_category == 'Knowledge Management' || u_category == 'Taxonomy Management (Data)' || u_category == 'Artificial Intelligence' || u_category == 'Business Analytics' || u_category == 'Business Intelligence' || u_category == 'Claim Management' || u_category == 'Quality Management') {
var gr4 = new GlideRecord('u_datadependency');
gr4.addEncodedQuery('u_dependent_value=' + u_category + '^u_element=Category Owner Approval^active=true');
gr4.query();
if (gr4.next()) {
var userapproval2 = gr4.u_user_approval;
if (userapproval2.indexOf(',') >= 0) {
userapproval2 = userapproval2.substring(0, userapproval2.indexOf(','));
}
return userapproval2;
}
} else {
if (u_sub_category == '') //subcatg == ''
return '';
var gr3 = new GlideRecord('u_datadependency');
gr3.addEncodedQuery('u_dependent_value=' + u_category + '^u_dependent_value_2=' + u_sub_category + '^u_element=Category Owner Approval^active=true');
gr3.query();
if (gr3.next()) {
var userapproval = gr3.u_user_approval;
if (userapproval.indexOf(',') >= 0) {
//gs.log("approver"+userapproval);
userapproval = userapproval.substring(0, userapproval.indexOf(','));
}
return userapproval;
}
}
},
type: 'datadependencyutils'
};
Onchange Clientscript -
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var category = g_form.getValue('u_category');
var subCategory = g_form.getValue('u_sub_category');
if (category) {
var ga = new GlideAjax('datadependencyutils');
ga.addParam('sysparm_name', 'getCategoryOwnersApprovaldependsuponCategory');
ga.addParam('sysparm_u_category', category);
ga.addParam('sysparm_u_sub_category', subCategory);
ga.getXML(function(response) {
var approvalUser = response.responseXML.documentElement.getAttribute("answer");
if (approvalUser) {
g_form.setValue('u_category_owner', approvalUser);
} else {
g_form.clearValue('u_category_owner');
}
});
}
}
If my response helped, please mark it as the accepted solution ✅ and give a thumbs up👍.
Thanks,
Anand
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-17-2024 05:01 AM
i tried this script but it is not working
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-17-2024 05:21 AM
i put a alert below the function.
alert('Data sent to si'+response); - this one
but when i checked it in portal view in response it showing this 'Data sent to si[object Object]
'
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-17-2024 11:01 AM
var AutopopulateCategoryOwner = Class.create();
AutopopulateCategoryOwner.prototype = {
initialize: function() {},
getCategoryOwnersApprovaldependsuponCategory: function() {
//var array1 = '';
var category = this.getParameter('sysparm_u_category');
var subcategory = this.getParameter('sysparm_u_sub_category');
var array1 = {};
if (category == 'Other' || category == 'Content Management' || category == 'Tech Solution Delivery (Software Engineering Tools)' || category == 'Knowledge Management' || category == 'Taxonomy Management (Data)' || category == 'Artificial Intelligence' || category == 'Business Analytics' || category == 'Business Intelligence' || category == 'Claim Management' || category == 'Quality Management') {
var gr4 = new GlideRecord('u_datadependency');
gr4.addQuery('u_dependent_value', category);
gr4.addQuery('u_element', 'Category Owner Approval');
gr4.addActiveQuery();
gr4.query();
if (gr4.next()) {
array1.app = gr4.u_user_approval;
}
return JSON.stringify(array1);
}
},
type: 'AutopopulateCategoryOwner'
};