diff --git a/staticfiles/js/supplier-crud.js b/staticfiles/js/supplier-crud.js index c746971..42e647b 100644 --- a/staticfiles/js/supplier-crud.js +++ b/staticfiles/js/supplier-crud.js @@ -218,11 +218,22 @@ document.addEventListener('DOMContentLoaded', function () { suppliersData.forEach(function (supplier) { let card = $('
'); - card.append('Contact: ' + supplier.contact_name + '
'); - card.append('Country: ' + supplier.supplier_country + '
'); - card.append('Phone: ' + supplier.phone_number + '
'); - card.append('Email: ' + supplier.email + '
'); + + card.append($('').text(supplier.name)); + card.append($('').text('Contact: ' + supplier.contact_name)); + card.append($('').text('Country: ' + supplier.supplier_country)); + card.append($('').text('Phone: ' + supplier.phone_number)); + + const emailParagraph = $('').text('Email: '); + const rawEmail = String(supplier.email || '').trim(); + const isValidEmail = /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(rawEmail); + const safeEmail = isValidEmail ? rawEmail : ''; + + const emailLink = $('') + .attr('href', safeEmail ? ('mailto:' + encodeURIComponent(safeEmail)) : '#') + .text(safeEmail || rawEmail); + emailParagraph.append(emailLink); + card.append(emailParagraph); card.on('click', function () { showEditForm(supplier.id, supplier.name, supplier.contact_name, supplier.supplier_country, supplier.phone_number, supplier.email);