mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-21 07:10:33 +00:00
feat: catch error.
This commit is contained in:
@@ -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 (
|
||||||
@@ -68,4 +81,4 @@ function ExpenseDeleteAlert({
|
|||||||
export default compose(
|
export default compose(
|
||||||
withAlertStoreConnect(),
|
withAlertStoreConnect(),
|
||||||
withAlertActions,
|
withAlertActions,
|
||||||
)(ExpenseDeleteAlert);
|
)(ExpenseDeleteAlert);
|
||||||
|
|||||||
@@ -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,
|
||||||
|
});
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user