Skip to content

Commit 077e011

Browse files
authored
Merge pull request Expensify#63950 from nkdengineer/fix/63384
fix: all workspaces are created with the same name
2 parents f6efb52 + 1fb50a7 commit 077e011

4 files changed

Lines changed: 11 additions & 7 deletions

File tree

src/languages/en.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4470,7 +4470,7 @@ const translations = {
44704470
newWorkspace: 'New workspace',
44714471
getTheExpensifyCardAndMore: 'Get the Expensify Card and more',
44724472
confirmWorkspace: 'Confirm Workspace',
4473-
myGroupWorkspace: 'My Group Workspace',
4473+
myGroupWorkspace: ({workspaceNumber}: {workspaceNumber?: number}) => `My Group Workspace${workspaceNumber ? ` ${workspaceNumber}` : ''}`,
44744474
workspaceName: ({userName, workspaceNumber}: NewWorkspaceNameParams) => `${userName}'s Workspace${workspaceNumber ? ` ${workspaceNumber}` : ''}`,
44754475
},
44764476
people: {

src/languages/es.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4516,7 +4516,7 @@ const translations = {
45164516
newWorkspace: 'Nuevo espacio de trabajo',
45174517
getTheExpensifyCardAndMore: 'Consigue la Tarjeta Expensify y más',
45184518
confirmWorkspace: 'Confirmar espacio de trabajo',
4519-
myGroupWorkspace: 'Mi Espacio de Trabajo en Grupo',
4519+
myGroupWorkspace: ({workspaceNumber}: {workspaceNumber?: number}) => `Mi Espacio de Trabajo en Grupo${workspaceNumber ? ` ${workspaceNumber}` : ''}`,
45204520
workspaceName: ({userName, workspaceNumber}: NewWorkspaceNameParams) => `Espacio de trabajo${workspaceNumber ? ` ${workspaceNumber}` : ''} de ${userName}`,
45214521
},
45224522
people: {

src/libs/actions/Policy/Policy.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1674,12 +1674,13 @@ function generateDefaultWorkspaceName(email = ''): string {
16741674
displayNameForWorkspace = userDetails?.phoneNumber ?? '';
16751675
}
16761676

1677-
if (`@${domain}` === CONST.SMS.DOMAIN) {
1678-
return translateLocal('workspace.new.myGroupWorkspace');
1677+
const isSMSDomain = `@${domain}` === CONST.SMS.DOMAIN;
1678+
if (isSMSDomain) {
1679+
displayNameForWorkspace = translateLocal('workspace.new.myGroupWorkspace', {});
16791680
}
16801681

16811682
if (isEmptyObject(allPolicies)) {
1682-
return translateLocal('workspace.new.workspaceName', {userName: displayNameForWorkspace});
1683+
return isSMSDomain ? translateLocal('workspace.new.myGroupWorkspace', {}) : translateLocal('workspace.new.workspaceName', {userName: displayNameForWorkspace});
16831684
}
16841685

16851686
// find default named workspaces and increment the last number
@@ -1688,14 +1689,17 @@ function generateDefaultWorkspaceName(email = ''): string {
16881689
.map((lang) => translate(lang, 'workspace.common.workspace'))
16891690
.join('|');
16901691

1691-
const workspaceRegex = new RegExp(`^(?=.*${escapedName})(?:.*(?:${workspaceTranslations})\\s*(\\d+)?)`, 'i');
1692+
const workspaceRegex = isSMSDomain ? new RegExp(`^${escapedName}\\s*(\\d+)?$`, 'i') : new RegExp(`^(?=.*${escapedName})(?:.*(?:${workspaceTranslations})\\s*(\\d+)?)`, 'i');
16921693

16931694
const workspaceNumbers = Object.values(allPolicies)
16941695
.map((policy) => workspaceRegex.exec(policy?.name ?? ''))
16951696
.filter(Boolean) // Remove null matches
16961697
.map((match) => Number(match?.[1] ?? '0'));
16971698
const lastWorkspaceNumber = workspaceNumbers.length > 0 ? Math.max(...workspaceNumbers) : undefined;
16981699

1700+
if (isSMSDomain) {
1701+
return translateLocal('workspace.new.myGroupWorkspace', {workspaceNumber: lastWorkspaceNumber !== undefined ? lastWorkspaceNumber + 1 : undefined});
1702+
}
16991703
return translateLocal('workspace.new.workspaceName', {userName: displayNameForWorkspace, workspaceNumber: lastWorkspaceNumber !== undefined ? lastWorkspaceNumber + 1 : undefined});
17001704
}
17011705

tests/actions/PolicyTest.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -731,7 +731,7 @@ describe('actions/Policy', () => {
731731

732732
const workspaceName = Policy.generateDefaultWorkspaceName(TEST_SMS_DOMAIN_EMAIL);
733733

734-
expect(workspaceName).toBe(translateLocal('workspace.new.myGroupWorkspace'));
734+
expect(workspaceName).toBe(translateLocal('workspace.new.myGroupWorkspace', {}));
735735
});
736736

737737
it('should generate a workspace name with an incremented number even if previous workspaces were created in english lang', async () => {

0 commit comments

Comments
 (0)