From 55e32e9cc08972ac64a745a6c7bee9a181be3c47 Mon Sep 17 00:00:00 2001 From: Javier Sánchez Parra Date: Tue, 12 Jan 2021 11:56:30 +0100 Subject: #1008 Restore support for >4 partitions WebConsole "Partition and Format"/"Particionar y Formatear" supported more than 4 partitions when it used SocketHidra. When we changed it to use HTTP requests we introduced a limit of 4 partitions. This commit: * Restores "Partition and Format" support for more than 4 partitions. * Adapts client-side checks (JavaScript) for more than 4 partitions and GPT. --- admin/WebConsole/comandos/jscripts/Configurar.js | 41 ++++++++++++++++-------- admin/WebConsole/includes/restfunctions.php | 4 ++- 2 files changed, 30 insertions(+), 15 deletions(-) diff --git a/admin/WebConsole/comandos/jscripts/Configurar.js b/admin/WebConsole/comandos/jscripts/Configurar.js index bda09401..aea678c6 100644 --- a/admin/WebConsole/comandos/jscripts/Configurar.js +++ b/admin/WebConsole/comandos/jscripts/Configurar.js @@ -10,7 +10,6 @@ var atributos=""; // Variable global var swc=false; // Switch para detectar cache -var swe=false; // Switch para detectar partición extendida //________________________________________________________________________________________________________ // @@ -32,7 +31,6 @@ function eliminaParticion(o,icp) var desplepar=o.parentNode.nextSibling.nextSibling.childNodes[0]; var tipar=tomavalorDesple(desplepar); // Partición if(tipar==="CACHE") swc=false; // Si es la caché se pone a false su switch - if(tipar==="EXTENDED") swe=false; // Si es la EXTENDED se pone a false su switch var tbCfg = document.getElementById("tabla_conf"); // Recupera objeto var trCfg = document.getElementById("TR_"+icp); // Recupera de la fila a eliminar @@ -129,6 +127,9 @@ function comprobarDatos(cc) var trCfg = document.getElementById("TR_"+cc); // Recupera primer de la configuración trCfg=trCfg.nextSibling; // Primera fila de particiones + + var swe = false; + while(trCfg.id!=="TRIMG_"+cc){ var tama=trCfg.childNodes[itama].childNodes[0].value; // Tamaño de partición @@ -212,22 +213,35 @@ function comprobarDatos(cc) } //Controles finales de los paramtros a enviar + var table_type = document.getElementById("table_type").value; - if(!swe){ // Si no se han especificado particiones extendidas ... - if(maxpar>4){ // La partición de mayor orden supera el número 4 - alert(TbMsg[7]); - return(false); + switch (table_type) { + case "MSDOS": + if (!swe) { + if (maxpar > 4) { + alert(TbMsg[7]); + return(false); + } + } else { + if (allextsize > extsize) { + alert(TbMsg["EXTSIZE"]); + return(false); + } + allpartsize += extsize; } - } - - // Alerta si las particiones lógicas son mayores que la extendida - if(swe){ - if (allextsize>extsize) { - alert(TbMsg["EXTSIZE"]); + break; + case "GPT": + if (swe) { + alert("Extended type not compatible with GPT"); return(false); } - allpartsize+=extsize; + break; + default: + alert("Disk type not compatible"); + return(false); + break; } + // Alerta si tamaño del disco menor que las particiones if (hdsize