Add user filter for roles and invited status

This commit is contained in:
Johannes Zellner
2026-02-02 12:25:09 +01:00
parent 33a1f135e0
commit d42919285b

View File

@@ -99,9 +99,17 @@ const external2FA = ref(false);
const profile = ref({}); const profile = ref({});
const busy = ref(true); const busy = ref(true);
const filterOptions = ref([ const filterOptions = ref([
{ id: 'all', name: 'All Users' }, { id: 'all', name: 'All' },
{ id: 'active', name: 'Active Users' }, { separator: true, name: 'State' },
{ id: 'inactive', name: 'Inactive Users' } { id: 'active', name: 'Active' },
{ id: 'inactive', name: 'Inactive' },
{ id: 'invited', name: 'Invited' },
{ separator: true, name: 'Roles' },
{ id: ROLES.USER, name: t('users.role.user') },
{ id: ROLES.USER_MANAGER, name: t('users.role.usermanager') },
{ id: ROLES.MAIL_MANAGER, name: t('users.role.mailmanager') },
{ id: ROLES.ADMIN, name: t('users.role.admin') },
{ id: ROLES.OWNER, name: t('users.role.owner') },
]); ]);
const users = ref([]); const users = ref([]);
const usersById = ref({}); const usersById = ref({});
@@ -125,9 +133,13 @@ const filteredUsers = computed(() => {
return username.indexOf(search.value) !== -1 || u.email.indexOf(search.value) !== -1 || u.displayName.indexOf(search.value) !== -1; return username.indexOf(search.value) !== -1 || u.email.indexOf(search.value) !== -1 || u.displayName.indexOf(search.value) !== -1;
}).filter(u => { }).filter(u => {
if (filter.value === 'active') { if (filter.value === 'active') {
return u.active; return u.active && (u.inviteAccepted || u.source);
} else if (filter.value === 'inactive') { } else if (filter.value === 'inactive') {
return !u.active; return !u.active;
} else if (filter.value === 'invited') {
return !u.inviteAccepted && !u.source;
} else if (filter.value === ROLES.USER || filter.value === ROLES.USER_MANAGER || filter.value === ROLES.MAIL_MANAGER || filter.value === ROLES.ADMIN || filter.value === ROLES.OWNER) {
return u.role === filter.value;
} else { } else {
return true; return true;
} }