Actualizar usuarios.html

This commit is contained in:
2026-03-16 08:03:24 +00:00
parent a251ad50d5
commit 95ad3401ab

View File

@@ -322,8 +322,31 @@
if(!manualCP) { showToast("Escribe el CP manual en el cuadro", true); return; } if(!manualCP) { showToast("Escribe el CP manual en el cuadro", true); return; }
if(!manualCityName) { showToast("Falta el nombre de la población", true); return; } if(!manualCityName) { showToast("Falta el nombre de la población", true); return; }
// Si ha puesto varios separados por coma o guion // 🚀 NUEVO: Soporte real para rangos (ej: 11201-11205)
const cpsArray = manualCP.split(/[,-\s]+/).filter(c => c.trim() !== ""); let cpsArray = [];
// Separamos por comas o espacios (quitamos el guion del split)
const partes = manualCP.split(/[, \n]+/).filter(c => c.trim() !== "");
partes.forEach(parte => {
if (parte.includes('-')) {
// Si hay un guion, calculamos todos los números que hay entre medias
const [start, end] = parte.split('-');
const numStart = parseInt(start, 10);
const numEnd = parseInt(end, 10);
if (!isNaN(numStart) && !isNaN(numEnd) && numStart <= numEnd) {
for (let i = numStart; i <= numEnd; i++) {
// Aseguramos que siempre tengan 5 cifras (ej: 08001)
cpsArray.push(String(i).padStart(5, '0'));
}
} else {
cpsArray.push(parte); // Fallback por si lo escriben mal
}
} else {
// Si es un número suelto, lo metemos tal cual
cpsArray.push(parte);
}
});
cpsArray.forEach(cp => { cpsArray.forEach(cp => {
if (!tempUserZones.some(z => z.city === manualCityName && z.cps === cp)) { if (!tempUserZones.some(z => z.city === manualCityName && z.cps === cp)) {
@@ -346,11 +369,6 @@
document.getElementById('cpInput').value = ""; document.getElementById('cpInput').value = "";
} }
function removeTempCity(cityName) {
tempUserZones = tempUserZones.filter(z => z.city !== cityName);
renderTempZones();
}
function renderTempZones() { function renderTempZones() {
const area = document.getElementById('userZonesArea'); const area = document.getElementById('userZonesArea');
if(!area) return; if(!area) return;