From 9be3c414934bec8fa7d597a87854c702e0a11e32 Mon Sep 17 00:00:00 2001 From: James Date: Sun, 15 Mar 2026 00:07:32 -0400 Subject: [PATCH] =?UTF-8?q?fix:=20permissions=20button=20broken=20for=20ne?= =?UTF-8?q?w=20orgs=20=E2=80=94=20store=20orgs=20in=20JS=20map,=20pass=20o?= =?UTF-8?q?nly=20ID=20in=20onclick=20(same=20apostrophe/JSON=20escaping=20?= =?UTF-8?q?bug)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- portal/templates/app/project.html | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/portal/templates/app/project.html b/portal/templates/app/project.html index e26f990..043d784 100644 --- a/portal/templates/app/project.html +++ b/portal/templates/app/project.html @@ -967,10 +967,13 @@ // ---- Organizations ---- let allGlobalOrgs = []; + let _dealOrgsMap = {}; async function loadOrgs() { try { const res = await fetchAPI('/api/projects/' + projectID + '/orgs'); const orgs = await res.json(); + _dealOrgsMap = {}; + if (Array.isArray(orgs)) orgs.forEach(o => { _dealOrgsMap[o.deal_org_id] = o; }); const list = document.getElementById('orgList'); if (!orgs || orgs.length === 0) { list.innerHTML = '
No organizations added yet. Use "+ Add Org" to add parties to this deal.
'; @@ -997,7 +1000,7 @@ ${perms.folder_access === 'all' ? '📂 All folders' : '📂 Assigned only'} - ${members.length > 0 ? `
@@ -1268,6 +1271,12 @@ } // ---- Permissions Modal ---- + function openPermModalById(dealOrgId) { + const o = _dealOrgsMap[dealOrgId]; + if (!o) return; + openPermModal(o.deal_org_id, o.org_id, o.role, o.version || 1, JSON.stringify(o.permissions || {})); + } + function openPermModal(dealOrgId, orgId, role, version, permsJson) { let perms = {}; try { perms = JSON.parse(permsJson) || {}; } catch(e) {}