fix: permissions button broken for new orgs — store orgs in JS map, pass only ID in onclick (same apostrophe/JSON escaping bug)
This commit is contained in:
parent
110d44e238
commit
9be3c41493
|
|
@ -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 = '<div class="text-[#94a3b8] text-sm">No organizations added yet. Use "+ Add Org" to add parties to this deal.</div>';
|
||||
|
|
@ -997,7 +1000,7 @@
|
|||
<span>${perms.folder_access === 'all' ? '📂 All folders' : '📂 Assigned only'}</span>
|
||||
</div>
|
||||
</div>
|
||||
<button onclick="openPermModal('${o.deal_org_id}','${o.org_id}','${o.role}',${o.version || 1},${JSON.stringify(JSON.stringify(o.permissions||{}))})"
|
||||
<button onclick="openPermModalById('${o.deal_org_id}')"
|
||||
class="px-3 py-1.5 bg-white/[0.05] hover:bg-white/[0.08] text-[#94a3b8] hover:text-white rounded-lg text-xs transition shrink-0">⚙ Permissions</button>
|
||||
</div>
|
||||
${members.length > 0 ? `<div class="border-t border-white/[0.06] px-5 py-3">
|
||||
|
|
@ -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) {}
|
||||
|
|
|
|||
Loading…
Reference in New Issue