mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-17 05:10:31 +00:00
feat: add convert to vendor credit.
This commit is contained in:
@@ -70,6 +70,11 @@ function BillsDataTable({
|
||||
history.push(`/bills/${bill.id}/edit`);
|
||||
};
|
||||
|
||||
// Handle convert to vendor credit.
|
||||
const handleConvertToVendorCredit = ({ id }) => {
|
||||
history.push(`/vendor-credits/new?from_bill_id=${id}`, { billId: id });
|
||||
};
|
||||
|
||||
// Handle bill delete action.
|
||||
const handleDeleteBill = (bill) => {
|
||||
openAlert('bill-delete', { billId: bill.id });
|
||||
@@ -137,6 +142,7 @@ function BillsDataTable({
|
||||
onQuick: handleQuickPaymentMade,
|
||||
onAllocateLandedCost: handleAllocateLandedCost,
|
||||
onViewDetails: handleViewDetailBill,
|
||||
onConvert: handleConvertToVendorCredit,
|
||||
}}
|
||||
/>
|
||||
</DashboardContentTable>
|
||||
|
||||
@@ -34,6 +34,7 @@ export function ActionsMenu({
|
||||
onOpen,
|
||||
onDelete,
|
||||
onQuick,
|
||||
onConvert,
|
||||
onViewDetails,
|
||||
onAllocateLandedCost,
|
||||
},
|
||||
@@ -53,6 +54,11 @@ export function ActionsMenu({
|
||||
text={intl.get('edit_bill')}
|
||||
onClick={safeCallback(onEdit, original)}
|
||||
/>
|
||||
<MenuItem
|
||||
icon={<Icon icon="convert_to" />}
|
||||
text={intl.get('convert_to_vendor_credit')}
|
||||
onClick={safeCallback(onConvert, original)}
|
||||
/>
|
||||
|
||||
<If condition={!original.is_open}>
|
||||
<MenuItem
|
||||
|
||||
@@ -3,7 +3,7 @@ import { useHistory } from 'react-router-dom';
|
||||
import { Formik, Form } from 'formik';
|
||||
import { Intent } from '@blueprintjs/core';
|
||||
import intl from 'react-intl-universal';
|
||||
import { isEmpty } from 'lodash';
|
||||
import { isEmpty, pick } from 'lodash';
|
||||
import classNames from 'classnames';
|
||||
import { CLASSES } from 'common/classes';
|
||||
import {
|
||||
@@ -50,6 +50,7 @@ function VendorCreditNoteForm({
|
||||
isNewMode,
|
||||
submitPayload,
|
||||
vendorCredit,
|
||||
bill,
|
||||
createVendorCreditMutate,
|
||||
editVendorCreditMutate,
|
||||
} = useVendorCreditNoteFormContext();
|
||||
@@ -72,6 +73,9 @@ function VendorCreditNoteForm({
|
||||
...(vendorcreditAutoIncrement && {
|
||||
vendor_credit_number: vendorCreditNumber,
|
||||
}),
|
||||
...transformToEditForm({
|
||||
...pick(bill, ['vendor_id', 'entries']),
|
||||
}),
|
||||
}),
|
||||
}),
|
||||
[vendorCredit, base_currency],
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import React from 'react';
|
||||
import { useLocation } from 'react-router-dom';
|
||||
import { isEmpty, pick } from 'lodash';
|
||||
import DashboardInsider from 'components/Dashboard/DashboardInsider';
|
||||
|
||||
import { transformToEditForm } from './utils';
|
||||
import {
|
||||
useCreateVendorCredit,
|
||||
useEditVendorCredit,
|
||||
@@ -8,6 +10,7 @@ import {
|
||||
useItems,
|
||||
useVendors,
|
||||
useSettingsVendorCredits,
|
||||
useBill,
|
||||
} from 'hooks/query';
|
||||
|
||||
const VendorCreditNoteFormContext = React.createContext();
|
||||
@@ -16,6 +19,10 @@ const VendorCreditNoteFormContext = React.createContext();
|
||||
* Vendor Credit note data provider.
|
||||
*/
|
||||
function VendorCreditNoteFormProvider({ vendorCreditId, ...props }) {
|
||||
const { state } = useLocation();
|
||||
|
||||
const billId = state?.billId;
|
||||
|
||||
// Handle fetching the items table based on the given query.
|
||||
const {
|
||||
data: { items },
|
||||
@@ -39,6 +46,11 @@ function VendorCreditNoteFormProvider({ vendorCreditId, ...props }) {
|
||||
enabled: !!vendorCreditId,
|
||||
});
|
||||
|
||||
// Handle fetch bill details.
|
||||
const { isLoading: isBillLoading, data: bill } = useBill(billId, {
|
||||
enabled: !!billId,
|
||||
});
|
||||
|
||||
// Form submit payload.
|
||||
const [submitPayload, setSubmitPayload] = React.useState();
|
||||
|
||||
@@ -56,6 +68,7 @@ function VendorCreditNoteFormProvider({ vendorCreditId, ...props }) {
|
||||
vendorCredit,
|
||||
submitPayload,
|
||||
isNewMode,
|
||||
bill,
|
||||
|
||||
isVendorCreditLoading,
|
||||
|
||||
@@ -70,7 +83,8 @@ function VendorCreditNoteFormProvider({ vendorCreditId, ...props }) {
|
||||
isVendorCreditLoading ||
|
||||
isItemsLoading ||
|
||||
isVendorsLoading ||
|
||||
isVendorCreditLoading
|
||||
isVendorCreditLoading ||
|
||||
isBillLoading
|
||||
}
|
||||
name={'vendor-credit-form'}
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user