From 08a6f4fefde840402c99bdede5e94c2e4560b9d5 Mon Sep 17 00:00:00 2001 From: Jeppe Bundgaard Date: Thu, 12 Feb 2026 14:32:06 +0100 Subject: [PATCH] Reintroduce editable columns in `SubuserGrantsTable.vue` with `EditableTableColumn` and implement `showEditObjectFieldForm` in `SubuserGrants.vue` --- .../superuser/tables/SubuserGrantsTable.vue | 58 +++++++++++++++---- .../SessionUser/Objects/SubuserGrants.vue | 17 ++++++ 2 files changed, 64 insertions(+), 11 deletions(-) diff --git a/src/components/displays/superuser/tables/SubuserGrantsTable.vue b/src/components/displays/superuser/tables/SubuserGrantsTable.vue index 34b3c11a..bdba51d1 100644 --- a/src/components/displays/superuser/tables/SubuserGrantsTable.vue +++ b/src/components/displays/superuser/tables/SubuserGrantsTable.vue @@ -3,6 +3,10 @@ import ActionSettingsWheelButton from "@/components/displays/buttons/ActionSetti import ActionSettingsWheelItem from "@/components/displays/buttons/ActionSettingsWheelItem.vue"; import EditableTableColumn from "@/components/displays/buttons/EditableTableColumn.vue"; import SubuserGrantPermissionNodes from "@/components/displays/selectors/SubuserGrantPermissionNodes.vue"; +import { usePaginatedListInstance } from "@/components/pagination/paginatedList.vue"; +import { SessionUser } from "@/components/session/token/SessionUser.vue"; + +const { loadList } = usePaginatedListInstance(); defineProps(['objects']); @@ -29,15 +33,37 @@ const formatDateTime = (dateString) => { - {{ grant.id }} - {{ grant.subuser }} - {{ grant.billing_customer_number }} - - - {{ grant.enabled ? 'Ja' : 'Nej' }} - - - {{ grant.note || '-' }} + + + + +
@@ -48,8 +74,18 @@ const formatDateTime = (dateString) => {
- {{ formatDateTime(grant.created_at) }} - {{ formatDateTime(grant.updated_at) }} + +
diff --git a/src/components/session/token/SessionUser/Objects/SubuserGrants.vue b/src/components/session/token/SessionUser/Objects/SubuserGrants.vue index 62ccca6f..db7ef738 100644 --- a/src/components/session/token/SessionUser/Objects/SubuserGrants.vue +++ b/src/components/session/token/SessionUser/Objects/SubuserGrants.vue @@ -174,5 +174,22 @@ export const SubuserGrants = { return ObjectsGlobal.get.object(SubuserGrants.meta.endpoint, parseInt(id)); } }, + /** + * Show the edit object field form + * @param id + * @param column + * @param value + * @param onAfterSubmit + * @returns {Promise>>} + */ + showEditObjectFieldForm: (id, column, value, onAfterSubmit = null) => { + return ObjectsGlobal.showEditObjectFieldForm( + SubuserGrants, + id, + column, + value, + onAfterSubmit + ); + } }