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