Add Customer Account card to asset detail view — live from Dynamics 365 extraction DB. Shows name, address, phone, email, management company, account manager.

This commit is contained in:
2026-07-28 21:11:30 -04:00
parent 8a4f76b56e
commit cc0d381d6d
2 changed files with 71 additions and 0 deletions
+32
View File
@@ -1498,6 +1498,12 @@
<div id="detailRelatedWOList"></div>
</div>
<!-- Customer Account (from Dynamics 365) -->
<div class="card" id="detailAccountCard" style="display:none;">
<div class="card-title"><svg class="gi" aria-hidden="true"><use href="#gi-factory"/></svg> Customer Account</div>
<div id="detailAccountFields"></div>
</div>
<!-- Check-in History -->
<div class="card">
<div class="card-title">Check-in History <span id="checkinCount" style="color:var(--accent2);"></span></div>
@@ -5492,6 +5498,32 @@
rwoCard.style.display = 'none';
}
// Customer Account details from Dynamics 365
const acctCard = document.getElementById('detailAccountCard');
const acctFields = document.getElementById('detailAccountFields');
if (a.customer_account) {
acctCard.style.display = 'block';
const ac = a.customer_account;
var addrParts = [];
if (ac.address1_line1) addrParts.push(esc(ac.address1_line1));
if (ac.address1_city) addrParts.push(esc(ac.address1_city));
if (ac.address1_stateorprovince) addrParts.push(esc(ac.address1_stateorprovince));
if (ac.address1_postalcode) addrParts.push(esc(ac.address1_postalcode));
acctFields.innerHTML = [
df('Name', esc(ac.name)),
df('Address', addrParts.join(', ')),
(ac.telephone1 ? df('Phone', esc(ac.telephone1)) : ''),
(ac.emailaddress1 ? df('Email', esc(ac.emailaddress1)) : ''),
(ac.websiteurl ? df('Website', esc(ac.websiteurl)) : ''),
(ac.management_company ? df('Management Co.', esc(ac.management_company)) : ''),
(ac.csm ? df('Account Manager', esc(ac.csm)) : ''),
(ac.fax ? df('Fax', esc(ac.fax)) : ''),
(ac.address1_country ? df('Country', esc(ac.address1_country)) : ''),
].filter(Boolean).join('');
} else {
acctCard.style.display = 'none';
}
await loadCheckinHistory(id);
} catch (e) {
showToast(e.message, true);