Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Super Admin Settings #2189

Merged
merged 2 commits into from
Nov 30, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/components/Navbar/Messages.js
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ export default defineMessages({

superAdmin: {
id: 'Navbar.links.superAdminMetrics',
defaultMessage: "Super Admin Metrics",
defaultMessage: "Super Admin Settings",
},

achievements: {
Expand Down
2 changes: 1 addition & 1 deletion src/components/Navbar/Navbar.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ describe("Profile Menu", () => {
}] }}
/>
);
const text = getByText("Super Admin Metrics");
const text = getByText("Super Admin Settings");
expect(text).toBeInTheDocument();
});
});
15 changes: 15 additions & 0 deletions src/components/SuperAdmin/MetricsData.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import React from 'react'
import { FormattedDate } from 'react-intl'
import SuperUserToggle from './SuperUserToggle'

const OSM_USER_LINK = `${process.env.REACT_APP_OSM_SERVER}/user/`

Expand Down Expand Up @@ -280,6 +281,20 @@ const setUserTab = () => {
</span>
),
},
{
id: 'superUser',
Header: 'ROLE',
accessor: (user) => {
return user.superUser
},
maxWidth: 200,
sortable: true,
Cell: (props) => {
return (
<SuperUserToggle initialValue={props.value} userId={props?.original?.id} />
)
}
},
]
}

Expand Down
1 change: 1 addition & 0 deletions src/components/SuperAdmin/MetricsTable.js
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ const MetricsTable = (props) => {
score: u.score,
created: u.created,
modified: u.modified,
superUser: Boolean(u.grants?.find(grant => grant.role === -1))
}))

return setUserTab()
Expand Down
43 changes: 43 additions & 0 deletions src/components/SuperAdmin/SuperUserToggle.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import React, { useState } from 'react'
import Endpoint from '../../services/Server/Endpoint'
import { defaultRoutes as api } from "../../services/Server/Server";
import WithCurrentUser from '../HOCs/WithCurrentUser/WithCurrentUser';

const SuperUserToggle = (props) => {
const [selection, setSelection] = useState(props.initialValue ? "super" : "basic")

const updateValue = async (e) => {
const value = e.target.value

try {
if (e.target.value === "super") {
await new Endpoint(api.superUser.addSuperUserGrant, { variables: { userId: props.userId } }).execute()
} else {
await new Endpoint(api.superUser.deleteSuperUserGrant, { variables: { userId: props.userId } }).execute()
}

setSelection(value)
} catch (e) {
console.log(e)
}
}

if (props.user?.id !== props.userId) {
return (
<div>
<select
className={selection === "super" ? "mr-bg-green" : "mr-bg-blue"}
value={selection}
onChange={updateValue}
>
<option id="basic" key="basic" value="basic">Basic User</option>
<option id="super" key="super" value="super">Super User</option>
</select>
</div>
)
}

return <div>Super User</div>
}

export default WithCurrentUser(SuperUserToggle)
2 changes: 1 addition & 1 deletion src/lang/af.json
Original file line number Diff line number Diff line change
Expand Up @@ -1134,7 +1134,7 @@
"Navbar.links.review": "Review",
"Navbar.links.sent": "Sent",
"Navbar.links.signout": "Teken Uit",
"Navbar.links.superAdminMetrics": "Super Admin Metrics",
"Navbar.links.superAdminMetrics": "Super Admin Settings",
"Navbar.links.teams": "Teams",
"Navbar.links.userAchievements": "Achievements",
"Navbar.links.userMetrics": "User Metrics",
Expand Down
2 changes: 1 addition & 1 deletion src/lang/cs_CZ.json
Original file line number Diff line number Diff line change
Expand Up @@ -1134,7 +1134,7 @@
"Navbar.links.review": "Kontrola",
"Navbar.links.sent": "Sent",
"Navbar.links.signout": "Odhlásit",
"Navbar.links.superAdminMetrics": "Super Admin Metrics",
"Navbar.links.superAdminMetrics": "Super Admin Settings",
"Navbar.links.teams": "Týmy",
"Navbar.links.userAchievements": "Achievements",
"Navbar.links.userMetrics": "Metriky uživatele",
Expand Down
2 changes: 1 addition & 1 deletion src/lang/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -1134,7 +1134,7 @@
"Navbar.links.review": "Prüfung",
"Navbar.links.sent": "Sent",
"Navbar.links.signout": "Abmelden",
"Navbar.links.superAdminMetrics": "Super Admin Metrics",
"Navbar.links.superAdminMetrics": "Super Admin Settings",
"Navbar.links.teams": "Teams",
"Navbar.links.userAchievements": "Auszeichnungen",
"Navbar.links.userMetrics": "Benutzerstatistik",
Expand Down
2 changes: 1 addition & 1 deletion src/lang/en-US.json
Original file line number Diff line number Diff line change
Expand Up @@ -1138,7 +1138,7 @@
"Navbar.links.review": "Review",
"Navbar.links.sent": "Sent",
"Navbar.links.signout": "Sign out",
"Navbar.links.superAdminMetrics": "Super Admin Metrics",
"Navbar.links.superAdminMetrics": "Super Admin Settings",
"Navbar.links.teams": "Teams",
"Navbar.links.userAchievements": "Achievements",
"Navbar.links.userMetrics": "User Metrics",
Expand Down
2 changes: 1 addition & 1 deletion src/lang/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -1134,7 +1134,7 @@
"Navbar.links.review": "Revisión",
"Navbar.links.sent": "Sent",
"Navbar.links.signout": "Cerrar sesión",
"Navbar.links.superAdminMetrics": "Super Admin Metrics",
"Navbar.links.superAdminMetrics": "Super Admin Settings",
"Navbar.links.teams": "Equipos",
"Navbar.links.userAchievements": "Logros",
"Navbar.links.userMetrics": "Métricas de usuario",
Expand Down
2 changes: 1 addition & 1 deletion src/lang/fa_IR.json
Original file line number Diff line number Diff line change
Expand Up @@ -1134,7 +1134,7 @@
"Navbar.links.review": "Review",
"Navbar.links.sent": "Sent",
"Navbar.links.signout": "Sign out",
"Navbar.links.superAdminMetrics": "Super Admin Metrics",
"Navbar.links.superAdminMetrics": "Super Admin Settings",
"Navbar.links.teams": "Teams",
"Navbar.links.userAchievements": "Achievements",
"Navbar.links.userMetrics": "User Metrics",
Expand Down
2 changes: 1 addition & 1 deletion src/lang/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -1134,7 +1134,7 @@
"Navbar.links.review": "Vérifier",
"Navbar.links.sent": "Sent",
"Navbar.links.signout": "Déconnexion",
"Navbar.links.superAdminMetrics": "Super Admin Metrics",
"Navbar.links.superAdminMetrics": "Super Admin Settings",
"Navbar.links.teams": "Équipes",
"Navbar.links.userAchievements": "Récompenses",
"Navbar.links.userMetrics": "Statistiques utilisateur",
Expand Down
2 changes: 1 addition & 1 deletion src/lang/ja.json
Original file line number Diff line number Diff line change
Expand Up @@ -1134,7 +1134,7 @@
"Navbar.links.review": "レビュー",
"Navbar.links.sent": "Sent",
"Navbar.links.signout": "サインアウト",
"Navbar.links.superAdminMetrics": "Super Admin Metrics",
"Navbar.links.superAdminMetrics": "Super Admin Settings",
"Navbar.links.teams": "チーム",
"Navbar.links.userAchievements": "実績",
"Navbar.links.userMetrics": "統計情報",
Expand Down
2 changes: 1 addition & 1 deletion src/lang/ko.json
Original file line number Diff line number Diff line change
Expand Up @@ -1134,7 +1134,7 @@
"Navbar.links.review": "검토",
"Navbar.links.sent": "Sent",
"Navbar.links.signout": "로그아웃",
"Navbar.links.superAdminMetrics": "Super Admin Metrics",
"Navbar.links.superAdminMetrics": "Super Admin Settings",
"Navbar.links.teams": "팀",
"Navbar.links.userAchievements": "업적",
"Navbar.links.userMetrics": "사용자 메트릭",
Expand Down
2 changes: 1 addition & 1 deletion src/lang/pl.json
Original file line number Diff line number Diff line change
Expand Up @@ -1134,7 +1134,7 @@
"Navbar.links.review": "Recenzja",
"Navbar.links.sent": "Sent",
"Navbar.links.signout": "Wyloguj się",
"Navbar.links.superAdminMetrics": "Super Admin Metrics",
"Navbar.links.superAdminMetrics": "Super Admin Settings",
"Navbar.links.teams": "Zespoły",
"Navbar.links.userAchievements": "Osiągnięcia",
"Navbar.links.userMetrics": "Metryki użytkownika",
Expand Down
2 changes: 1 addition & 1 deletion src/lang/ru_RU.json
Original file line number Diff line number Diff line change
Expand Up @@ -1134,7 +1134,7 @@
"Navbar.links.review": "Проверка",
"Navbar.links.sent": "Sent",
"Navbar.links.signout": "Выход",
"Navbar.links.superAdminMetrics": "Super Admin Metrics",
"Navbar.links.superAdminMetrics": "Super Admin Settings",
"Navbar.links.teams": "Команды",
"Navbar.links.userAchievements": "Достижения",
"Navbar.links.userMetrics": "Метрики пользователя",
Expand Down
2 changes: 1 addition & 1 deletion src/lang/tr.json
Original file line number Diff line number Diff line change
Expand Up @@ -1134,7 +1134,7 @@
"Navbar.links.review": "Gözden geçir",
"Navbar.links.sent": "Sent",
"Navbar.links.signout": "Çıkış yap",
"Navbar.links.superAdminMetrics": "Super Admin Metrics",
"Navbar.links.superAdminMetrics": "Super Admin Settings",
"Navbar.links.teams": "Takımlar",
"Navbar.links.userAchievements": "Achievements",
"Navbar.links.userMetrics": "Kullanıcı Metrikleri",
Expand Down
2 changes: 1 addition & 1 deletion src/lang/vi.json
Original file line number Diff line number Diff line change
Expand Up @@ -1134,7 +1134,7 @@
"Navbar.links.review": "Review",
"Navbar.links.sent": "Sent",
"Navbar.links.signout": "Sign out",
"Navbar.links.superAdminMetrics": "Super Admin Metrics",
"Navbar.links.superAdminMetrics": "Super Admin Settings",
"Navbar.links.teams": "Teams",
"Navbar.links.userAchievements": "Achievements",
"Navbar.links.userMetrics": "User Metrics",
Expand Down
2 changes: 1 addition & 1 deletion src/lang/zh_TW.json
Original file line number Diff line number Diff line change
Expand Up @@ -1134,7 +1134,7 @@
"Navbar.links.review": "審核",
"Navbar.links.sent": "Sent",
"Navbar.links.signout": "登出",
"Navbar.links.superAdminMetrics": "Super Admin Metrics",
"Navbar.links.superAdminMetrics": "Super Admin Settings",
"Navbar.links.teams": "團隊",
"Navbar.links.userAchievements": "成就",
"Navbar.links.userMetrics": "User Metrics",
Expand Down
4 changes: 4 additions & 0 deletions src/services/Server/APIRoutes.js
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,10 @@ const apiRoutes = (factory) => {
setProjectRole: factory.put("/team/:teamId/project/:projectId/:role"),
removeFromProject: factory.delete("/team/:teamId/project/:projectId"),
},
superUser: {
addSuperUserGrant: factory.put("/superuser/:userId"),
deleteSuperUserGrant: factory.delete("/superuser/:userId")
}
};
};

Expand Down