Skip to content

[Due for payment 2026-07-17] [Bulk workspace edits] Release 2: remove Control-only restriction + Upgrade page [7] #88674

Description

@francoisl

Task

This is the Release 2 upgrade-flow work on the App side.

  1. Remove the plan-type filter in CopyPolicySettingsSelectWorkspacesPage (added in Issue 3). All admin-accessible workspaces now appear as eligible targets regardless of plan.

  2. 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.

  3. New route + screen.

    • Screen: POLICY_COPY_SETTINGS.UPGRADE = 'Policy_Copy_Settings_Upgrade'
    • Route: policy/:policyID/copy-settings/upgrade
    • Page: pages/workspace/copyPolicySettings/CopyPolicySettingsUpgradePage.tsx
  4. 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 OwnerCurrent Issue Owner: @mallenexpensify

Metadata

Metadata

Labels

Awaiting PaymentAuto-added when associated PR is deployed to productionDailyKSv2InternalRequires API changes or must be handled by Expensify staffTask

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions