diff --git a/frontend/editor/public/locales/en-US/translation.toml b/frontend/editor/public/locales/en-US/translation.toml
index 2e60ebf3d1..0bfb5749ce 100644
--- a/frontend/editor/public/locales/en-US/translation.toml
+++ b/frontend/editor/public/locales/en-US/translation.toml
@@ -8604,6 +8604,7 @@ disableByAdmin = "Disable MFA"
[workspace.people.roleDescriptions]
admin = "Can manage settings and invite users, with full administrative access."
+currentRole = "Current assigned role."
user = "Can view and edit shared files, but cannot manage workspace settings or users."
[workspace.people.toggleEnabled]
diff --git a/frontend/editor/src/proprietary/components/shared/config/configSections/PeopleSection.tsx b/frontend/editor/src/proprietary/components/shared/config/configSections/PeopleSection.tsx
index 151d0c5dff..454b9e138c 100644
--- a/frontend/editor/src/proprietary/components/shared/config/configSections/PeopleSection.tsx
+++ b/frontend/editor/src/proprietary/components/shared/config/configSections/PeopleSection.tsx
@@ -94,6 +94,21 @@ export default function PeopleSection() {
const isCurrentUser = (user: User) => currentUser?.username === user.username;
const isLockedUser = (user: User) => lockedUsers.includes(user.username);
+ const getUserRoleId = (user: User) =>
+ user.rolesAsString ||
+ (user.roleName?.startsWith("ROLE_") ? user.roleName : undefined) ||
+ "ROLE_USER";
+
+ const getRoleLabel = (roleId: string) => {
+ switch (roleId) {
+ case "ROLE_ADMIN":
+ return t("workspace.people.admin", "Admin");
+ case "ROLE_USER":
+ return t("workspace.people.user", "User");
+ default:
+ return roleId;
+ }
+ };
// Form state for edit user modal
const [editForm, setEditForm] = useState({
@@ -353,7 +368,7 @@ export default function PeopleSection() {
const openEditModal = (user: User) => {
setSelectedUser(user);
setEditForm({
- role: user.roleName,
+ role: getUserRoleId(user),
teamId: user.team?.id,
});
setEditUserModalOpened(true);
@@ -385,7 +400,7 @@ export default function PeopleSection() {
const roleOptions = [
{
value: "ROLE_ADMIN",
- label: t("workspace.people.admin"),
+ label: getRoleLabel("ROLE_ADMIN"),
description: t(
"workspace.people.roleDescriptions.admin",
"Can manage settings and invite members, with full administrative access.",
@@ -394,7 +409,7 @@ export default function PeopleSection() {
},
{
value: "ROLE_USER",
- label: t("workspace.people.user"),
+ label: getRoleLabel("ROLE_USER"),
description: t(
"workspace.people.roleDescriptions.user",
"Can view and edit shared files, but cannot manage workspace settings or members.",
@@ -474,7 +489,9 @@ export default function PeopleSection() {