Name

global.cxs_DefSearcherUtils

Description

No description available

Script

var cxs_DefSearcherUtils = Class.create();
cxs_DefSearcherUtils.prototype = {

  initialize: function(contextConfig, gs) {
  	this._contextConfig = contextConfig;
  	this._gs = gs;
  },

  setSearcherDefault: function() {
  	if (!this._contextConfig || this._contextConfig.cxs_searcher_config.nil())
  		return false;
  	
  	var additionalResourceGr = this.getDefaultAdditionalResources();
  	while (additionalResourceGr.next()) {
  		additionalResourceGr.setValue("default_search", false);
  		additionalResourceGr.update();
  	}
  },
  
  isSearcherDefault: function() {
  	if (!this._contextConfig || this._contextConfig.cxs_searcher_config.nil())
  		return false;
  	
  	var additionalResourceGr = this.getDefaultAdditionalResources();
  	if (additionalResourceGr.next())
  		return false;
  	
  	return true;
  },
  
  getSearcherResources: function() {
  	var searcherResource = new GlideRecord("cxs_search_res_config");
  	
  	if (this._contextConfig.cxs_searcher_config.nil())
  		return searcherResource;
  		
  	searcherResource.addQuery("cxs_searcher_config", this._contextConfig.getValue("cxs_searcher_config"));
  	searcherResource.orderBy("order");
  	searcherResource.query();

  	return searcherResource;
  },
  
  getDefaultAdditionalResources: function() {
  	var additionalResourceGr = new GlideRecord("cxs_res_context_config");
  	
  	if (!this._contextConfig)
  		return additionalResourceGr;
  	
  	additionalResourceGr.addQuery("cxs_context_config", this._contextConfig.getUniqueValue());
  	additionalResourceGr.addQuery("default_search", true);
  	additionalResourceGr.addActiveQuery();
  	additionalResourceGr.query();
  	return additionalResourceGr;
  },
  
  type: 'cxs_DefSearcherUtils'
};

cxs_DefSearcherUtils.getResourceChoices = function(searcherSysId) {	
  var fieldChoices = new GlideChoiceList();
  fieldChoices.add("all", gs.getMessage("All"));
  
  if (!searcherSysId)
  	return fieldChoices;
  
  // Do not limit the selection to active resources.  Active checking will be done on query.
  var searcherResource = new GlideRecord("cxs_search_res_config");
  searcherResource.addQuery("cxs_searcher_config", searcherSysId);
  searcherResource.orderBy("order");
  searcherResource.query();
  
  while (searcherResource.next()){
  	fieldChoices.add(searcherResource.getUniqueValue(), searcherResource.getDisplayValue("label"));
  }
  
  return fieldChoices;
};

Sys ID

0986285b5382201034d1ddeeff7b124d

Offical Documentation

Official Docs: