import React from 'react'; import { FormattedMessage as T } from 'components'; import { ReportsAction, AbilitySubject, ItemAction, InventoryAdjustmentAction, SaleEstimateAction, SaleInvoiceAction, SaleReceiptAction, PaymentReceiveAction, BillAction, PaymentMadeAction, CustomerAction, VendorAction, AccountAction, ManualJournalAction, ExpenseAction, CashflowAction, PreferencesAbility, ExchangeRateAbility, SubscriptionBillingAbility, } from '../common/abilityOption'; export default [ { text: , disabled: false, href: '/', matchExact: true, }, { text: , label: true, permission: [ { subject: AbilitySubject.Item, ability: ItemAction.View, }, { subject: AbilitySubject.InventoryAdjustment, ability: InventoryAdjustmentAction.View, }, { subject: AbilitySubject.Estimate, ability: SaleEstimateAction.View, }, { subject: AbilitySubject.Invoice, ability: SaleInvoiceAction.View, }, { subject: AbilitySubject.Receipt, ability: SaleReceiptAction.View, }, { subject: AbilitySubject.PaymentReceive, ability: PaymentReceiveAction.View, }, ], }, { text: , children: [ { text: , href: '/items', permission: { subject: AbilitySubject.Item, ability: ItemAction.View, }, }, { text: , href: '/inventory-adjustments', permission: { subject: AbilitySubject.InventoryAdjustment, ability: InventoryAdjustmentAction.View, }, }, { text: , href: '/items/categories', permission: { subject: AbilitySubject.Item, ability: ItemAction.View, }, }, { text: , label: true, permission: [ { subject: AbilitySubject.Item, ability: ItemAction.Create, }, ], }, { divider: true, permission: [ { subject: AbilitySubject.Item, ability: ItemAction.Create, }, ], }, { text: , href: '/items/new', permission: { subject: AbilitySubject.Item, ability: ItemAction.Create, }, }, { text: , href: '/items/new', permission: { subject: AbilitySubject.Item, ability: ItemAction.Create, }, }, { text: , href: '/items/categories/new', permission: { subject: AbilitySubject.Item, ability: ItemAction.Create, }, }, ], }, { text: , children: [ { text: , href: '/estimates', permission: { subject: AbilitySubject.Estimate, ability: SaleEstimateAction.View, }, }, { text: , href: '/invoices', permission: { subject: AbilitySubject.Invoice, ability: SaleInvoiceAction.View, }, }, { text: , href: '/receipts', permission: { subject: AbilitySubject.Receipt, ability: SaleReceiptAction.View, }, }, { text: , href: '/credit-notes', }, { text: , href: '/payment-receives', permission: { subject: AbilitySubject.PaymentReceive, ability: PaymentReceiveAction.View, }, }, { text: , label: true, permission: [ { subject: AbilitySubject.Estimate, ability: SaleEstimateAction.Create, }, { subject: AbilitySubject.Invoice, ability: SaleInvoiceAction.Create, }, { subject: AbilitySubject.Receipt, ability: SaleReceiptAction.Create, }, { subject: AbilitySubject.PaymentReceive, ability: PaymentReceiveAction.Create, }, ], }, { divider: true, permission: [ { subject: AbilitySubject.Estimate, ability: SaleEstimateAction.Create, }, { subject: AbilitySubject.Invoice, ability: SaleInvoiceAction.Create, }, { subject: AbilitySubject.Receipt, ability: SaleReceiptAction.Create, }, { subject: AbilitySubject.PaymentReceive, ability: PaymentReceiveAction.Create, }, ], }, { text: , href: '/estimates/new', permission: { subject: AbilitySubject.Estimate, ability: SaleEstimateAction.Create, }, }, { text: , href: '/invoices/new', permission: { subject: AbilitySubject.Invoice, ability: SaleInvoiceAction.Create, }, }, { text: , href: '/receipts/new', permission: { subject: AbilitySubject.Receipt, ability: SaleReceiptAction.Create, }, }, { text: , href: '/credit-notes/new', }, { text: , href: '/payment-receives/new', permission: { subject: AbilitySubject.PaymentReceive, ability: PaymentReceiveAction.Create, }, }, ], }, { text: , children: [ { text: , href: '/bills', permission: { subject: AbilitySubject.Bill, ability: BillAction.View, }, }, { text: , href: '/vendor-credits', }, { text: , href: '/payment-mades', newTabHref: '/payment-mades/new', permission: { subject: AbilitySubject.PaymentMade, ability: PaymentMadeAction.View, }, }, { text: , label: true, permission: [ { subject: AbilitySubject.Bill, ability: BillAction.Create, }, { subject: AbilitySubject.PaymentMade, ability: PaymentMadeAction.Create, }, ], }, { divider: true, permission: [ { subject: AbilitySubject.Bill, ability: BillAction.Create, }, { subject: AbilitySubject.PaymentMade, ability: PaymentMadeAction.Create, }, ], }, { text: , href: '/bills/new', permission: { subject: AbilitySubject.Bill, ability: BillAction.Create, }, }, { text: , href: '/vendor-credits/new', permission: { subject: AbilitySubject.Bill, ability: BillAction.Create, }, }, { text: , href: '/payment-mades/new', permission: { subject: AbilitySubject.PaymentMade, ability: PaymentMadeAction.Create, }, }, ], }, { text: , children: [ { text: , href: '/customers', permission: { subject: AbilitySubject.Customer, ability: CustomerAction.View, }, }, { text: , href: '/vendors', permission: { subject: AbilitySubject.Vendor, ability: VendorAction.Create, }, }, { text: , label: true, permission: [ { subject: AbilitySubject.Customer, ability: CustomerAction.View, }, { subject: AbilitySubject.Vendor, ability: VendorAction.View, }, ], }, { divider: true, permission: [ { subject: AbilitySubject.Customer, ability: CustomerAction.View, }, { subject: AbilitySubject.Vendor, ability: VendorAction.View, }, ], }, { text: , href: '/customers/new', permission: { subject: AbilitySubject.Customer, ability: CustomerAction.View, }, }, { text: , href: '/vendors/new', permission: { subject: AbilitySubject.Vendor, ability: VendorAction.View, }, }, ], }, { text: , label: true, permission: [ { subject: AbilitySubject.Account, ability: AccountAction.View, }, { subject: AbilitySubject.ManualJournal, ability: ManualJournalAction.View, }, ], }, { text: , children: [ { text: , href: '/accounts', permission: { subject: AbilitySubject.Account, ability: AccountAction.View, }, }, { text: , href: '/manual-journals', permission: { subject: AbilitySubject.ManualJournal, ability: ManualJournalAction.View, }, }, { text: , href: '/transactions-locking', // permission: { // subject: AbilitySubject.ManualJournal, // ability: ManualJournalAction.TransactionLocking, // }, }, { text: , href: '/exchange-rates', permission: { subject: AbilitySubject.ExchangeRate, ability: ExchangeRateAbility.View, }, }, { text: , label: true, permission: { subject: AbilitySubject.ManualJournal, ability: ManualJournalAction.Create, }, }, { divider: true, permission: { subject: AbilitySubject.ManualJournal, ability: ManualJournalAction.Create, }, }, { text: , href: '/make-journal-entry', permission: { subject: AbilitySubject.ManualJournal, ability: ManualJournalAction.Create, }, }, ], }, { text: , children: [ { text: , href: '/cashflow-accounts', permission: { subject: AbilitySubject.Cashflow, ability: CashflowAction.View, }, }, { text: , label: true, permission: [ { subject: AbilitySubject.Cashflow, ability: CashflowAction.Create, }, ], }, { divider: true, permission: [ { subject: AbilitySubject.Cashflow, ability: CashflowAction.Create, }, ], }, { text: , href: '/cashflow-accounts', permission: { subject: AbilitySubject.Cashflow, ability: CashflowAction.Create, }, }, { text: , href: '/cashflow-accounts', permission: { subject: AbilitySubject.Cashflow, ability: CashflowAction.Create, }, }, { text: , href: '/cashflow-accounts', permission: { subject: AbilitySubject.Cashflow, ability: CashflowAction.Create, }, }, { text: , href: '/cashflow-accounts', permission: { subject: AbilitySubject.Cashflow, ability: CashflowAction.Create, }, }, ], }, { text: , children: [ { text: , href: '/expenses', permission: { subject: AbilitySubject.Expense, ability: ExpenseAction.View, }, }, { text: , label: true, permission: { subject: AbilitySubject.Expense, ability: ExpenseAction.Create, }, }, { divider: true, permission: { subject: AbilitySubject.Expense, ability: ExpenseAction.Create, }, }, { text: , href: '/expenses/new', permission: { subject: AbilitySubject.Expense, ability: ExpenseAction.Create, }, }, ], }, { text: , children: [ { text: , href: '/financial-reports/balance-sheet', permission: { subject: AbilitySubject.Report, ability: ReportsAction.READ_BALANCE_SHEET, }, }, { text: , href: '/financial-reports/trial-balance-sheet', permission: { subject: AbilitySubject.Report, ability: ReportsAction.READ_TRIAL_BALANCE_SHEET, }, }, { text: , href: '/financial-reports/journal-sheet', permission: { subject: AbilitySubject.Report, ability: ReportsAction.READ_JOURNAL, }, }, { text: , href: '/financial-reports/general-ledger', permission: { subject: AbilitySubject.Report, ability: ReportsAction.READ_GENERAL_LEDGET, }, }, { text: , href: '/financial-reports/profit-loss-sheet', permission: { subject: AbilitySubject.Report, ability: ReportsAction.READ_PROFIT_LOSS, }, }, { text: , href: '/financial-reports/cash-flow', permission: { subject: AbilitySubject.Report, ability: ReportsAction.READ_CASHFLOW_ACCOUNT_TRANSACTION, }, }, { text: , href: '/financial-reports/receivable-aging-summary', permission: { subject: AbilitySubject.Report, ability: ReportsAction.READ_AR_AGING_SUMMARY, }, }, { text: , href: '/financial-reports/payable-aging-summary', permission: { subject: AbilitySubject.Report, ability: ReportsAction.READ_AP_AGING_SUMMARY, }, }, { text: , label: true, permission: [ { subject: AbilitySubject.Report, ability: ReportsAction.READ_PURCHASES_BY_ITEMS, }, { subject: AbilitySubject.Report, ability: ReportsAction.READ_SALES_BY_ITEMS, }, { subject: AbilitySubject.Report, ability: ReportsAction.READ_CUSTOMERS_TRANSACTIONS, }, { subject: AbilitySubject.Report, ability: ReportsAction.READ_VENDORS_TRANSACTIONS, }, { subject: AbilitySubject.Report, ability: ReportsAction.READ_CUSTOMERS_SUMMARY_BALANCE, }, { subject: AbilitySubject.Report, ability: ReportsAction.READ_VENDORS_SUMMARY_BALANCE, }, ], }, { divider: true, permission: [ { subject: AbilitySubject.Report, ability: ReportsAction.READ_PURCHASES_BY_ITEMS, }, { subject: AbilitySubject.Report, ability: ReportsAction.READ_SALES_BY_ITEMS, }, { subject: AbilitySubject.Report, ability: ReportsAction.READ_CUSTOMERS_TRANSACTIONS, }, { subject: AbilitySubject.Report, ability: ReportsAction.READ_VENDORS_TRANSACTIONS, }, { subject: AbilitySubject.Report, ability: ReportsAction.READ_CUSTOMERS_SUMMARY_BALANCE, }, { subject: AbilitySubject.Report, ability: ReportsAction.READ_VENDORS_SUMMARY_BALANCE, }, ], }, { text: , href: '/financial-reports/purchases-by-items', permission: { subject: AbilitySubject.Report, ability: ReportsAction.READ_PURCHASES_BY_ITEMS, }, }, { text: , href: '/financial-reports/sales-by-items', permission: { subject: AbilitySubject.Report, ability: ReportsAction.READ_SALES_BY_ITEMS, }, }, { text: , href: '/financial-reports/transactions-by-customers', permission: { subject: AbilitySubject.Report, ability: ReportsAction.READ_CUSTOMERS_TRANSACTIONS, }, }, { text: , href: '/financial-reports/transactions-by-vendors', permission: { subject: AbilitySubject.Report, ability: ReportsAction.READ_VENDORS_TRANSACTIONS, }, }, { text: , href: '/financial-reports/customers-balance-summary', permission: { subject: AbilitySubject.Report, ability: ReportsAction.READ_CUSTOMERS_SUMMARY_BALANCE, }, }, { text: , href: '/financial-reports/vendors-balance-summary', permission: { subject: AbilitySubject.Report, ability: ReportsAction.READ_VENDORS_SUMMARY_BALANCE, }, }, { text: , label: true, permission: [ { subject: AbilitySubject.Report, ability: ReportsAction.READ_INVENTORY_ITEM_DETAILS, }, { subject: AbilitySubject.Report, ability: ReportsAction.READ_INVENTORY_VALUATION_SUMMARY, }, ], }, { divider: true, permission: [ { subject: AbilitySubject.Report, ability: ReportsAction.READ_INVENTORY_ITEM_DETAILS, }, { subject: AbilitySubject.Report, ability: ReportsAction.READ_INVENTORY_VALUATION_SUMMARY, }, ], }, { text: , href: '/financial-reports/inventory-item-details', permission: { subject: AbilitySubject.Report, ability: ReportsAction.READ_INVENTORY_ITEM_DETAILS, }, }, { text: , href: '/financial-reports/inventory-valuation', permission: { subject: AbilitySubject.Report, ability: ReportsAction.READ_INVENTORY_VALUATION_SUMMARY, }, }, ], }, { text: , enableBilling: true, label: true, permission: [ { subject: AbilitySubject.Preferences, ability: PreferencesAbility.Mutate, }, { subject: AbilitySubject.SubscriptionBilling, ability: SubscriptionBillingAbility.View, }, ], }, { text: , href: '/preferences', permission: { subject: AbilitySubject.Preferences, ability: PreferencesAbility.Mutate, }, }, { text: , href: '/billing', enableBilling: true, permission: { subject: AbilitySubject.SubscriptionBilling, ability: SubscriptionBillingAbility.View, }, }, ];