From 8035fa3466a61b7da11a4f73710e078db7e0c4dc Mon Sep 17 00:00:00 2001 From: elforjani3 Date: Sun, 20 Dec 2020 14:23:48 +0200 Subject: [PATCH 1/8] fix : estimate date --- .../src/containers/Sales/Estimate/EstimateFormHeaderFields.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/containers/Sales/Estimate/EstimateFormHeaderFields.js b/client/src/containers/Sales/Estimate/EstimateFormHeaderFields.js index 61dc0e2da..2f343d5e1 100644 --- a/client/src/containers/Sales/Estimate/EstimateFormHeaderFields.js +++ b/client/src/containers/Sales/Estimate/EstimateFormHeaderFields.js @@ -83,7 +83,7 @@ function EstimateFormHeader({ {...momentFormatter('YYYY/MM/DD')} value={tansformDateValue(value)} onChange={handleDateChange((formattedDate) => { - form.setFieldValue('estimate_date', formatMessage); + form.setFieldValue('estimate_date', formattedDate); })} popoverProps={{ position: Position.BOTTOM, minimal: true }} inputProps={{ From c186cd9caf87b893d4d9531ef8e921dedd7da0f1 Mon Sep 17 00:00:00 2001 From: elforjani3 Date: Sun, 20 Dec 2020 16:25:40 +0200 Subject: [PATCH 2/8] fix: defaultEstimate --- .../containers/Sales/Estimate/EstimateForm.js | 26 ++++++++++++------- .../Sales/Estimate/EstimateForm.schema.js | 4 +-- .../Sales/Estimate/EstimateFormBody.js | 14 +++++----- 3 files changed, 25 insertions(+), 19 deletions(-) diff --git a/client/src/containers/Sales/Estimate/EstimateForm.js b/client/src/containers/Sales/Estimate/EstimateForm.js index 03a90e7ce..11e779b1a 100644 --- a/client/src/containers/Sales/Estimate/EstimateForm.js +++ b/client/src/containers/Sales/Estimate/EstimateForm.js @@ -43,8 +43,8 @@ const MIN_LINES_NUMBER = 4; const defaultEstimate = { index: 0, item_id: '', - rate: 0, - discount: '', + rate: '', + discount: 0, quantity: 1, description: '', }; @@ -164,6 +164,8 @@ const EstimateForm = ({ values, { setSubmitting, setErrors, resetForm }, ) => { + setSubmitting(true); + const entries = values.entries.filter( (item) => item.item_id && item.quantity, ); @@ -211,7 +213,9 @@ const EstimateForm = ({ }; const onError = (errors) => { - handleErrors(errors, { setErrors }); + if (errors) { + handleErrors(errors, { setErrors }); + } setSubmitting(false); }; @@ -246,11 +250,13 @@ const EstimateForm = ({ ); return ( -
+
- {({ isSubmitting ,values }) => ( + {({ isSubmitting, values }) => (
- + !isBlank(quantity) && !isBlank(rate), then: Yup.number().required(), }), - discount: Yup.number().nullable().min(0).max(DATATYPES_LENGTH.INT_10), + discount: Yup.number().nullable().min(0).max(100), description: Yup.string().nullable().max(DATATYPES_LENGTH.TEXT), }), ), diff --git a/client/src/containers/Sales/Estimate/EstimateFormBody.js b/client/src/containers/Sales/Estimate/EstimateFormBody.js index b911d5b3c..a5b9b8636 100644 --- a/client/src/containers/Sales/Estimate/EstimateFormBody.js +++ b/client/src/containers/Sales/Estimate/EstimateFormBody.js @@ -3,13 +3,13 @@ import classNames from 'classnames'; import { CLASSES } from 'common/classes'; import EditableItemsEntriesTable from 'containers/Entries/EditableItemsEntriesTable'; -export default function EstimateFormBody() { - - +export default function EstimateFormBody({ defaultEstimate }) { return (
- - +
- ) -} \ No newline at end of file + ); +} From 7669dfa487b70475dc81fb4bd83bb60affae9301 Mon Sep 17 00:00:00 2001 From: elforjani3 Date: Sun, 20 Dec 2020 16:29:59 +0200 Subject: [PATCH 3/8] fix: estimate floating action. --- .../src/containers/Sales/Estimate/EstimateFloatingActions.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/src/containers/Sales/Estimate/EstimateFloatingActions.js b/client/src/containers/Sales/Estimate/EstimateFloatingActions.js index 3864c01fc..1aa26f55d 100644 --- a/client/src/containers/Sales/Estimate/EstimateFloatingActions.js +++ b/client/src/containers/Sales/Estimate/EstimateFloatingActions.js @@ -102,11 +102,11 @@ export default function EstimateFloatingActions({ content={ } + text={} onClick={handleSubmitDeliverAndNewBtnClick} /> } + text={} onClick={handleSubmitDeliverContinueEditingBtnClick} /> From 2721f001dafaf83615ca178b9567bc6a407e2dd2 Mon Sep 17 00:00:00 2001 From: elforjani3 Date: Sun, 20 Dec 2020 16:38:44 +0200 Subject: [PATCH 4/8] fix: invoice deliver --- client/src/containers/Sales/Invoice/InvoiceForm.js | 2 +- client/src/containers/Sales/Invoice/InvoiceForm.schema.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/client/src/containers/Sales/Invoice/InvoiceForm.js b/client/src/containers/Sales/Invoice/InvoiceForm.js index aef1cf6f4..fa8bf7a0e 100644 --- a/client/src/containers/Sales/Invoice/InvoiceForm.js +++ b/client/src/containers/Sales/Invoice/InvoiceForm.js @@ -44,7 +44,7 @@ const defaultInvoice = { index: 0, item_id: '', rate: '', - discount: '', + discount: 0, quantity: 1, description: '', }; diff --git a/client/src/containers/Sales/Invoice/InvoiceForm.schema.js b/client/src/containers/Sales/Invoice/InvoiceForm.schema.js index e57da8896..9f16449ff 100644 --- a/client/src/containers/Sales/Invoice/InvoiceForm.schema.js +++ b/client/src/containers/Sales/Invoice/InvoiceForm.schema.js @@ -17,7 +17,7 @@ const Schema = Yup.object().shape({ .max(DATATYPES_LENGTH.STRING) .label(formatMessage({ id: 'invoice_no_' })), reference_no: Yup.string().min(1).max(DATATYPES_LENGTH.STRING), - delivered: Yup.boolean().required(), + delivered: Yup.boolean(), invoice_message: Yup.string() .trim() .min(1) @@ -43,7 +43,7 @@ const Schema = Yup.object().shape({ is: (quantity, rate) => !isBlank(quantity) && !isBlank(rate), then: Yup.number().required(), }), - discount: Yup.number().nullable().min(0).max(DATATYPES_LENGTH.INT_10), + discount: Yup.number().nullable().min(0).max(100), description: Yup.string().nullable().max(DATATYPES_LENGTH.TEXT), }), ), From 8085ec1a41f4d954e9ca15d6092eb6b15205e169 Mon Sep 17 00:00:00 2001 From: elforjani3 Date: Sun, 20 Dec 2020 16:41:30 +0200 Subject: [PATCH 5/8] fix: default Receipt . --- client/src/containers/Sales/Receipt/ReceiptForm.js | 2 +- .../containers/Sales/Receipt/ReceiptForm.schema.js | 2 +- .../src/containers/Sales/Receipt/ReceiptFormBody.js | 11 +++++++---- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/client/src/containers/Sales/Receipt/ReceiptForm.js b/client/src/containers/Sales/Receipt/ReceiptForm.js index 4661ececf..f0bd79b68 100644 --- a/client/src/containers/Sales/Receipt/ReceiptForm.js +++ b/client/src/containers/Sales/Receipt/ReceiptForm.js @@ -267,7 +267,7 @@ function ReceiptForm({ onReceiptNumberChanged={handleReceiptNumberChanged} /> - + - +
- ) -} \ No newline at end of file + ); +} From ab8d2dd1f9d7502b0faa67f3112b42213633f49e Mon Sep 17 00:00:00 2001 From: elforjani3 Date: Sun, 20 Dec 2020 16:48:08 +0200 Subject: [PATCH 6/8] fix: bill schema --- client/src/containers/Purchases/Bill/BillForm.js | 2 +- client/src/containers/Purchases/Bill/BillForm.schema.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/client/src/containers/Purchases/Bill/BillForm.js b/client/src/containers/Purchases/Bill/BillForm.js index 254603b73..df9bc5b96 100644 --- a/client/src/containers/Purchases/Bill/BillForm.js +++ b/client/src/containers/Purchases/Bill/BillForm.js @@ -31,7 +31,7 @@ const defaultBill = { index: 0, item_id: '', rate: '', - discount: '', + discount: 0, quantity: 1, description: '', }; diff --git a/client/src/containers/Purchases/Bill/BillForm.schema.js b/client/src/containers/Purchases/Bill/BillForm.schema.js index fbd55e772..8814c9e6e 100644 --- a/client/src/containers/Purchases/Bill/BillForm.schema.js +++ b/client/src/containers/Purchases/Bill/BillForm.schema.js @@ -22,7 +22,7 @@ const BillFormSchema = Yup.object().shape({ .min(1) .max(DATATYPES_LENGTH.TEXT) .label(formatMessage({ id: 'note' })), - open: Yup.boolean().required(), + open: Yup.boolean(), entries: Yup.array().of( Yup.object().shape({ quantity: Yup.number() From 32a21677988d3519465e1563b1b3a6c979410721 Mon Sep 17 00:00:00 2001 From: elforjani3 Date: Sun, 20 Dec 2020 16:56:57 +0200 Subject: [PATCH 7/8] fix: defaultTabText in Payment Receive & Payment Made. --- .../containers/Purchases/PaymentMades/PaymentMadeViewTabs.js | 3 ++- .../containers/Sales/PaymentReceive/PaymentReceiveViewTabs.js | 3 ++- client/src/lang/en/index.js | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/client/src/containers/Purchases/PaymentMades/PaymentMadeViewTabs.js b/client/src/containers/Purchases/PaymentMades/PaymentMadeViewTabs.js index fdb145a4a..4fa5d1f2c 100644 --- a/client/src/containers/Purchases/PaymentMades/PaymentMadeViewTabs.js +++ b/client/src/containers/Purchases/PaymentMades/PaymentMadeViewTabs.js @@ -1,5 +1,6 @@ import React, { useEffect, useRef } from 'react'; import { useHistory } from 'react-router'; +import { FormattedMessage as T } from 'react-intl'; import { Alignment, Navbar, NavbarGroup } from '@blueprintjs/core'; import { useParams, withRouter } from 'react-router-dom'; import { connect } from 'react-redux'; @@ -80,7 +81,7 @@ function PaymentMadeViewTabs({ } tabs={tabs} onNewViewTabClick={handleClickNewView} onChange={handleTabsChange} diff --git a/client/src/containers/Sales/PaymentReceive/PaymentReceiveViewTabs.js b/client/src/containers/Sales/PaymentReceive/PaymentReceiveViewTabs.js index e5db3145c..00a476b98 100644 --- a/client/src/containers/Sales/PaymentReceive/PaymentReceiveViewTabs.js +++ b/client/src/containers/Sales/PaymentReceive/PaymentReceiveViewTabs.js @@ -2,6 +2,7 @@ import React, { useEffect, useRef } from 'react'; import { useHistory } from 'react-router'; import { Alignment, Navbar, NavbarGroup } from '@blueprintjs/core'; import { useParams, withRouter } from 'react-router-dom'; +import { FormattedMessage as T } from 'react-intl'; import { connect } from 'react-redux'; import { pick, debounce } from 'lodash'; @@ -82,8 +83,8 @@ function PaymentReceiveViewTabs({ } onNewViewTabClick={handleClickNewView} onChange={handleTabsChange} /> diff --git a/client/src/lang/en/index.js b/client/src/lang/en/index.js index 643983c87..8a825ad04 100644 --- a/client/src/lang/en/index.js +++ b/client/src/lang/en/index.js @@ -928,4 +928,5 @@ export default { 'Are you sure you want to activate this item? You will be able to inactivate it later', inactivate_item: 'Inactivate Item', activate_item: 'Activate Item', + all_payments:'All Payments' }; From 53320e4c6194c05bdd1783ee4c492cea8f994990 Mon Sep 17 00:00:00 2001 From: elforjani3 Date: Sun, 20 Dec 2020 21:05:48 +0200 Subject: [PATCH 8/8] fix: baseCurrency in sales. --- .../Sales/Estimate/EstimateFormHeader.js | 19 +++++++++---------- .../Sales/Invoice/InvoiceFormHeader.js | 15 ++++++++++++--- .../Sales/Receipt/ReceiptFormHeader.js | 17 +++++++++++++++-- 3 files changed, 36 insertions(+), 15 deletions(-) diff --git a/client/src/containers/Sales/Estimate/EstimateFormHeader.js b/client/src/containers/Sales/Estimate/EstimateFormHeader.js index 20b4d57f1..ce65f575b 100644 --- a/client/src/containers/Sales/Estimate/EstimateFormHeader.js +++ b/client/src/containers/Sales/Estimate/EstimateFormHeader.js @@ -1,22 +1,22 @@ import React, { useMemo } from 'react'; -import { compose } from 'utils'; import classNames from 'classnames'; import { sumBy } from 'lodash'; import { useFormikContext } from 'formik'; import { CLASSES } from 'common/classes'; -import { PageFormBigNumber } from 'components'; - -import withCustomers from 'containers/Customers/withCustomers'; -import withDialogActions from 'containers/Dialog/withDialogActions'; - import EstimateFormHeaderFields from './EstimateFormHeaderFields'; +import { PageFormBigNumber } from 'components'; +import withSettings from 'containers/Settings/withSettings'; +import { compose } from 'utils'; // Estimate form top header. function EstimateFormHeader({ // #ownProps onEstimateNumberChanged, + + // #withSettings + baseCurrency, }) { const { values } = useFormikContext(); @@ -33,15 +33,14 @@ function EstimateFormHeader({
); } export default compose( - withCustomers(({ customers }) => ({ - customers, + withSettings(({ organizationSettings }) => ({ + baseCurrency: organizationSettings?.baseCurrency, })), - withDialogActions, )(EstimateFormHeader); diff --git a/client/src/containers/Sales/Invoice/InvoiceFormHeader.js b/client/src/containers/Sales/Invoice/InvoiceFormHeader.js index 671dc262f..f0809033d 100644 --- a/client/src/containers/Sales/Invoice/InvoiceFormHeader.js +++ b/client/src/containers/Sales/Invoice/InvoiceFormHeader.js @@ -4,16 +4,20 @@ import { sumBy } from 'lodash'; import { useFormikContext } from 'formik'; import { CLASSES } from 'common/classes'; - import InvoiceFormHeaderFields from './InvoiceFormHeaderFields'; + import { PageFormBigNumber } from 'components'; +import withSettings from 'containers/Settings/withSettings'; +import { compose } from 'redux'; /** * Invoice form header section. */ -export default function InvoiceFormHeader({ +function InvoiceFormHeader({ // #ownProps onInvoiceNumberChanged, + // #withSettings + baseCurrency, }) { const { values } = useFormikContext(); @@ -30,8 +34,13 @@ export default function InvoiceFormHeader({ ); } +export default compose( + withSettings(({ organizationSettings }) => ({ + baseCurrency: organizationSettings?.baseCurrency, + })), +)(InvoiceFormHeader); diff --git a/client/src/containers/Sales/Receipt/ReceiptFormHeader.js b/client/src/containers/Sales/Receipt/ReceiptFormHeader.js index 5b1c9796d..38e7ea290 100644 --- a/client/src/containers/Sales/Receipt/ReceiptFormHeader.js +++ b/client/src/containers/Sales/Receipt/ReceiptFormHeader.js @@ -7,10 +7,17 @@ import { CLASSES } from 'common/classes'; import ReceiptFormHeaderFields from './ReceiptFormHeaderFields'; import { PageFormBigNumber } from 'components'; +import withSettings from 'containers/Settings/withSettings'; +import { compose } from 'redux'; -export default function ReceiptFormHeader({ +/** + * Receipt form header section. + */ +function ReceiptFormHeader({ // #ownProps onReceiptNumberChanged, + // #withSettings + baseCurrency, }) { const { values } = useFormikContext(); @@ -27,8 +34,14 @@ export default function ReceiptFormHeader({ ); } + +export default compose( + withSettings(({ organizationSettings }) => ({ + baseCurrency: organizationSettings?.baseCurrency, + })), +)(ReceiptFormHeader);