feat: catch error.

This commit is contained in:
elforjani3
2021-07-24 15:03:13 +02:00
parent fabc8d3b4e
commit f167d5510f
3 changed files with 44 additions and 18 deletions

View File

@@ -21,11 +21,7 @@ function ExpenseDeleteAlert({
isOpen, isOpen,
payload: { expenseId }, payload: { expenseId },
}) { }) {
const { mutateAsync: deleteExpenseMutate, isLoading } = useDeleteExpense();
const {
mutateAsync: deleteExpenseMutate,
isLoading,
} = useDeleteExpense();
// Handle cancel expense journal. // Handle cancel expense journal.
const handleCancelExpenseDelete = () => { const handleCancelExpenseDelete = () => {
@@ -34,17 +30,34 @@ function ExpenseDeleteAlert({
// Handle confirm delete expense. // Handle confirm delete expense.
const handleConfirmExpenseDelete = () => { const handleConfirmExpenseDelete = () => {
deleteExpenseMutate(expenseId).then(() => { deleteExpenseMutate(expenseId)
AppToaster.show({ .then(() => {
message: intl.get( AppToaster.show({
'the_expense_has_been_deleted_successfully', message: intl.get('the_expense_has_been_deleted_successfully', {
{ number: expenseId }, number: expenseId,
), }),
intent: Intent.SUCCESS, intent: Intent.SUCCESS,
}); });
}).finally(() => { closeAlert('expense-delete');
closeAlert('expense-delete'); })
}); .catch(
({
response: {
data: { errors },
},
}) => {
if (
errors.find((e) => e.type === 'EXPENSE_HAS_ASSOCIATED_LANDED_COST')
) {
AppToaster.show({
intent: Intent.DANGER,
message: intl.get(
'couldn_t_delete_expense_transaction_has_associated_located_landed_cost_transaction',
),
});
}
},
);
}; };
return ( return (

View File

@@ -51,4 +51,14 @@ export const handleDeleteErrors = (errors) => {
intent: Intent.DANGER, intent: Intent.DANGER,
}); });
} }
if (
errors.find((error) => error.type === 'BILL_HAS_ASSOCIATED_LANDED_COSTS')
) {
AppToaster.show({
message: intl.get(
'cannot_delete_bill_that_has_associated_landed_cost_transactions',
),
intent: Intent.DANGER,
});
}
}; };

View File

@@ -1136,5 +1136,8 @@
"select_transaction":"Select transaction account", "select_transaction":"Select transaction account",
"details":"Details", "details":"Details",
"located_landed_cost":"Located Landed Cost", "located_landed_cost":"Located Landed Cost",
"delete_transaction":"Delete transaction" "delete_transaction":"Delete transaction",
"cannot_delete_bill_that_has_associated_landed_cost_transactions":"Cannot delete bill that has associated landed cost transactions.",
"couldn_t_delete_expense_transaction_has_associated_located_landed_cost_transaction":"Couldn't delete expense transaction has associated located landed cost transaction"
} }