fix: saveOrg finally block — button always resets regardless of success/error/close order
This commit is contained in:
parent
5e77fa13fd
commit
b0f86ed4bb
|
|
@ -279,12 +279,9 @@
|
|||
const domains = domainsRaw ? domainsRaw.split(',').map(d => d.trim().replace(/^@/, '')).filter(Boolean) : undefined;
|
||||
btn.disabled = true; btn.textContent = 'Saving...'; errEl.classList.add('hidden');
|
||||
try {
|
||||
// Always fetch fresh version to avoid stale version conflicts
|
||||
const freshRes = await fetchAPI('/api/orgs/' + editingOrgId);
|
||||
const freshOrg = await freshRes.json();
|
||||
let version = freshOrg.version || 1;
|
||||
|
||||
// Save members first
|
||||
const mRes = await fetchAPI('/api/orgs/' + editingOrgId + '/members', {
|
||||
method: 'PUT',
|
||||
body: JSON.stringify({ members: editingMembers, version })
|
||||
|
|
@ -292,8 +289,6 @@
|
|||
const mData = await mRes.json();
|
||||
if (!mRes.ok) throw new Error(mData.error || 'Failed to save contacts');
|
||||
version = mData.version;
|
||||
|
||||
// Save details with updated version
|
||||
const res = await fetchAPI('/api/orgs/' + editingOrgId, {
|
||||
method: 'PUT',
|
||||
body: JSON.stringify({
|
||||
|
|
@ -314,7 +309,11 @@
|
|||
if (!res.ok) throw new Error(data.error || 'Failed to save details');
|
||||
closeEditModal();
|
||||
loadOrgs();
|
||||
} catch(e) { errEl.textContent = e.message; errEl.classList.remove('hidden'); btn.disabled = false; btn.textContent = 'Save Changes'; }
|
||||
} catch(e) {
|
||||
errEl.textContent = e.message; errEl.classList.remove('hidden');
|
||||
} finally {
|
||||
btn.disabled = false; btn.textContent = 'Save Changes';
|
||||
}
|
||||
}
|
||||
|
||||
// ---- Members Tab ----
|
||||
|
|
|
|||
Loading…
Reference in New Issue