Name

sn_action_status.BlockedTaskUtil

Description

The util function to help handle the blocked tasks records.

Script

var BlockedTaskUtil = Class.create();
BlockedTaskUtil.prototype = {
  initialize: function() {
  },
  
  unblockTask: function(blockedByGr){
  	if(!gs.nil(blockedByGr)){
  		if(gs.nil(blockedByGr.unblocked_by) && gs.nil(blockedByGr.unblocked_on)){
  			blockedByGr.setValue('unblocked_by', gs.getUserID());
  			blockedByGr.setValue('unblocked_on', new GlideDateTime().getValue());
  			blockedByGr.update();
  		}
  		else
  			gs.error('The blocked task with sys id ' + blockedByGr.getUniqueValue() + ' was already unblocked before');
  	}
  	
  	return;
  },
  
  unblockBatchTasks: function(blockingTasks, blockedTask){
  	
  	var blockedByGr = new GlideRecord('sn_action_status_blocked_by');
  	
  	blockedByGr.addQuery('blocking_task', 'IN', blockingTasks);
  	blockedByGr.addQuery('blocked_task', blockedTask);
  	blockedByGr.addQuery('unblocked_byISEMPTY');
      blockedByGr.addQuery('unblocked_onISEMPTY');
  	blockedByGr.query();
  	
  	// Batch update
  	blockedByGr.setValue('unblocked_by', gs.getUserID());
  	blockedByGr.setValue('unblocked_on', new GlideDateTime().getValue());
  	blockedByGr.updateMultiple();
  	return;
  	
  },
  
  
  type: 'BlockedTaskUtil'
};

Sys ID

df47c5980b542300c9c86c9037673a82

Offical Documentation

Official Docs: