2022-08-26 11:45:14 +02:00
|
|
|
<script>
|
2024-03-09 10:30:40 +01:00
|
|
|
import { Row, Col } from "@sveltestrap/sveltestrap";
|
|
|
|
import { onMount } from "svelte";
|
|
|
|
import EditRole from "./admin/EditRole.svelte";
|
|
|
|
import EditProject from "./admin/EditProject.svelte";
|
|
|
|
import AddUser from "./admin/AddUser.svelte";
|
|
|
|
import ShowUsers from "./admin/ShowUsers.svelte";
|
|
|
|
import Options from "./admin/Options.svelte";
|
2022-08-26 11:45:14 +02:00
|
|
|
|
2024-03-09 10:30:40 +01:00
|
|
|
let users = [];
|
|
|
|
let roles = [];
|
2022-08-26 11:45:14 +02:00
|
|
|
|
2024-03-09 10:30:40 +01:00
|
|
|
function getUserList() {
|
|
|
|
fetch("/api/users/?via-ldap=false¬-just-user=true")
|
|
|
|
.then((res) => res.json())
|
|
|
|
.then((usersRaw) => {
|
|
|
|
users = usersRaw;
|
|
|
|
});
|
|
|
|
}
|
2022-08-26 11:45:14 +02:00
|
|
|
|
2024-03-09 10:30:40 +01:00
|
|
|
function getValidRoles() {
|
|
|
|
fetch("/api/roles/")
|
|
|
|
.then((res) => res.json())
|
|
|
|
.then((rolesRaw) => {
|
|
|
|
roles = rolesRaw;
|
|
|
|
});
|
|
|
|
}
|
2023-01-30 17:01:11 +01:00
|
|
|
|
2024-03-09 10:30:40 +01:00
|
|
|
function initAdmin() {
|
|
|
|
getUserList();
|
|
|
|
getValidRoles();
|
|
|
|
}
|
2022-08-26 11:45:14 +02:00
|
|
|
|
2024-03-09 10:30:40 +01:00
|
|
|
onMount(() => initAdmin());
|
2022-08-26 11:45:14 +02:00
|
|
|
</script>
|
|
|
|
|
2024-03-09 10:30:40 +01:00
|
|
|
<Row cols={2} class="p-2 g-2">
|
|
|
|
<Col class="mb-1">
|
|
|
|
<AddUser {roles} on:reload={getUserList} />
|
|
|
|
</Col>
|
|
|
|
<Col class="mb-1">
|
|
|
|
<ShowUsers on:reload={getUserList} bind:users />
|
|
|
|
</Col>
|
|
|
|
<Col>
|
|
|
|
<EditRole {roles} on:reload={getUserList} />
|
|
|
|
</Col>
|
|
|
|
<Col>
|
|
|
|
<EditProject on:reload={getUserList} />
|
|
|
|
</Col>
|
|
|
|
<Col>
|
|
|
|
<Options />
|
|
|
|
</Col>
|
2022-08-26 11:45:14 +02:00
|
|
|
</Row>
|