Name

sn_install_base.CSMContentAccessSoldProductContact

Description

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

Script

var CSMContentAccessSoldProductContact = Class.create();
CSMContentAccessSoldProductContact.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 this.__isRestrictedAccessAccount(this.current.sold_product.account+ '');
  },
  
  _canRead_QR: function() {
  	var filter;
  	var qrRoles = this.__getParam("qr_roles");
  	var qrGenerator = new sn_queryrules.QueryRuleGenerator();
  	if (gs.nil(qrRoles))
  		filter = qrGenerator.getEncodedQuery(this.tableName);
  	else
  		filter = qrGenerator.getEncodedQueryForRoles(this.tableName, qrRoles);
  	return GlideFilter.checkRecord(this.current, filter);
  },

  _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_CONTACT_SOLDPRODUCT] = accessType;
  	return permissionMap;
  },

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

  type: 'CSMContentAccessSoldProductContact'
});

Sys ID

371cc31777f23010d3ef07dc7d5a99e8

Offical Documentation

Official Docs: