Merge branch 'develop' of https://github.com/bigcapitalhq/client into develop

This commit is contained in:
a.bouhuolia
2021-12-21 16:51:54 +02:00
16 changed files with 225 additions and 141 deletions

View File

@@ -4,9 +4,9 @@ const Schema = Yup.object().shape({
accounting_basis: Yup.string().required(),
account_code_required: Yup.boolean().nullable(),
account_code_unique: Yup.boolean().nullable(),
deposit_account: Yup.number().nullable(),
withdrawal_account: Yup.number().nullable(),
advance_deposit: Yup.number().nullable(),
preferred_deposit_account: Yup.number().nullable(),
preferred_advance_deposit: Yup.number().nullable(),
});
export const AccountantSchema = Schema;

View File

@@ -17,6 +17,7 @@ import {
FieldRequiredHint,
} from 'components';
import { handleStringChange, inputIntent } from 'utils';
import { ACCOUNT_TYPE } from 'common/accountTypes';
import { useAccountantFormContext } from './AccountantFormProvider';
@@ -113,7 +114,7 @@ export default function AccountantForm() {
</FastField>
{/* ----------- Deposit customer account ----------- */}
<FastField name={'deposit_account'}>
<FastField name={'preferred_deposit_account'}>
{({
form: { values, setFieldValue },
field: { value },
@@ -138,11 +139,15 @@ export default function AccountantForm() {
<AccountsSelectList
accounts={accounts}
onAccountSelected={({ id }) => {
setFieldValue('deposit_account', id);
setFieldValue('preferred_deposit_account', id);
}}
selectedAccountId={value}
defaultSelectText={<T id={'select_payment_account'} />}
// filterByParentTypes={[ACCOUNT_PARENT_TYPE.CURRENT_ASSET]}
filterByTypes={[
ACCOUNT_TYPE.CASH,
ACCOUNT_TYPE.BANK,
ACCOUNT_TYPE.OTHER_CURRENT_ASSET,
]}
/>
</FormGroup>
)}
@@ -178,13 +183,18 @@ export default function AccountantForm() {
}}
selectedAccountId={value}
defaultSelectText={<T id={'select_payment_account'} />}
filterByTypes={[
ACCOUNT_TYPE.CASH,
ACCOUNT_TYPE.BANK,
ACCOUNT_TYPE.OTHER_CURRENT_ASSET,
]}
/>
</FormGroup>
)}
</FastField>
{/* ----------- Withdrawal customer account ----------- */}
<FastField name={'advance_deposit'}>
<FastField name={'preferred_advance_deposit'}>
{({
form: { values, setFieldValue },
field: { value },
@@ -209,7 +219,7 @@ export default function AccountantForm() {
<AccountsSelectList
accounts={accounts}
onAccountSelected={({ id }) => {
setFieldValue('advance_deposit', id);
setFieldValue('preferred_advance_deposit', id);
}}
selectedAccountId={value}
defaultSelectText={<T id={'select_payment_account'} />}

View File

@@ -28,15 +28,13 @@ function AccountantFormPage({
accountsSettings,
billPaymentSettings,
}) {
const { saveSettingMutate } = useAccountantFormContext();
const accountantSettings = {
...billPaymentSettings,
...accountsSettings,
...pick(organizationSettings, ['accountingBasis']),
...pick(paymentReceiveSettings, ['depositAccount', 'advanceDeposit']),
...pick(paymentReceiveSettings, ['preferredDepositAccount', 'preferredAdvanceDeposit']),
};
const initialValues = {

View File

@@ -11,13 +11,13 @@ export const transformToOptions = (option) => {
group: 'bill_payments',
},
{
key: 'deposit_account',
value: option.deposit_account,
key: 'preferred_deposit_account',
value: option.preferred_deposit_account,
group: 'payment_receives',
},
{
key: 'advance_deposit',
value: option.advance_deposit,
key: 'preferred_advance_deposit',
value: option.preferred_advance_deposit,
group: 'payment_receives',
},
{

View File

@@ -3,6 +3,7 @@ import { Formik } from 'formik';
import { Intent } from '@blueprintjs/core';
import { AppToaster } from 'components';
import intl from 'react-intl-universal';
import { pick, omit } from 'lodash';
import { ItemPreferencesSchema } from './ItemPreferences.schema';
import ItemPreferencesForm from './ItemPreferencesForm';
@@ -23,12 +24,16 @@ function ItemPreferencesFormPage({
}) {
const { saveSettingMutate } = useItemPreferencesFormContext();
const itemPerferencesSettings = {
...omit(itemsSettings, ['tableSize']),
};
// Initial values.
const initialValues = {
preferred_sell_account: '',
preferred_cost_account: '',
preferred_inventory_account: '',
...transformGeneralSettings(itemsSettings),
...transformGeneralSettings(itemPerferencesSettings),
};
useEffect(() => {
@@ -37,8 +42,10 @@ function ItemPreferencesFormPage({
// Handle form submit.
const handleFormSubmit = (values, { setSubmitting, setErrors }) => {
const options = optionsMapToArray(values)
.map((option) => ({ ...option, group: 'items' }));
const options = optionsMapToArray(values).map((option) => ({
...option,
group: 'items',
}));
const onSuccess = () => {
AppToaster.show({