From 719cb85012433b2d0179ccfaa2bcfad7ed9ca55e Mon Sep 17 00:00:00 2001 From: Jeppe Bundgaard Date: Wed, 5 Nov 2025 10:18:48 +0100 Subject: [PATCH] "Add ReturnToOwnAccount.vue for managing superuser token redirection, enhance permissions handling with virtual permissions support, and update NavigationMenuItemsGlobal.vue with new link for account return" --- .../items/NavigationMenuItemsGlobal.vue | 12 +++-- src/components/session/token/SessionUser.vue | 26 ++++++++++- .../token/SessionUser/Objects/Vehicles.vue | 30 ++++++++---- src/router.js | 6 +++ src/views/auth/ReturnToOwnAccount.vue | 46 +++++++++++++++++++ 5 files changed, 106 insertions(+), 14 deletions(-) create mode 100644 src/views/auth/ReturnToOwnAccount.vue diff --git a/src/components/models/navigation/items/NavigationMenuItemsGlobal.vue b/src/components/models/navigation/items/NavigationMenuItemsGlobal.vue index 62b2241b..43d35204 100644 --- a/src/components/models/navigation/items/NavigationMenuItemsGlobal.vue +++ b/src/components/models/navigation/items/NavigationMenuItemsGlobal.vue @@ -19,11 +19,11 @@ const addChildrenIfApplicable = (item: NavigationItemProps) => { if (item.type === 'link' && item.permissions) { // Check if the user has at least one of the required permissions for (const perm of item.permissions) { - if (hasPermission(perm)) { - return [item]; + if (!hasPermission(perm)) { + return []; } } - return []; // User lacks required permissions + return [item]; // User lacks required permissions } } @@ -50,6 +50,12 @@ const items = computed(() => [ type: 'link', permissions: ['superuser'], }) || [], + ...addChildrenIfApplicable({ + label: 'Return to own account →', + to: `/auth/return`, + type: 'link', + permissions: ['user', 'has_superuser_token'], + }) || [], ...addChildrenIfApplicable({ label: 'Sign out →', to: `/logout`, diff --git a/src/components/session/token/SessionUser.vue b/src/components/session/token/SessionUser.vue index c086a508..d25bd4d7 100644 --- a/src/components/session/token/SessionUser.vue +++ b/src/components/session/token/SessionUser.vue @@ -1,6 +1,6 @@ + + + + \ No newline at end of file