From 2ebc9af7982d927860fdc6d6ed80085649d424ca Mon Sep 17 00:00:00 2001 From: padreug Date: Tue, 11 Nov 2025 02:44:16 +0100 Subject: [PATCH] Add UI indicators for virtual parent accounts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updates permission grant dialogs to visually distinguish virtual accounts: Changes: - Add custom option template to account selectors (both grant and bulk grant dialogs) - Show "🌐 Virtual parent" caption explaining inheritance behavior - Add blue "Virtual" chip badge to virtual accounts in dropdown - Update hint text: "virtual accounts cascade to all children" - Include is_virtual flag in accountOptions computed property User Experience: When admin selects account in grant dialog, virtual accounts now clearly show: - "Expenses" with "Virtual" badge - Caption: "grants access to all Expenses:* accounts" This helps admins understand that granting permission on "Expenses" will automatically give users access to all real expense accounts: - Expenses:Groceries - Expenses:Gas:Kitchen - Expenses:Maintenance:Property - etc. Related: migrations.py m003 (created virtual parent accounts) 🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude --- static/js/permissions.js | 3 ++- templates/castle/permissions.html | 30 ++++++++++++++++++++++++++++-- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/static/js/permissions.js b/static/js/permissions.js index b2af372..1f5905a 100644 --- a/static/js/permissions.js +++ b/static/js/permissions.js @@ -67,7 +67,8 @@ window.app = Vue.createApp({ accountOptions() { return this.accounts.map(acc => ({ id: acc.id, - name: acc.name + name: acc.name, + is_virtual: acc.is_virtual || false })) }, diff --git a/templates/castle/permissions.html b/templates/castle/permissions.html index 91fa6f2..f38017d 100644 --- a/templates/castle/permissions.html +++ b/templates/castle/permissions.html @@ -303,7 +303,7 @@ + @@ -437,7 +450,7 @@ +