purplemanchris
1/4/2019 - 11:45 AM

Create IT Incident TEST STUFF

/* UI ACTION SIDE */
function CreateINC(){
	//Check incident exists.
	var gAjx = new GlideAjax("HRCaseManagementFJEMEAAjax");
	gAjx.addParam("sysparm_name", "CheckIncidentExists");
	gAjx.addParam("sysparm_askHRNumber",g_form.getValue("number"));
	gAjx.getXML(ajaxResponse);
}

function ajaxResponse(response){
	var result = response.responseXML.getElementsByTagName("result");
	var incidentExists = result[0].getAttribute("message");

	//Info message  displayed on server side if incident already exits.
	if(incidentExists == "false"){
		
		/* Add the attachments to JSON object */
		var grAttach = new GlideRecord("sys_attachment");
// 		grAttach.addQuery("table_name", "hr_case");
// 		grAttach.addQuery('table_sys_id', g_form.getUniqueValue());   
// 		grAttach.query();
// 		var attachments = [];
// 		while (grAttach.next()) {
// 			var attachDetails = {};
// 			attachDetails.fileName = grAttach.file_name;
// 			attachDetails.sysID = grAttach.sys_id;
// 			attachments.push(attachDetails);
// 		}
		//g_form.addInfoMessage(JSON.stringify(attachments));
				
		//Initialize and open the Dialog Window
		var dialog = new GlideDialogWindow("incident_details_dialog"); //Render the dialog containing the UI Page 'incident_details_dialog'
		dialog.setTitle("Please describe the nature of the IT Incident"); //Set the dialog title
		dialog.setSize(750,300);
		dialog.adjustBodySize();
		dialog.setPreference("sysid",g_form.getUniqueValue());
//		dialog.setPreference("attachments", JSON.stringify(attachments)); 
		dialog.render();//Open the dialog
	}
	
}


// function CreateINC(){
// 	//Check incident exists.
// 	var gAjx = new GlideAjax("HRCaseManagementFJEMEAAjax");
// 	gAjx.addParam("sysparm_name", "CheckIncidentExists2");
// 	gAjx.addParam("sysparm_askHRNumber",g_form.getValue("number"));
// 	gAjx.getXMLAnswer(ajaxResponse);

// }

// function ajaxResponse(response){
// 	var myObj = JSON.parse(response);
// 	var incidentExists = myObj[0].message;
	
// 	//Info message  displayed on server side if incident already exits.
// 	if(incidentExists == "false"){
		
// 		/* Add the attachments to JSON object */
// 		var grAttach = new GlideRecord("sys_attachment");
				
// 		//Initialize and open the Dialog Window
// 		var dialog = new GlideDialogWindow("incident_details_dialog"); //Render the dialog containing the UI Page 'incident_details_dialog'
// 		dialog.setTitle("Please describe the nature of the IT Incident"); //Set the dialog title
// 		dialog.setSize(750,300);
// 		dialog.adjustBodySize();
// 		dialog.setPreference("sysid",g_form.getUniqueValue());
// //		dialog.setPreference("attachments", JSON.stringify(attachments)); 
// 		dialog.render();//Open the dialog
// 	}
	
// }

/* SCRIPT INCLUDE SIDE */
	CheckIncidentExists: function(){

			var _askHRNumber = this.getParameter('sysparm_askHRNumber');
			var result = this.newItem("result");
		
//  		gs.info("test 1: " + _askHRNumber);		
// 			result.setAttribute("message","true");

			var grHRC = new GlideRecord("hr_case");

			grHRC.addQuery("number",_askHRNumber);
			grHRC.query();
			
			if (grHRC.getRowCount() == 1){
				while(grHRC.next()){
					//Check if incident already exists
					var grIncidentExists = new GlideRecord("incident");
					grIncidentExists.addQuery("parent", grHRC.sys_id);
					grIncidentExists.query();
					if (grIncidentExists.getRowCount() == 1){
						while(grIncidentExists.next()){
							var url = 'incident.do?sys_id=' + grIncidentExists.sys_id;
							result.setAttribute("message","true");
							result.setAttribute("incidentID", grIncidentExists.number);
							result.setAttribute("url", url);
							var message = "Incident " + grIncidentExists.number;
							gs.addErrorMessage("<a href='" + url + "'>" + message + "</a>" + " already exists for this HR Case");
							gs.info("CJT123 test 2 - true match found for" + grHRC.number + " Incident:" + grIncident.number);
						}
					}else{
						result.setAttribute("message","false");
						gs.info("CJT123 test 2 - false no match found." + result[0].getAttribute("message"));
					}
				}
			}
			else{
				result.setAttribute("message","false");
			}
		},
	
	
		CheckIncidentExits2: function(){
		var _finalMessage = '';
		var _askHRNumber = this.getParameter('sysparm_askHRNumber');
		
		var resultArray = [];
		var resultDetails ={};
		
		var result = this.newItem("result");
		
		var grHRC = new GlideRecord("hr_case");

		grHRC.addQuery("number",_askHRNumber);
		grHRC.query();
			
		if (grHRC.getRowCount() == 1){
			while(grHRC.next()){
				//Check if incident already exists
				var grIncidentExists = new GlideRecord("incident");
				grIncidentExists.addQuery("parent", grHRC.sys_id);
				grIncidentExists.query();
				if (grIncidentExists.getRowCount() == 1){
					while(grIncidentExists.next()){
						var url = 'incident.do?sys_id=' + grIncidentExists.sys_id;
						
						resultDetails.message = "true";
						resultDetails.incidentID = grIncidentExists.number;
						resultDetails.url = url; 		
						var message = "Incident " + grIncidentExists.number;
						gs.addErrorMessage("<a href='" + url + "'>" + message + "</a>" + " already exists for this HR Case");
						gs.info("CJT123 test 2 - true match found for" + grHRC.number + " Incident:" + grIncident.number);
						
						resultArray.push(resultDetails);
					}
				}else{
					resultDetails.message = "false";
					resultArray.push(resultDetails);

					gs.info("CJT123 test 2 - false no match found.");
				}
			}
		}
		else{
			resultDetails.message = "false";
			resultArray.push(resultDetails);
		}
		
	},