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