feat: add dedicated Invite User button and dialog to IAM Users UI#26
Merged
feat: add dedicated Invite User button and dialog to IAM Users UI#26
Conversation
## Summary Adds a clean, focused 'Invite User' dialog to the IAM Users index page alongside the existing 'New User' button. This is the frontend companion to the core-api fix that restores cross-organisation invite support. ## Changes ### addon/components/modals/invite-user.hbs (new) Minimal invite dialog with three fields: - Email (required) - the only field strictly needed for an invite - Name (optional) - required by the backend only for brand-new users - Role (optional) - pre-assigns a role on acceptance ### addon/components/modals/invite-user.js (new) Glimmer component backing class. The modal is fully data-driven via the modalsManager options hash; no tracked state or actions are needed in the component itself. ### app/components/modals/invite-user.js (new) Re-export shim following the existing pattern in app/components/modals/. ### addon/controllers/users/index.js - Added 'Invite User' button (paper-plane icon) to actionButtons, placed between the refresh button and the existing 'New User' button. - Added inviteUser() @action that opens the new modal and POSTs to users/invite-user. Handles both response shapes: - { invited: true } -> existing user cross-org invite success message - { invited: false } -> new pending user creation success message ### translations/en-us.yaml - iam.users.index.invite-user: button label - iam.users.invite.*: full set of dialog strings (title, description, field placeholders, help text, success messages, validation warning)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a clean, focused Invite User dialog to the IAM Users index page alongside the existing New User button. This is the frontend companion to core-api#205 which restores cross-organisation invite support.
What's New
Invite User button
A new Invite User button (✈ paper-plane icon) appears in the Users page toolbar between the refresh button and the existing New User button. It is gated behind the same
iam create userpermission as the New User button.Invite User dialog
A minimal, focused modal with three fields:
This is intentionally lighter than the full New User form — an invite is not a full user creation.
Smart success messaging
The backend returns
invited: truewhen an existing user from another organisation is invited. The dialog uses this to show a contextually correct success notification:Files Changed
addon/components/modals/invite-user.hbsaddon/components/modals/invite-user.jsapp/components/modals/invite-user.jsaddon/controllers/users/index.jsinviteUseraction + Invite User button inactionButtonstranslations/en-us.yamliam.users.index.invite-userandiam.users.invite.*keysRelated
POST users/invite-userroute, and fixes theCreateUserRequestuniqueness regression.