mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-17 13:20:31 +00:00
80 lines
2.1 KiB
JavaScript
80 lines
2.1 KiB
JavaScript
import { Intent } from '@blueprintjs/core';
|
|
import intl from 'react-intl-universal';
|
|
import AppToaster from 'components/AppToaster';
|
|
|
|
import withGlobalErrors from './withGlobalErrors';
|
|
import withGlobalErrorsActions from './withGlobalErrorsActions';
|
|
import { compose } from 'utils';
|
|
|
|
let toastKeySessionExpired;
|
|
let toastKeySomethingWrong;
|
|
|
|
function GlobalErrors({
|
|
// #withGlobalErrors
|
|
globalErrors,
|
|
|
|
// #withGlobalErrorsActions
|
|
globalErrorsSet,
|
|
}) {
|
|
if (globalErrors.something_wrong) {
|
|
toastKeySessionExpired = AppToaster.show(
|
|
{
|
|
message: intl.get('ops_something_went_wrong'),
|
|
intent: Intent.DANGER,
|
|
onDismiss: () => {
|
|
globalErrorsSet({ something_wrong: false });
|
|
},
|
|
},
|
|
toastKeySessionExpired,
|
|
);
|
|
}
|
|
if (globalErrors.session_expired) {
|
|
toastKeySomethingWrong = AppToaster.show(
|
|
{
|
|
message: intl.get('session_expired'),
|
|
intent: Intent.DANGER,
|
|
onDismiss: () => {
|
|
globalErrorsSet({ session_expired: false });
|
|
},
|
|
},
|
|
toastKeySomethingWrong,
|
|
);
|
|
}
|
|
if (globalErrors.access_denied) {
|
|
toastKeySomethingWrong = AppToaster.show(
|
|
{
|
|
message: 'You do not have permissions to access this page.',
|
|
intent: Intent.DANGER,
|
|
onDismiss: () => {
|
|
globalErrorsSet({ access_denied: false });
|
|
},
|
|
},
|
|
toastKeySomethingWrong,
|
|
);
|
|
}
|
|
if (globalErrors.transactionsLocked) {
|
|
const lockedToDate =
|
|
globalErrors.transactionsLocked.formatted_locked_to_date;
|
|
|
|
AppToaster.show({
|
|
message: `Transactions before ${lockedToDate} has been locked. Hence action cannot be performed.`,
|
|
intent: Intent.DANGER,
|
|
onDismiss: () => {
|
|
globalErrorsSet({ transactionsLocked: false });
|
|
},
|
|
});
|
|
}
|
|
if (globalErrors.userInactive) {
|
|
AppToaster.show({
|
|
message: 'The authorized user is inactive.',
|
|
intent: Intent.DANGER,
|
|
onDismiss: () => {
|
|
globalErrorsSet({ userInactive: false });
|
|
},
|
|
});
|
|
}
|
|
return null;
|
|
}
|
|
|
|
export default compose(withGlobalErrors, withGlobalErrorsActions)(GlobalErrors);
|