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