Skip to content

Commit

Permalink
Add toggle from dashboard #145
Browse files Browse the repository at this point in the history
  • Loading branch information
NHAS committed Nov 23, 2024
1 parent a390a34 commit e035cee
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 11 deletions.
4 changes: 2 additions & 2 deletions adminui/frontend/src/pages/Dashboard.vue
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ const lockedDevices = computed(() => allDevices.value.filter(x => x.is_locked))
<div class="flex w-full gap-4">
<div class="flex grid w-1/2 grid-cols-2 gap-4 min-w-[405px]">
<router-link
to="/management/users"
:to="'/management/users' + (usersLackingMfa.length == 0 ? '' : '/unset') "
class="card-compact bg-base-100 shadow-xl border-l-4"
:class="usersLackingMfa.length == 0 ? 'border-primary' : 'border-error'"
>
Expand All @@ -48,7 +48,7 @@ const lockedDevices = computed(() => allDevices.value.filter(x => x.is_locked))
</div>
</router-link>
<router-link
to="/management/devices"
:to="'/management/devices' + (lockedDevices.length == 0 ? '/' : '/locked') "
class="card-compact bg-base-100 shadow-xl border-l-4"
:class="lockedDevices.length == 0 ? 'border-primary' : 'border-error'"
>
Expand Down
9 changes: 4 additions & 5 deletions adminui/frontend/src/pages/Devices.vue
Original file line number Diff line number Diff line change
Expand Up @@ -9,25 +9,24 @@ import RegistrationToken from '@/components/RegistrationToken.vue'
import { usePagination } from '@/composables/usePagination'
import { useToastError } from '@/composables/useToastError'
import { useRoute } from 'vue-router'
import { useDevicesStore } from '@/stores/devices'
import { Icons } from '@/util/icons'
import { deleteDevices, editDevice, DeviceEditActions, type EditDevicesDTO, type DeviceDTO } from '@/api'
const devicesStore = useDevicesStore()
devicesStore.load(false)
const route = useRoute()
const filterText = ref('')
const allDevices = computed(() => devicesStore.devices ?? [])
const filterActive = ref(false)
const filterLocked = ref(false)
const filterActive = ref(route.params.filter == 'active')
const filterLocked = ref(route.params.filter == 'locked')
const filteredDevices = computed(() => {
const arr = allDevices.value.filter(a => (a.active || !filterActive.value)).filter(a => a.is_locked || !filterLocked.value)
Expand Down
12 changes: 10 additions & 2 deletions adminui/frontend/src/pages/Users.vue
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,22 @@ import { useUsersStore } from '@/stores/users'
import { Icons } from '@/util/icons'
import { deleteUsers, editUser, UserEditActions, type EditUsersDTO, type UserDTO } from '@/api'
import { useRoute } from 'vue-router'
const usersStore = useUsersStore()
usersStore.load(false)
const route = useRoute()
const filterText = ref('')
const allUsers = computed(() => usersStore.users ?? [])
const filterLocked = ref(false)
const filterLocked = ref(route.params.filter == 'locked')
const filterUnsetMfa = ref(route.params.filter == 'unset')
const filteredUsers = computed(() => {
const arr = allUsers.value.filter(a => a.locked || !filterLocked.value)
const arr = allUsers.value.filter(a => a.locked || !filterLocked.value).filter(a => (a.mfa_type == '' || a.mfa_type == 'unset') || !filterUnsetMfa.value)
if (filterText.value == '') {
return arr
Expand Down Expand Up @@ -121,6 +125,10 @@ function sortUsers(by: keyof UserDTO) {
</button>
</div>
<span class="flex">
<label class="label cursor-pointer mr-4">
<span class="label-text mr-2">Unset MFA</span>
<input v-model="filterUnsetMfa" type="checkbox" class="toggle toggle-primary" />
</label>
<label class="label cursor-pointer mr-4">
<span class="label-text mr-2">Locked</span>
<input v-model="filterLocked" type="checkbox" class="toggle toggle-primary" />
Expand Down
4 changes: 2 additions & 2 deletions adminui/frontend/src/router/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ const router = createRouter({
route('/diagnostics/check', 'Check Firewall', () => import('@/pages/Diagnostics/TestRule.vue')),
route('/diagnostics/acls', 'ACLs', () => import('@/pages/Diagnostics/Acls.vue')),

route('/management/users', 'User Management', () => import('@/pages/Users.vue')),
route('/management/devices', 'Device Management', () => import('@/pages/Devices.vue')),
route('/management/users/:filter?', 'User Management', () => import('@/pages/Users.vue')),
route('/management/devices/:filter?', 'Device Management', () => import('@/pages/Devices.vue')),
route('/management/registration_tokens', 'Registration Tokens', () => import('@/pages/RegistrationTokens.vue')),

route('/settings', 'Settings', () => import('@/pages/Settings.vue')),
Expand Down

0 comments on commit e035cee

Please sign in to comment.