Skip to content

ui: Settings → Users invites through a dialog, and each role is a card that says what it grants - #7692

Merged
iliyan-velichkov merged 1 commit into
masterfrom
tenant-users-invite-dialog
Oct 5, 2026
Merged

iliyan-velichkov merged 1 commit into
masterfrom
tenant-users-invite-dialog

Conversation

@iliyan-velichkov

Copy link
Copy Markdown
Contributor

Why. Settings → Users invited a person through an email field and a multi-select dropdown of roles above the list. A closed dropdown read "Owner, User", with no hint that it was a multi-choice or what a role meant. Two fixed options also cost a click to open the list and another to close it.

What changes

  • Invite through a dialog. An Invite people button beside Refresh opens an Invite a person dialog with:
    • the email;
    • one card per role, with a checkbox and a short description of what the role grants (roleDescription.<role>; a role without a description shows its name only):
      • Owner: "Full access to the application, and manages its users."
      • User: "Full access to the application."
    • User ticked by default.
    • A refusal (for example, already a member) shows inside the dialog, and a successful invite closes it. Invite again on a failed row opens the same dialog, filled in.
  • Edit roles uses the same role cards, so both dialogs read alike.
  • Shorter texts. "…takes effect at the next sign-in or token refresh" now reads "…at the next sign-in", in the self-demotion warning, the Remove dialog and the self-removal warning. Behaviour is unchanged.
  • i18n, en-US and bg-BG: new keys inviteOpen, inviteTitle, inviteDescription, roleDescription.Owner and roleDescription.User. rolesPlaceholder is removed with the dropdown, and emptyHint is reworded.

For browser tests

  • New ids: tenant-users-invite-open, tenant-users-invite-dialog, and tenant-users-invite-role-<role> for the invite dialog's checkboxes.
  • Kept, now inside the dialog: tenant-users-email and tenant-users-invite-button.
  • Removed: the inline tenant-users-invite form and tenant-users-roles-trigger.
  • The role cards in both dialogs are label[data-role], so a label[for='tenant-users-edit-role-<role>'] no longer exists. The checkbox ids are unchanged.

Verified

  • TenantUsersSettingsIT: 2/2 green locally (headless Chrome, Keycloak), after a quick-build install of the branch. It now opens the dialog, checks a card's description and the default User, ticks Owner, and sees the dialog close. It also edits roles through the cards.
  • mvn formatter:validate on components/resources/application-core and tests/tests-integrations, with the formatter cache wiped.
  • Both dialogs checked by hand in a running application.

Not verified: the Bulgarian wording has not been reviewed by a native speaker.

🤖 Generated with Claude Code

…d that says what it grants

The invite form sat above the list as an email field and a multi-select
dropdown of roles. A closed dropdown read "Owner, User" with no hint that it
was a multi-choice or what a role meant, and two fixed options cost a click
to open and another to close.

- An "Invite people" button beside Refresh opens an "Invite a person"
  dialog: the email, then one card per role with a checkbox and a short
  description of what the role grants (Owner: full access to the
  application, and manages its users; User: full access to the
  application). A refusal is shown inside the dialog; a successful invite
  closes it. "Invite again" on a failed row opens the same dialog,
  filled in.
- The Edit roles dialog uses the same role cards.
- The texts that said a change takes effect "at the next sign-in or token
  refresh" now say "at the next sign-in".
- en-US and bg-BG gain inviteOpen, inviteTitle, inviteDescription and
  roleDescription.Owner/User; rolesPlaceholder goes with the dropdown.
- TenantUsersSettingsIT invites through the dialog and ticks the cards.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@iliyan-velichkov iliyan-velichkov self-assigned this Oct 5, 2026
@iliyan-velichkov
iliyan-velichkov merged commit d0992c9 into master Oct 5, 2026
10 checks passed
@iliyan-velichkov
iliyan-velichkov deleted the tenant-users-invite-dialog branch October 5, 2026 13:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant