summaryrefslogtreecommitdiff
path: root/src/views/AccessControl/LocalUserManagement.vue
diff options
context:
space:
mode:
Diffstat (limited to 'src/views/AccessControl/LocalUserManagement.vue')
-rw-r--r--src/views/AccessControl/LocalUserManagement.vue119
1 files changed, 118 insertions, 1 deletions
diff --git a/src/views/AccessControl/LocalUserManagement.vue b/src/views/AccessControl/LocalUserManagement.vue
index 3233aeca..cca068dc 100644
--- a/src/views/AccessControl/LocalUserManagement.vue
+++ b/src/views/AccessControl/LocalUserManagement.vue
@@ -1,3 +1,120 @@
<template>
- <h1>Local user management</h1>
+ <b-container fluid>
+ <b-row>
+ <b-col lg="8">
+ <h1>Local user management</h1>
+ </b-col>
+ </b-row>
+ <b-row>
+ <b-col lg="8" md="10">
+ <b-button v-b-modal.modal-settings variant="secondary"
+ >Account policy settings</b-button
+ >
+ <b-button v-b-modal.modal-add-user variant="primary">Add user</b-button>
+ </b-col>
+ </b-row>
+ <b-row>
+ <b-col lg="8" md="10">
+ <b-table bordered head-variant="dark" :items="tableItems" show-empty>
+ <template v-slot:head(actions)="data"></template>
+ <template v-slot:cell(actions)="data">
+ <b-button
+ :disabled="!data.value.edit"
+ v-b-modal.modal-user-settings
+ >
+ <Edit20 />
+ </b-button>
+ <b-button
+ :disabled="!data.value.delete"
+ v-b-modal.modal-user-delete
+ >
+ <TrashCan20 />
+ </b-button>
+ </template>
+ </b-table>
+ </b-col>
+ </b-row>
+ <b-row>
+ <b-col lg="6" md="8">
+ <b-button v-b-toggle.collapse-role-table variant="info" class="mt-3"
+ >View privilege role descriptions</b-button
+ >
+ <b-collapse id="collapse-role-table" class="mt-3">
+ <role-table />
+ </b-collapse>
+ </b-col>
+ </b-row>
+ <!-- Modals -->
+ <b-modal id="modal-add-user" title="Add user" ref="modal">
+ <template v-slot:modal-footer="{ ok, cancel, hide }">
+ <b-button
+ size="sm"
+ variant="secondary"
+ @click="$bvModal.hide('modal-add-user')"
+ >Cancel</b-button
+ >
+ <b-button
+ size="sm"
+ variant="primary"
+ @click="$bvModal.hide('modal-add-user')"
+ >Add user</b-button
+ >
+ </template>
+ </b-modal>
+ <b-modal id="modal-settings" title="Account policy settings"></b-modal>
+ <b-modal id="modal-user-delete" title="Delete user"></b-modal>
+ <b-modal id="modal-user-settings" title="User settings"></b-modal>
+ </b-container>
</template>
+
+<script>
+import LocalUserManagementRoleTable from "./LocalUserMangementRoleTable";
+import TrashCan20 from "@carbon/icons-vue/es/trash-can/20";
+import Edit20 from "@carbon/icons-vue/es/edit/20";
+
+export default {
+ name: "local-users",
+ components: {
+ TrashCan20,
+ Edit20,
+ roleTable: LocalUserManagementRoleTable
+ },
+ created() {
+ this.getUsers();
+ },
+ computed: {
+ allUsers() {
+ return this.$store.getters["localUsers/allUsers"];
+ },
+ tableItems() {
+ // transform user data to table data
+ return this.allUsers.map(user => {
+ return {
+ username: user.UserName,
+ privilege: user.RoleId,
+ status: user.Locked
+ ? "Locked"
+ : user.Enabled
+ ? "Enabled"
+ : "Disabled",
+ actions: {
+ edit: true,
+ delete: user.UserName === "root" ? false : true
+ }
+ };
+ });
+ }
+ },
+ methods: {
+ getUsers() {
+ this.$store.dispatch("localUsers/getUsers");
+ }
+ }
+};
+</script>
+
+<style lang="scss" scoped>
+h1 {
+ margin-bottom: 2rem;
+}
+</style>