lead menu
nquiry menu
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
export const SYSTEM_ROLES = ['super_admin', 'user'] as const;
|
||||
export const MEMBERSHIP_ROLES = ['admin', 'user'] as const;
|
||||
export const BUSINESS_ROLES = [
|
||||
'marketing',
|
||||
'sales',
|
||||
'sales_support',
|
||||
'sales_manager',
|
||||
@@ -18,6 +19,11 @@ export const PERMISSIONS = {
|
||||
organizationManage: 'organization:manage',
|
||||
usersManage: 'users:manage',
|
||||
reportRead: 'report:read',
|
||||
crmLeadRead: 'crm.lead.read',
|
||||
crmLeadCreate: 'crm.lead.create',
|
||||
crmLeadUpdate: 'crm.lead.update',
|
||||
crmLeadAssign: 'crm.lead.assign',
|
||||
crmLeadDelete: 'crm.lead.delete',
|
||||
crmCustomerRead: 'crm.customer.read',
|
||||
crmCustomerCreate: 'crm.customer.create',
|
||||
crmCustomerUpdate: 'crm.customer.update',
|
||||
@@ -76,6 +82,50 @@ export const PERMISSIONS = {
|
||||
|
||||
export type Permission = (typeof PERMISSIONS)[keyof typeof PERMISSIONS];
|
||||
|
||||
const MANAGER_PERMISSIONS: Permission[] = [
|
||||
PERMISSIONS.crmLeadRead,
|
||||
PERMISSIONS.crmLeadCreate,
|
||||
PERMISSIONS.crmLeadUpdate,
|
||||
PERMISSIONS.crmLeadAssign,
|
||||
PERMISSIONS.crmLeadDelete,
|
||||
PERMISSIONS.crmCustomerRead,
|
||||
PERMISSIONS.crmCustomerCreate,
|
||||
PERMISSIONS.crmCustomerUpdate,
|
||||
PERMISSIONS.crmContactRead,
|
||||
PERMISSIONS.crmContactCreate,
|
||||
PERMISSIONS.crmContactUpdate,
|
||||
PERMISSIONS.crmEnquiryRead,
|
||||
PERMISSIONS.crmEnquiryCreate,
|
||||
PERMISSIONS.crmEnquiryUpdate,
|
||||
PERMISSIONS.crmEnquiryAssign,
|
||||
PERMISSIONS.crmEnquiryReassign,
|
||||
PERMISSIONS.crmEnquiryFollowupRead,
|
||||
PERMISSIONS.crmEnquiryFollowupCreate,
|
||||
PERMISSIONS.crmEnquiryFollowupUpdate,
|
||||
PERMISSIONS.crmQuotationRead,
|
||||
PERMISSIONS.crmQuotationCreate,
|
||||
PERMISSIONS.crmQuotationUpdate,
|
||||
PERMISSIONS.crmQuotationItemManage,
|
||||
PERMISSIONS.crmQuotationCustomerManage,
|
||||
PERMISSIONS.crmQuotationTopicManage,
|
||||
PERMISSIONS.crmQuotationFollowupManage,
|
||||
PERMISSIONS.crmQuotationAttachmentManage,
|
||||
PERMISSIONS.crmQuotationRevisionCreate,
|
||||
PERMISSIONS.crmApprovalRead,
|
||||
PERMISSIONS.crmApprovalSubmit,
|
||||
PERMISSIONS.crmApprovalWorkflowRead,
|
||||
PERMISSIONS.crmDashboardRead,
|
||||
PERMISSIONS.crmDashboardExport,
|
||||
PERMISSIONS.crmDocumentTemplateRead,
|
||||
PERMISSIONS.crmDocumentSequenceRead,
|
||||
PERMISSIONS.crmDocumentArtifactRead,
|
||||
PERMISSIONS.crmDocumentArtifactDownload,
|
||||
PERMISSIONS.crmDocumentArtifactVoid,
|
||||
PERMISSIONS.crmQuotationDocumentPreview,
|
||||
PERMISSIONS.crmQuotationPdfPreview,
|
||||
PERMISSIONS.crmQuotationPdfDownload
|
||||
];
|
||||
|
||||
function getMembershipBasePermissions(role: MembershipRole): Permission[] {
|
||||
if (role === 'admin') {
|
||||
return [
|
||||
@@ -83,6 +133,11 @@ function getMembershipBasePermissions(role: MembershipRole): Permission[] {
|
||||
PERMISSIONS.productsWrite,
|
||||
PERMISSIONS.organizationManage,
|
||||
PERMISSIONS.usersManage,
|
||||
PERMISSIONS.crmLeadRead,
|
||||
PERMISSIONS.crmLeadCreate,
|
||||
PERMISSIONS.crmLeadUpdate,
|
||||
PERMISSIONS.crmLeadAssign,
|
||||
PERMISSIONS.crmLeadDelete,
|
||||
PERMISSIONS.crmCustomerRead,
|
||||
PERMISSIONS.crmCustomerCreate,
|
||||
PERMISSIONS.crmCustomerUpdate,
|
||||
@@ -141,8 +196,9 @@ function getMembershipBasePermissions(role: MembershipRole): Permission[] {
|
||||
}
|
||||
|
||||
return [
|
||||
PERMISSIONS.productsRead,
|
||||
PERMISSIONS.crmCustomerRead,
|
||||
PERMISSIONS.productsRead,
|
||||
PERMISSIONS.crmLeadRead,
|
||||
PERMISSIONS.crmCustomerRead,
|
||||
PERMISSIONS.crmContactRead,
|
||||
PERMISSIONS.crmEnquiryRead,
|
||||
PERMISSIONS.crmEnquiryFollowupRead,
|
||||
@@ -162,45 +218,23 @@ function getMembershipBasePermissions(role: MembershipRole): Permission[] {
|
||||
|
||||
export function getBusinessRolePermissions(role: BusinessRole): Permission[] {
|
||||
switch (role) {
|
||||
case 'sales_manager':
|
||||
case 'marketing':
|
||||
return [
|
||||
PERMISSIONS.crmLeadRead,
|
||||
PERMISSIONS.crmLeadCreate,
|
||||
PERMISSIONS.crmLeadUpdate,
|
||||
PERMISSIONS.crmLeadAssign,
|
||||
PERMISSIONS.crmLeadDelete,
|
||||
PERMISSIONS.crmCustomerRead,
|
||||
PERMISSIONS.crmCustomerCreate,
|
||||
PERMISSIONS.crmCustomerUpdate,
|
||||
PERMISSIONS.crmContactRead,
|
||||
PERMISSIONS.crmContactCreate,
|
||||
PERMISSIONS.crmContactUpdate,
|
||||
PERMISSIONS.crmEnquiryRead,
|
||||
PERMISSIONS.crmEnquiryCreate,
|
||||
PERMISSIONS.crmEnquiryUpdate,
|
||||
PERMISSIONS.crmEnquiryAssign,
|
||||
PERMISSIONS.crmEnquiryReassign,
|
||||
PERMISSIONS.crmEnquiryFollowupRead,
|
||||
PERMISSIONS.crmEnquiryFollowupCreate,
|
||||
PERMISSIONS.crmEnquiryFollowupUpdate,
|
||||
PERMISSIONS.crmQuotationRead,
|
||||
PERMISSIONS.crmQuotationCreate,
|
||||
PERMISSIONS.crmQuotationUpdate,
|
||||
PERMISSIONS.crmQuotationItemManage,
|
||||
PERMISSIONS.crmQuotationCustomerManage,
|
||||
PERMISSIONS.crmQuotationTopicManage,
|
||||
PERMISSIONS.crmQuotationFollowupManage,
|
||||
PERMISSIONS.crmQuotationAttachmentManage,
|
||||
PERMISSIONS.crmQuotationRevisionCreate,
|
||||
PERMISSIONS.crmApprovalRead,
|
||||
PERMISSIONS.crmApprovalSubmit,
|
||||
PERMISSIONS.crmApprovalWorkflowRead,
|
||||
PERMISSIONS.crmDashboardRead,
|
||||
PERMISSIONS.crmDashboardExport,
|
||||
PERMISSIONS.crmDocumentTemplateRead,
|
||||
PERMISSIONS.crmDocumentSequenceRead,
|
||||
PERMISSIONS.crmDocumentArtifactRead,
|
||||
PERMISSIONS.crmDocumentArtifactDownload,
|
||||
PERMISSIONS.crmDocumentArtifactVoid,
|
||||
PERMISSIONS.crmQuotationDocumentPreview,
|
||||
PERMISSIONS.crmQuotationPdfPreview,
|
||||
PERMISSIONS.crmQuotationPdfDownload
|
||||
PERMISSIONS.crmDashboardRead
|
||||
];
|
||||
case 'sales_manager':
|
||||
return MANAGER_PERMISSIONS;
|
||||
case 'sales':
|
||||
return [
|
||||
PERMISSIONS.crmCustomerRead,
|
||||
@@ -264,6 +298,7 @@ export function getBusinessRolePermissions(role: BusinessRole): Permission[] {
|
||||
];
|
||||
case 'department_manager':
|
||||
case 'top_manager':
|
||||
return MANAGER_PERMISSIONS;
|
||||
default:
|
||||
return [];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user