Name

sn_customerservice.CaseTZHelper

Description

No description available

Script

var CaseTZHelper = Class.create();

CaseTZHelper.prototype = {	
  initialize: function() {
  	
  },
  
  contactLocalTime: function(current){
  	var timezone;
  	var dateTime = new GlideScheduleDateTime();

  	if(!current.contact){
  		return;
  	}
  	if(current.contact && current.contact.time_zone){
  		timezone = current.contact.time_zone.toString();
  	} 
  	if (current.contact_time_zone){
  		timezone = current.contact_time_zone.toString();
  	}
  	//If no time-zone set anywhere, return blank
  	if(!timezone)
  		return;
  	
  	dateTime.setTimeZone(timezone);
  	localDateTime = (dateTime+"").split(' ');
  	return localDateTime[1];
  },
  
  migrateTZForExistingCases: function(){
  	try{
  		var gr = new GlideRecord("sn_customerservice_case");
  		gr.addNullQuery("contact_time_zone");   //Fail-safe if happened to be run later.
  		gr.addNotNullQuery("contact");
  		gr.addActiveQuery();
  		gr.query();
  		gs.info("Updating rows for case management timezone migration:" + gr.getRowCount());
  		gr.setWorkflow(false);
  		gr.autoSysFields(false);

  		while(gr.next()){
  			if(gr.contact){
  				gr.setValue("contact_time_zone", gr.contact.time_zone);
  				gr.update();
  			}
  		}
  	}catch(err){
  		gs.info("CaseTZHelper Something went wrong with case management timezone migration. " + err);
  	}
  },
  
  type: 'CaseTZHelper'
};

Sys ID

a9bb9baf0b8303005596ab5c37673ae4

Offical Documentation

Official Docs: