Task
This is the Release 2 upgrade-flow work on the App side.
-
Remove the plan-type filter in CopyPolicySettingsSelectWorkspacesPage (added in Issue 3). All admin-accessible workspaces now appear as eligible targets regardless of plan.
-
New RHP step: Upgrade. Insert between "Select Features" and "Confirm". Only rendered when both:
- At least one selected feature is Control-only (use
canPolicyAccessFeature() from src/libs/PolicyUtils.ts)
- At least one target workspace is on the Collect (Team) plan
Otherwise the flow skips straight to Confirm.
-
New route + screen.
- Screen:
POLICY_COPY_SETTINGS.UPGRADE = 'Policy_Copy_Settings_Upgrade'
- Route:
policy/:policyID/copy-settings/upgrade
- Page:
pages/workspace/copyPolicySettings/CopyPolicySettingsUpgradePage.tsx
-
Confirmation action. The page's primary button calls UpgradeToCorporate with the IDs of all selected Collect workspaces. This relies on the Auth + Web-E changes from backend Issue 5 (bulk UpgradeToCorporate), so the frontend call should pass policyIDList instead of policyID.
Also register the new screen in the modal stack, linking config, and WORKSPACES_LIST_TO_RHP.ts — mirroring what Issue 1 did for the other three screens.
Relevant design doc section: "[App] Remove Control-only target restriction and add upgrade step".
Depends on Issues 3 and 4, plus backend Issue 5 for the bulk-upgrade API shape.
Issue Owner
Current Issue Owner: @mallenexpensify
Add Bulk Workspace EditsTask
This is the Release 2 upgrade-flow work on the App side.
Remove the plan-type filter in
CopyPolicySettingsSelectWorkspacesPage(added in Issue 3). All admin-accessible workspaces now appear as eligible targets regardless of plan.New RHP step: Upgrade. Insert between "Select Features" and "Confirm". Only rendered when both:
canPolicyAccessFeature()fromsrc/libs/PolicyUtils.ts)Otherwise the flow skips straight to Confirm.
New route + screen.
POLICY_COPY_SETTINGS.UPGRADE = 'Policy_Copy_Settings_Upgrade'policy/:policyID/copy-settings/upgradepages/workspace/copyPolicySettings/CopyPolicySettingsUpgradePage.tsxConfirmation action. The page's primary button calls
UpgradeToCorporatewith the IDs of all selected Collect workspaces. This relies on the Auth + Web-E changes from backend Issue 5 (bulkUpgradeToCorporate), so the frontend call should passpolicyIDListinstead ofpolicyID.Also register the new screen in the modal stack, linking config, and
WORKSPACES_LIST_TO_RHP.ts— mirroring what Issue 1 did for the other three screens.Relevant design doc section: "[App] Remove Control-only target restriction and add upgrade step".
Depends on Issues 3 and 4, plus backend Issue 5 for the bulk-upgrade API shape.
Issue Owner
Current Issue Owner: @mallenexpensify