Actualizar usuarios.html
This commit is contained in:
@@ -322,8 +322,31 @@
|
||||
if(!manualCP) { showToast("Escribe el CP manual en el cuadro", true); return; }
|
||||
if(!manualCityName) { showToast("Falta el nombre de la población", true); return; }
|
||||
|
||||
// Si ha puesto varios separados por coma o guion
|
||||
const cpsArray = manualCP.split(/[,-\s]+/).filter(c => c.trim() !== "");
|
||||
// 🚀 NUEVO: Soporte real para rangos (ej: 11201-11205)
|
||||
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 => {
|
||||
if (!tempUserZones.some(z => z.city === manualCityName && z.cps === cp)) {
|
||||
@@ -346,11 +369,6 @@
|
||||
document.getElementById('cpInput').value = "";
|
||||
}
|
||||
|
||||
function removeTempCity(cityName) {
|
||||
tempUserZones = tempUserZones.filter(z => z.city !== cityName);
|
||||
renderTempZones();
|
||||
}
|
||||
|
||||
function renderTempZones() {
|
||||
const area = document.getElementById('userZonesArea');
|
||||
if(!area) return;
|
||||
|
||||
Reference in New Issue
Block a user