Home page with calendar using suitelet

Jira Code: ISO-22 Home Page UI and integration

Home page is designed with a calendar that displays events. Also, a search functionality to search based on a custom record is included in the home page. The home page is designed using HTML. The events to be displayed in the calendar are fetched from NetSuite using the suitelet script.

/**
 * @NApiVersion 2.x
 * @NScriptType Suitelet
 * @NModuleScope SameAccount
 */
/**
 * Script Description
 * This script is to show home page.
 */

/*******************************************************************************
 * * Partner inlog *
 * **************************************************************************
 * Date: 20/10/2017
 * 
 * Author: Jobin & Jismi IT Services LLP
 * 
 * REVISION HISTORY
 * 
 * 
 ******************************************************************************/
define([ 'N/search', 'N/record'], function(search, record) {
   
    /**
     * Definition of the Suitelet script trigger point.
     *
     * @param {Object} context
     * @param {ServerRequest} context.request - Encapsulation of the incoming request
     * @param {ServerResponse} context.response - Encapsulation of the Suitelet response
     * @Since 2015.2
     */
    function onRequest(context) {
    	try{
    	var callBackFuncStr = context.request.parameters.callback;
    	var partnerid=context.request.parameters.partnerid;
    	//create search to get details from viewing/installation record
    	    	var mycustomSearch = search.create({
			type : 'customrecord_eff_viewinginstallation',

			columns : [ {
				name : 'custrecord_jj_partners'
			},
			{
				name : 'custrecord_eff_installdateplanned'
			},
			{
				name : 'custrecord_eff_viewingdateplanned'
			},
			{
				name : 'custrecord_eff_customername'
			},
			{
				name : 'custrecord_eff_customerviewinginstall'
			},
			{
				name : 'custrecord_eff_customerlastname'
			},
			{
				name : 'custrecord_eff_expectedstarttimeviewing'
			},
			{
				name : 'custrecord_eff_installstarttime'
			},
			{
				name : 'custrecord_jj_partner_inlog_customform'
			}]
		});
    	//filter data on basis of partner name and release to partner checkbox
		var newfilters = mycustomSearch.filters;
		var filterss1 = {};
		filterss1.name = 'custrecord_jj_release_to_partner';
		filterss1.operator = 'is';
		filterss1.values = 'T';
		newfilters.push(search.createFilter(filterss1));
		var filterss = {};
		filterss.name = 'custrecord_jj_partners';
		filterss.operator = 'ANYOF';
		filterss.values = partnerid;
		newfilters.push(search.createFilter(filterss));
			mycustomSearch.filters = newfilters;

		var result = mycustomSearch.run().getRange({
			start : 0,
			end : 1000
		});
		var resultlength = result.length;
		var installdatearray = new Array;
		var viewdatearray = new Array;
		var customerarray = new Array;
		var customeidarray = new Array;
		var viewtimearray = new Array;
		var installtimearray = new Array;
		var formarray= new Array;
		var recordidarray=new Array;
		if (result.length > 0) {
		for (var i = 0; i < result.length; i++) {
			//push data to arrays
			var singleResult = result[i];
			var installdate = singleResult.getValue({
				name : 'custrecord_eff_installdateplanned'
			});
			installdatearray.push(installdate);
			var viewdate=singleResult.getValue({
				name : 'custrecord_eff_viewingdateplanned'
		    });
			viewdatearray.push(viewdate);
			var firstname = singleResult.getValue({
				name : 'custrecord_eff_customername'
			});
			var lastname = singleResult.getValue({
				name : 'custrecord_eff_customerlastname'
			});
			var customername=firstname+' '+lastname;
            customername=escape(customername);
			customerarray.push(customername);
			var customerid = singleResult.getValue({
				name : 'custrecord_eff_customerviewinginstall'
			});
			customeidarray.push(customerid);
			var viewtime = singleResult.getValue({
				name : 'custrecord_eff_expectedstarttimeviewing'
			});
			viewtimearray.push(viewtime);
			var installtime = singleResult.getValue({
				name : 'custrecord_eff_installstarttime'
			});
			installtimearray.push(installtime);
			var form=singleResult.getValue({
				name : 'custrecord_jj_partner_inlog_customform'
			});
			formarray.push(form);
			var recordid=singleResult.id;
			recordidarray.push(recordid);
			
		}
		log.debug({
			title : "recordidarray",
			details : recordidarray
		});
		result = "success";

		var resultstring = [ installdatearray,viewdatearray, result,customerarray,resultlength,customeidarray,viewtimearray,installtimearray,formarray,recordidarray];
		
		 

		var strJson = callBackFuncStr+'(\''+JSON.stringify(resultstring)+'\');';
		  context.response.write(strJson);
        log.debug({
			title : "result",
			details : strJson
		});
	   }
		else {
			result = "failure";
			var strJson = callBackFuncStr+'(\''+JSON.stringify(result)+'\');';
			   
		     context.response.write(strJson);		}
     
    	}
    	catch(err)
    	{
    		log.debug({
    			title : 'error',
    			details : err
    		});
    	}
    }

    return {
        onRequest: onRequest
    };
    
});

Leave a comment

Your email address will not be published. Required fields are marked *