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>
This commit is contained in:
copilot-swe-agent[bot]
2026-04-28 07:16:26 +00:00
committed by GitHub
parent d849e7d3e6
commit 25c6fc7315
+13 -7
View File
@@ -256,11 +256,12 @@ document.getElementById('pay-card-btn').addEventListener('click', async () => {
const addressId = document.getElementById('shipping-address').value; const addressId = document.getElementById('shipping-address').value;
if (!addressId) { if (!addressId) {
const cardErrors = document.getElementById('card-errors'); 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; return;
} }
document.getElementById('card-errors').textContent = ''; const cardErrorsEl = document.getElementById('card-errors');
if (cardErrorsEl) cardErrorsEl.textContent = '';
const btn = document.getElementById('pay-card-btn'); const btn = document.getElementById('pay-card-btn');
const spinner = document.getElementById('card-spinner'); const spinner = document.getElementById('card-spinner');
btn.disabled = true; btn.disabled = true;
@@ -339,11 +340,14 @@ paypal.Buttons({
const addressId = document.getElementById('shipping-address').value; const addressId = document.getElementById('shipping-address').value;
if (!addressId) { if (!addressId) {
const paypalErrors = document.getElementById('paypal-errors'); const paypalErrors = document.getElementById('paypal-errors');
paypalErrors.textContent = 'Selecciona una dirección de envío para continuar.'; if (paypalErrors) {
paypalErrors.classList.remove('d-none'); paypalErrors.textContent = 'Selecciona una dirección de envío para continuar.';
paypalErrors.classList.remove('d-none');
}
return Promise.reject(new Error('Sin dirección')); 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" %}', { const resp = await fetch('{% url "crear_orden_paypal" %}', {
method: 'POST', method: 'POST',
headers: { 'Content-Type': 'application/json', 'X-CSRFToken': CSRF_TOKEN }, headers: { 'Content-Type': 'application/json', 'X-CSRFToken': CSRF_TOKEN },
@@ -366,8 +370,10 @@ paypal.Buttons({
}, },
onError: (err) => { onError: (err) => {
const paypalErrors = document.getElementById('paypal-errors'); const paypalErrors = document.getElementById('paypal-errors');
paypalErrors.textContent = 'Error en el pago con PayPal: ' + err; if (paypalErrors) {
paypalErrors.classList.remove('d-none'); paypalErrors.textContent = 'Error en el pago con PayPal: ' + err;
paypalErrors.classList.remove('d-none');
}
}, },
}).render('#paypal-button-container'); }).render('#paypal-button-container');
{% endif %} {% endif %}