summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoradv <adv@uma.es>2011-04-24 17:23:25 +0000
committeradv <adv@uma.es>2011-04-24 17:23:25 +0000
commit4adfd0aed607002ddd13948dd23a458d47eb2b8b (patch)
treebbd7b12c4dd55cdf7fe8f12eed5df1502b02172f
parentdd0aa68a382cc19778937b8aeb544de933dd9139 (diff)
trunk #381 control de errores para el modulo www asistente de clonaciones remotas
git-svn-id: https://opengnsys.es/svn/trunk@1889 a21b9725-9963-47de-94b9-378ad31fedc9
-rw-r--r--admin/WebConsole/asistentes/includes/asistentes/formCloneRemotePartition.php26
-rw-r--r--admin/WebConsole/asistentes/jscripts/asistentes.js2
-rw-r--r--admin/WebConsole/asistentes/xajax.server.php74
3 files changed, 81 insertions, 21 deletions
diff --git a/admin/WebConsole/asistentes/includes/asistentes/formCloneRemotePartition.php b/admin/WebConsole/asistentes/includes/asistentes/formCloneRemotePartition.php
index 819edd1d..c649ee66 100644
--- a/admin/WebConsole/asistentes/includes/asistentes/formCloneRemotePartition.php
+++ b/admin/WebConsole/asistentes/includes/asistentes/formCloneRemotePartition.php
@@ -10,9 +10,23 @@
</select>
<br />
<!--DIV donde se mostrara la respuesta AJAX sobre las particiones clonables del equipo-->
- Elige particion del Master a enviar
+ Elige desde el Master la imagen o particion a enviar
<div id="divListado"></div>
<br />
+ Elige la identificacion de la partición destino de los clientes:
+ <select name="targetpart" id="targetpart" style="WIDTH:220";">
+ <option value="1 1"> 1er disco - 1ª particion </option>
+ <option value="1 2"> 1er disco - 2ª particion </option>
+ <option value="1 3"> 1er disco - 3ª particion </option>
+ <option value="1 4"> 1er disco - 4ª particion </option>
+ </select>
+ <br />
+ Elige el metodo de transferencia
+ <select name="idmetodo" id="idmetodo" style="WIDTH:220";">
+ <option value="MULTICAST"> MULTICAST </option>
+ <option value="UNICAST"> UNICAST </option>
+ </select>
+ <br />
Elige herramienta de clonacion:
<select name="tool" id="tool" style="WIDTH:220";">
<option value="partclone"> partclone </option>
@@ -24,15 +38,9 @@
<option value="lzop"> lzop </option>
<option value="gzip"> gzip </option>
</select>
- <br />
-
- <br />
- Elige el metodo de transferencia
- <select name="idmetodo" id="idmetodo" style="WIDTH:220";">
- <option value="MULTICAST"> MULTICAST </option>
- <option value="UNICAST"> UNICAST </option>
- </select>
+ <br />
<br />
+
</td>
<td class="op_mcast">
diff --git a/admin/WebConsole/asistentes/jscripts/asistentes.js b/admin/WebConsole/asistentes/jscripts/asistentes.js
index 3dd08014..a8ab24d8 100644
--- a/admin/WebConsole/asistentes/jscripts/asistentes.js
+++ b/admin/WebConsole/asistentes/jscripts/asistentes.js
@@ -19,7 +19,7 @@ switch (form.idmetodo.value)
break;
}
//form.codigo.value="cloneRemoteFromMaster " + form.ipMaster.value + " 1 " + form.PartOrigen.value + " " + form.mcastpuerto.value + ":" + form.mcastmodo.value + ":" + form.mcastdireccion.value + ":" + form.mcastvelocidad.value + "M:" + form.mcastnclien.value + ":" + form.mcastseg.value + " 1 " + form.PartOrigen.value + " " + form.tool.value + " " + form.compresor.value;
-form.codigo.value="cloneRemoteFromMaster " + form.ipMaster.value + " 1 " + form.PartOrigen.value + " " + protocol + " 1 " + form.PartOrigen.value + " " + form.tool.value + " " + form.compresor.value;
+form.codigo.value="cloneRemoteFromMaster " + form.ipMaster.value + " " + form.source.value + " " + protocol + " " + form.targetpart.value + " " + form.tool.value + " " + form.compresor.value;
}
diff --git a/admin/WebConsole/asistentes/xajax.server.php b/admin/WebConsole/asistentes/xajax.server.php
index 9e0fafa6..23ca9a53 100644
--- a/admin/WebConsole/asistentes/xajax.server.php
+++ b/admin/WebConsole/asistentes/xajax.server.php
@@ -18,8 +18,12 @@ function ListarOrigenMaster($ip){
$objResponse = new xajaxResponse();
$SelectHtml=" ";
+ $SelectHtml='<select name="source"> ';
+
$cmd=CreaComando($cadenaconexion);
-
+ $rs=new Recordset;
+
+ //Primera consulta: Particiones del MASTER potencialmente clonables.
$cmd->texto='SELECT ordenadores_particiones.numpar as PART,nombresos.nombreso as OS
FROM ordenadores_particiones INNER JOIN tipospar ON tipospar.codpar=ordenadores_particiones.codpar
INNER JOIN nombresos ON ordenadores_particiones.idnombreso=nombresos.idnombreso
@@ -28,30 +32,78 @@ function ListarOrigenMaster($ip){
AND tipospar.clonable>0
AND ordenadores_particiones.idnombreso>0
ORDER BY ordenadores_particiones.numpar';
-
- $rs=new Recordset;
+
$rs->Comando=&$cmd;
-
-
-
+
if ($rs->Abrir()){
$cantRegistros=$rs->numeroderegistros;
if($cantRegistros>0){
- $SelectHtml='<select name="PartOrigen"> <option value="">--Particion a Enviar--</option>';
- $rs->Primero();
+ $rs->Primero();
while (!$rs->EOF){
- $SelectHtml.='<OPTION value="'.$rs->campos["PART"].'"';
+ $SelectHtml.='<OPTION value=" 1 '.$rs->campos["PART"].'"';
$SelectHtml.='>';
- $SelectHtml.= $rs->campos["OS"].'</OPTION>';
+ $SelectHtml.='PART: '. $rs->campos["OS"].'</OPTION>';
$rs->Siguiente();
}
}
else
- {
+ {
$objResponse->alert("Este equipo No tiene particiones clonables.");
}
$rs->Cerrar();
}
+
+ //Segunda consulta: Imagenes del MASTER registradas como si fuese un repo.
+ $cmd->texto='SELECT *,repositorios.ip as iprepositorio FROM imagenes
+INNER JOIN repositorios ON repositorios.idrepositorio=imagenes.idrepositorio
+where repositorios.ip="' .$ip .'"';
+
+ $rs->Comando=&$cmd;
+
+ if ($rs->Abrir()){
+ $cantRegistros=$rs->numeroderegistros;
+ if($cantRegistros>0){
+ $rs->Primero();
+ while (!$rs->EOF){
+ $SelectHtml.='<OPTION value=" CACHE /'.$rs->campos["nombreca"].'"';
+ $SelectHtml.='>';
+ $SelectHtml.='IMG-CACHE: ' . $rs->campos["nombreca"].'</OPTION>';
+ $rs->Siguiente();
+ }
+ }
+ else
+ {
+ $objResponse->alert("Este equipo No tiene imagenes registradas en la cache.");
+ }
+ $rs->Cerrar();
+ }
+
+//Tercera consulta: Imagenes del REPO, que el MASTER se encargara de enivarlas
+ $cmd->texto='SELECT *,repositorios.ip as iprepositorio FROM imagenes
+INNER JOIN repositorios ON repositorios.idrepositorio=imagenes.idrepositorio
+where repositorios.idrepositorio=(select idrepositorio from ordenadores where ordenadores.ip="' .$ip .'")';
+
+
+ $rs->Comando=&$cmd;
+
+ if ($rs->Abrir()){
+ $cantRegistros=$rs->numeroderegistros;
+ if($cantRegistros>0){
+ $rs->Primero();
+ while (!$rs->EOF){
+ $SelectHtml.='<OPTION value=" CACHE /'.$rs->campos["nombreca"].'"';
+ $SelectHtml.='>';
+ $SelectHtml.='IMG-REPO: ' . $rs->campos["nombreca"].'</OPTION>';
+ $rs->Siguiente();
+ }
+ }
+ else
+ {
+ $objResponse->alert("Este equipo No tiene acceso a ninguna imagen del REPO asignado.");
+ }
+ $rs->Cerrar();
+ }
+
$SelectHtml.= '</SELECT>';