Fall back restricted CSV member roles#96456
Conversation
|
Hey, I noticed you changed If you want to automatically generate translations for other locales, an Expensify employee will have to:
Alternatively, if you are an external contributor, you can run the translation script locally with your own OpenAI API key. To learn more, try running: npx ts-node ./scripts/generateTranslations.ts --helpTypically, you'd want to translate only what you changed by running |
|
@flodnv mentioned previously that he'll be directly reviewing without C+ review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fa165be6e1
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
|
||
| return added > 1 ? `${added} members have been added.` : '1 member has been added.'; | ||
| }, | ||
| importMembersRolePermissionWarning: "You don't have permission to assign some member roles. Any affected new members were invited as members.", |
There was a problem hiding this comment.
Regenerate locale files with the new key
This adds a new English translation key, but the generated non-English locale files do not define spreadsheet.importMembersRolePermissionWarning even though they are typed from TranslationDeepObject<typeof en> (for example in src/languages/es.ts). With this key present only in en.ts, the TypeScript translation shape check will fail for every generated locale, blocking typecheck until those files are regenerated/updated.
Useful? React with 👍 / 👎.
Explanation of Change
People Admins can import members from a CSV even when some rows request roles they cannot assign. Affected new members are invited as members, while allowed roles are preserved. The success modal explains which fallback was applied.
Fixed Issues
$ #95098
PROPOSAL:
Tests
Offline tests
QA Steps
Same as tests.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
MacOS: Chrome / Safari