diff --git a/src/components/specific/users/user-card/UserCard.vue b/src/components/specific/users/user-card/UserCard.vue
index 19432095..09e01857 100644
--- a/src/components/specific/users/user-card/UserCard.vue
+++ b/src/components/specific/users/user-card/UserCard.vue
@@ -35,7 +35,12 @@
maxWidth="220px"
:text="fullName(user) + (isSelf(user) ? ` (${$t('UserCard.self')})` : '')"
/>
-
+
{{ user.email }}
@@ -89,10 +94,12 @@ export default {
setup(props) {
const { isSelf, isSpaceAdmin, isProjectAdmin } = useUser();
- const showActionMenu = computed(
- () => !isSelf(props.user) && (isSpaceAdmin(props.space) || isProjectAdmin(props.project))
- );
+ const showActionMenu = computed(() => {
+ return !isSelf(props.user) && !isSpaceAdmin(props.space) && isProjectAdmin(props.project) && props.user.cloud_role !== 100;
+ });
const role = computed(() => (props.project ? props.user.role : props.user.cloud_role));
+ const cloudRole = computed(() => props.user.cloud_role);
+ const projectRole = computed(() => props.user.role);
const loading = ref(false);
provide("loading", loading);
@@ -110,6 +117,8 @@ export default {
// References
loading,
role,
+ cloudRole,
+ projectRole,
showActionMenu,
showDeleteGuard,
showUpdateForm,
diff --git a/src/components/specific/users/user-role-badge/UserRoleBadge.scss b/src/components/specific/users/user-role-badge/UserRoleBadge.scss
index 3cdde6d3..42e7e809 100644
--- a/src/components/specific/users/user-role-badge/UserRoleBadge.scss
+++ b/src/components/specific/users/user-role-badge/UserRoleBadge.scss
@@ -8,11 +8,14 @@
background-color: var(--color-primary);
color: var(--color-white);
}
-
&--space-user {
background-color: #a375ff;
color: var(--color-white);
}
+ &--project-admin {
+ background-color: var(--color-secondary);
+ color: var(--color-primary);
+ }
&--project-user {
background-color: var(--color-success);
color: var(--color-white);
diff --git a/src/components/specific/users/user-role-badge/UserRoleBadge.vue b/src/components/specific/users/user-role-badge/UserRoleBadge.vue
index f3e14b72..6c941f97 100644
--- a/src/components/specific/users/user-role-badge/UserRoleBadge.vue
+++ b/src/components/specific/users/user-role-badge/UserRoleBadge.vue
@@ -3,9 +3,12 @@
{{ $t("UserRoleBadge.guest") }}
-
+
{{ $t(`UserRoleBadge.spaceAdmin`) }}
+
+ {{ $t(`UserRoleBadge.projectAdmin`) }}
+
{{ $t(`UserRoleBadge.spaceUser`) }}
@@ -26,6 +29,14 @@ export default {
type: Number,
required: true,
},
+ cloudRole: {
+ type: Number,
+ default: null,
+ },
+ projectRole: {
+ type: Number,
+ default: null,
+ },
isSpaceRole: {
type: Boolean,
default: false,
@@ -35,7 +46,7 @@ export default {
const roleName = computed(() => {
switch (props.role) {
case SPACE_ROLE.ADMIN:
- return "spaceAdmin";
+ return props.cloudRole === 100 ? "spaceAdmin" : "projectAdmin";
case SPACE_ROLE.USER:
return props.isSpaceRole ? "spaceUser" : "projectUser";
case PROJECT_ROLE.GUEST:
diff --git a/src/i18n/lang/en.json b/src/i18n/lang/en.json
index 22939aea..bcaf5c8b 100644
--- a/src/i18n/lang/en.json
+++ b/src/i18n/lang/en.json
@@ -325,8 +325,10 @@
}
},
"UserRoleBadge": {
- "admin": "Admin",
- "user": "User",
+ "spaceAdmin": "Space admin",
+ "projectAdmin": "Project admin",
+ "spaceUser": "Space user",
+ "projectUser": "Project user",
"guest": "Guest"
},
"UsersManagerOnboarding": {
@@ -967,4 +969,4 @@
"title": "Delete {visasCount} visas",
"message": "You are about to delete the visas on the following files:"
}
-}
\ No newline at end of file
+}
diff --git a/src/i18n/lang/fr.json b/src/i18n/lang/fr.json
index 4258a81b..dcdda9c3 100644
--- a/src/i18n/lang/fr.json
+++ b/src/i18n/lang/fr.json
@@ -422,6 +422,7 @@
},
"UserRoleBadge": {
"spaceAdmin": "Admin espace",
+ "projectAdmin": "Admin projet",
"spaceUser": "Utilisateur espace",
"projectUser": "Utilisateur projet",
"guest": "Invité"