From 00c77396e4f449bc922d8846f0b87ad18fc1b820 Mon Sep 17 00:00:00 2001 From: James Date: Fri, 20 Mar 2026 01:06:54 -0400 Subject: [PATCH] =?UTF-8?q?fix:=20saveRescrapeSelection=20was=20missing=20?= =?UTF-8?q?=E2=80=94=20now=20actually=20saves;=20Members=20=E2=86=92=20Con?= =?UTF-8?q?tacts=20throughout?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- portal/templates/app/orgs.html | 53 +++++++++++++++++++++++++++++----- 1 file changed, 45 insertions(+), 8 deletions(-) diff --git a/portal/templates/app/orgs.html b/portal/templates/app/orgs.html index 139c6b7..28f595d 100644 --- a/portal/templates/app/orgs.html +++ b/portal/templates/app/orgs.html @@ -53,7 +53,7 @@
- +
@@ -90,7 +90,7 @@ ' - + '' + + '' + '
' + ''; }).join(''); @@ -528,6 +528,43 @@ window._rescrapeNewPeople[i][field] = value; } } + async function saveRescrapeSelection() { + const people = window._rescrapeNewPeople || []; + const checked = document.querySelectorAll('.rescrape-cb:checked'); + const toAdd = []; + checked.forEach(cb => { + const p = people[parseInt(cb.dataset.idx)]; + if (p) toAdd.push({ name: p.name || '', email: p.email || '', title: p.title || '', phone_business: p.phone_business || p.phone || '', phone_personal: p.phone_personal || '', photo: p.photo || '', bio: p.bio || '', linkedin: p.linkedin || '' }); + }); + if (toAdd.length === 0) { document.getElementById('rescrapeResults').classList.add('hidden'); return; } + toAdd.forEach(m => editingMembers.push(m)); + renderMemberList(); + document.getElementById('rescrapeResults').classList.add('hidden'); + const btn = document.getElementById('saveOrgBtn'); + const errEl = document.getElementById('editModalError'); + btn.disabled = true; btn.textContent = 'Saving...'; + try { + const version = parseInt(document.getElementById('eVersion').value) || 1; + const mRes = await fetchAPI('/api/orgs/' + editingOrgId + '/members', { + method: 'PUT', + body: JSON.stringify({ members: editingMembers, version }) + }); + const mData = await mRes.json(); + if (!mRes.ok) throw new Error(mData.error || 'Failed to save'); + document.getElementById('eVersion').value = mData.version || version + 1; + btn.disabled = false; btn.textContent = 'Save Changes'; + if (window._orgsMap && window._orgsMap[editingOrgId]) { + window._orgsMap[editingOrgId].members = editingMembers; + window._orgsMap[editingOrgId].version = mData.version || version + 1; + } + } catch(e) { + editingMembers.splice(editingMembers.length - toAdd.length, toAdd.length); + renderMemberList(); + errEl.textContent = e.message; errEl.classList.remove('hidden'); + btn.disabled = false; btn.textContent = 'Save Changes'; + } + } + function addRescrapeSelected() { const people = window._rescrapeNewPeople || []; const checked = document.querySelectorAll('.rescrape-cb:checked');