fix : handle errors message with item categories.

This commit is contained in:
elforjani3
2021-01-02 14:52:49 +02:00
parent 792c96c344
commit 792f39a8f9
3 changed files with 31 additions and 9 deletions

View File

@@ -80,8 +80,16 @@ function ItemCategoryFormDialogContent({
[], [],
); );
const transformErrors = (errors, { setErrors }) => {
if (errors.find((error) => error.type === 'CATEGORY_NAME_EXISTS')) {
setErrors({
name: formatMessage({ id: 'category_name_exists' }),
});
}
};
// Handles the form submit. // Handles the form submit.
const handleFormSubmit = (values, { setSubmitting }) => { const handleFormSubmit = (values, { setSubmitting, setErrors }) => {
setSubmitting(true); setSubmitting(true);
const form = { ...values }; const form = { ...values };
const afterSubmit = () => { const afterSubmit = () => {
@@ -100,7 +108,9 @@ function ItemCategoryFormDialogContent({
}); });
afterSubmit(response); afterSubmit(response);
}; };
const onError = ({ response }) => {
const onError = (errors) => {
transformErrors(errors, { setErrors });
setSubmitting(false); setSubmitting(false);
}; };
if (isNewMode) { if (isNewMode) {

View File

@@ -929,11 +929,14 @@ export default {
'Are you sure you want to activate this item? You will be able to inactivate it later', 'Are you sure you want to activate this item? You will be able to inactivate it later',
inactivate_item: 'Inactivate Item', inactivate_item: 'Inactivate Item',
activate_item: 'Activate Item', activate_item: 'Activate Item',
all_payments:'All Payments', all_payments: 'All Payments',
hide_customizer: 'Hide Customizer', hide_customizer: 'Hide Customizer',
opening_quantity_: 'Opening quantity', opening_quantity_: 'Opening quantity',
opening_average_cost: 'Opening average cost', opening_average_cost: 'Opening average cost',
opening_cost_: 'Opening cost ', opening_cost_: 'Opening cost ',
opening_date_: 'Opening date ', opening_date_: 'Opening date ',
no_results:'No results.' no_results: 'No results.',
}; the_invoice_cannot_be_deleted:
'The invoice cannot be deleted cause has associated payment transactions',
category_name_exists:'Category name exists'
};

View File

@@ -2,11 +2,20 @@ import ApiService from 'services/ApiService';
import t from 'store/types'; import t from 'store/types';
export const submitItemCategory = ({ form }) => { export const submitItemCategory = ({ form }) => {
return (dispatch) => { return (dispatch) =>
return ApiService.post('item_categories', { ...form }); new Promise((resolve, reject) => {
}; ApiService.post('item_categories', form)
}; .then((response) => {
resolve(response);
})
.catch((error) => {
const { response } = error;
const { data } = response;
reject(data?.errors);
});
});
};
export const fetchItemCategories = ({ query }) => { export const fetchItemCategories = ({ query }) => {
return (dispatch, getState) => return (dispatch, getState) =>
new Promise((resolve, reject) => { new Promise((resolve, reject) => {