This commit is contained in:
a.bouhuolia
2021-09-08 16:32:59 +02:00
49 changed files with 305 additions and 216 deletions

View File

@@ -23,6 +23,7 @@ import ReceiptFormDialogs from './ReceiptFormDialogs';
import withDashboardActions from 'containers/Dashboard/withDashboardActions';
import withSettings from 'containers/Settings/withSettings';
import withCurrentOrganization from 'containers/Organization/withCurrentOrganization';
import { AppToaster } from 'components';
import { compose, orderingLinesIndexes, transactionNumber } from 'utils';
@@ -37,7 +38,9 @@ function ReceiptForm({
receiptNumberPrefix,
receiptAutoIncrement,
preferredDepositAccount,
baseCurrency,
// #withCurrentOrganization
organization: { base_currency },
}) {
const history = useHistory();
@@ -59,7 +62,7 @@ function ReceiptForm({
const initialValues = useMemo(
() => ({
...(!isEmpty(receipt)
? { ...transformToEditForm(receipt), currency_code: baseCurrency }
? { ...transformToEditForm(receipt), currency_code: base_currency }
: {
...defaultReceipt,
...(receiptAutoIncrement && {
@@ -67,7 +70,7 @@ function ReceiptForm({
}),
deposit_account_id: parseInt(preferredDepositAccount),
entries: orderingLinesIndexes(defaultReceipt.entries),
currency_code: baseCurrency,
currency_code: base_currency,
}),
}),
[receipt, preferredDepositAccount, nextReceiptNumber, receiptAutoIncrement],
@@ -104,7 +107,7 @@ function ReceiptForm({
...omit(values, ['receipt_number_manually', 'receipt_number']),
...(values.receipt_number_manually && {
receipt_number: values.receipt_number,
currency_code: baseCurrency,
currency_code: base_currency,
}),
closed: submitPayload.status,
entries: entries.map((entry) => ({ ...omit(entry, ['total']) })),
@@ -178,11 +181,11 @@ function ReceiptForm({
export default compose(
withDashboardActions,
withSettings(({ receiptSettings, organizationSettings }) => ({
withSettings(({ receiptSettings }) => ({
receiptNextNumber: receiptSettings?.nextNumber,
receiptNumberPrefix: receiptSettings?.numberPrefix,
receiptAutoIncrement: receiptSettings?.autoIncrement,
preferredDepositAccount: receiptSettings?.preferredDepositAccount,
baseCurrency: organizationSettings?.baseCurrency,
})),
withCurrentOrganization(),
)(ReceiptForm);

View File

@@ -7,7 +7,7 @@ import { CLASSES } from 'common/classes';
import { PageFormBigNumber } from 'components';
import ReceiptFormHeaderFields from './ReceiptFormHeaderFields';
import withSettings from 'containers/Settings/withSettings';
import withCurrentOrganization from 'containers/Organization/withCurrentOrganization';
import { getEntriesTotal } from 'containers/Entries/utils';
import { compose } from 'redux';
@@ -18,8 +18,8 @@ import { compose } from 'redux';
function ReceiptFormHeader({
// #ownProps
onReceiptNumberChanged,
// #withSettings
baseCurrency,
// #withCurrentOrganization
organization: { base_currency },
}) {
const { values } = useFormikContext();
@@ -37,14 +37,10 @@ function ReceiptFormHeader({
<PageFormBigNumber
label={intl.get('due_amount')}
amount={totalDueAmount}
currencyCode={baseCurrency}
currencyCode={base_currency}
/>
</div>
);
}
export default compose(
withSettings(({ organizationSettings }) => ({
baseCurrency: organizationSettings?.baseCurrency,
})),
)(ReceiptFormHeader);
export default compose(withCurrentOrganization())(ReceiptFormHeader);

View File

@@ -13,7 +13,6 @@ import withDrawerActions from 'containers/Drawer/withDrawerActions';
import withDialogActions from 'containers/Dialog/withDialogActions';
import withReceipts from './withReceipts';
import withReceiptsActions from './withReceiptsActions';
import withSettings from 'containers/Settings/withSettings';
import { useReceiptsListContext } from './ReceiptsListProvider';
import { useReceiptsTableColumns, ActionsMenu } from './components';
@@ -28,9 +27,6 @@ function ReceiptsDataTable({
// #withReceipts
receiptTableState,
// #withSettings
baseCurrency,
// #withAlertsActions
openAlert,
@@ -99,6 +95,10 @@ function ReceiptsDataTable({
if (isEmptyStatus) {
return <ReceiptsEmptyStatus />;
}
// Handle cell click.
const handleCellClick = (cell, event) => {
openDrawer('receipt-detail-drawer', { receiptId: cell.row.original.id });
};
return (
<DashboardContentTable>
@@ -122,6 +122,7 @@ function ReceiptsDataTable({
TableLoadingRenderer={TableSkeletonRows}
TableHeaderSkeletonRenderer={TableSkeletonHeader}
ContextMenu={ActionsMenu}
onCellClick={handleCellClick}
payload={{
onEdit: handleEditReceipt,
onDelete: handleDeleteReceipt,
@@ -129,7 +130,6 @@ function ReceiptsDataTable({
onDrawer: handleDrawerReceipt,
onViewDetails: handleViewDetailReceipt,
onPrint: handlePrintInvoice,
baseCurrency,
}}
/>
</DashboardContentTable>
@@ -144,7 +144,4 @@ export default compose(
withReceipts(({ receiptTableState }) => ({
receiptTableState,
})),
withSettings(({ organizationSettings }) => ({
baseCurrency: organizationSettings?.baseCurrency,
})),
)(ReceiptsDataTable);

View File

@@ -106,6 +106,7 @@ export function useReceiptsTableColumns() {
accessor: (r) => moment(r.receipt_date).format('YYYY MMM DD'),
width: 140,
className: 'receipt_date',
clickable: true,
},
{
id: 'customer',
@@ -113,6 +114,7 @@ export function useReceiptsTableColumns() {
accessor: 'customer.display_name',
width: 140,
className: 'customer_id',
clickable: true,
},
{
id: 'receipt_number',
@@ -120,6 +122,7 @@ export function useReceiptsTableColumns() {
accessor: 'receipt_number',
width: 140,
className: 'receipt_number',
clickable: true,
},
{
id: 'deposit_account',
@@ -127,6 +130,7 @@ export function useReceiptsTableColumns() {
accessor: 'deposit_account.name',
width: 140,
className: 'deposit_account',
clickable: true,
},
{
id: 'amount',
@@ -134,6 +138,7 @@ export function useReceiptsTableColumns() {
accessor: (r) => <Money amount={r.amount} currency={r.currency_code} />,
width: 140,
className: 'amount',
clickable: true,
},
{
id: 'status',
@@ -141,6 +146,7 @@ export function useReceiptsTableColumns() {
accessor: StatusAccessor,
width: 140,
className: 'status',
clickable: true,
},
{
id: 'reference_no',
@@ -148,6 +154,7 @@ export function useReceiptsTableColumns() {
accessor: 'reference_no',
width: 140,
className: 'reference_no',
clickable: true,
},
],
[],