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(!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;
|
||||||
|
|||||||
Reference in New Issue
Block a user