diff --git a/src/frontend/src/pages/core/CoreIndex.tsx b/src/frontend/src/pages/core/CoreIndex.tsx
index 8af5f777e9..1894df68f2 100644
--- a/src/frontend/src/pages/core/CoreIndex.tsx
+++ b/src/frontend/src/pages/core/CoreIndex.tsx
@@ -8,8 +8,8 @@ import { PageDetail } from '../../components/nav/PageDetail';
import { PanelGroup } from '../../components/panels/PanelGroup';
import { useUserState } from '../../states/UserState';
import { ContactTable } from '../../tables/company/ContactTable';
-import { UserTable } from '../../tables/core/UserTable';
import { GroupTable } from '../../tables/settings/GroupTable';
+import { UserTable } from '../../tables/settings/UserTable';
export default function CoreIndex() {
const user = useUserState();
diff --git a/src/frontend/src/tables/core/UserTable.tsx b/src/frontend/src/tables/core/UserTable.tsx
deleted file mode 100644
index 93ed8aa741..0000000000
--- a/src/frontend/src/tables/core/UserTable.tsx
+++ /dev/null
@@ -1,88 +0,0 @@
-import { t } from '@lingui/core/macro';
-import { useMemo } from 'react';
-import { ApiEndpoints } from '../../enums/ApiEndpoints';
-import { ModelType } from '../../enums/ModelType';
-import {} from '../../hooks/UseFilter';
-import { useTable } from '../../hooks/UseTable';
-import { apiUrl } from '../../states/ApiState';
-import { BooleanColumn } from '../ColumnRenderers';
-import type { TableFilter } from '../Filter';
-import { InvenTreeTable } from '../InvenTreeTable';
-
-export function UserTable() {
- const table = useTable('users-index');
-
- const tableFilters: TableFilter[] = useMemo(() => {
- const filters: TableFilter[] = [
- {
- name: 'is_active',
- label: t`Active`,
- description: t`Show active users`
- },
- {
- name: 'is_staff',
- label: t`Staff`,
- description: t`Show staff users`
- },
- {
- name: 'is_superuser',
- label: t`Superuser`,
- description: t`Show superusers`
- }
- ];
-
- return filters;
- }, []);
-
- const tableColumns = useMemo(() => {
- return [
- {
- accessor: 'username',
- sortable: true,
- switchable: false
- },
- {
- accessor: 'first_name',
- sortable: true
- },
- {
- accessor: 'last_name',
- sortable: true
- },
- {
- accessor: 'email',
- sortable: true
- },
- {
- accessor: 'groups',
- title: t`Groups`,
- sortable: true,
- switchable: true,
- render: (record: any) => {
- return record.groups.length;
- }
- },
- BooleanColumn({
- accessor: 'is_staff'
- }),
- BooleanColumn({
- accessor: 'is_superuser'
- }),
- BooleanColumn({
- accessor: 'is_active'
- })
- ];
- }, []);
-
- return (
-
- );
-}
diff --git a/src/frontend/src/tables/settings/GroupTable.tsx b/src/frontend/src/tables/settings/GroupTable.tsx
index b415a223bb..a24b39ca4b 100644
--- a/src/frontend/src/tables/settings/GroupTable.tsx
+++ b/src/frontend/src/tables/settings/GroupTable.tsx
@@ -103,7 +103,10 @@ export function GroupDrawer({
url: ApiEndpoints.group_list,
pk: id,
fields: {
- name: {}
+ name: {
+ label: t`Name`,
+ description: t`Name of the user group`
+ }
},
onFormSuccess: () => {
refreshTable();
@@ -185,8 +188,13 @@ export function GroupTable({
const newGroup = useCreateApiFormModal({
url: ApiEndpoints.group_list,
- title: t`Add group`,
- fields: { name: {} },
+ title: t`Add Group`,
+ fields: {
+ name: {
+ label: t`Name`,
+ description: t`Name of the user group`
+ }
+ },
table: table
});
@@ -210,7 +218,7 @@ export function GroupTable({
{newGroup.modal}
{deleteGroup.modal}
{
if (!id || !id.startsWith('group-')) return false;
return (
diff --git a/src/frontend/src/tables/settings/UserTable.tsx b/src/frontend/src/tables/settings/UserTable.tsx
index 620d04d8ee..7ea49b612b 100644
--- a/src/frontend/src/tables/settings/UserTable.tsx
+++ b/src/frontend/src/tables/settings/UserTable.tsx
@@ -265,6 +265,8 @@ export function UserTable() {
const tableActions = useMemo(() => {
const actions = [];
+ console.log('tableActions:', user.hasAddPermission(ModelType.user));
+
actions.push(
{
if (!id || !id.startsWith('user-')) return false;
return (