From 25c6fc7315bec31c11cb6a653779d652d4a937d6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 28 Apr 2026 07:16:26 +0000 Subject: [PATCH] Add null guards for error container DOM lookups Agent-Logs-Url: https://github.com/dsaub/proyecto-final/sessions/e4ef062a-c246-4ec3-9424-987f29891c30 Co-authored-by: dsaub <54474838+dsaub@users.noreply.github.com> --- tienda/templates/tienda/checkout.html | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/tienda/templates/tienda/checkout.html b/tienda/templates/tienda/checkout.html index 8747769..04fafd9 100644 --- a/tienda/templates/tienda/checkout.html +++ b/tienda/templates/tienda/checkout.html @@ -256,11 +256,12 @@ document.getElementById('pay-card-btn').addEventListener('click', async () => { const addressId = document.getElementById('shipping-address').value; if (!addressId) { const cardErrors = document.getElementById('card-errors'); - cardErrors.textContent = 'Selecciona una dirección de envío para continuar.'; + if (cardErrors) cardErrors.textContent = 'Selecciona una dirección de envío para continuar.'; return; } - document.getElementById('card-errors').textContent = ''; + const cardErrorsEl = document.getElementById('card-errors'); + if (cardErrorsEl) cardErrorsEl.textContent = ''; const btn = document.getElementById('pay-card-btn'); const spinner = document.getElementById('card-spinner'); btn.disabled = true; @@ -339,11 +340,14 @@ paypal.Buttons({ const addressId = document.getElementById('shipping-address').value; if (!addressId) { const paypalErrors = document.getElementById('paypal-errors'); - paypalErrors.textContent = 'Selecciona una dirección de envío para continuar.'; - paypalErrors.classList.remove('d-none'); + if (paypalErrors) { + paypalErrors.textContent = 'Selecciona una dirección de envío para continuar.'; + paypalErrors.classList.remove('d-none'); + } return Promise.reject(new Error('Sin dirección')); } - document.getElementById('paypal-errors').classList.add('d-none'); + const paypalErrorsEl = document.getElementById('paypal-errors'); + if (paypalErrorsEl) paypalErrorsEl.classList.add('d-none'); const resp = await fetch('{% url "crear_orden_paypal" %}', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRFToken': CSRF_TOKEN }, @@ -366,8 +370,10 @@ paypal.Buttons({ }, onError: (err) => { const paypalErrors = document.getElementById('paypal-errors'); - paypalErrors.textContent = 'Error en el pago con PayPal: ' + err; - paypalErrors.classList.remove('d-none'); + if (paypalErrors) { + paypalErrors.textContent = 'Error en el pago con PayPal: ' + err; + paypalErrors.classList.remove('d-none'); + } }, }).render('#paypal-button-container'); {% endif %}