Name

global.AssociateChildToParentCase

Description

No description available

Script

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

  getURL: function(){
  	var parentId = this.getParameter("sysparm_id");
  	var addToTable = this.getParameter("sysparm_add_to");
  	var uiPage = this.getParameter("sysparm_page");
  	return this._getURL(uiPage,parentId, addToTable);
  },

  _getURL: function(uiPage,parentId, addToTable){
  	this.removeUserFilter();
  	var pMgr = new GlidePluginManager();
  	var query = "parentISEMPTY^sys_id!="+parentId+"^stateNOT IN6,3,7";
  	
  	if (pMgr.isActive(CSMBaseConstants.MAJOR_ISSUE_MANAGEMENT_PLUGIN))
  		query += "^major_case_state=^ORmajor_case_state=proposed^ORmajor_case_state=rejected^ORmajor_case_state=cancelled";
  	
  	var url = new GlideURL(uiPage);
  	url.set("sysparm_crSysId", parentId);
  	url.set("sysparm_view", "add_child_to_case");
  	url.set("sysparm_add_to", addToTable);
  	url.set("sysparm_stack", "no");
  	url.set("sysparm_table", CSMBaseConstants.CASE_TABLE);
  	url.set("sysparm_parent_class", CSMBaseConstants.CASE_TABLE);
  	url.set("sysparm_query",query);
  	return url;
  },
  addSelected:function(){
  	var non_updated_count = 0;
  	var msg;
  	var parentId = this.getParameter("sysparm_id");
  	var selSysId = this.getParameter("sysparm_selCases");
  	 
  	var gr = new GlideRecord(CSMBaseConstants.CASE_TABLE);
  	gr.addQuery('sys_id','IN',selSysId);
  	gr.query();
  	while(gr.next()){
  		var updateResult;
  		gr.setValue('parent',  parentId);
  		if(gr.canWrite()){
  		   updateResult = gr.update();
  		}
  		
  		if(!updateResult)
  			non_updated_count++;
  	}
  	var total = gr.getRowCount();
  	if(non_updated_count == total)
  		msg = gs.getMessage('No');
  	else if(non_updated_count == 0)
  		msg = gs.getMessage('All ({0})',total);
  	else {
  		var msgParams = [];
  		msgParams.push(total - non_updated_count);
  		msgParams.push(total);
  		msg = gs.getMessage('{0} of {1}',msgParams);
  	}
  	return msg;
  },

  type: 'AssociateChildToParentCase'
});

Sys ID

8a47ddb13b63130037556b4ee3efc485

Offical Documentation

Official Docs: