Name

sn_major_inc_mgmt.MIMListActionsUtil

Description

Script Include is used for Link to Major Incident UI Action.

Script

var MIMListActionsUtil = Class.create();
MIMListActionsUtil.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {

  addManyRelatedAjax: function() {
  	var taskSysId = this.getParameter('sysparm_task_sys_id');
  	var incidents = this.getParameter('sysparm_selected_incidents');
  	return this.addManyRelated(taskSysId, incidents.split(","));
  },

  addManyRelated: function(taskSysId, incidentSysIds) {
  	this.incidentState = global.IncidentState;
  	if(!gs.hasRole('itil'))
  		return;
  	var taskGr = new GlideRecord('incident');
  	if (!taskGr.get(taskSysId))
  		return;
  	var incidentGr = new GlideRecord('incident');
  	incidentGr.addQuery('sys_id', 'IN', incidentSysIds);
  	incidentGr.query();
  	while (incidentGr.next()) {
  		if (new sn_major_inc_mgmt.MajorIncidentTriggerRules(incidentGr).canLinkToMajorincident()) {
  			incidentGr.setValue('parent_incident', taskGr.getUniqueValue());
  			incidentGr.update();
  		}
  	}
  	var result = this.newItem("result");
  	result.setAttribute("incidentId", taskSysId);
  	result.setAttribute("displayValue", taskGr.getDisplayValue());
  	return result;
  },

  rejectMIC: function() {
  	if(!gs.hasRole('itil'))
  		return;
  	var map = [];
  	var count = 0;
  	var rejectionReason = this.getParameter('sysparm_notes_value');
  	rejectionReason = gs.getMessage("Major incident candidate rejected") + "\n" + rejectionReason;
  	var selectedIncidents = this.getParameter('sysparm_sysids');
  	var incidentGr = new GlideRecord('incident');
  	incidentGr.addQuery('sys_id', 'IN', selectedIncidents);
  	incidentGr.query();
  	while (incidentGr.next()) {
  		var triggerRuleObj = new sn_major_inc_mgmt.MajorIncidentTriggerRules(incidentGr);
  		if (triggerRuleObj.isMIC()) {
  			incidentGr.setValue('major_incident_state', triggerRuleObj.MAJOR_INCIDENT_STATE.REJECTED);
  			incidentGr.work_notes = rejectionReason;
  			incidentGr.update();
  			map.push({key: incidentGr.getDisplayValue(), value: incidentGr.getUniqueValue()});
  			count++;
  		}
  	}
  	var result =  this.newItem("result");
  	result.setAttribute("rejectedIncidents", JSON.stringify(map));
  	result.setAttribute("rejectedCount", count);
  	return result;
  },

  type: 'MIMListActionsUtil'
});

Sys ID

e2d75876537203006725ddeeff7b1260

Offical Documentation

Official Docs: