summaryrefslogtreecommitdiffstats
path: root/admin/WebConsole
diff options
context:
space:
mode:
authorramon <ramongomez@us.es>2013-06-07 12:32:48 +0000
committerramon <ramongomez@us.es>2013-06-07 12:32:48 +0000
commit92cf666284b71405123a463aa9dec894ac9132f7 (patch)
treed48bc1f30bbd8f10aa4d667346f41c14e9bef521 /admin/WebConsole
parent0390d464f9d793a549a52cf4922bb82f98c8677a (diff)
#601: Integrar código de revisión r3860 con mejoras en asistente de particionado para grupos de ordenadores.
git-svn-id: https://opengnsys.es/svn/branches/version1.0@3861 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'admin/WebConsole')
-rw-r--r--admin/WebConsole/asistentes/AsistenteParticionado.php18
-rw-r--r--admin/WebConsole/asistentes/jscripts/asistentes.js20
-rw-r--r--admin/WebConsole/includes/ConfiguracionesParticiones.php6
-rw-r--r--admin/WebConsole/includes/pintaParticiones.php36
4 files changed, 48 insertions, 32 deletions
diff --git a/admin/WebConsole/asistentes/AsistenteParticionado.php b/admin/WebConsole/asistentes/AsistenteParticionado.php
index fa8a0eff..8a0cae7a 100644
--- a/admin/WebConsole/asistentes/AsistenteParticionado.php
+++ b/admin/WebConsole/asistentes/AsistenteParticionado.php
@@ -98,7 +98,17 @@ function doOnload(){
: '.$textambito.'</U></span>&nbsp;&nbsp;</span></p>';
$sws=0x11111; // Mostrar todas las configuraciones diferentes.
- pintaConfiguraciones($cmd,$idambito,$ambito,7,$sws,false);
+ $configuraciones = pintaConfiguraciones($cmd,$idambito,$ambito,7,$sws,false);
+ global $tbKeys; // Tabla contenedora de claves de configuración
+ global $conKeys; // Contador de claves de configuración
+ $mindisks = 1;
+ foreach($configuraciones as $configuracion){
+ // Separamos las configuraciones segun el disco al que pertenezcan
+ $diskConfigs = splitConfigurationsByDisk($configuracion);
+ // En diskconfigs tendremos un array con tantas configuraciones como discos,
+ // no quedamos con su length que será el minimo numero de discos
+ $mindisks = count($diskConfigs);
+ }
?>
<form align=center name="fdatos" >
@@ -107,7 +117,11 @@ function doOnload(){
<tr>
<td>
<?php echo $TbMsg[35].":\n"; // Disco ?>
- <input type="text" id="n_disk" name="n_disk" value="1" onchange="calculateFreeDisk(document.fdatos)">
+ <select id="n_disk" onchange="calculateFreeDisk(document.fdatos)">
+ <?php for($d = 1; $d <= $mindisks; $d++){
+ echo "<option value=\"$d\">$d</option>\n";
+ } ?>
+ </select>
</td>
</tr>
<tr>
diff --git a/admin/WebConsole/asistentes/jscripts/asistentes.js b/admin/WebConsole/asistentes/jscripts/asistentes.js
index 9e714aa3..de5ee450 100644
--- a/admin/WebConsole/asistentes/jscripts/asistentes.js
+++ b/admin/WebConsole/asistentes/jscripts/asistentes.js
@@ -364,6 +364,19 @@ function clickPartitionCheckbox (form, npart, isGPT) {
}
}
+/**
+ * Dado un numero de disco, recorre todos los input hidden con nombre disksize_"disco"
+ * y devuelve el de menor valor
+ */
+function getMinDiskSize(disk){
+ var diskSizeArray = document.getElementsByName("disksize_"+disk);
+ var minSize = diskSizeArray[0].value;
+ for(var i= 1; i < diskSizeArray.length; i++){
+ if(diskSizeArray[i].value < minSize)
+ minSize = diskSizeArray[i].value;
+ }
+ return minSize;
+}
// Código para calcular el espacio libre del disco.
function calculateFreeDisk(form) {
@@ -373,8 +386,9 @@ function calculateFreeDisk(form) {
}
// Capturamos el disco seleccionado
var disk = document.getElementById("n_disk").value;
- // Buscamos el input hidden para el disco seleccionado
- var diskSize = document.getElementById("disksize_"+disk).value;
+ // Buscamos por nombre todos los campos disksize_"disk" y nos quedamos con el de menor valor
+ var diskSize = getMinDiskSize(disk);
+
var freeDisk=document.getElementById("freedisk");
freeDisk.value=diskSize;
@@ -411,7 +425,7 @@ function calculateFreeGPTDisk(form) {
// Capturamos el disco seleccionado
var disk = document.getElementById("n_disk").value;
// Buscamos el input hidden para el disco seleccionado
- var diskSize = document.getElementById("disksize_"+disk).value;
+ var diskSize = getMinDiskSize(disk);
document.getElementById('freediskGPT').value=diskSize;
var freeDisk=document.getElementById("freediskGPT");
diff --git a/admin/WebConsole/includes/ConfiguracionesParticiones.php b/admin/WebConsole/includes/ConfiguracionesParticiones.php
index fe71dc5c..bf5b1e6a 100644
--- a/admin/WebConsole/includes/ConfiguracionesParticiones.php
+++ b/admin/WebConsole/includes/ConfiguracionesParticiones.php
@@ -162,6 +162,7 @@ function cargaCaves($cmd,$idambito,$ambito,$sws,$swr)
}
/*________________________________________________________________________________________________________
UHU - 2013/05/14 - Se añade la clave número de disco
+ UHU - 2013/06/06 - Se añade un return de las configuraciones detectadas
Dibuja la tabla de configuración de las particiones de un grupo de ordenadores
Parámetros de la función:
@@ -261,6 +262,7 @@ function pintaConfiguraciones($cmd,$idambito,$ambito,$colums,$sws,$swr,$pintaPar
if (!$rs->Abrir()) return; // Error al abrir recordset
$rs->Primero();
$cc=0; // Contador de configuraciones
+ $configuraciones = array();
echo '<table id="tabla_conf" width="95%" class="tabla_listados_sin" align="center" border="0" cellpadding="0" cellspacing="1">';
while (!$rs->EOF){
$cc++;
@@ -269,7 +271,7 @@ function pintaConfiguraciones($cmd,$idambito,$ambito,$colums,$sws,$swr,$pintaPar
echo pintaOrdenadores($cmd,$rs->campos["idordenadores"],10,$cc);
echo '</td></tr>';
//Muestra particiones y configuración
-
+ $configuraciones[$cc-1] = $rs->campos["configuraciones"];
echo $pintaParticionesFunction($cmd,$rs->campos["configuraciones"],$rs->campos["idordenadores"],$cc,$ambito,$idambito);
$rs->Siguiente();
}
@@ -278,6 +280,8 @@ function pintaConfiguraciones($cmd,$idambito,$ambito,$colums,$sws,$swr,$pintaPar
}
echo "</table>";
$rs->Cerrar();
+
+ return $configuraciones;
}
//________________________________________________________________________________________________________
// Descripción:
diff --git a/admin/WebConsole/includes/pintaParticiones.php b/admin/WebConsole/includes/pintaParticiones.php
index 98de5d51..33cc316f 100644
--- a/admin/WebConsole/includes/pintaParticiones.php
+++ b/admin/WebConsole/includes/pintaParticiones.php
@@ -146,34 +146,18 @@ function pintaParticiones($cmd,$configuraciones,$idordenadores,$cc)
// Mostrar información del disco, si se ha obtenido.
if (!empty ($disksize)) {
echo'<tr height="16">'.chr(13);
- echo'<td align="center">&nbsp;</td>'.chr(13);
- echo'<td align="center">&nbsp;'.$disktable[$disk].'&nbsp;</td>'.chr(13);
- echo'<td></td>'.chr(13);
- echo'<td></td>'.chr(13);
- echo'<td></td>'.chr(13);
- echo'<td align="right">&nbsp;<strong>'.$disksize[$disk].'</span></strong>&nbsp;</td>'.chr(13);
- // Creamos un campo oculto para guardar información sobre el disco y su tamaño separados por ;
- echo "<input type='hidden' id='disksize_".$disk."' value='".$disksize[$disk]."'/>";
- echo'<td></td>'.chr(13);
- echo'<td></td>'.chr(13);
+ echo'<td align="center">&nbsp;</td>'.chr(13);
+ echo'<td align="center">&nbsp;'.$disktable[$disk].'&nbsp;</td>'.chr(13);
+ echo'<td></td>'.chr(13);
+ echo'<td></td>'.chr(13);
+ echo'<td></td>'.chr(13);
+ echo'<td align="right">&nbsp;<strong>'.$disksize[$disk].'</span></strong>&nbsp;</td>'.chr(13);
+ // Creamos un campo oculto para guardar información sobre el disco y su tamaño separados por ;
+ echo "<input type='hidden' name='disksize_".$disk."' value='".$disksize[$disk]."'/>\n";
+ echo'<td></td>'.chr(13);
+ echo'<td></td>'.chr(13);
echo'<td></td>'.chr(13);
echo'</tr>'.chr(13);
-
- /*
- foreach($disksize as $disk=>$size){
- echo'<tr height="16">'.chr(13);
- echo'<td align="center">&nbsp;'.$TbMsg[35].'&nbsp;'.$disk.'</td>'.chr(13);
- echo'<td align="center">&nbsp;'.$disktable[$disk].'&nbsp;</td>'.chr(13);
- echo'<td></td>'.chr(13);
- echo'<td></td>'.chr(13);
- echo'<td align="right">&nbsp;'.$size.'&nbsp;</td>'.chr(13);
- echo'<td></td>'.chr(13);
- echo'<td></td>'.chr(13);
- echo'<td></td>'.chr(13);
- echo'<td></td>'.chr(13);
- echo'</tr>'.chr(13);
- }
- */
}
}
echo '<tr height="5"><td colspan="'.$columns.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #FFFFFF;">&nbsp;</td></tr>';