diff --git a/frontend/app/components/Client/Sites/Sites.js b/frontend/app/components/Client/Sites/Sites.js
index 4769815e5..8d53b8eab 100644
--- a/frontend/app/components/Client/Sites/Sites.js
+++ b/frontend/app/components/Client/Sites/Sites.js
@@ -170,43 +170,51 @@ class Sites extends React.PureComponent {
{
sites.map(_site => (
-
-
-
-
+ //
+
+
+
+ }
+ content={ STATUS_MESSAGE_MAP[ _site.status ] }
+ inverted
+ position="top center"
+ />
+
{ _site.host }
- }
- content={ STATUS_MESSAGE_MAP[ _site.status ] }
- inverted
- position="top center"
- />
-
+
+
+ {_site.projectKey}
+
+ {/*
{ _site.host }
{_site.projectKey}
+
*/}
+
+
+
+
+ {/*
*/}
-
-
-
-
- {/*
*/}
-
-
+ //
))
}
diff --git a/frontend/app/components/Client/Users/components/UserForm/UserForm.tsx b/frontend/app/components/Client/Users/components/UserForm/UserForm.tsx
index 489f27881..19f44235c 100644
--- a/frontend/app/components/Client/Users/components/UserForm/UserForm.tsx
+++ b/frontend/app/components/Client/Users/components/UserForm/UserForm.tsx
@@ -16,7 +16,7 @@ function UserForm(props: Props) {
const { hideModal } = useModal();
const { userStore, roleStore } = useStore();
const user: any = useObserver(() => userStore.instance);
- const roles = useObserver(() => roleStore.list.map(r => ({ label: r.name, value: r.roleId })));
+ const roles = useObserver(() => roleStore.list.filter(r => r.isProtected ? user.isSuperAdmin : true).map(r => ({ label: r.name, value: r.roleId })));
const onChangeCheckbox = (e: any) => {
user.updateKey('isAdmin', !user.isAdmin);
@@ -70,10 +70,9 @@ function UserForm(props: Props) {
@@ -94,6 +93,7 @@ function UserForm(props: Props) {
defaultValue={ user.roleId }
onChange={({ value }) => user.updateKey('roleId', value)}
className="block"
+ isDisabled={user.isSuperAdmin}
/>
)}
diff --git a/frontend/app/mstore/types/role.ts b/frontend/app/mstore/types/role.ts
index e8204ef22..5d8da871a 100644
--- a/frontend/app/mstore/types/role.ts
+++ b/frontend/app/mstore/types/role.ts
@@ -4,8 +4,9 @@ export interface IRole {
roleId: string;
name: string;
description: string;
+ isProtected: boolean;
- fromJson(json: any): IRole;
+ fromJson(json: any);
toJson(): any;
}
@@ -13,6 +14,7 @@ export default class Role implements IRole {
roleId: string = '';
name: string = '';
description: string = '';
+ isProtected: boolean = false;
constructor() {
@@ -28,6 +30,7 @@ export default class Role implements IRole {
this.roleId = json.roleId;
this.name = json.name;
this.description = json.description;
+ this.isProtected = json.protected;
})
return this;
}
diff --git a/frontend/app/mstore/types/user.ts b/frontend/app/mstore/types/user.ts
index c8b9dcdd6..609ee3b7f 100644
--- a/frontend/app/mstore/types/user.ts
+++ b/frontend/app/mstore/types/user.ts
@@ -77,7 +77,7 @@ export default class User implements IUser {
name: this.name,
email: this.email,
admin: this.isAdmin,
- isSuperAdmin: this.isSuperAdmin,
+ superAdmin: this.isSuperAdmin,
roleId: this.roleId,
}
}