Name

sn_install_base.CSMContentAccessSoldProductConsumer

Description

CSMContentAccessEP extension point implementation for the table Sold Product s Additional Consumers

Script

var CSMContentAccessSoldProductConsumer = Class.create();
CSMContentAccessSoldProductConsumer.prototype = Object.extendsObject(sn_install_base.CSMContentAccessSoldProductRelatedParty, {
  /** Overriding... **/

  _enforceResponsibilities: function() {
  	if(gs.nil(this.current) || gs.nil(this.current.sold_product) || !this._isChildOf(this.RESOURCE_NAME, this.current.getTableName() || ""))
  		return false;

  	return true;
  },
  
  _canRead_QR: function() {
  	var filter1, filter2;
  	var qrRoles = this.__getParam("qr_roles");
  	var qrGenerator = new sn_queryrules.QueryRuleGenerator();
  	if (gs.nil(qrRoles)) {
  		filter1 = qrGenerator.getEncodedQuery(this.tableName);
  		filter2 = qrGenerator.getEncodedQuery(global.CSMBaseConstants.SOLD_PRODUCT_RELATED_PARTY);
  	}
  	else {
  		filter1 = qrGenerator.getEncodedQueryForRoles(this.tableName, qrRoles);
  		filter2 = qrGenerator.getEncodedQueryForRoles(global.CSMBaseConstants.SOLD_PRODUCT_RELATED_PARTY, qrRoles);
  	}
  	return GlideFilter.checkRecord(this.current, filter1) || GlideFilter.checkRecord(this.current, filter2);
  },

  _canRead_QBR: function() {
  	return new global.CSQueryBRUtil().canUserReadRecordFromQueries(this.current);
  },

  _getWritePermissionMap: function() {
  	return this._getPermissionMapForAccess(global.CSMRelationshipConstants.ACCESS.WRITE);
  },

  _getCreatePermissionMap: function() {
  	return this._getPermissionMapForAccess(global.CSMRelationshipConstants.ACCESS.CREATE);
  },

  /** Internal functions **/


  _getPermissionMapForAccess: function(accessType) {
  	var permissionMap = {};
  	var relConst = global.CSMRelationshipConstants;
  	permissionMap[relConst.RELATIONSHIP_CONSUMER_SOLDPRODUCT] = accessType;
  	return permissionMap;
  },

  RESOURCE_NAME : global.CSMBaseConstants.M2M_CON_SOLD_PRODUCT,
  RESOURCE_TYPE : "TABLE",

  type: 'CSMContentAccessSoldProductConsumer'
});

Sys ID

75e01f1b77f23010d3ef07dc7d5a99d6

Offical Documentation

Official Docs: