From 4acebc75473a3f799e0fae3051e09353feb695e5 Mon Sep 17 00:00:00 2001 From: nkdengineer Date: Wed, 24 Sep 2025 11:21:28 +0700 Subject: [PATCH 1/2] fix: Invite your accountant task is not complete --- src/libs/ReportUtils.ts | 5 ++ src/libs/actions/Report.ts | 3 + .../BaseOnboardingWorkspaceInvite.tsx | 68 ++++++++++--------- 3 files changed, 44 insertions(+), 32 deletions(-) diff --git a/src/libs/ReportUtils.ts b/src/libs/ReportUtils.ts index b8de6b257371..5455599614aa 100644 --- a/src/libs/ReportUtils.ts +++ b/src/libs/ReportUtils.ts @@ -10372,6 +10372,7 @@ function prepareOnboardingOnyxData( wasInvited?: boolean, companySize?: OnboardingCompanySize, selectedInterestedFeatures: string[] = [], + isInvitedAccountant?: boolean, ) { if (engagementChoice === CONST.ONBOARDING_CHOICES.PERSONAL_SPEND) { // eslint-disable-next-line no-param-reassign @@ -10525,6 +10526,10 @@ function prepareOnboardingOnyxData( isTaskAutoCompleted = true; } + if (task.type === CONST.ONBOARDING_TASK_TYPE.INVITE_ACCOUNTANT && isInvitedAccountant) { + isTaskAutoCompleted = true; + } + const completedTaskReportAction = isTaskAutoCompleted ? buildOptimisticTaskReportAction(currentTask.reportID, CONST.REPORT.ACTIONS.TYPE.TASK_COMPLETED, 'marked as complete', actorAccountID, 2) : null; diff --git a/src/libs/actions/Report.ts b/src/libs/actions/Report.ts index b1ecd8532a5b..5b08c551b493 100644 --- a/src/libs/actions/Report.ts +++ b/src/libs/actions/Report.ts @@ -4260,6 +4260,7 @@ function completeOnboarding({ wasInvited, selectedInterestedFeatures = [], shouldSkipTestDriveModal, + isInvitedAccountant, }: { engagementChoice: OnboardingPurpose; onboardingMessage: OnboardingMessage; @@ -4273,6 +4274,7 @@ function completeOnboarding({ wasInvited?: boolean; selectedInterestedFeatures?: string[]; shouldSkipTestDriveModal?: boolean; + isInvitedAccountant?: boolean; }) { const onboardingData = prepareOnboardingOnyxData( introSelected, @@ -4284,6 +4286,7 @@ function completeOnboarding({ wasInvited, companySize, selectedInterestedFeatures, + isInvitedAccountant, ); if (!onboardingData) { return; diff --git a/src/pages/OnboardingWorkspaceInvite/BaseOnboardingWorkspaceInvite.tsx b/src/pages/OnboardingWorkspaceInvite/BaseOnboardingWorkspaceInvite.tsx index 66e39e4c36da..6797a248563a 100644 --- a/src/pages/OnboardingWorkspaceInvite/BaseOnboardingWorkspaceInvite.tsx +++ b/src/pages/OnboardingWorkspaceInvite/BaseOnboardingWorkspaceInvite.tsx @@ -221,39 +221,43 @@ function BaseOnboardingWorkspaceInvite({shouldUseNativeStyles}: BaseOnboardingWo setSelectedOptions(newSelectedOptions); }; - const completeOnboarding = useCallback(() => { - completeOnboardingReport({ - engagementChoice: CONST.ONBOARDING_CHOICES.TRACK_WORKSPACE, - onboardingMessage: onboardingMessages[CONST.ONBOARDING_CHOICES.TRACK_WORKSPACE], - firstName: currentUserPersonalDetails.firstName, - lastName: currentUserPersonalDetails.lastName, - adminsChatReportID: onboardingAdminsChatReportID, - onboardingPolicyID, - shouldSkipTestDriveModal: !!onboardingPolicyID && !onboardingAdminsChatReportID, - }); - - setOnboardingAdminsChatReportID(); - setOnboardingPolicyID(); + const completeOnboarding = useCallback( + (isInvitedAccountant: boolean) => { + completeOnboardingReport({ + engagementChoice: CONST.ONBOARDING_CHOICES.TRACK_WORKSPACE, + onboardingMessage: onboardingMessages[CONST.ONBOARDING_CHOICES.TRACK_WORKSPACE], + firstName: currentUserPersonalDetails.firstName, + lastName: currentUserPersonalDetails.lastName, + adminsChatReportID: onboardingAdminsChatReportID, + onboardingPolicyID, + shouldSkipTestDriveModal: !!onboardingPolicyID && !onboardingAdminsChatReportID, + isInvitedAccountant, + }); - navigateAfterOnboardingWithMicrotaskQueue( - isSmallScreenWidth, - isBetaEnabled(CONST.BETAS.DEFAULT_ROOMS), - onboardingPolicyID, + setOnboardingAdminsChatReportID(); + setOnboardingPolicyID(); + + navigateAfterOnboardingWithMicrotaskQueue( + isSmallScreenWidth, + isBetaEnabled(CONST.BETAS.DEFAULT_ROOMS), + onboardingPolicyID, + onboardingAdminsChatReportID, + // Onboarding tasks would show in Concierge instead of admins room for testing accounts, we should open where onboarding tasks are located + // See https://github.com/Expensify/App/issues/57167 for more details + (session?.email ?? '').includes('+'), + ); + }, + [ + currentUserPersonalDetails.firstName, + onboardingMessages, + currentUserPersonalDetails.lastName, onboardingAdminsChatReportID, - // Onboarding tasks would show in Concierge instead of admins room for testing accounts, we should open where onboarding tasks are located - // See https://github.com/Expensify/App/issues/57167 for more details - (session?.email ?? '').includes('+'), - ); - }, [ - currentUserPersonalDetails.firstName, - onboardingMessages, - currentUserPersonalDetails.lastName, - onboardingAdminsChatReportID, - onboardingPolicyID, - isSmallScreenWidth, - isBetaEnabled, - session?.email, - ]); + onboardingPolicyID, + isSmallScreenWidth, + isBetaEnabled, + session?.email, + ], + ); const inviteUser = useCallback(() => { let isValid = true; @@ -277,7 +281,7 @@ function BaseOnboardingWorkspaceInvite({shouldUseNativeStyles}: BaseOnboardingWo }); const policyMemberAccountIDs = Object.values(getMemberAccountIDsForWorkspace(policy?.employeeList, false, false)); addMembersToWorkspace(invitedEmailsToAccountIDs, `${welcomeNoteSubject}\n\n${welcomeNote}`, onboardingPolicyID, policyMemberAccountIDs, CONST.POLICY.ROLE.USER, formatPhoneNumber); - completeOnboarding(); + completeOnboarding(true); }, [completeOnboarding, onboardingPolicyID, policy?.employeeList, selectedOptions, welcomeNote, welcomeNoteSubject, formatPhoneNumber]); useEffect(() => { From c2b0f3930686f86daee9c6fdb6aeec9a7fa90dd1 Mon Sep 17 00:00:00 2001 From: nkdengineer Date: Wed, 24 Sep 2025 23:06:05 +0700 Subject: [PATCH 2/2] fix ts --- .../OnboardingWorkspaceInvite/BaseOnboardingWorkspaceInvite.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/OnboardingWorkspaceInvite/BaseOnboardingWorkspaceInvite.tsx b/src/pages/OnboardingWorkspaceInvite/BaseOnboardingWorkspaceInvite.tsx index 6797a248563a..336ad3a10893 100644 --- a/src/pages/OnboardingWorkspaceInvite/BaseOnboardingWorkspaceInvite.tsx +++ b/src/pages/OnboardingWorkspaceInvite/BaseOnboardingWorkspaceInvite.tsx @@ -309,7 +309,7 @@ function BaseOnboardingWorkspaceInvite({shouldUseNativeStyles}: BaseOnboardingWo