mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-16 04:40:32 +00:00
feat: item & inventory.
This commit is contained in:
@@ -1,10 +0,0 @@
|
||||
import { AbilityBuilder, defineAbility } from '@casl/ability';
|
||||
import { createContextualCan } from '@casl/react';
|
||||
import { createContext } from 'react';
|
||||
|
||||
export const AbilityContext = createContext();
|
||||
export const Can = createContextualCan(AbilityContext.Consumer);
|
||||
|
||||
export const ability = defineAbility((can, cannot) => {
|
||||
cannot('Item', 'create');
|
||||
});
|
||||
@@ -1,4 +1,29 @@
|
||||
import { createCanBoundTo } from '@casl/react';
|
||||
import ability from '../components/Config/ability';
|
||||
import React from 'react';
|
||||
import { Ability } from '@casl/ability';
|
||||
import { createContextualCan } from '@casl/react';
|
||||
|
||||
export default createCanBoundTo(ability);
|
||||
import {
|
||||
ItemAbility,
|
||||
AbilitySubject,
|
||||
InventoryAdjustment,
|
||||
} from '../common/abilityOption';
|
||||
|
||||
export const AbilityContext = React.createContext();
|
||||
export const Can = createContextualCan(AbilityContext.Consumer);
|
||||
|
||||
const AbilityContextProvider = (props) => {
|
||||
const ability = new Ability([
|
||||
{
|
||||
subject: [AbilitySubject.Item],
|
||||
action: [ItemAbility.Create, ItemAbility.Edit],
|
||||
},
|
||||
]);
|
||||
|
||||
return (
|
||||
<AbilityContext.Provider value={ability}>
|
||||
{props.children}
|
||||
</AbilityContext.Provider>
|
||||
);
|
||||
};
|
||||
|
||||
export default AbilityContextProvider;
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
import { AbilityBuilder } from '@casl/ability';
|
||||
// import { AbilitySubject, ItemAbility } from '../../common/abilityOption';
|
||||
|
||||
export function defineAbilitiesFor(role) {
|
||||
const { rules, can } = new AbilityBuilder();
|
||||
|
||||
can('create', 'Item');
|
||||
|
||||
return new Ability(rules);
|
||||
}
|
||||
@@ -1,8 +1,9 @@
|
||||
import React from 'react';
|
||||
import AbilityContextProvider from '../../components/Can';
|
||||
|
||||
/**
|
||||
* Dashboard provider.
|
||||
*/
|
||||
export default function DashboardProvider({ children }) {
|
||||
return children;
|
||||
return <AbilityContextProvider>{children}</AbilityContextProvider>;
|
||||
}
|
||||
|
||||
@@ -59,6 +59,7 @@ import AvaterCell from './AvaterCell';
|
||||
|
||||
import { ItemsMultiSelect } from './Items';
|
||||
import MoreMenuItems from './MoreMenutItems';
|
||||
import { Can } from './Can';
|
||||
|
||||
export * from './Dialog';
|
||||
export * from './Menu';
|
||||
@@ -156,4 +157,5 @@ export {
|
||||
Card,
|
||||
AvaterCell,
|
||||
MoreMenuItems,
|
||||
Can,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user