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.
const handleFormSubmit = (values, { setSubmitting }) => {
const handleFormSubmit = (values, { setSubmitting, setErrors }) => {
setSubmitting(true);
const form = { ...values };
const afterSubmit = () => {
@@ -100,7 +108,9 @@ function ItemCategoryFormDialogContent({
});
afterSubmit(response);
};
const onError = ({ response }) => {
const onError = (errors) => {
transformErrors(errors, { setErrors });
setSubmitting(false);
};
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',
inactivate_item: 'Inactivate Item',
activate_item: 'Activate Item',
all_payments:'All Payments',
all_payments: 'All Payments',
hide_customizer: 'Hide Customizer',
opening_quantity_: 'Opening quantity',
opening_average_cost: 'Opening average cost',
opening_cost_: 'Opening cost ',
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';
export const submitItemCategory = ({ form }) => {
return (dispatch) => {
return ApiService.post('item_categories', { ...form });
};
};
return (dispatch) =>
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 }) => {
return (dispatch, getState) =>
new Promise((resolve, reject) => {