Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Script Include always evaluates true

Heather Mac
Tera Contributor

Hi all! 

I created this script include to see if today falls between a new hire's start date and 5 days after their start date. This script works perfectly in xplore but when called in a client script, it always returns true. 

 

Script Include: 

checkHireDate: function(){
	gs.log('Starting checkHireDate', 'checkHireDate')
	var userId = this.getParameter('user');
	var user = new GlideRecord('sys_user');
		user.get(userId);

	var gdt = new GlideDateTime(user.u_hire_date);

	var gdt1 = new GlideDateTime(gdt);
		gdt1.add(432000000);
	
	var dayFive = gdt1.getNumericValue(); 

	var gdt2 = new GlideDateTime();
	var today = gdt2.getNumericValue();

	var diff = dayFive - today;

	gs.log('Diff is ' + diff);

		if (diff > 0) {
			return true;
		} else {
			return false;
		}

	},

This is my client script: 

checkHireDate = function(){
	var user = g_form.getValue('opened_by');
	g_form.addInfoMessage(user.userId);

    var checkProhibited = new GlideAjax('scriptIncludeName');
    checkProhibited.addParam('sysparm_name', 'checkHireDate');
    checkProhibited.addParam('sysparm_user', user);
    checkProhibited.getXML(validateResponse);

    function validateResponse(response) {
		
        var answer = response.responseXML.documentElement.getAttribute("answer");
		g_form.addInfoMessage('Answer is ' + answer);
		
        if (answer == 'true'){

			g_form.setValue('isnewhire', 'true');
		}
	}
};

Any help will be greatly appreciated! Thanks so much in advance!

0 REPLIES 0