diff --git a/src/constants/abilityOption.tsx b/src/constants/abilityOption.tsx
index 7f586f047..586e5bd36 100644
--- a/src/constants/abilityOption.tsx
+++ b/src/constants/abilityOption.tsx
@@ -19,6 +19,7 @@ export const AbilitySubject = {
SubscriptionBilling: 'SubscriptionBilling',
CreditNote: 'CreditNote',
VendorCredit: 'VendorCredit',
+ Project:'Project'
};
export const ItemAction = {
@@ -73,7 +74,7 @@ export const CreditNoteAction = {
Create: 'Create',
Edit: 'Edit',
Delete: 'Delete',
- Refund: 'Refund'
+ Refund: 'Refund',
};
export const VendorCreditAction = {
@@ -81,7 +82,7 @@ export const VendorCreditAction = {
Create: 'Create',
Edit: 'Edit',
Delete: 'Delete',
- Refund: 'Refund'
+ Refund: 'Refund',
};
export const BillAction = {
View: 'View',
@@ -141,6 +142,13 @@ export const CashflowAction = {
Delete: 'Delete',
};
+export const ProjectAction = {
+ View: 'View',
+ Create: 'Create',
+ Edit: 'Edit',
+ Delete: 'Delete',
+};
+
export const ReportsAction = {
ALL: 'all',
READ_BALANCE_SHEET: 'read-balance-sheet',
diff --git a/src/constants/features.tsx b/src/constants/features.tsx
index a042429eb..5392025c2 100644
--- a/src/constants/features.tsx
+++ b/src/constants/features.tsx
@@ -4,4 +4,5 @@ export const Features = {
Warehouses: 'warehouses',
Branches: 'branches',
ManualJournal: 'manualJournal',
+ Projects:'Projects'
}
\ No newline at end of file
diff --git a/src/constants/sidebarMenu.tsx b/src/constants/sidebarMenu.tsx
index 60a618110..686e4d3f9 100644
--- a/src/constants/sidebarMenu.tsx
+++ b/src/constants/sidebarMenu.tsx
@@ -23,6 +23,7 @@ import {
ManualJournalAction,
ExpenseAction,
CashflowAction,
+ ProjectAction,
PreferencesAbility,
SubscriptionBillingAbility,
} from '@/constants/abilityOption';
@@ -554,6 +555,10 @@ export const SidebarMenu = [
text: 'Projects',
href: '/projects',
type: ISidebarMenuItemType.Link,
+ permission: {
+ subject: AbilitySubject.Project,
+ ability: ProjectAction.View,
+ },
},
],
},
@@ -565,6 +570,10 @@ export const SidebarMenu = [
text: ,
type: ISidebarMenuItemType.Dialog,
dialogName: 'project-form',
+ permission: {
+ subject: AbilitySubject.Project,
+ ability: ProjectAction.Create,
+ },
},
{
text: ,
diff --git a/src/containers/Projects/containers/ProjectsLanding/ProjectsActionsBar.tsx b/src/containers/Projects/containers/ProjectsLanding/ProjectsActionsBar.tsx
index c768cdaa2..2e6ae493c 100644
--- a/src/containers/Projects/containers/ProjectsLanding/ProjectsActionsBar.tsx
+++ b/src/containers/Projects/containers/ProjectsLanding/ProjectsActionsBar.tsx
@@ -8,6 +8,7 @@ import {
} from '@blueprintjs/core';
import {
Icon,
+ Can,
AdvancedFilterPopover,
DashboardActionViewsList,
DashboardFilterButton,
@@ -15,6 +16,7 @@ import {
FormattedMessage as T,
DashboardActionsBar,
} from '@/components';
+import { ProjectAction, AbilitySubject } from '@/constants/abilityOption';
import withProjects from './withProjects';
import withProjectsActions from './withProjectsActions';
@@ -75,12 +77,14 @@ function ProjectsActionsBar({
onChange={handleTabChange}
/>
- }
- text={}
- onClick={handleNewProjectBtnClick}
- />
+
+ }
+ text={}
+ onClick={handleNewProjectBtnClick}
+ />
+
{/* AdvancedFilterPopover */}