';
}
html += '
Kunde: ' + dmEsc(delivery.customer_name || '—') + (delivery.customer_company ? ' (' + dmEsc(delivery.customer_company) + ')' : '') + '
';
html += '
Address: ' + dmEsc(delivery.customer_address || '—') + ', ' + dmEsc(((delivery.customer_postcode || '') + ' ' + (delivery.customer_city || '')).trim()) + '
';
if (delivery.customer_phone) {
html += '
Phone: ' + dmEsc(delivery.customer_phone) + '
';
}
if (delivery.notes) {
html += '
Auftragshinweis: ' + dmEsc(delivery.notes) + '
';
}
if (delivery.delivered_to || delivery.delivery_location) {
html += '
Delivery: ' + dmEsc(delivery.delivered_to || '—');
if (delivery.delivery_location) {
html += ' (City: ' + dmEsc(delivery.delivery_location) + ')';
}
html += '
';
}
if (delivery.detail_url) {
html += '
Auftrag direkt öffnen
';
}
if (Array.isArray(delivery.documents) && delivery.documents.length > 0) {
html += '
Begleitdokumente
';
html += '
';
delivery.documents.forEach(function (doc) {
html += '- ';
html += '' + dmEsc(doc.filename || 'Dokument') + '';
if (doc.type_label) {
html += ' (' + dmEsc(doc.type_label) + ')';
}
if (doc.notes) {
html += '
' + dmEsc(doc.notes) + '';
}
html += '
';
if (doc.view_url) {
html += 'View';
}
if (doc.download_url) {
html += 'Download';
}
html += '';
html += ' ';
});
html += '
';
}
// Bereitgestellte Daten prominent VOR dem Status-Verlauf: Der Kunde sucht in erster Linie
// seinen Download. Erscheint nur, wenn die Daten vollständig und freigegeben sind.
if (delivery.data_delivery && delivery.data_delivery.url) {
var dd = delivery.data_delivery;
html += '
';
html += '
📥 Ihre Daten stehen zum Download bereit
';
var ddInfo = [];
if (dd.files) { ddInfo.push(dd.files + ' Datei(en)'); }
if (dd.size_label) { ddInfo.push(dmEsc(dd.size_label)); }
if (dd.delete_at_label) { ddInfo.push('verfügbar bis ' + dmEsc(dd.delete_at_label)); }
if (ddInfo.length) {
html += '
' + ddInfo.join(' · ') + '
';
}
html += '
Download data';
html += '
';
}
if (Array.isArray(delivery.status_history) && delivery.status_history.length > 0) {
html += '
Status-Verlauf
';
html += '
';
delivery.status_history.forEach(function (entry) {
html += '- ';
html += '' + dmEsc(entry.status_label || entry.status || '') + '
';
html += '' + dmEsc(entry.timestamp || '') + '';
if (entry.notes) {
html += '
' + dmEsc(entry.notes) + '';
}
html += ' ';
});
html += '
';
}
html += '
';
resultEl.innerHTML = html;
resultEl.style.display = 'block';
}
function dmFetchTracking() {
const trackingNumber = (input.value || '').trim();
if (!trackingNumber) return;
const params = new URLSearchParams();
params.set('action', 'dm_get_tracking_status');
params.set('tracking_number', trackingNumber);
fetch('https://datenbank.fritz-bergmann.de/wp-admin/admin-ajax.php?' + params.toString(), { method: 'GET', credentials: 'same-origin' })
.then(function (response) { return response.json(); })
.then(function (response) {
const delivery = (response && response.delivery) ? response.delivery : (response && response.data && response.data.delivery ? response.data.delivery : null);
if (response && response.success && delivery) {
renderDelivery(delivery);
} else {
renderError('Lieferung nicht gefunden.');
}
})
.catch(function () {
renderError('Fehler beim Abrufen des Status.');
});
}
form.addEventListener('submit', function (e) {
e.preventDefault();
if (!(input.value || '').trim()) {
alert('Bitte geben Sie eine Tracking-Nummer ein.');
return;
}
dmFetchTracking();
});
});