summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoririna <irinagomez@us.es>2015-06-17 08:29:14 +0000
committeririna <irinagomez@us.es>2015-06-17 08:29:14 +0000
commit0285a3929552837bd4cfb988f6cd459ad5892ee7 (patch)
treeebc0830489d940375edb3ebe420e6cd6c741e7cb
parentfe6843b59fa8ac9ce2e704443d2501ba172f4813 (diff)
#679 Varios repos: cambios en consola web en el comando restaurar imagen y el asistente de deploy de imágenes para permitan restaurar las imágenes de todos los repositorios de la UO.
git-svn-id: https://opengnsys.es/svn/branches/version1.1@4654 a21b9725-9963-47de-94b9-378ad31fedc9
-rw-r--r--admin/WebConsole/asistentes/includes/asistentes/AyudanteFormularios.php23
-rw-r--r--admin/WebConsole/asistentes/jscripts/asistentes.js5
-rw-r--r--admin/WebConsole/comandos/RestaurarImagen.php35
-rw-r--r--admin/WebConsole/includes/pintaParticiones.php7
4 files changed, 50 insertions, 20 deletions
diff --git a/admin/WebConsole/asistentes/includes/asistentes/AyudanteFormularios.php b/admin/WebConsole/asistentes/includes/asistentes/AyudanteFormularios.php
index 9381d5cf..b78356ed 100644
--- a/admin/WebConsole/asistentes/includes/asistentes/AyudanteFormularios.php
+++ b/admin/WebConsole/asistentes/includes/asistentes/AyudanteFormularios.php
@@ -1,4 +1,8 @@
<?php
+// version 1.1: cliente con varios repositorios - htmlOPTION_images: Imagenes de todos los repositorios de la UO.
+// autor: Irina Gomez, Universidad de Sevilla
+// fecha 2015-06-17
+
/// funciones php
#devuelve los elementos [texto] multicast para un formulario.
@@ -172,33 +176,36 @@ $cmd->texto='SELECT nombreordenador,idordenador,ip FROM ordenadores where idaul
function htmlOPTION_images($cmd,$ambito,$idambito)
{
+// 1.1 Imagenes de todos los repositorios de la UO.
if ($ambito == 4)
{
-$subconsultarepo='SELECT DISTINCT idrepositorio from ordenadores where idaula=' . $idambito ;
+// ambito aulas
+$subconsultarepo='select idrepositorio from repositorios INNER JOIN aulas where repositorios.idcentro=aulas.idcentro AND idaula='.$idambito;
}
if ($ambito == 8)
{
-$subconsultarepo='SELECT DISTINCT idrepositorio FROM ordenadores where grupoid=' . $idambito ;
+$subconsultarepo='select idrepositorio from repositorios INNER JOIN aulas INNER JOIN gruposordenadores where repositorios.idcentro=aulas.idcentro AND aulas.idaula=gruposordenadores.idaula AND idgrupo='.$idambito;
}
if ($ambito == 16)
{
-$subconsultarepo='SELECT idrepositorio FROM ordenadores where idordenador=' . $idambito ;
+$subconsultarepo='select repositorios.idrepositorio from repositorios INNER JOIN aulas INNER JOIN ordenadores where repositorios.idcentro=aulas.idcentro AND aulas.idaula=ordenadores.idaula AND idordenador='.$idambito;
}
$SelectHtml="";
// 1.0.5 imagenes.tipo =1 para que solo muestre las monoloticas.
- $cmd->texto="SELECT *,repositorios.ip as iprepositorio FROM imagenes
- INNER JOIN repositorios ON repositorios.idrepositorio=imagenes.idrepositorio AND repositorios.idrepositorio=(" . $subconsultarepo . ") WHERE imagenes.tipo=1";
+ $cmd->texto="SELECT *,repositorios.ip as iprepositorio, repositorios.nombrerepositorio as nombrerepo FROM imagenes
+ INNER JOIN repositorios ON repositorios.idrepositorio=imagenes.idrepositorio
+ AND repositorios.idrepositorio IN (" . $subconsultarepo . ") WHERE imagenes.tipo=1";
$rs=new Recordset;
$rs->Comando=&$cmd;
-
+
if ($rs->Abrir()){
$rs->Primero();
while (!$rs->EOF){
- $SelectHtml.='<OPTION value="'.$rs->campos["nombreca"] . '" ';
+ $SelectHtml.='<OPTION value="'.$rs->campos["iprepositorio"] ." /".$rs->campos["nombreca"]. '" ';
$SelectHtml.='>';
- $SelectHtml.= $rs->campos["descripcion"] .'</OPTION>';
+ $SelectHtml.= $rs->campos["descripcion"] .' ('.$rs->campos["nombrerepo"].') </OPTION>';
$rs->Siguiente();
}
$rs->Cerrar();
diff --git a/admin/WebConsole/asistentes/jscripts/asistentes.js b/admin/WebConsole/asistentes/jscripts/asistentes.js
index a9749c78..7d29deca 100644
--- a/admin/WebConsole/asistentes/jscripts/asistentes.js
+++ b/admin/WebConsole/asistentes/jscripts/asistentes.js
@@ -6,6 +6,9 @@
// Nombre del fichero: asistentes.js
// Descripción :
// Este fichero implementa las funciones javascript del fichero AsistentesEjecutarScripts.php (Comandos)
+// version 1.1: cliente con varios repositorios - Imagenes de todos los repositorios de la UO.
+// autor: Irina Gomez, Universidad de Sevilla
+// fecha 2015-06-17
// ***********************************************************************************************************
function codeCloneRemotePartition(form){
@@ -66,7 +69,7 @@ if (form.modo[0].checked)
{
// UHU - Distinguimos entre disco y particion, el valor de idparticion sera disco;particion. eje. 1;1
var diskPart = form.idparticion.value.split(";");
- command="deployImage REPO /" + form.idimagen.value + " "+diskPart[0]+" " + diskPart[1] + " " + protocol ;
+ command="deployImage " + form.idimagen.value + " "+diskPart[0]+" " + diskPart[1] + " " + protocol ;
form.codigo.value="\
ogEcho log session \"[0] $MSG_SCRIPTS_TASK_START " + command + "\"\n \ " +
command + " \n";
diff --git a/admin/WebConsole/comandos/RestaurarImagen.php b/admin/WebConsole/comandos/RestaurarImagen.php
index ec61a10e..f8028063 100644
--- a/admin/WebConsole/comandos/RestaurarImagen.php
+++ b/admin/WebConsole/comandos/RestaurarImagen.php
@@ -7,6 +7,10 @@
// Nombre del fichero: RestaurarImagenOrdenador.php
// Descripción :
// Implementación del comando "RestaurarImagen" (Ordenadores)
+// version 1.1: cliente con varios repositorios
+// HTMLSELECT_imagenes: Imagenes de todos los repositorios de la UO - Cambia parametro idordenadores por idambito
+// autor: Irina Gomez, Universidad de Sevilla
+// fecha 2015-06-17
// *************************************************************************************************************************************************
include_once("../includes/ctrlacc.php");
include_once("../clases/AdoPhp.php");
@@ -114,6 +118,8 @@ if (isset($_POST["fk_nombreSO"])) $fk_nombreSO=$_POST["fk_nombreSO"];
</FORM>
<?php
}
+
+
$sws=$fk_sysFi | $fk_tamano | $fk_nombreSO;
pintaConfiguraciones($cmd,$idambito,$ambito,9,$sws,false,"pintaParticionesRestaurarImagen");
//________________________________________________________________________________________________________
@@ -135,12 +141,12 @@ if (isset($_POST["fk_nombreSO"])) $fk_nombreSO=$_POST["fk_nombreSO"];
// Version 0.1: En consulta SQL se quita imagenes.numpar>0. las imágenes recien creadas tienen numpar=0.
// US ETSII - Irina Gomez - 2014-11-11
________________________________________________________________________________________________________*/
-function HTMLSELECT_imagenes($cmd,$idimagen,$numpar,$codpar,$icp,$sw,$idordenadores,$ambito)
+function HTMLSELECT_imagenes($cmd,$idimagen,$numpar,$codpar,$icp,$sw,$idambito,$ambito)
{
global $IMAGENES_MONOLITICAS;
$SelectHtml="";
- $cmd->texto="SELECT *,repositorios.ip as iprepositorio FROM imagenes
+ $cmd->texto="SELECT *,repositorios.ip as iprepositorio, repositorios.nombrerepositorio as nombrerepo FROM imagenes
INNER JOIN repositorios ON repositorios.idrepositorio=imagenes.idrepositorio";
if($sw) // Imágenes con el mismo tipo de partición
$cmd->texto.= " WHERE imagenes.codpar=".$codpar;
@@ -150,12 +156,22 @@ function HTMLSELECT_imagenes($cmd,$idimagen,$numpar,$codpar,$icp,$sw,$idordenado
$cmd->texto.=" AND imagenes.codpar>0 AND imagenes.idrepositorio>0 "; // La imagene debe existir y
$cmd->texto.=" AND imagenes.tipo=".$IMAGENES_MONOLITICAS;
- $idordenador1 = explode(",",$idordenadores);
- $idordenador=$idordenador1[0];
- if ($ambito == 16)
- $cmd->texto.=" AND repositorios.idrepositorio=(select idrepositorio from ordenadores where ordenadores.idordenador=" .$idordenador .") OR repositorios.ip=(select ip from ordenadores where ordenadores.idordenador=". $idordenador .")";
- else
- $cmd->texto.=" AND repositorios.idrepositorio=(select idrepositorio from ordenadores where ordenadores.idordenador=" .$idordenador .")";
+ // 1.1 Imagenes de todos los repositorios de la UO.
+ switch ($ambito) {
+ case 16:
+ // ambito ordenador
+ $selectrepo='select repositorios.idrepositorio from repositorios INNER JOIN aulas INNER JOIN ordenadores where repositorios.idcentro=aulas.idcentro AND aulas.idaula=ordenadores.idaula AND idordenador='.$idambito;
+ break;
+ case 8:
+ // ambito grupo ordenadores
+ $selectrepo='select idrepositorio from repositorios INNER JOIN aulas INNER JOIN gruposordenadores where repositorios.idcentro=aulas.idcentro AND aulas.idaula=gruposordenadores.idaula AND idgrupo='.$idambito;
+ break;
+ case 4:
+ // ambito aulas
+ $selectrepo='select idrepositorio from repositorios INNER JOIN aulas where repositorios.idcentro=aulas.idcentro AND idaula='.$idambito;
+ break;
+ }
+ $cmd->texto.=" AND repositorios.idrepositorio IN (".$selectrepo.")";
$rs=new Recordset;
$rs->Comando=&$cmd;
@@ -169,7 +185,8 @@ function HTMLSELECT_imagenes($cmd,$idimagen,$numpar,$codpar,$icp,$sw,$idordenado
$SelectHtml.='<OPTION value="'.$rs->campos["idimagen"]."_".$rs->campos["nombreca"]."_".$rs->campos["iprepositorio"]."_".$rs->campos["idperfilsoft"].'"';
if($idimagen==$rs->campos["idimagen"]) $SelectHtml.=" selected ";
$SelectHtml.='>';
- $SelectHtml.= $rs->campos["descripcion"].'</OPTION>';
+ $SelectHtml.= $rs->campos["descripcion"].' ('.$rs->campos["nombrerepo"].') </OPTION>';
+
$rs->Siguiente();
}
$rs->Cerrar();
diff --git a/admin/WebConsole/includes/pintaParticiones.php b/admin/WebConsole/includes/pintaParticiones.php
index e818bb3e..e9f65270 100644
--- a/admin/WebConsole/includes/pintaParticiones.php
+++ b/admin/WebConsole/includes/pintaParticiones.php
@@ -188,6 +188,9 @@ function pintaParticiones($cmd,$configuraciones,$idordenadores,$cc)
// Ejemplo:1;7;30000000;3;3;0;@2;130;20000000;5;4;0;@3;131;1000000;0;0;0;0
// Devuelve:
// El código html de la tabla
+// version 1.1: cliente con varios repositorios - HTMLSELECT_imagenes: cambia parametros idordenadores por idambito
+// autor: Irina Gomez, Universidad de Sevilla
+// fecha 2015-06-17
//________________________________________________________________________________________________________
function pintaParticionesRestaurarImagen($cmd,$configuraciones,$idordenadores,$cc,$ambito,$idambito)
{
@@ -237,8 +240,8 @@ function pintaParticionesRestaurarImagen($cmd,$configuraciones,$idordenadores,$c
echo '<TD align=center>&nbsp;'.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</TD>'.chr(13);
echo'<TD align=center>&nbsp;'.tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores,false,$tbKeys[$k]["numdisk"]).'&nbsp;</TD>'.chr(13);
echo'<TD align=center>&nbsp;'.tomaTamano($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</TD>'.chr(13);
- echo '<TD>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,true,$idordenadores,$ambito).'</TD>';
- echo '<TD>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,false,$idordenadores,$ambito).'</TD>';
+ echo '<TD>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,true,$idambito,$ambito).'</TD>';
+ echo '<TD>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,false,$idambito,$ambito).'</TD>';
//Clonación
$metodos="UNICAST=UNICAST-CACHE".chr(13);