Name
sn_grc.IssueGroupingAjax
Description
General AJAX utilities for GRC issue grouping
Script
var IssueGroupingAjax = Class.create();
IssueGroupingAjax.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
addIssueToGroup: function() {
var parentId = this.getParameter('sysparm_parent_issue');
var ids = this.getParameter('sysparm_sys_ids').split(',');
var groupingType = this.getParameter('sysparm_grouping_type');
var content = this.getParameter('sysparm_content');
var configurationItem = this.getParameter('sysparm_configuration_item');
var location = this.getParameter('sysparm_location');
var profile = this.getParameter('sysparm_profile');
var deleteGroup = this.getParameter('sysparm_delete_group');
var parentIssue = new GlideRecord('sn_grc_issue');
parentIssue.get(parentId);
parentIssue.content = content;
parentIssue.cmdb_ci = configurationItem;
parentIssue.location = location;
parentIssue.profile = profile;
parentIssue.is_group = true;
parentIssue.is_reparenting_group = true;
parentIssue.update();
return this.groupIssues(parentId, ids, groupingType, content, configurationItem,
location, profile, deleteGroup);
},
createGroup: function() {
var ids = this.getParameter('sysparm_sys_ids').split(',');
var groupingType = this.getParameter('sysparm_grouping_type');
var shortDescription = this.getParameter('sysparm_short_description');
var description = this.getParameter('sysparm_description');
var assignedTo = this.getParameter('sysparm_assigned_to');
var content = this.getParameter('sysparm_content');
var configurationItem = this.getParameter('sysparm_configuration_item');
var location = this.getParameter('sysparm_location');
var profile = this.getParameter('sysparm_profile');
var deleteGroup = this.getParameter('sysparm_delete_group');
var parentIssue = new GlideRecord('sn_grc_issue');
parentIssue.short_description = shortDescription;
parentIssue.description = description;
parentIssue.assigned_to = assignedTo + '';
parentIssue.content = content;
parentIssue.cmdb_ci = configurationItem;
parentIssue.location = location;
parentIssue.profile = profile;
parentIssue.is_group = true;
parentIssue.is_reparenting_group = true;
if(!parentIssue.insert())
return false;
return this.groupIssues(parentIssue.getUniqueValue(), ids, groupingType, content, configurationItem,
location, profile, deleteGroup);
},
groupIssues: function(parentIssueId, ids, groupingType, content, configurationItem,
location, profile, deleteGroup) {
var event = {};
event = { parentIssueId: parentIssueId,
ids: ids,
groupingType: groupingType,
content: content,
configurationItem: configurationItem,
location: location,
profile: profile,
deleteGroup: deleteGroup};
gs.eventQueue("sn_grc.issue_grouping", null, new global.JSON().encode(event), "");
return parentIssueId;
},
type: 'IssueGroupingAjax'
});
Sys ID
f6e17a1ae7100300dd926217c2f6a96c