Skip to content

Commit 8b7096f

Browse files
authored
Merge pull request #53729 from Shahidullah-Muffakir/fix/53326
Move Workspace creation in the onboardingFlow to OnboardingPurpose page and skip Workspace creation for OD signups
2 parents a088878 + a0afb37 commit 8b7096f

File tree

2 files changed

+19
-4
lines changed

2 files changed

+19
-4
lines changed

src/pages/OnboardingAccounting/BaseOnboardingAccounting.tsx

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,16 +60,26 @@ function BaseOnboardingAccounting({shouldUseNativeStyles, route}: BaseOnboarding
6060

6161
// If the signupQualifier is VSB, the company size step is skip.
6262
// So we need to create the new workspace in the accounting step
63+
const paidGroupPolicy = Object.values(allPolicies ?? {}).find(PolicyUtils.isPaidGroupPolicy);
6364
useEffect(() => {
64-
const filteredPolicies = Object.values(allPolicies ?? {}).filter(PolicyUtils.isPaidGroupPolicy);
65-
if (!isVsb || filteredPolicies.length > 0 || isLoadingOnyxValue(allPoliciesResult)) {
65+
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
66+
if (!isVsb || paidGroupPolicy || isLoadingOnyxValue(allPoliciesResult)) {
6667
return;
6768
}
6869

6970
const {adminsChatReportID, policyID} = Policy.createWorkspace(undefined, true, '', Policy.generatePolicyID(), CONST.ONBOARDING_CHOICES.MANAGE_TEAM);
7071
Welcome.setOnboardingAdminsChatReportID(adminsChatReportID);
7172
Welcome.setOnboardingPolicyID(policyID);
72-
}, [isVsb, allPolicies, allPoliciesResult]);
73+
}, [isVsb, paidGroupPolicy, allPolicies, allPoliciesResult]);
74+
75+
// Set onboardingPolicyID and onboardingAdminsChatReportID if a workspace is created by the backend for OD signups
76+
useEffect(() => {
77+
if (!paidGroupPolicy || onboardingPolicyID) {
78+
return;
79+
}
80+
Welcome.setOnboardingAdminsChatReportID(paidGroupPolicy.chatReportIDAdmins?.toString());
81+
Welcome.setOnboardingPolicyID(paidGroupPolicy.id);
82+
}, [paidGroupPolicy, onboardingPolicyID]);
7383

7484
const accountingOptions: OnboardingListItem[] = useMemo(() => {
7585
const policyAccountingOptions = Object.values(CONST.POLICY.CONNECTIONS.NAME)

src/pages/OnboardingEmployees/BaseOnboardingEmployees.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import useLocalize from '@hooks/useLocalize';
1212
import useResponsiveLayout from '@hooks/useResponsiveLayout';
1313
import useThemeStyles from '@hooks/useThemeStyles';
1414
import Navigation from '@libs/Navigation/Navigation';
15+
import * as PolicyUtils from '@libs/PolicyUtils';
1516
import * as Policy from '@userActions/Policy/Policy';
1617
import * as Welcome from '@userActions/Welcome';
1718
import CONST from '@src/CONST';
@@ -29,6 +30,10 @@ function BaseOnboardingEmployees({shouldUseNativeStyles, route}: BaseOnboardingE
2930
const [onboardingCompanySize] = useOnyx(ONYXKEYS.ONBOARDING_COMPANY_SIZE);
3031
const [onboardingPurposeSelected] = useOnyx(ONYXKEYS.ONBOARDING_PURPOSE_SELECTED);
3132
const [onboardingPolicyID] = useOnyx(ONYXKEYS.ONBOARDING_POLICY_ID);
33+
const [allPolicies] = useOnyx(ONYXKEYS.COLLECTION.POLICY);
34+
35+
const paidGroupPolicy = Object.values(allPolicies ?? {}).find(PolicyUtils.isPaidGroupPolicy);
36+
3237
const {onboardingIsMediumOrLargerScreenWidth} = useResponsiveLayout();
3338
const [selectedCompanySize, setSelectedCompanySize] = useState<OnboardingCompanySize | null | undefined>(onboardingCompanySize);
3439
const [error, setError] = useState('');
@@ -63,7 +68,7 @@ function BaseOnboardingEmployees({shouldUseNativeStyles, route}: BaseOnboardingE
6368
}
6469
Welcome.setOnboardingCompanySize(selectedCompanySize);
6570

66-
if (!onboardingPolicyID) {
71+
if (!onboardingPolicyID && !paidGroupPolicy) {
6772
const {adminsChatReportID, policyID} = Policy.createWorkspace(undefined, true, '', Policy.generatePolicyID(), CONST.ONBOARDING_CHOICES.MANAGE_TEAM);
6873
Welcome.setOnboardingAdminsChatReportID(adminsChatReportID);
6974
Welcome.setOnboardingPolicyID(policyID);

0 commit comments

Comments
 (0)