Name

global.PADUtilsSI

Description

No description available

Script

var ACTION_DESIGNER_ROLE = 'action_designer';
var ADMIN_ROLE = 'admin';
var PD_ADMIN_ROLE = 'pd_admin';
var PD_AUTHOR = 'pd_author';
var PD_OPERATOR = 'pd_operator';
var CONTENT_AUTHOR_ROLE = 'pd_content_author';
var PD_TRIGGER_AUTHOR = 'pd_trigger_author';
var PD_SHARED_ADMIN = 'pd_shared.admin';
var PD_SHARED_USER = 'pd_shared.user';
var DELEGATED_DEV_ROLE = 'delegated_developer';

var PADUtilsSI = Class.create();
PADUtilsSI.prototype = {
  initialize: function() {
  },
  isAdminUser: function() {
  	return gs.hasRole(ADMIN_ROLE) || gs.hasRole(PD_ADMIN_ROLE);
  },
  userHasCreateActivityDefAccess: function() {
  	return gs.hasRole(CONTENT_AUTHOR_ROLE) || gs.hasRole(ADMIN_ROLE) || gs.hasRole(PD_ADMIN_ROLE);
  },
  userIsPADDelegatedDev: function() {
  	var isDelegatedDev = gs.hasRole(DELEGATED_DEV_ROLE);
  	var regex = RegExp('sn_dd.*processautomationdesigner');
  	var userRoles = gs.getSession().getRoles().split(',');
  	var foundPADDelegatedDevRole = false;
  	for (var index = 0; index < userRoles.length; index++) {
  		var role = userRoles[index];
  		if (regex.test(role))
  			foundPADDelegatedDevRole = true;
  	}
  	return isDelegatedDev && foundPADDelegatedDevRole;
  },
  isPADAuthorizedUser: function() {
  	var arrayUtil = new ArrayUtil();
  	var allowedRoles = new Array(ADMIN_ROLE, PD_ADMIN_ROLE, PD_AUTHOR, PD_OPERATOR, CONTENT_AUTHOR_ROLE, PD_TRIGGER_AUTHOR, PD_SHARED_ADMIN, PD_SHARED_USER);
  	var roles = gs.getSession().getRoles().split(',');
  	for (var i = 0; i < roles.length; i++) {
  		var role = roles[i];
  		if (arrayUtil.contains(allowedRoles, role))
  			return true;
  	}
  	return false;
  },
  getOrDefault: function(object, key, defaultValue) {
  	var value = object[key];
  	if (JSUtil.nil(value))
  		return defaultValue;
  	return value;
  },
  getFieldReturnValue: function(gr, fieldName) {
  	return {
  		value: gr.getValue(fieldName),
  		display_value: gr.getDisplayValue(fieldName)
  	};
  },
  type: 'PADUtilsSI'
};

Sys ID

fffb28e2772b3010dd76f825bc5a99ff

Offical Documentation

Official Docs: