From 67f6ee64de43dda4a851a735dd9fdc7f2b7f55a0 Mon Sep 17 00:00:00 2001
From: elforjani3
Date: Sun, 22 Nov 2020 10:04:25 +0200
Subject: [PATCH] fix: alert confirm to publish manual journal.
---
.../Accounting/ManualJournalsList.js | 48 +++++++++++++++----
client/src/lang/en/index.js | 7 ++-
2 files changed, 44 insertions(+), 11 deletions(-)
diff --git a/client/src/containers/Accounting/ManualJournalsList.js b/client/src/containers/Accounting/ManualJournalsList.js
index b9e3f6191..9939d5626 100644
--- a/client/src/containers/Accounting/ManualJournalsList.js
+++ b/client/src/containers/Accounting/ManualJournalsList.js
@@ -1,6 +1,6 @@
import React, { useEffect, useState, useMemo, useCallback } from 'react';
import { Route, Switch, useHistory, withRouter } from 'react-router-dom';
-import { useQuery } from 'react-query';
+import { queryCache, useQuery } from 'react-query';
import { Alert, Intent } from '@blueprintjs/core';
import AppToaster from 'components/AppToaster';
import {
@@ -53,6 +53,7 @@ function ManualJournalsTable({
const [deleteManualJournal, setDeleteManualJournal] = useState(false);
const [selectedRows, setSelectedRows] = useState([]);
const [bulkDelete, setBulkDelete] = useState(false);
+ const [publishManualJournal, setPublishManualJournal] = useState(false);
const { formatMessage } = useIntl();
@@ -176,19 +177,36 @@ function ManualJournalsTable({
[addManualJournalsTableQueries],
);
- const handlePublishJournal = useCallback(
- (journal) => {
- requestPublishManualJournal(journal.id).then(() => {
+ // Handle publish manual Journal click.
+ const handlePublishMaunalJournal = useCallback(
+ (jouranl) => {
+ setPublishManualJournal(jouranl);
+ },
+ [setPublishManualJournal],
+ );
+
+ // Handle cancel manual journal alert.
+ const handleCancelPublishMaunalJournal = useCallback(() => {
+ setPublishManualJournal(false);
+ }, [setPublishManualJournal]);
+
+ // Handle publish manual journal confirm.
+ const handleConfirmPublishManualJournal = useCallback(() => {
+ requestPublishManualJournal(publishManualJournal.id)
+ .then(() => {
+ setPublishManualJournal(false);
AppToaster.show({
message: formatMessage({
- id: 'the_manual_journal_id_has_been_published',
+ id: 'the_manual_journal_has_been_published',
}),
intent: Intent.SUCCESS,
});
+ queryCache.invalidateQueries('manual-journals-table');
+ })
+ .catch((error) => {
+ setPublishManualJournal(false);
});
- },
- [requestPublishManualJournal, formatMessage],
- );
+ }, [publishManualJournal, requestPublishManualJournal, formatMessage]);
// Handle selected rows change.
const handleSelectedRowsChange = useCallback(
@@ -223,7 +241,7 @@ function ManualJournalsTable({
@@ -260,6 +278,18 @@ function ManualJournalsTable({
/>
+ }
+ confirmButtonText={}
+ intent={Intent.WARNING}
+ isOpen={publishManualJournal}
+ onCancel={handleCancelPublishMaunalJournal}
+ onConfirm={handleConfirmPublishManualJournal}
+ >
+
+
+
+
);
diff --git a/client/src/lang/en/index.js b/client/src/lang/en/index.js
index 8076e4b5f..15656c105 100644
--- a/client/src/lang/en/index.js
+++ b/client/src/lang/en/index.js
@@ -204,8 +204,8 @@ export default {
'The journal #{number} has been successfully edited.',
the_journal_has_been_successfully_deleted:
'The journal has been successfully deleted',
- the_manual_journal_id_has_been_published:
- 'The manual journal id has been published',
+ the_manual_journal_has_been_published:
+ 'The manual journal has been published',
the_journals_has_been_successfully_deleted:
'The journals has been successfully deleted ',
credit: 'Credit',
@@ -841,4 +841,7 @@ export default {
once_delete_these_vendors_you_will_not_able_restore_them:
"Once you delete these vendors, you won't be able to retrieve them later. Are you sure you want to delete them?",
vendor_has_bills: 'Vendor has bills',
+
+ are_sure_to_publish_this_manual_journal:
+ 'Are you sure you want to publish this manual journal?',
};