From 8b91fa45e7e62c656691fbb413b67f592531962e Mon Sep 17 00:00:00 2001 From: dukenv0307 Date: Mon, 6 Nov 2023 17:47:58 +0700 Subject: [PATCH 1/8] fix: 30801 --- src/libs/actions/Policy.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/libs/actions/Policy.js b/src/libs/actions/Policy.js index 9b33ff9b086e..a2f4ec79f0ff 100644 --- a/src/libs/actions/Policy.js +++ b/src/libs/actions/Policy.js @@ -976,7 +976,7 @@ function generateCustomUnitID() { /** * @returns {Object} */ -function buildOptimisticCustomUnits() { +function buildOptimisticCustomUnits(currency) { const customUnitID = generateCustomUnitID(); const customUnitRateID = generateCustomUnitID(); const customUnits = { @@ -991,6 +991,7 @@ function buildOptimisticCustomUnits() { customUnitRateID, name: CONST.CUSTOM_UNITS.DEFAULT_RATE, rate: CONST.CUSTOM_UNITS.MILEAGE_IRS_RATE * CONST.POLICY.CUSTOM_UNIT_RATE_BASE_OFFSET, + currency, }, }, }, @@ -1013,7 +1014,8 @@ function buildOptimisticCustomUnits() { */ function createDraftInitialWorkspace(policyOwnerEmail = '', policyName = '', policyID = generatePolicyID(), makeMeAdmin = false) { const workspaceName = policyName || generateDefaultWorkspaceName(policyOwnerEmail); - const {customUnits} = buildOptimisticCustomUnits(); + const outputCurrency = lodashGet(allPersonalDetails, [sessionAccountID, 'localCurrencyCode'], CONST.CURRENCY.USD) + const {customUnits} = buildOptimisticCustomUnits(outputCurrency); const optimisticData = [ { @@ -1026,7 +1028,7 @@ function createDraftInitialWorkspace(policyOwnerEmail = '', policyName = '', pol role: CONST.POLICY.ROLE.ADMIN, owner: sessionEmail, isPolicyExpenseChatEnabled: true, - outputCurrency: lodashGet(allPersonalDetails, [sessionAccountID, 'localCurrencyCode'], CONST.CURRENCY.USD), + outputCurrency, pendingAction: CONST.RED_BRICK_ROAD_PENDING_ACTION.ADD, customUnits, makeMeAdmin, @@ -1059,7 +1061,8 @@ function createDraftInitialWorkspace(policyOwnerEmail = '', policyName = '', pol function createWorkspace(policyOwnerEmail = '', makeMeAdmin = false, policyName = '', policyID = generatePolicyID()) { const workspaceName = policyName || generateDefaultWorkspaceName(policyOwnerEmail); - const {customUnits, customUnitID, customUnitRateID} = buildOptimisticCustomUnits(); + const outputCurrency = lodashGet(allPersonalDetails, [sessionAccountID, 'localCurrencyCode'], CONST.CURRENCY.USD); + const {customUnits, customUnitID, customUnitRateID} = buildOptimisticCustomUnits(outputCurrency); const { announceChatReportID, @@ -1105,7 +1108,7 @@ function createWorkspace(policyOwnerEmail = '', makeMeAdmin = false, policyName role: CONST.POLICY.ROLE.ADMIN, owner: sessionEmail, isPolicyExpenseChatEnabled: true, - outputCurrency: lodashGet(allPersonalDetails, [sessionAccountID, 'localCurrencyCode'], CONST.CURRENCY.USD), + outputCurrency, pendingAction: CONST.RED_BRICK_ROAD_PENDING_ACTION.ADD, customUnits, }, From a567b1cf98466435c9053acfe77c9d8f9b7695a8 Mon Sep 17 00:00:00 2001 From: dukenv0307 Date: Fri, 10 Nov 2023 15:47:28 +0700 Subject: [PATCH 2/8] build optimistic custom unit when create workspace --- src/libs/actions/Policy.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libs/actions/Policy.js b/src/libs/actions/Policy.js index a2f4ec79f0ff..f1a17f8b898e 100644 --- a/src/libs/actions/Policy.js +++ b/src/libs/actions/Policy.js @@ -974,6 +974,7 @@ function generateCustomUnitID() { } /** + * @param {String} currency * @returns {Object} */ function buildOptimisticCustomUnits(currency) { @@ -1014,7 +1015,7 @@ function buildOptimisticCustomUnits(currency) { */ function createDraftInitialWorkspace(policyOwnerEmail = '', policyName = '', policyID = generatePolicyID(), makeMeAdmin = false) { const workspaceName = policyName || generateDefaultWorkspaceName(policyOwnerEmail); - const outputCurrency = lodashGet(allPersonalDetails, [sessionAccountID, 'localCurrencyCode'], CONST.CURRENCY.USD) + const outputCurrency = lodashGet(allPersonalDetails, [sessionAccountID, 'localCurrencyCode'], CONST.CURRENCY.USD); const {customUnits} = buildOptimisticCustomUnits(outputCurrency); const optimisticData = [ From e5fb0a1651a797ff7e7912efa70d3661285eaafe Mon Sep 17 00:00:00 2001 From: dukenv0307 Date: Fri, 10 Nov 2023 16:30:16 +0700 Subject: [PATCH 3/8] fix test --- src/libs/actions/Policy.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/actions/Policy.js b/src/libs/actions/Policy.js index 091f2930a5b9..55a734bda72e 100644 --- a/src/libs/actions/Policy.js +++ b/src/libs/actions/Policy.js @@ -1049,7 +1049,7 @@ function generateCustomUnitID() { * @returns {Object} */ function buildOptimisticCustomUnits(currency) { - const customUnitID = generateCustomUnitID(); + const customUnitID = generateCustomUnitID(); const customUnitRateID = generateCustomUnitID(); const customUnits = { [customUnitID]: { From 87c7e12a28e93c1be58974ece82f79fbb72590b4 Mon Sep 17 00:00:00 2001 From: dukenv0307 Date: Fri, 10 Nov 2023 16:30:47 +0700 Subject: [PATCH 4/8] fix lint --- src/libs/actions/Policy.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/actions/Policy.js b/src/libs/actions/Policy.js index 55a734bda72e..091f2930a5b9 100644 --- a/src/libs/actions/Policy.js +++ b/src/libs/actions/Policy.js @@ -1049,7 +1049,7 @@ function generateCustomUnitID() { * @returns {Object} */ function buildOptimisticCustomUnits(currency) { - const customUnitID = generateCustomUnitID(); + const customUnitID = generateCustomUnitID(); const customUnitRateID = generateCustomUnitID(); const customUnits = { [customUnitID]: { From 2b581aa94578977be79c249126cf47c27a321b66 Mon Sep 17 00:00:00 2001 From: dukenv0307 Date: Fri, 10 Nov 2023 16:54:03 +0700 Subject: [PATCH 5/8] fix test --- src/libs/actions/Policy.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/actions/Policy.js b/src/libs/actions/Policy.js index 091f2930a5b9..961181612a81 100644 --- a/src/libs/actions/Policy.js +++ b/src/libs/actions/Policy.js @@ -1048,7 +1048,7 @@ function generateCustomUnitID() { * @param {String} currency * @returns {Object} */ -function buildOptimisticCustomUnits(currency) { +function buildOptimisticCustomUnits(currency) { const customUnitID = generateCustomUnitID(); const customUnitRateID = generateCustomUnitID(); const customUnits = { From 697adae78bcb04e2480e3f8f5aba6dbe5cbf50b9 Mon Sep 17 00:00:00 2001 From: dukenv0307 Date: Fri, 10 Nov 2023 16:54:25 +0700 Subject: [PATCH 6/8] fix lint --- src/libs/actions/Policy.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/actions/Policy.js b/src/libs/actions/Policy.js index 961181612a81..091f2930a5b9 100644 --- a/src/libs/actions/Policy.js +++ b/src/libs/actions/Policy.js @@ -1048,7 +1048,7 @@ function generateCustomUnitID() { * @param {String} currency * @returns {Object} */ -function buildOptimisticCustomUnits(currency) { +function buildOptimisticCustomUnits(currency) { const customUnitID = generateCustomUnitID(); const customUnitRateID = generateCustomUnitID(); const customUnits = { From 17f7b490f324e9dc399fce46d32b05ae411e8331 Mon Sep 17 00:00:00 2001 From: dukenv0307 Date: Tue, 14 Nov 2023 12:14:15 +0700 Subject: [PATCH 7/8] move output currency --- src/libs/actions/Policy.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/libs/actions/Policy.js b/src/libs/actions/Policy.js index 5d5c937e46f6..b11df545fc64 100644 --- a/src/libs/actions/Policy.js +++ b/src/libs/actions/Policy.js @@ -1045,12 +1045,14 @@ function generateCustomUnitID() { } /** - * @param {String} currency + * * @returns {Object} */ -function buildOptimisticCustomUnits(currency) { +function buildOptimisticCustomUnits() { + const currency = lodashGet(allPersonalDetails, [sessionAccountID, 'localCurrencyCode'], CONST.CURRENCY.USD); const customUnitID = generateCustomUnitID(); const customUnitRateID = generateCustomUnitID(); + const customUnits = { [customUnitID]: { customUnitID, @@ -1073,6 +1075,7 @@ function buildOptimisticCustomUnits(currency) { customUnits, customUnitID, customUnitRateID, + outputCurrency: currency, }; } @@ -1086,8 +1089,7 @@ function buildOptimisticCustomUnits(currency) { */ function createDraftInitialWorkspace(policyOwnerEmail = '', policyName = '', policyID = generatePolicyID(), makeMeAdmin = false) { const workspaceName = policyName || generateDefaultWorkspaceName(policyOwnerEmail); - const outputCurrency = lodashGet(allPersonalDetails, [sessionAccountID, 'localCurrencyCode'], CONST.CURRENCY.USD); - const {customUnits} = buildOptimisticCustomUnits(outputCurrency); + const {customUnits, outputCurrency} = buildOptimisticCustomUnits(); const optimisticData = [ { @@ -1133,8 +1135,7 @@ function createDraftInitialWorkspace(policyOwnerEmail = '', policyName = '', pol function createWorkspace(policyOwnerEmail = '', makeMeAdmin = false, policyName = '', policyID = generatePolicyID()) { const workspaceName = policyName || generateDefaultWorkspaceName(policyOwnerEmail); - const outputCurrency = lodashGet(allPersonalDetails, [sessionAccountID, 'localCurrencyCode'], CONST.CURRENCY.USD); - const {customUnits, customUnitID, customUnitRateID} = buildOptimisticCustomUnits(outputCurrency); + const {customUnits, customUnitID, customUnitRateID, outputCurrency} = buildOptimisticCustomUnits(); const { announceChatReportID, From 34ecf9874d1d22cedb716c0f60936e56462a51aa Mon Sep 17 00:00:00 2001 From: dukenv0307 <129500732+dukenv0307@users.noreply.github.com> Date: Tue, 21 Nov 2023 23:44:32 +0700 Subject: [PATCH 8/8] Update src/libs/actions/Policy.js Co-authored-by: Eugene Voloshchak --- src/libs/actions/Policy.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/libs/actions/Policy.js b/src/libs/actions/Policy.js index b11df545fc64..de6afe5a3dd1 100644 --- a/src/libs/actions/Policy.js +++ b/src/libs/actions/Policy.js @@ -1045,7 +1045,6 @@ function generateCustomUnitID() { } /** - * * @returns {Object} */ function buildOptimisticCustomUnits() {