feat: add payment receive ability.

This commit is contained in:
elforjani13
2021-11-23 20:15:29 +02:00
parent 371e374dc5
commit 3a8e1f5238
5 changed files with 59 additions and 42 deletions

View File

@@ -19,7 +19,7 @@ import withDrawerActions from 'containers/Drawer/withDrawerActions';
import { If, Can, Icon, FormattedMessage as T } from 'components';
import {
Invoice_Abilities,
PaymentReceive,
Payment_Receive_Abilities,
AbilitySubject,
} from '../../../common/abilityOption';
@@ -93,7 +93,7 @@ function InvoiceDetailActionsBar({
<NavbarDivider />
</Can>
<Can I={PaymentReceive.Create} a={AbilitySubject.PaymentReceive}>
<Can I={Payment_Receive_Abilities.Create} a={AbilitySubject.PaymentReceive}>
<If condition={invoice.is_delivered && !invoice.is_fully_paid}>
<Button
className={Classes.MINIMAL}

View File

@@ -16,7 +16,8 @@ import withDialogActions from 'containers/Dialog/withDialogActions';
import withAlertsActions from 'containers/Alert/withAlertActions';
import withDrawerActions from 'containers/Drawer/withDrawerActions';
import { Icon, FormattedMessage as T, MoreMenuItems } from 'components';
import { Can, Icon, FormattedMessage as T, MoreMenuItems } from 'components';
import { Payment_Receive_Abilities, AbilitySubject } from '../../../common/abilityOption';
import { compose } from 'utils';
@@ -57,21 +58,25 @@ function PaymentReceiveActionsBar({
return (
<DashboardActionsBar>
<NavbarGroup>
<Button
className={Classes.MINIMAL}
icon={<Icon icon="pen-18" />}
text={<T id={'edit_payment_receive'} />}
onClick={handleEditPaymentReceive}
/>
<NavbarDivider />
<Button
className={Classes.MINIMAL}
icon={<Icon icon={'trash-16'} iconSize={16} />}
text={<T id={'delete'} />}
intent={Intent.DANGER}
onClick={handleDeletePaymentReceive}
/>
<NavbarDivider />
<Can I={Payment_Receive_Abilities.Edit} a={AbilitySubject.PaymentReceive}>
<Button
className={Classes.MINIMAL}
icon={<Icon icon="pen-18" />}
text={<T id={'edit_payment_receive'} />}
onClick={handleEditPaymentReceive}
/>
<NavbarDivider />
</Can>
<Can I={Payment_Receive_Abilities.Delete} a={AbilitySubject.PaymentReceive}>
<Button
className={Classes.MINIMAL}
icon={<Icon icon={'trash-16'} iconSize={16} />}
text={<T id={'delete'} />}
intent={Intent.DANGER}
onClick={handleDeletePaymentReceive}
/>
<NavbarDivider />
</Can>
<MoreMenuItems
payload={{
onNotifyViaSMS: handleNotifyViaSMS,

View File

@@ -23,7 +23,7 @@ import {
import { formattedAmount, safeCallback, calculateStatus } from 'utils';
import {
Invoice_Abilities,
PaymentReceive,
Payment_Receive_Abilities,
AbilitySubject,
} from '../../../../common/abilityOption';
@@ -136,7 +136,7 @@ export function ActionsMenu({
/>
</If>
</Can>
<Can I={PaymentReceive.Create} a={AbilitySubject.PaymentReceive}>
<Can I={Payment_Receive_Abilities.Create} a={AbilitySubject.PaymentReceive}>
<If condition={original.is_delivered && !original.is_fully_paid}>
<MenuItem
icon={<Icon icon="quick-payment-16" iconSize={16} />}

View File

@@ -19,14 +19,17 @@ import {
import DashboardActionsBar from 'components/Dashboard/DashboardActionsBar';
import { If, DashboardActionViewsList } from 'components';
import { Can, If, DashboardActionViewsList } from 'components';
import withPaymentReceivesActions from './withPaymentReceivesActions';
import withPaymentReceives from './withPaymentReceives';
import withSettingsActions from 'containers/Settings/withSettingsActions';
import withSettings from 'containers/Settings/withSettings';
import {
Payment_Receive_Abilities,
AbilitySubject,
} from '../../../../common/abilityOption';
import { compose } from 'utils';
import { usePaymentReceivesListContext } from './PaymentReceiptsListProvider';
import { useRefreshPaymentReceive } from 'hooks/query/paymentReceives';
@@ -85,12 +88,14 @@ function PaymentReceiveActionsBar({
onChange={handleTabChange}
/>
<NavbarDivider />
<Button
className={Classes.MINIMAL}
icon={<Icon icon={'plus'} />}
text={<T id={'new_payment_receive'} />}
onClick={handleClickNewPaymentReceive}
/>
<Can I={Payment_Receive_Abilities.Create} a={AbilitySubject.PaymentReceive}>
<Button
className={Classes.MINIMAL}
icon={<Icon icon={'plus'} />}
text={<T id={'new_payment_receive'} />}
onClick={handleClickNewPaymentReceive}
/>
</Can>
<AdvancedFilterPopover
advancedFilterProps={{
conditions: paymentFilterConditions,

View File

@@ -11,10 +11,13 @@ import {
import intl from 'react-intl-universal';
import clsx from 'classnames';
import { FormatDateCell, Money, Icon } from 'components';
import { FormatDateCell, Money, Icon, Can } from 'components';
import { safeCallback } from 'utils';
import { CLASSES } from '../../../../common/classes';
import {
Payment_Receive_Abilities,
AbilitySubject,
} from '../../../../common/abilityOption';
/**
* Table actions menu.
*/
@@ -29,18 +32,22 @@ export function ActionsMenu({
text={intl.get('view_details')}
onClick={safeCallback(onViewDetails, paymentReceive)}
/>
<MenuDivider />
<MenuItem
icon={<Icon icon="pen-18" />}
text={intl.get('edit_payment_receive')}
onClick={safeCallback(onEdit, paymentReceive)}
/>
<MenuItem
text={intl.get('delete_payment_receive')}
intent={Intent.DANGER}
onClick={safeCallback(onDelete, paymentReceive)}
icon={<Icon icon="trash-16" iconSize={16} />}
/>
<Can I={Payment_Receive_Abilities.Edit} a={AbilitySubject.PaymentReceive}>
<MenuDivider />
<MenuItem
icon={<Icon icon="pen-18" />}
text={intl.get('edit_payment_receive')}
onClick={safeCallback(onEdit, paymentReceive)}
/>
</Can>
<Can I={Payment_Receive_Abilities.Delete} a={AbilitySubject.PaymentReceive}>
<MenuItem
text={intl.get('delete_payment_receive')}
intent={Intent.DANGER}
onClick={safeCallback(onDelete, paymentReceive)}
icon={<Icon icon="trash-16" iconSize={16} />}
/>
</Can>
</Menu>
);
}