From 5521d4bb5ebb3c4b080da6459ead504e1279a30a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hanno=20J=2E=20G=C3=B6decke?= Date: Thu, 20 Jul 2023 08:24:52 +0200 Subject: [PATCH 1/9] wip: add policy as dependency to function --- .../LHNOptionsList/OptionRowLHNData.js | 17 +++++-- src/libs/OptionsListUtils.js | 9 ++-- src/libs/ReportUtils.js | 50 +++++++++++-------- src/libs/SidebarUtils.js | 9 ++-- 4 files changed, 53 insertions(+), 32 deletions(-) diff --git a/src/components/LHNOptionsList/OptionRowLHNData.js b/src/components/LHNOptionsList/OptionRowLHNData.js index 05e9d2e06cc6..8cf96b070004 100644 --- a/src/components/LHNOptionsList/OptionRowLHNData.js +++ b/src/components/LHNOptionsList/OptionRowLHNData.js @@ -29,6 +29,11 @@ const propTypes = { // eslint-disable-next-line react/forbid-prop-types fullReport: PropTypes.object, + policies: PropTypes.shape({ + /** Name of the policy */ + name: PropTypes.string, + }), + ...withCurrentReportIDPropTypes, ...basePropTypes, }; @@ -37,6 +42,7 @@ const defaultProps = { shouldDisableFocusOptions: false, personalDetails: {}, fullReport: {}, + policies: {}, preferredLocale: CONST.LOCALES.DEFAULT, ...withCurrentReportIDDefaultProps, ...baseDefaultProps, @@ -48,22 +54,24 @@ const defaultProps = { * The OptionRowLHN component is memoized, so it will only * re-render if the data really changed. */ -function OptionRowLHNData({shouldDisableFocusOptions, currentReportID, fullReport, personalDetails, preferredLocale, comment, ...propsToForward}) { +function OptionRowLHNData({shouldDisableFocusOptions, currentReportID, fullReport, personalDetails, preferredLocale, comment, policies, ...propsToForward}) { const reportID = propsToForward.reportID; // We only want to pass a boolean to the memoized component, // instead of a changing number (so we prevent unnecessary re-renders). const isFocused = !shouldDisableFocusOptions && currentReportID === reportID; + const policy = lodashGet(policies, [`${ONYXKEYS.COLLECTION.POLICY}${fullReport.policyID}`], ''); + const optionItemRef = useRef(); const optionItem = useMemo(() => { // Note: ideally we'd have this as a dependent selector in onyx! - const item = SidebarUtils.getOptionData(fullReport, personalDetails, preferredLocale); + const item = SidebarUtils.getOptionData(fullReport, personalDetails, preferredLocale, policy); if (deepEqual(item, optionItemRef.current)) { return optionItemRef.current; } optionItemRef.current = item; return item; - }, [fullReport, preferredLocale, personalDetails]); + }, [fullReport, personalDetails, preferredLocale, policy]); useEffect(() => { if (!optionItem || optionItem.hasDraftComment || !comment || comment.length <= 0 || isFocused) { @@ -137,6 +145,9 @@ export default React.memo( preferredLocale: { key: ONYXKEYS.NVP_PREFERRED_LOCALE, }, + policies: { + key: ONYXKEYS.COLLECTION.POLICY, + }, }), )(OptionRowLHNData), ); diff --git a/src/libs/OptionsListUtils.js b/src/libs/OptionsListUtils.js index 2acb1f51cbe7..000f6fb3d488 100644 --- a/src/libs/OptionsListUtils.js +++ b/src/libs/OptionsListUtils.js @@ -426,13 +426,14 @@ function getLastMessageTextForReport(report) { * @param {Array} accountIDs * @param {Object} personalDetails * @param {Object} report - * @param {Object} reportActions - * @param {Object} options + * @param {Object} [policy] + * @param {Object} [reportActions] + * @param {Object} [options] * @param {Boolean} [options.showChatPreviewLine] * @param {Boolean} [options.forcePolicyNamePreview] * @returns {Object} */ -function createOption(accountIDs, personalDetails, report, reportActions = {}, {showChatPreviewLine = false, forcePolicyNamePreview = false}) { +function createOption(accountIDs, personalDetails, report, policy = undefined, reportActions = {}, {showChatPreviewLine = false, forcePolicyNamePreview = false}) { const result = { text: null, alternateText: null, @@ -511,7 +512,7 @@ function createOption(accountIDs, personalDetails, report, reportActions = {}, { CONST.REPORT.ARCHIVE_REASON.DEFAULT; lastMessageText = Localize.translate(preferredLocale, `reportArchiveReasons.${archiveReason}`, { displayName: archiveReason.displayName || PersonalDetailsUtils.getDisplayNameOrDefault(lastActorDetails, 'displayName'), - policyName: ReportUtils.getPolicyName(report), + policyName: ReportUtils.getPolicyName(report, false, policy), }); } diff --git a/src/libs/ReportUtils.js b/src/libs/ReportUtils.js index f187d739e37f..c13df5d8f186 100644 --- a/src/libs/ReportUtils.js +++ b/src/libs/ReportUtils.js @@ -505,9 +505,10 @@ function isArchivedRoom(report) { * @param {String} report.oldPolicyName * @param {String} report.policyName * @param {Boolean} [returnEmptyIfNotFound] + * @param {Object} [policy] * @returns {String} */ -function getPolicyName(report, returnEmptyIfNotFound = false) { +function getPolicyName(report, returnEmptyIfNotFound = false, policy = undefined) { const noPolicyFound = returnEmptyIfNotFound ? '' : Localize.translateLocal('workspace.common.unavailable'); if (_.isEmpty(report)) { return noPolicyFound; @@ -516,7 +517,7 @@ function getPolicyName(report, returnEmptyIfNotFound = false) { if ((!allPolicies || _.size(allPolicies) === 0) && !report.policyName) { return Localize.translateLocal('workspace.common.unavailable'); } - const policy = _.get(allPolicies, `${ONYXKEYS.COLLECTION.POLICY}${report.policyID}`); + const finalPolicy = policy || _.get(allPolicies, `${ONYXKEYS.COLLECTION.POLICY}${report.policyID}`); // // Public rooms send back the policy name with the reportSummary, // // since they can also be accessed by people who aren't in the workspace @@ -785,10 +786,11 @@ function getIconsForParticipants(participants, personalDetails) { * Given a report, return the associated workspace icon. * * @param {Object} report + * @param {Object} [policy] * @returns {Object} */ -function getWorkspaceIcon(report) { - const workspaceName = getPolicyName(report); +function getWorkspaceIcon(report, policy = undefined) { + const workspaceName = getPolicyName(report, false, policy); const policyExpenseChatAvatarSource = lodashGet(allPolicies, [`${ONYXKEYS.COLLECTION.POLICY}${report.policyID}`, 'avatar']) || getDefaultWorkspaceAvatar(workspaceName); const workspaceIcon = { source: policyExpenseChatAvatarSource, @@ -809,9 +811,10 @@ function getWorkspaceIcon(report) { * @param {Boolean} [isPayer] * @param {String} [defaultName] * @param {Number} [defaultAccountID] + * @param {Object} [policy] * @returns {Array<*>} */ -function getIcons(report, personalDetails, defaultIcon = null, isPayer = false, defaultName = '', defaultAccountID = -1) { +function getIcons(report, personalDetails, defaultIcon = null, isPayer = false, defaultName = '', defaultAccountID = -1, policy = undefined) { if (_.isEmpty(report)) { const fallbackIcon = { source: defaultIcon || Expensicons.FallbackAvatar, @@ -823,7 +826,7 @@ function getIcons(report, personalDetails, defaultIcon = null, isPayer = false, } if (isExpenseRequest(report)) { const parentReportAction = ReportActionsUtils.getParentReportAction(report); - const workspaceIcon = getWorkspaceIcon(report); + const workspaceIcon = getWorkspaceIcon(report, policy); const memberIcon = { source: UserUtils.getAvatar(lodashGet(personalDetails, [parentReportAction.actorAccountID, 'avatar']), parentReportAction.actorAccountID), id: parentReportAction.actorAccountID, @@ -846,7 +849,7 @@ function getIcons(report, personalDetails, defaultIcon = null, isPayer = false, }; if (isWorkspaceThread(report)) { - const workspaceIcon = getWorkspaceIcon(report); + const workspaceIcon = getWorkspaceIcon(report, policy); return [actorIcon, workspaceIcon]; } return [actorIcon]; @@ -860,7 +863,7 @@ function getIcons(report, personalDetails, defaultIcon = null, isPayer = false, }; if (isWorkspaceTaskReport(report)) { - const workspaceIcon = getWorkspaceIcon(report); + const workspaceIcon = getWorkspaceIcon(report, policy); return [ownerIcon, workspaceIcon]; } @@ -879,11 +882,11 @@ function getIcons(report, personalDetails, defaultIcon = null, isPayer = false, return [domainIcon]; } if (isAdminRoom(report) || isAnnounceRoom(report) || isChatRoom(report) || isArchivedRoom(report)) { - const workspaceIcon = getWorkspaceIcon(report); + const workspaceIcon = getWorkspaceIcon(report, policy); return [workspaceIcon]; } if (isPolicyExpenseChat(report) || isExpenseReport(report)) { - const workspaceIcon = getWorkspaceIcon(report); + const workspaceIcon = getWorkspaceIcon(report, policy); const memberIcon = { source: UserUtils.getAvatar(lodashGet(personalDetails, [report.ownerAccountID, 'avatar']), report.ownerAccountID), id: report.ownerAccountID, @@ -1032,14 +1035,15 @@ function getMoneyRequestTotal(report, moneyRequestReports = {}) { * Get the title for a policy expense chat which depends on the role of the policy member seeing this report * * @param {Object} report + * @param {Object} [policy] * @returns {String} */ -function getPolicyExpenseChatName(report) { +function getPolicyExpenseChatName(report, policy = undefined) { const reportOwnerDisplayName = getDisplayNameForParticipant(report.ownerAccountID) || lodashGet(allPersonalDetails, [report.ownerAccountID, 'login']) || report.reportName; // If the policy expense chat is owned by this user, use the name of the policy as the report name. if (report.isOwnPolicyExpenseChat) { - return getPolicyName(report); + return getPolicyName(report, false, policy); } const policyExpenseChatRole = lodashGet(allPolicies, [`${ONYXKEYS.COLLECTION.POLICY}${report.policyID}`, 'role']) || 'user'; @@ -1050,7 +1054,7 @@ function getPolicyExpenseChatName(report) { const lastAction = ReportActionsUtils.getLastVisibleAction(report.reportID); const archiveReason = (lastAction && lastAction.originalMessage && lastAction.originalMessage.reason) || CONST.REPORT.ARCHIVE_REASON.DEFAULT; if (archiveReason === CONST.REPORT.ARCHIVE_REASON.ACCOUNT_MERGED && policyExpenseChatRole !== CONST.POLICY.ROLE.ADMIN) { - return getPolicyName(report); + return getPolicyName(report, false, policy); } } @@ -1062,11 +1066,12 @@ function getPolicyExpenseChatName(report) { * Get the title for a IOU or expense chat which will be showing the payer and the amount * * @param {Object} report + * @param {Object} [policy] * @returns {String} */ -function getMoneyRequestReportName(report) { +function getMoneyRequestReportName(report, policy = undefined) { const formattedAmount = CurrencyUtils.convertToDisplayString(getMoneyRequestTotal(report), report.currency); - const payerName = isExpenseReport(report) ? getPolicyName(report) : getDisplayNameForParticipant(report.managerID); + const payerName = isExpenseReport(report) ? getPolicyName(report, false, policy) : getDisplayNameForParticipant(report.managerID); return Localize.translateLocal(report.hasOutstandingIOU ? 'iou.payerOwesAmount' : 'iou.payerPaidAmount', {payer: payerName, amount: formattedAmount}); } @@ -1089,9 +1094,10 @@ function getTransactionReportName(reportAction) { * * @param {Object} report * @param {Object} [reportAction={}] + * @param {Object} [policy] * @returns {String} */ -function getReportPreviewMessage(report, reportAction = {}) { +function getReportPreviewMessage(report, reportAction = {}, policy = undefined) { const reportActionMessage = lodashGet(reportAction, 'message[0].html', ''); if (_.isEmpty(report) || !report.reportID) { @@ -1101,7 +1107,7 @@ function getReportPreviewMessage(report, reportAction = {}) { } const totalAmount = getMoneyRequestTotal(report); - const payerName = isExpenseReport(report) ? getPolicyName(report) : getDisplayNameForParticipant(report.managerID, true); + const payerName = isExpenseReport(report) ? getPolicyName(report, false, policy) : getDisplayNameForParticipant(report.managerID, true); const formattedAmount = CurrencyUtils.convertToDisplayString(totalAmount, report.currency); if (isSettled(report.reportID)) { @@ -1121,9 +1127,10 @@ function getReportPreviewMessage(report, reportAction = {}) { * Get the title for a report. * * @param {Object} report + * @param {Object} [policy] * @returns {String} */ -function getReportName(report) { +function getReportName(report, policy = undefined) { let formattedName; if (isChatThread(report)) { const parentReportAction = ReportActionsUtils.getParentReportAction(report); @@ -1176,9 +1183,10 @@ function getReportName(report) { * Recursively navigates through thread parents to get the root report and workspace name. * The recursion stops when we find a non thread or money request report, whichever comes first. * @param {Object} report + * @param {Object} policy * @returns {Object} */ -function getRootReportAndWorkspaceName(report) { +function getRootReportAndWorkspaceName(report, policy) { if (isChildReport(report) && !isMoneyRequestReport(report)) { const parentReport = lodashGet(allReports, [`${ONYXKEYS.COLLECTION.REPORT}${report.parentReportID}`]); return getRootReportAndWorkspaceName(parentReport); @@ -1192,13 +1200,13 @@ function getRootReportAndWorkspaceName(report) { if (isMoneyRequestReport(report)) { return { rootReportName: lodashGet(report, 'displayName', ''), - workspaceName: isIOUReport(report) ? CONST.POLICY.OWNER_EMAIL_FAKE : getPolicyName(report, true), + workspaceName: isIOUReport(report) ? CONST.POLICY.OWNER_EMAIL_FAKE : getPolicyName(report, true, policy), }; } return { rootReportName: getReportName(report), - workspaceName: getPolicyName(report, true), + workspaceName: getPolicyName(report, true, policy), }; } diff --git a/src/libs/SidebarUtils.js b/src/libs/SidebarUtils.js index 0925560d710b..7fdabea4250c 100644 --- a/src/libs/SidebarUtils.js +++ b/src/libs/SidebarUtils.js @@ -200,9 +200,10 @@ function getOrderedReportIDs(currentReportId, allReportsDict, betas, policies, p * @param {Object} report * @param {Object} personalDetails * @param {String} preferredLocale + * @param {Object} [policy] * @returns {Object} */ -function getOptionData(report, personalDetails, preferredLocale) { +function getOptionData(report, personalDetails, preferredLocale, policy) { // When a user signs out, Onyx is cleared. Due to the lazy rendering with a virtual list, it's possible for // this method to be called after the Onyx data has been cleared out. In that case, it's fine to do // a null check here and return early. @@ -305,7 +306,7 @@ function getOptionData(report, personalDetails, preferredLocale) { CONST.REPORT.ARCHIVE_REASON.DEFAULT; lastMessageText = Localize.translate(preferredLocale, `reportArchiveReasons.${archiveReason}`, { displayName: archiveReason.displayName || PersonalDetailsUtils.getDisplayNameOrDefault(lastActorDetails, 'displayName'), - policyName: ReportUtils.getPolicyName(report), + policyName: ReportUtils.getPolicyName(report, false, policy), }); } @@ -355,13 +356,13 @@ function getOptionData(report, personalDetails, preferredLocale) { result.payPalMeAddress = personalDetail.payPalMeAddress; } - const reportName = ReportUtils.getReportName(report); + const reportName = ReportUtils.getReportName(report, false, policy); result.text = reportName; result.subtitle = subtitle; result.participantsList = participantPersonalDetailList; - result.icons = ReportUtils.getIcons(report, personalDetails, UserUtils.getAvatar(personalDetail.avatar, personalDetail.accountID), true); + result.icons = ReportUtils.getIcons(report, personalDetails, UserUtils.getAvatar(personalDetail.avatar, personalDetail.accountID), true, '', -1, policy); result.searchText = OptionsListUtils.getSearchText(report, reportName, participantPersonalDetailList, result.isChatRoom || result.isPolicyExpenseChat, result.isThread); result.displayNamesWithTooltips = displayNamesWithTooltips; return result; From 77801b42f19ed5226c82c964cd36e5a1513da66d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hanno=20J=2E=20G=C3=B6decke?= Date: Thu, 20 Jul 2023 08:40:30 +0200 Subject: [PATCH 2/9] revert changes on OptionsListUtils --- src/libs/OptionsListUtils.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/libs/OptionsListUtils.js b/src/libs/OptionsListUtils.js index 000f6fb3d488..2acb1f51cbe7 100644 --- a/src/libs/OptionsListUtils.js +++ b/src/libs/OptionsListUtils.js @@ -426,14 +426,13 @@ function getLastMessageTextForReport(report) { * @param {Array} accountIDs * @param {Object} personalDetails * @param {Object} report - * @param {Object} [policy] - * @param {Object} [reportActions] - * @param {Object} [options] + * @param {Object} reportActions + * @param {Object} options * @param {Boolean} [options.showChatPreviewLine] * @param {Boolean} [options.forcePolicyNamePreview] * @returns {Object} */ -function createOption(accountIDs, personalDetails, report, policy = undefined, reportActions = {}, {showChatPreviewLine = false, forcePolicyNamePreview = false}) { +function createOption(accountIDs, personalDetails, report, reportActions = {}, {showChatPreviewLine = false, forcePolicyNamePreview = false}) { const result = { text: null, alternateText: null, @@ -512,7 +511,7 @@ function createOption(accountIDs, personalDetails, report, policy = undefined, r CONST.REPORT.ARCHIVE_REASON.DEFAULT; lastMessageText = Localize.translate(preferredLocale, `reportArchiveReasons.${archiveReason}`, { displayName: archiveReason.displayName || PersonalDetailsUtils.getDisplayNameOrDefault(lastActorDetails, 'displayName'), - policyName: ReportUtils.getPolicyName(report, false, policy), + policyName: ReportUtils.getPolicyName(report), }); } From 41051a41502f4226a1866462e96e626b60939768 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hanno=20J=2E=20G=C3=B6decke?= Date: Thu, 20 Jul 2023 08:42:42 +0200 Subject: [PATCH 3/9] pass param correctly --- src/libs/ReportUtils.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/libs/ReportUtils.js b/src/libs/ReportUtils.js index c13df5d8f186..6b1346942bbe 100644 --- a/src/libs/ReportUtils.js +++ b/src/libs/ReportUtils.js @@ -519,10 +519,10 @@ function getPolicyName(report, returnEmptyIfNotFound = false, policy = undefined } const finalPolicy = policy || _.get(allPolicies, `${ONYXKEYS.COLLECTION.POLICY}${report.policyID}`); - // // Public rooms send back the policy name with the reportSummary, - // // since they can also be accessed by people who aren't in the workspace + // Public rooms send back the policy name with the reportSummary, + // since they can also be accessed by people who aren't in the workspace - return lodashGet(policy, 'name') || report.policyName || report.oldPolicyName || noPolicyFound; + return lodashGet(finalPolicy, 'name') || report.policyName || report.oldPolicyName || noPolicyFound; } /** @@ -1156,11 +1156,11 @@ function getReportName(report, policy = undefined) { } if (isPolicyExpenseChat(report)) { - formattedName = getPolicyExpenseChatName(report); + formattedName = getPolicyExpenseChatName(report, policy); } if (isMoneyRequestReport(report)) { - formattedName = getMoneyRequestReportName(report); + formattedName = getMoneyRequestReportName(report, policy); } if (isArchivedRoom(report)) { From 66d74ae76c9659709cf0496afe760afb33f1ad72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hanno=20J=2E=20G=C3=B6decke?= Date: Thu, 20 Jul 2023 10:51:14 +0200 Subject: [PATCH 4/9] add comment --- src/components/LHNOptionsList/OptionRowLHNData.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/LHNOptionsList/OptionRowLHNData.js b/src/components/LHNOptionsList/OptionRowLHNData.js index 8cf96b070004..260b529449db 100644 --- a/src/components/LHNOptionsList/OptionRowLHNData.js +++ b/src/components/LHNOptionsList/OptionRowLHNData.js @@ -29,6 +29,7 @@ const propTypes = { // eslint-disable-next-line react/forbid-prop-types fullReport: PropTypes.object, + /** The policies which the user has access to and which the report could be tied to */ policies: PropTypes.shape({ /** Name of the policy */ name: PropTypes.string, From 2b6f5cd625c40318b1c857029067fcddffcd0b19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hanno=20J=2E=20G=C3=B6decke?= Date: Thu, 20 Jul 2023 12:49:55 +0200 Subject: [PATCH 5/9] Update src/libs/SidebarUtils.js Co-authored-by: Fedi Rajhi --- src/libs/SidebarUtils.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/SidebarUtils.js b/src/libs/SidebarUtils.js index 7fdabea4250c..f133027b8e33 100644 --- a/src/libs/SidebarUtils.js +++ b/src/libs/SidebarUtils.js @@ -356,7 +356,7 @@ function getOptionData(report, personalDetails, preferredLocale, policy) { result.payPalMeAddress = personalDetail.payPalMeAddress; } - const reportName = ReportUtils.getReportName(report, false, policy); + const reportName = ReportUtils.getReportName(report, policy); result.text = reportName; result.subtitle = subtitle; From fd7ff20af47370cdd51d2d0ff9a5d9dcfd1e5f68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hanno=20J=2E=20G=C3=B6decke?= Date: Thu, 20 Jul 2023 12:51:08 +0200 Subject: [PATCH 6/9] remove from getReportPreviewMessage --- src/libs/ReportUtils.js | 5 ++--- src/libs/SidebarUtils.js | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/libs/ReportUtils.js b/src/libs/ReportUtils.js index 6b1346942bbe..327c776cee03 100644 --- a/src/libs/ReportUtils.js +++ b/src/libs/ReportUtils.js @@ -1094,10 +1094,9 @@ function getTransactionReportName(reportAction) { * * @param {Object} report * @param {Object} [reportAction={}] - * @param {Object} [policy] * @returns {String} */ -function getReportPreviewMessage(report, reportAction = {}, policy = undefined) { +function getReportPreviewMessage(report, reportAction = {}) { const reportActionMessage = lodashGet(reportAction, 'message[0].html', ''); if (_.isEmpty(report) || !report.reportID) { @@ -1107,7 +1106,7 @@ function getReportPreviewMessage(report, reportAction = {}, policy = undefined) } const totalAmount = getMoneyRequestTotal(report); - const payerName = isExpenseReport(report) ? getPolicyName(report, false, policy) : getDisplayNameForParticipant(report.managerID, true); + const payerName = isExpenseReport(report) ? getPolicyName(report) : getDisplayNameForParticipant(report.managerID, true); const formattedAmount = CurrencyUtils.convertToDisplayString(totalAmount, report.currency); if (isSettled(report.reportID)) { diff --git a/src/libs/SidebarUtils.js b/src/libs/SidebarUtils.js index 7fdabea4250c..f133027b8e33 100644 --- a/src/libs/SidebarUtils.js +++ b/src/libs/SidebarUtils.js @@ -356,7 +356,7 @@ function getOptionData(report, personalDetails, preferredLocale, policy) { result.payPalMeAddress = personalDetail.payPalMeAddress; } - const reportName = ReportUtils.getReportName(report, false, policy); + const reportName = ReportUtils.getReportName(report, policy); result.text = reportName; result.subtitle = subtitle; From 44ccbd6abc581656d71ae24c4f856428ca39410a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hanno=20J=2E=20G=C3=B6decke?= Date: Thu, 20 Jul 2023 12:52:16 +0200 Subject: [PATCH 7/9] remove from getRootReportAndWorkspaceName --- src/libs/ReportUtils.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/libs/ReportUtils.js b/src/libs/ReportUtils.js index 327c776cee03..ccb7e79874f0 100644 --- a/src/libs/ReportUtils.js +++ b/src/libs/ReportUtils.js @@ -1182,10 +1182,9 @@ function getReportName(report, policy = undefined) { * Recursively navigates through thread parents to get the root report and workspace name. * The recursion stops when we find a non thread or money request report, whichever comes first. * @param {Object} report - * @param {Object} policy * @returns {Object} */ -function getRootReportAndWorkspaceName(report, policy) { +function getRootReportAndWorkspaceName(report) { if (isChildReport(report) && !isMoneyRequestReport(report)) { const parentReport = lodashGet(allReports, [`${ONYXKEYS.COLLECTION.REPORT}${report.parentReportID}`]); return getRootReportAndWorkspaceName(parentReport); @@ -1199,13 +1198,13 @@ function getRootReportAndWorkspaceName(report, policy) { if (isMoneyRequestReport(report)) { return { rootReportName: lodashGet(report, 'displayName', ''), - workspaceName: isIOUReport(report) ? CONST.POLICY.OWNER_EMAIL_FAKE : getPolicyName(report, true, policy), + workspaceName: isIOUReport(report) ? CONST.POLICY.OWNER_EMAIL_FAKE : getPolicyName(report, true), }; } return { rootReportName: getReportName(report), - workspaceName: getPolicyName(report, true, policy), + workspaceName: getPolicyName(report, true), }; } From 9cd441bd9bc318dc132b08ba560c8ad44b15f672 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hanno=20J=2E=20G=C3=B6decke?= Date: Thu, 20 Jul 2023 13:36:01 +0200 Subject: [PATCH 8/9] fix priority mode warning --- src/pages/home/sidebar/SidebarLinks.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/home/sidebar/SidebarLinks.js b/src/pages/home/sidebar/SidebarLinks.js index 15bde9120b46..40bb7adfafd5 100644 --- a/src/pages/home/sidebar/SidebarLinks.js +++ b/src/pages/home/sidebar/SidebarLinks.js @@ -56,7 +56,7 @@ const propTypes = { currentUserPersonalDetails: personalDetailsPropType, - priorityMode: PropTypes.oneOf(_.values(CONST.OPTION_MODE)), + priorityMode: PropTypes.oneOf(_.values(CONST.PRIORITY_MODE)), ...withLocalizePropTypes, }; From ad3ce9b02dd592eb89e83bdf43ed03256f68d1ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hanno=20J=2E=20G=C3=B6decke?= Date: Thu, 20 Jul 2023 14:55:45 +0200 Subject: [PATCH 9/9] fixed wrong prop type --- src/components/LHNOptionsList/OptionRowLHNData.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/components/LHNOptionsList/OptionRowLHNData.js b/src/components/LHNOptionsList/OptionRowLHNData.js index 260b529449db..49fb10a5a09f 100644 --- a/src/components/LHNOptionsList/OptionRowLHNData.js +++ b/src/components/LHNOptionsList/OptionRowLHNData.js @@ -30,10 +30,16 @@ const propTypes = { fullReport: PropTypes.object, /** The policies which the user has access to and which the report could be tied to */ - policies: PropTypes.shape({ - /** Name of the policy */ - name: PropTypes.string, - }), + policies: PropTypes.objectOf( + PropTypes.shape({ + /** The ID of the policy */ + id: PropTypes.string, + /** Name of the policy */ + name: PropTypes.string, + /** Avatar of the policy */ + avatar: PropTypes.string, + }), + ), ...withCurrentReportIDPropTypes, ...basePropTypes,