diff --git a/src/common/accountTypes.js b/src/common/accountTypes.js index 3e84a1e7d..144e75c30 100644 --- a/src/common/accountTypes.js +++ b/src/common/accountTypes.js @@ -221,3 +221,5 @@ export const ACCOUNT_TYPES = [ incomeSheet: true, }, ]; + +export const FOREIGN_CURRENCY_ACCOUNTS = ['cash', 'bank']; diff --git a/src/containers/Dialogs/AccountDialog/AccountDialogForm.js b/src/containers/Dialogs/AccountDialog/AccountDialogForm.js index 1ac575f2f..809ae6ea6 100644 --- a/src/containers/Dialogs/AccountDialog/AccountDialogForm.js +++ b/src/containers/Dialogs/AccountDialog/AccountDialogForm.js @@ -25,6 +25,7 @@ const defaultInitialValues = { name: '', code: '', description: '', + currency_code:'', subaccount: false, }; diff --git a/src/containers/Dialogs/AccountDialog/AccountDialogFormContent.js b/src/containers/Dialogs/AccountDialog/AccountDialogFormContent.js index 93cfbbfa2..ed249e561 100644 --- a/src/containers/Dialogs/AccountDialog/AccountDialogFormContent.js +++ b/src/containers/Dialogs/AccountDialog/AccountDialogFormContent.js @@ -17,12 +17,14 @@ import { Hint, AccountsSelectList, AccountsTypesSelect, + CurrencySelect, } from 'components'; import withAccounts from 'containers/Accounts/withAccounts'; import { inputIntent } from 'utils'; import { compose } from 'redux'; import { useAutofocus } from 'hooks'; +import { FOREIGN_CURRENCY_ACCOUNTS } from '../../../common/accountTypes'; import { useAccountDialogContext } from './AccountDialogProvider'; /** @@ -37,7 +39,7 @@ function AccountFormDialogFields({ const accountNameFieldRef = useAutofocus(); // Account form context. - const { accounts, accountsTypes } = useAccountDialogContext(); + const { accounts, accountsTypes, currencies } = useAccountDialogContext(); return (
@@ -58,6 +60,7 @@ function AccountFormDialogFields({ defaultSelectText={} onTypeSelected={(accountType) => { form.setFieldValue('account_type', accountType.key); + form.setFieldValue('currency_code', ''); }} disabled={ action === 'edit' || @@ -159,6 +162,24 @@ function AccountFormDialogFields({ + + {/*------------ Currency -----------*/} + + {({ form, field: { value }, meta: { error, touched } }) => ( + } + className={classNames('form-group--select-list', Classes.FILL)} + inline={true} + > + + + )} + + {({ field, meta: { error, touched } }) => (