diff --git a/dealspace b/dealspace index 4d32885..a5e7829 100755 Binary files a/dealspace and b/dealspace differ diff --git a/portal/templates/app/project.html b/portal/templates/app/project.html index df6c44b..f58b5e6 100644 --- a/portal/templates/app/project.html +++ b/portal/templates/app/project.html @@ -167,12 +167,15 @@ + +
+ + +
-
- - -
+
@@ -869,6 +872,7 @@ document.getElementById('addOrgError').classList.add('hidden'); document.getElementById('addOrgName').value = ''; document.getElementById('addOrgId').value = ''; + document.getElementById('addOrgWebsite').value = ''; pendingMembers = []; renderMemberBubbles(); setOrgType('buyer', document.querySelector('[data-type="buyer"]')); @@ -1057,11 +1061,13 @@ try { let orgId = existingOrgId; if (!orgId) { - // Auto-derive domains from member emails + // Use manually entered website/domain first, fall back to member email domains + const websiteInput = (document.getElementById('addOrgWebsite').value || '').trim().replace(/^https?:\/\//, '').replace(/\/.*$/, '').toLowerCase(); const emailDomains = [...new Set( members.map(m => m.email ? m.email.split('@')[1] : null).filter(Boolean) )]; - const createRes = await fetchAPI('/api/orgs', { method: 'POST', body: JSON.stringify({ name, domains: emailDomains, role, website: '' }) }); + const domains = websiteInput ? [websiteInput, ...emailDomains.filter(d => d !== websiteInput)] : emailDomains; + const createRes = await fetchAPI('/api/orgs', { method: 'POST', body: JSON.stringify({ name, domains, role, website: websiteInput ? 'https://' + websiteInput : '' }) }); if (!createRes.ok) { const e = await createRes.json(); throw new Error(e.error || 'Failed to create org'); } const created = await createRes.json(); orgId = created.entry_id || created.org_id;