From 67f6ee64de43dda4a851a735dd9fdc7f2b7f55a0 Mon Sep 17 00:00:00 2001 From: elforjani3 Date: Sun, 22 Nov 2020 10:04:25 +0200 Subject: [PATCH 1/9] fix: alert confirm to publish manual journal. --- .../Accounting/ManualJournalsList.js | 48 +++++++++++++++---- client/src/lang/en/index.js | 7 ++- 2 files changed, 44 insertions(+), 11 deletions(-) diff --git a/client/src/containers/Accounting/ManualJournalsList.js b/client/src/containers/Accounting/ManualJournalsList.js index b9e3f6191..9939d5626 100644 --- a/client/src/containers/Accounting/ManualJournalsList.js +++ b/client/src/containers/Accounting/ManualJournalsList.js @@ -1,6 +1,6 @@ import React, { useEffect, useState, useMemo, useCallback } from 'react'; import { Route, Switch, useHistory, withRouter } from 'react-router-dom'; -import { useQuery } from 'react-query'; +import { queryCache, useQuery } from 'react-query'; import { Alert, Intent } from '@blueprintjs/core'; import AppToaster from 'components/AppToaster'; import { @@ -53,6 +53,7 @@ function ManualJournalsTable({ const [deleteManualJournal, setDeleteManualJournal] = useState(false); const [selectedRows, setSelectedRows] = useState([]); const [bulkDelete, setBulkDelete] = useState(false); + const [publishManualJournal, setPublishManualJournal] = useState(false); const { formatMessage } = useIntl(); @@ -176,19 +177,36 @@ function ManualJournalsTable({ [addManualJournalsTableQueries], ); - const handlePublishJournal = useCallback( - (journal) => { - requestPublishManualJournal(journal.id).then(() => { + // Handle publish manual Journal click. + const handlePublishMaunalJournal = useCallback( + (jouranl) => { + setPublishManualJournal(jouranl); + }, + [setPublishManualJournal], + ); + + // Handle cancel manual journal alert. + const handleCancelPublishMaunalJournal = useCallback(() => { + setPublishManualJournal(false); + }, [setPublishManualJournal]); + + // Handle publish manual journal confirm. + const handleConfirmPublishManualJournal = useCallback(() => { + requestPublishManualJournal(publishManualJournal.id) + .then(() => { + setPublishManualJournal(false); AppToaster.show({ message: formatMessage({ - id: 'the_manual_journal_id_has_been_published', + id: 'the_manual_journal_has_been_published', }), intent: Intent.SUCCESS, }); + queryCache.invalidateQueries('manual-journals-table'); + }) + .catch((error) => { + setPublishManualJournal(false); }); - }, - [requestPublishManualJournal, formatMessage], - ); + }, [publishManualJournal, requestPublishManualJournal, formatMessage]); // Handle selected rows change. const handleSelectedRowsChange = useCallback( @@ -223,7 +241,7 @@ function ManualJournalsTable({ @@ -260,6 +278,18 @@ function ManualJournalsTable({ />

+ } + confirmButtonText={} + intent={Intent.WARNING} + isOpen={publishManualJournal} + onCancel={handleCancelPublishMaunalJournal} + onConfirm={handleConfirmPublishManualJournal} + > +

+ +

+
); diff --git a/client/src/lang/en/index.js b/client/src/lang/en/index.js index 8076e4b5f..15656c105 100644 --- a/client/src/lang/en/index.js +++ b/client/src/lang/en/index.js @@ -204,8 +204,8 @@ export default { 'The journal #{number} has been successfully edited.', the_journal_has_been_successfully_deleted: 'The journal has been successfully deleted', - the_manual_journal_id_has_been_published: - 'The manual journal id has been published', + the_manual_journal_has_been_published: + 'The manual journal has been published', the_journals_has_been_successfully_deleted: 'The journals has been successfully deleted ', credit: 'Credit', @@ -841,4 +841,7 @@ export default { once_delete_these_vendors_you_will_not_able_restore_them: "Once you delete these vendors, you won't be able to retrieve them later. Are you sure you want to delete them?", vendor_has_bills: 'Vendor has bills', + + are_sure_to_publish_this_manual_journal: + 'Are you sure you want to publish this manual journal?', }; From d6b5ec4e9d0c4bfa45e8af77f27946303e0d8c5b Mon Sep 17 00:00:00 2001 From: elforjani3 Date: Sun, 22 Nov 2020 10:12:31 +0200 Subject: [PATCH 2/9] fix: redirect save as draft to list in Make journal . --- client/src/containers/Accounting/MakeJournalEntriesFooter.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/containers/Accounting/MakeJournalEntriesFooter.js b/client/src/containers/Accounting/MakeJournalEntriesFooter.js index 851a2b0ba..6589bf431 100644 --- a/client/src/containers/Accounting/MakeJournalEntriesFooter.js +++ b/client/src/containers/Accounting/MakeJournalEntriesFooter.js @@ -38,7 +38,7 @@ export default function MakeJournalEntriesFooter({ disabled={isSubmitting} className={'button-secondary ml1'} onClick={() => { - onSubmitClick({ publish: false, redirect: false }); + onSubmitClick({ publish: false, redirect: true }); }} > From 9503444c2a650a6a5687e055ca1af3e74ddf6736 Mon Sep 17 00:00:00 2001 From: elforjani3 Date: Sun, 22 Nov 2020 10:22:29 +0200 Subject: [PATCH 3/9] Fix : Edit Expense. --- client/src/containers/Expenses/ExpenseForm.schema.js | 1 + 1 file changed, 1 insertion(+) diff --git a/client/src/containers/Expenses/ExpenseForm.schema.js b/client/src/containers/Expenses/ExpenseForm.schema.js index b65756c37..f9a9615ce 100644 --- a/client/src/containers/Expenses/ExpenseForm.schema.js +++ b/client/src/containers/Expenses/ExpenseForm.schema.js @@ -19,6 +19,7 @@ const Schema = Yup.object().shape({ .trim() .min(1) .max(DATATYPES_LENGTH.TEXT) + .nullable() .label(formatMessage({ id: 'description' })), publish: Yup.boolean().label(formatMessage({ id: 'publish' })), categories: Yup.array().of( From f73ed19e77f170f537b9993192cac9069585699f Mon Sep 17 00:00:00 2001 From: elforjani3 Date: Sun, 22 Nov 2020 10:45:50 +0200 Subject: [PATCH 4/9] Fix: Edit Customer. --- client/src/containers/Customers/CustomerForm.js | 2 +- client/src/containers/Customers/CustomersTabs.js | 13 +++---------- .../src/containers/Customers/withCustomerDetail.js | 2 +- 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/client/src/containers/Customers/CustomerForm.js b/client/src/containers/Customers/CustomerForm.js index ed38b29aa..8c0d5ac62 100644 --- a/client/src/containers/Customers/CustomerForm.js +++ b/client/src/containers/Customers/CustomerForm.js @@ -250,7 +250,7 @@ function CustomerForm({
- +
} + panel={} /> ({ - customerDetail: getCustomerById(state, props.customerId), + customer: getCustomerById(state, props.customerId), }); export default connect(mapStateToProps); From 29d5f7d74b2602b84cfb23fa3aa03143282952a0 Mon Sep 17 00:00:00 2001 From: elforjani3 Date: Sun, 22 Nov 2020 12:00:01 +0200 Subject: [PATCH 5/9] Fix :Sells and purchases transactions numbers to optional. --- .../Purchases/Bill/BillsDataTable.js | 2 +- .../PaymentMades/PaymentMadeDataTable.js | 2 +- .../PaymentMades/PaymentMadeForm.schema.js | 1 + .../PaymentMades/PaymentMadeFormHeader.js | 1 - .../PaymentMadeItemsTableEditor.js | 28 +++++++++++-------- .../Sales/Estimate/EstimatesDataTable.js | 2 +- .../Sales/Invoice/InvoicesDataTable.js | 2 +- .../PaymentReceiveItemsTableEditor.js | 27 ++++++++++-------- .../Sales/Receipt/ReceiptsDataTable.js | 2 +- 9 files changed, 37 insertions(+), 30 deletions(-) diff --git a/client/src/containers/Purchases/Bill/BillsDataTable.js b/client/src/containers/Purchases/Bill/BillsDataTable.js index 7fcb20856..fbf463c4b 100644 --- a/client/src/containers/Purchases/Bill/BillsDataTable.js +++ b/client/src/containers/Purchases/Bill/BillsDataTable.js @@ -158,7 +158,7 @@ function BillsDataTable({ { id: 'bill_number', Header: formatMessage({ id: 'bill_number' }), - accessor: (row) => `#${row.bill_number}`, + accessor: (row) => (row.bill_number ? `#${row.bill_number}` : null), width: 140, className: 'bill_number', }, diff --git a/client/src/containers/Purchases/PaymentMades/PaymentMadeDataTable.js b/client/src/containers/Purchases/PaymentMades/PaymentMadeDataTable.js index 7cd1c985e..075d3f81c 100644 --- a/client/src/containers/Purchases/PaymentMades/PaymentMadeDataTable.js +++ b/client/src/containers/Purchases/PaymentMades/PaymentMadeDataTable.js @@ -110,7 +110,7 @@ function PaymentMadeDataTable({ { id: 'payment_number', Header: formatMessage({ id: 'payment_number' }), - accessor: (row) => `#${row.payment_number}`, + accessor: (row) => (row.payment_number ? `#${row.payment_number}` : null), width: 140, className: 'payment_number', }, diff --git a/client/src/containers/Purchases/PaymentMades/PaymentMadeForm.schema.js b/client/src/containers/Purchases/PaymentMades/PaymentMadeForm.schema.js index d0d22b619..804f0b90d 100644 --- a/client/src/containers/Purchases/PaymentMades/PaymentMadeForm.schema.js +++ b/client/src/containers/Purchases/PaymentMades/PaymentMadeForm.schema.js @@ -14,6 +14,7 @@ const Schema = Yup.object().shape({ .label(formatMessage({ id: 'payment_account_' })), payment_number: Yup.string() .max(DATATYPES_LENGTH.STRING) + .nullable() .label(formatMessage({ id: 'payment_no_' })), reference: Yup.string().min(1).max(DATATYPES_LENGTH.STRING).nullable(), description: Yup.string().max(DATATYPES_LENGTH.TEXT), diff --git a/client/src/containers/Purchases/PaymentMades/PaymentMadeFormHeader.js b/client/src/containers/Purchases/PaymentMades/PaymentMadeFormHeader.js index c7c2e26de..a886d7bc7 100644 --- a/client/src/containers/Purchases/PaymentMades/PaymentMadeFormHeader.js +++ b/client/src/containers/Purchases/PaymentMades/PaymentMadeFormHeader.js @@ -162,7 +162,6 @@ function PaymentMadeFormHeader({ label={} inline={true} className={('form-group--payment_number', Classes.FILL)} - labelInfo={} intent={ errors.payment_number && touched.payment_number && Intent.DANGER } diff --git a/client/src/containers/Purchases/PaymentMades/PaymentMadeItemsTableEditor.js b/client/src/containers/Purchases/PaymentMades/PaymentMadeItemsTableEditor.js index 5ead993a8..c70e2f3f5 100644 --- a/client/src/containers/Purchases/PaymentMades/PaymentMadeItemsTableEditor.js +++ b/client/src/containers/Purchases/PaymentMades/PaymentMadeItemsTableEditor.js @@ -1,5 +1,5 @@ import React, { useState, useEffect, useMemo, useCallback } from 'react'; -import { Button } from '@blueprintjs/core'; +import { Button } from '@blueprintjs/core'; import { FormattedMessage as T, useIntl } from 'react-intl'; import moment from 'moment'; import { sumBy } from 'lodash'; @@ -26,7 +26,7 @@ const CellRenderer = (content, type) => (props) => { const TotalCellRederer = (content, type) => (props) => { if (props.data.length === props.row.index + 1) { - return + return ; } return content(props); }; @@ -40,15 +40,17 @@ export default function PaymentMadeItemsTableEditor({ onUpdateData, data, errors, - noResultsMessage + noResultsMessage, }) { const transformedData = useMemo(() => { - const rows = [ ...data ]; + const rows = [...data]; const totalRow = { due_amount: sumBy(data, 'due_amount'), payment_amount: sumBy(data, 'payment_amount'), }; - if (rows.length > 0) { rows.push(totalRow) } + if (rows.length > 0) { + rows.push(totalRow); + } return rows; }, [data]); @@ -80,7 +82,7 @@ export default function PaymentMadeItemsTableEditor({ }, { Header: formatMessage({ id: 'bill_number' }), - accessor: (row) => `#${row?.bill_number}`, + accessor: (row) => `#${row?.bill_number || ''}`, Cell: CellRenderer(EmptyDiv, 'bill_number'), disableSortBy: true, className: 'bill_number', @@ -116,7 +118,7 @@ export default function PaymentMadeItemsTableEditor({ }; const rowClassNames = useCallback( - (row) => ({ 'row--total': localData.length === row.index + 1 }), + (row) => ({ 'row--total': localData.length === row.index + 1 }), [localData], ); @@ -129,7 +131,7 @@ export default function PaymentMadeItemsTableEditor({ columnId, value, ); - newRows.splice(-1,1); // removes the total row. + newRows.splice(-1, 1); // removes the total row. setLocalData(newRows); onUpdateData && onUpdateData(newRows); @@ -138,10 +140,12 @@ export default function PaymentMadeItemsTableEditor({ ); return ( -
+
`#${row.estimate_number}`, + accessor: (row) => (row.estimate_number ? `#${row.estimate_number}` : null), width: 140, className: 'estimate_number', }, diff --git a/client/src/containers/Sales/Invoice/InvoicesDataTable.js b/client/src/containers/Sales/Invoice/InvoicesDataTable.js index 54191b1a4..dba1eadd2 100644 --- a/client/src/containers/Sales/Invoice/InvoicesDataTable.js +++ b/client/src/containers/Sales/Invoice/InvoicesDataTable.js @@ -112,7 +112,7 @@ function InvoicesDataTable({ { id: 'invoice_no', Header: formatMessage({ id: 'invoice_no__' }), - accessor: (row) => `#${row.invoice_no}`, + accessor: (row) => (row.invoice_no ? `#${row.invoice_no}` : null), width: 140, className: 'invoice_no', }, diff --git a/client/src/containers/Sales/PaymentReceive/PaymentReceiveItemsTableEditor.js b/client/src/containers/Sales/PaymentReceive/PaymentReceiveItemsTableEditor.js index d2b3c10ba..3327d8a61 100644 --- a/client/src/containers/Sales/PaymentReceive/PaymentReceiveItemsTableEditor.js +++ b/client/src/containers/Sales/PaymentReceive/PaymentReceiveItemsTableEditor.js @@ -26,12 +26,12 @@ const CellRenderer = (content, type) => (props) => { const TotalCellRederer = (content, type) => (props) => { if (props.data.length === props.row.index + 1) { - return + return ; } return content(props); }; -export default function PaymentReceiveItemsTableEditor ({ +export default function PaymentReceiveItemsTableEditor({ onClickClearAllLines, onUpdateData, data, @@ -39,12 +39,14 @@ export default function PaymentReceiveItemsTableEditor ({ noResultsMessage, }) { const transformedData = useMemo(() => { - const rows = [ ...data ]; + const rows = [...data]; const totalRow = { due_amount: sumBy(data, 'due_amount'), payment_amount: sumBy(data, 'payment_amount'), }; - if (rows.length > 0) { rows.push(totalRow) } + if (rows.length > 0) { + rows.push(totalRow); + } return rows; }, [data]); @@ -81,7 +83,7 @@ export default function PaymentReceiveItemsTableEditor ({ Header: formatMessage({ id: 'invocie_number' }), accessor: (row) => { const invNumber = row?.invoice_no || row?.id; - return `#INV-${invNumber}`; + return `#INV-${invNumber || ''}`; }, Cell: CellRenderer(EmptyDiv, 'invoice_no'), disableSortBy: true, @@ -121,7 +123,7 @@ export default function PaymentReceiveItemsTableEditor ({ }; const rowClassNames = useCallback( - (row) => ({ 'row--total': localData.length === row.index + 1 }), + (row) => ({ 'row--total': localData.length === row.index + 1 }), [localData], ); @@ -144,10 +146,12 @@ export default function PaymentReceiveItemsTableEditor ({ ); return ( -
+
); - -} \ No newline at end of file +} diff --git a/client/src/containers/Sales/Receipt/ReceiptsDataTable.js b/client/src/containers/Sales/Receipt/ReceiptsDataTable.js index ea16e15a5..ba86e9ff0 100644 --- a/client/src/containers/Sales/Receipt/ReceiptsDataTable.js +++ b/client/src/containers/Sales/Receipt/ReceiptsDataTable.js @@ -111,7 +111,7 @@ function ReceiptsDataTable({ { id: 'receipt_number', Header: formatMessage({ id: 'receipt_number' }), - accessor: (row) => `#${row.receipt_number}`, + accessor: (row) => (row.receipt_number ? `#${row.receipt_number}` : null), width: 140, className: 'receipt_number', }, From bdb524a2480d4218c4983f778ca54c9bb91204a3 Mon Sep 17 00:00:00 2001 From: elforjani3 Date: Sun, 22 Nov 2020 12:28:22 +0200 Subject: [PATCH 6/9] Fix : Add prepend and money field group to payment amount field. --- .../PaymentReceiveFormHeader.js | 33 ++++++++++++------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/client/src/containers/Sales/PaymentReceive/PaymentReceiveFormHeader.js b/client/src/containers/Sales/PaymentReceive/PaymentReceiveFormHeader.js index cd6d5ec7d..09c3f9943 100644 --- a/client/src/containers/Sales/PaymentReceive/PaymentReceiveFormHeader.js +++ b/client/src/containers/Sales/PaymentReceive/PaymentReceiveFormHeader.js @@ -21,12 +21,15 @@ import { FieldRequiredHint, Icon, InputPrependButton, + MoneyInputGroup, + InputPrependText, Hint, Money, } from 'components'; import withCustomers from 'containers/Customers/withCustomers'; import withAccounts from 'containers/Accounts/withAccounts'; +import withSettings from 'containers/Settings/withSettings'; import withDialogActions from 'containers/Dialog/withDialogActions'; function PaymentReceiveFormHeader({ @@ -47,6 +50,9 @@ function PaymentReceiveFormHeader({ //#withAccouts accountsList, + //#withSettings + baseCurrency, + // #withInvoices receivableInvoices, // #ownProps @@ -149,15 +155,17 @@ function PaymentReceiveFormHeader({ } > - + + + + Receive full amount ( - ) + ) @@ -269,7 +277,7 @@ function PaymentReceiveFormHeader({
Amount Received

- +

@@ -285,5 +293,8 @@ export default compose( withAccounts(({ accountsList }) => ({ accountsList, })), + withSettings(({ organizationSettings }) => ({ + baseCurrency: organizationSettings?.baseCurrency, + })), withDialogActions, )(PaymentReceiveFormHeader); From 229eeaf1427463fbc8028a758a16e92c9bfcd020 Mon Sep 17 00:00:00 2001 From: elforjani3 Date: Sun, 22 Nov 2020 15:42:18 +0200 Subject: [PATCH 7/9] Fix: Add prepend and money field group to customer & vendors --- .../Customers/CustomerFinancialPanel.js | 51 ++++++++++--------- .../src/containers/Customers/CustomerForm.js | 8 +++ .../Vendors/VendorFinanicalPanelTab.js | 40 ++++++++++----- client/src/containers/Vendors/VendorForm.js | 8 +++ 4 files changed, 69 insertions(+), 38 deletions(-) diff --git a/client/src/containers/Customers/CustomerFinancialPanel.js b/client/src/containers/Customers/CustomerFinancialPanel.js index c8a0d39c8..295479938 100644 --- a/client/src/containers/Customers/CustomerFinancialPanel.js +++ b/client/src/containers/Customers/CustomerFinancialPanel.js @@ -1,9 +1,15 @@ import React, { useCallback, useState } from 'react'; import classNames from 'classnames'; -import { FormGroup, Position, Classes } from '@blueprintjs/core'; +import { FormGroup, Position, Classes, ControlGroup } from '@blueprintjs/core'; import { DateInput } from '@blueprintjs/datetime'; import { FastField, ErrorMessage } from 'formik'; -import { MoneyInputGroup, CurrencySelectList, Row, Col } from 'components'; +import { + MoneyInputGroup, + InputPrependText, + CurrencySelectList, + Row, + Col, +} from 'components'; import { FormattedMessage as T } from 'react-intl'; import withCurrencies from 'containers/Currencies/withCurrencies'; @@ -21,20 +27,7 @@ function CustomerFinancialPanel({ customerId, }) { - const [selectedItems, setSelectedItems] = useState(); - const onItemsSelect = useCallback( - (filedName) => { - return (filed) => { - setSelectedItems({ - ...selectedItems, - [filedName]: filed, - }); - // setFieldValue(filedName, filed.currency_code); - }; - }, - [selectedItems], - ); return (
@@ -52,7 +45,6 @@ function CustomerFinancialPanel({ @@ -62,7 +54,12 @@ function CustomerFinancialPanel({ {/*------------ Opening balance -----------*/} - {({ field, field: { value }, meta: { error, touched } }) => ( + {({ + form: { values }, + field, + field: { value }, + meta: { error, touched }, + }) => ( } className={classNames( @@ -72,13 +69,15 @@ function CustomerFinancialPanel({ intent={inputIntent({ error, touched })} inline={true} > - + + + + )} @@ -98,7 +97,9 @@ function CustomerFinancialPanel({ { + form.setFieldValue('currency_code', currency.currency_code); + }} disabled={customerId} /> diff --git a/client/src/containers/Customers/CustomerForm.js b/client/src/containers/Customers/CustomerForm.js index 8c0d5ac62..ffbddf34e 100644 --- a/client/src/containers/Customers/CustomerForm.js +++ b/client/src/containers/Customers/CustomerForm.js @@ -20,6 +20,7 @@ import withCustomerDetail from 'containers/Customers/withCustomerDetail'; import withCustomersActions from 'containers/Customers/withCustomersActions'; import withMediaActions from 'containers/Media/withMediaActions'; import withCustomers from 'containers/Customers//withCustomers'; +import withSettings from 'containers/Settings/withSettings'; import useMedia from 'hooks/useMedia'; import { compose, transformToForm } from 'utils'; @@ -73,6 +74,9 @@ function CustomerForm({ // #withCustomerDetail customer, + // #withSettings + baseCurrency, + // #withCustomersActions requestSubmitCustomer, requestEditCustomer, @@ -151,6 +155,7 @@ function CustomerForm({ const initialValues = useMemo( () => ({ ...defaultInitialValues, + currency_code: baseCurrency, ...transformToForm(customer, defaultInitialValues), }), [customer, defaultInitialValues], @@ -271,6 +276,9 @@ export default compose( withCustomers(({ customers }) => ({ customers, })), + withSettings(({ organizationSettings }) => ({ + baseCurrency: organizationSettings?.baseCurrency, + })), withDashboardActions, withCustomersActions, withMediaActions, diff --git a/client/src/containers/Vendors/VendorFinanicalPanelTab.js b/client/src/containers/Vendors/VendorFinanicalPanelTab.js index d4b15ef79..86929939e 100644 --- a/client/src/containers/Vendors/VendorFinanicalPanelTab.js +++ b/client/src/containers/Vendors/VendorFinanicalPanelTab.js @@ -1,9 +1,15 @@ import React from 'react'; import classNames from 'classnames'; -import { FormGroup, Position, Classes } from '@blueprintjs/core'; +import { FormGroup, ControlGroup, Position, Classes } from '@blueprintjs/core'; import { DateInput } from '@blueprintjs/datetime'; import { FastField, ErrorMessage } from 'formik'; -import { MoneyInputGroup, CurrencySelectList, Row, Col } from 'components'; +import { + MoneyInputGroup, + InputPrependText, + CurrencySelectList, + Row, + Col, +} from 'components'; import { FormattedMessage as T } from 'react-intl'; import withCurrencies from 'containers/Currencies/withCurrencies'; @@ -50,7 +56,12 @@ function VendorFinanicalPanelTab({ {/*------------ Opening balance -----------*/} - {({ field, field: { value }, meta: { error, touched } }) => ( + {({ + form: { values }, + field, + field: { value }, + meta: { error, touched }, + }) => ( } className={classNames( @@ -60,16 +71,19 @@ function VendorFinanicalPanelTab({ intent={inputIntent({ error, touched })} inline={true} > - + + + + )} diff --git a/client/src/containers/Vendors/VendorForm.js b/client/src/containers/Vendors/VendorForm.js index 923c28a89..23b760735 100644 --- a/client/src/containers/Vendors/VendorForm.js +++ b/client/src/containers/Vendors/VendorForm.js @@ -22,6 +22,7 @@ import VendorFloatingActions from './VendorFloatingActions'; import withDashboardActions from 'containers/Dashboard/withDashboardActions'; import withVendorDetail from './withVendorDetail'; import withVendorActions from './withVendorActions'; +import withSettings from 'containers/Settings/withSettings'; import { compose, transformToForm } from 'utils'; @@ -73,6 +74,9 @@ function VendorForm({ requestSubmitVendor, requestEditVendor, + // #withSettings + baseCurrency, + // #OwnProps vendorId, }) { @@ -88,6 +92,7 @@ function VendorForm({ const initialValues = useMemo( () => ({ ...defaultInitialValues, + currency_code: baseCurrency, ...transformToForm(vendor, defaultInitialValues), }), [defaultInitialValues], @@ -181,5 +186,8 @@ function VendorForm({ export default compose( withVendorDetail(), withDashboardActions, + withSettings(({ organizationSettings }) => ({ + baseCurrency: organizationSettings?.baseCurrency, + })), withVendorActions, )(VendorForm); From bd3c539f9e5fca4ab0588939ce4bc283dde242c4 Mon Sep 17 00:00:00 2001 From: elforjani3 Date: Sun, 22 Nov 2020 15:44:01 +0200 Subject: [PATCH 8/9] Fix: initial numeric values. --- client/src/containers/Sales/Estimate/EstimateForm.js | 6 +++--- client/src/containers/Sales/Invoice/InvoiceForm.js | 6 +++--- .../containers/Sales/PaymentReceive/PaymentReceiveForm.js | 8 ++++---- client/src/containers/Sales/Receipt/ReceiptForm.js | 6 +++--- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/client/src/containers/Sales/Estimate/EstimateForm.js b/client/src/containers/Sales/Estimate/EstimateForm.js index 5beaaeb8c..ba1f06a67 100644 --- a/client/src/containers/Sales/Estimate/EstimateForm.js +++ b/client/src/containers/Sales/Estimate/EstimateForm.js @@ -37,10 +37,10 @@ const MIN_LINES_NUMBER = 4; const defaultEstimate = { index: 0, - item_id: null, - rate: null, + item_id: '', + rate: '', discount: 0, - quantity: null, + quantity: '', description: '', }; diff --git a/client/src/containers/Sales/Invoice/InvoiceForm.js b/client/src/containers/Sales/Invoice/InvoiceForm.js index dbafc74ac..9da290b8e 100644 --- a/client/src/containers/Sales/Invoice/InvoiceForm.js +++ b/client/src/containers/Sales/Invoice/InvoiceForm.js @@ -37,10 +37,10 @@ const MIN_LINES_NUMBER = 4; const defaultInvoice = { index: 0, - item_id: null, - rate: null, + item_id: '', + rate: '', discount: 0, - quantity: null, + quantity: '', description: '', }; diff --git a/client/src/containers/Sales/PaymentReceive/PaymentReceiveForm.js b/client/src/containers/Sales/PaymentReceive/PaymentReceiveForm.js index bd9e3e71f..dcc4e21be 100644 --- a/client/src/containers/Sales/PaymentReceive/PaymentReceiveForm.js +++ b/client/src/containers/Sales/PaymentReceive/PaymentReceiveForm.js @@ -106,10 +106,10 @@ function PaymentReceiveForm({ // Default payment receive entry. const defaultPaymentReceiveEntry = { - id: null, - payment_amount: null, - invoice_id: null, - due_amount: null, + id: '', + payment_amount: '', + invoice_id: '', + due_amount: '', }; // Form initial values. diff --git a/client/src/containers/Sales/Receipt/ReceiptForm.js b/client/src/containers/Sales/Receipt/ReceiptForm.js index 23462955f..bf13f2b35 100644 --- a/client/src/containers/Sales/Receipt/ReceiptForm.js +++ b/client/src/containers/Sales/Receipt/ReceiptForm.js @@ -38,10 +38,10 @@ const MIN_LINES_NUMBER = 4; const defaultReceipt = { index: 0, - item_id: null, - rate: null, + item_id: '', + rate: '', discount: 0, - quantity: null, + quantity: '', description: '', }; From 70f4b656d8ee8026892039e113b830222792295d Mon Sep 17 00:00:00 2001 From: elforjani3 Date: Sun, 22 Nov 2020 17:16:06 +0200 Subject: [PATCH 9/9] Fix: Shipping Address in CustomerAddresaTabs. --- client/src/containers/Customers/CustomerAddressTabs.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/containers/Customers/CustomerAddressTabs.js b/client/src/containers/Customers/CustomerAddressTabs.js index 63f3824ed..6b2da9fce 100644 --- a/client/src/containers/Customers/CustomerAddressTabs.js +++ b/client/src/containers/Customers/CustomerAddressTabs.js @@ -159,7 +159,7 @@ const CustomerBillingAddress = ({}) => { inline={true} helperText={} > - +