diff options
author | irina <irinagomez@us.es> | 2014-10-23 11:13:05 +0000 |
---|---|---|
committer | irina <irinagomez@us.es> | 2014-10-23 11:13:05 +0000 |
commit | 1de07b8ab5806d8daa2fe7a31501a32cbde8a018 (patch) | |
tree | e51bb92382fc913e7999bdc4a939e8cf99c56544 /admin | |
parent | cd86637886efa13643903f464a4ac6274d25812c (diff) |
#665 IniciarSesion: envia accion a los equipos comunes entre la seleccion de la configuración y el filtro.
git-svn-id: https://opengnsys.es/svn/branches/version1.0@4409 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'admin')
8 files changed, 122 insertions, 17 deletions
diff --git a/admin/WebConsole/comandos/IniciarSesion.php b/admin/WebConsole/comandos/IniciarSesion.php index 792f8b15..3ef3b9c5 100644 --- a/admin/WebConsole/comandos/IniciarSesion.php +++ b/admin/WebConsole/comandos/IniciarSesion.php @@ -7,6 +7,9 @@ // Nombre del fichero: IniciarSesion.php // Descripción : // Implementación� del comando "Iniciar Sesión" +// Version 0.1 - En ambito distinto a ordenador muestra los equipos agrupados en configuraciones iguales. +// Fecha: 2014-10-23 +// Autora: Irina Gomez, ETSII Universidad de Sevilla // ************************************************************************************************************************************************* include_once("../includes/ctrlacc.php"); include_once("../clases/AdoPhp.php"); @@ -15,6 +18,7 @@ include_once("../includes/comunes.php"); include_once("../includes/CreaComando.php"); include_once("../includes/HTMLSELECT.php"); include_once("../includes/TomaDato.php"); +include_once("../includes/RecopilaIpesMacs.php"); include_once("../includes/ConfiguracionesParticiones.php"); include_once("../includes/pintaTablaConfiguraciones.php"); include_once("../idiomas/php/".$idioma."/comandos/iniciarsesion_".$idioma.".php"); @@ -34,9 +38,11 @@ if (!$cmd) <LINK rel="stylesheet" type="text/css" href="../estilos.css"> <SCRIPT language="javascript" src="./jscripts/IniciarSesion.js"></SCRIPT> <SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> +<SCRIPT language="javascript" src="./jscripts/comunescomandos.js"></SCRIPT> +<SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT> +<SCRIPT language="javascript" src="../jscripts/arrays.js"></SCRIPT> <?php echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/iniciarsesion_'.$idioma.'.js"></SCRIPT>'?> <?php echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/comunescomandos_'.$idioma.'.js"></SCRIPT>'?> -<SCRIPT language="javascript" src="./jscripts/comunescomandos.js"></SCRIPT> </HEAD> <BODY> <?php @@ -45,13 +51,24 @@ if (!$cmd) // include_once("./includes/FiltradoAmbito.php"); //________________________________________________________________________________________________________ -?> + if($ambito!=$AMBITO_ORDENADORES){ + $cadenaid=""; + $cadenaip=""; + $cadenamac=""; + RecopilaIpesMacs($cmd,$ambito,$idambito); + + ?> <P align=center> <SPAN align=center class=subcabeceras><? echo $TbMsg[7] ?></SPAN> </BR> -<form align=center name="fdatos"> - <?php tablaConfiguracionesIniciarSesion($cmd,$idambito,$ambito); ?> +<form align=center name="fdatos" method="POST"> + <INPUT type="hidden" name="idambito" value="<? echo $idambito?>"> + <INPUT type="hidden" name="ambito" value="<? echo $ambito?>"> + <INPUT type="hidden" name="cadenaid" value="<? echo $cadenaid?>"> </form> + <?php } // fin if $ambito!=$AMBITO_ORDENADORES + + tablaConfiguracionesIniciarSesion($cmd,$idambito,$ambito); ?> <?php //________________________________________________________________________________________________________ include_once("./includes/formularioacciones.php"); diff --git a/admin/WebConsole/comandos/jscripts/IniciarSesion.js b/admin/WebConsole/comandos/jscripts/IniciarSesion.js index 3967f665..343524e3 100644 --- a/admin/WebConsole/comandos/jscripts/IniciarSesion.js +++ b/admin/WebConsole/comandos/jscripts/IniciarSesion.js @@ -6,24 +6,57 @@ // Nombre del fichero: IniciarSesion.js // Descripción : // Este fichero implementa las funciones javascript del fichero IniciarSesion.php (Comandos) +// Version: 0.1 - el valor del filtro = ips de los equipos comunes entre la seleccion de la configuración y el filtro. +// Nota: no se utiliza document.fdatosejecucion.idambito.value. Su valor no es correcto. +// Fecha: 2014-10-23 +// Autora: Irina Gomez, ETSII Universidad de Sevilla // ************************************************************************************************************************************************* function confirmar(){ if (comprobar_datos()){ + var RC="@"; + // UHU - Ahora puede ser cualquier disco + var atributos=""; + // devuelve las ip de los ordenadores del filtro o vacio si estan todos seleccionados. + filtrado(); + var ipfiltro=document.fdatosejecucion.filtro.value; // Compone atributos del comando tb_conf=document.getElementById("tabla_conf"); - var ochecks=tb_conf.getElementsByTagName('INPUT') - var diskPart; + var ochecks=tb_conf.getElementsByTagName('INPUT'); for(var i=0;i<ochecks.length;i++){ if(ochecks[i].checked){ - diskPart=ochecks[i].value.split(";"); + var diskPart = ochecks[i].value.split(";"); + var disco = diskPart[0]; + var numpar= diskPart[1]; + atributos+="dsk="+disco+RC; + atributos+="par="+numpar+RC; + // Datos bloque de configuracion: ip equipos. + var cc=ochecks[i].getAttribute('idcfg'); + var tbOrd=document.getElementById("tbOrd_"+cc); + var iptabla=tbOrd.getAttribute('value'); + + // Elimino los ordenadores del filtro que no estén en la tabla. + if (ipfiltro!=''){ + var arraytabla = iptabla.split(","); + var arrayfiltro =ipfiltro.split(";"); + arrayfiltro = array_interset (arrayfiltro.sort(), arraytabla.sort()); + ipfiltro = arrayfiltro.join(";"); + if (ipfiltro ==''){ + alert(TbMsg["FILTER"]); + return(false); + } + } + else { + ipfiltro=iptabla.replace(",", ";"); + } + document.fdatosejecucion.filtro.value=ipfiltro; + document.fdatosejecucion.atributos.value=atributos; + document.fdatosejecucion.submit(); + break; + + } } - var RC='@'; - var disk = diskPart[0]; - var particion = diskPart[1]; - document.fdatosejecucion.atributos.value="dsk="+disk+RC+"par="+particion+RC; - filtrado(); - document.fdatosejecucion.submit(); + } } //________________________________________________________________________________________________________ diff --git a/admin/WebConsole/idiomas/javascripts/cat/comandos/iniciarsesion_cat.js b/admin/WebConsole/idiomas/javascripts/cat/comandos/iniciarsesion_cat.js index 2708a5fe..09b21331 100644 --- a/admin/WebConsole/idiomas/javascripts/cat/comandos/iniciarsesion_cat.js +++ b/admin/WebConsole/idiomas/javascripts/cat/comandos/iniciarsesion_cat.js @@ -6,3 +6,4 @@ TbMsg=new Array; TbMsg[0]=""; TbMsg[1]="Debe elegir al menos una partición"; +TbMsg["FILTER"]="Debe seleccionar al menos un ordenador que tenga la configuración elegida."; diff --git a/admin/WebConsole/idiomas/javascripts/eng/comandos/iniciarsesion_eng.js b/admin/WebConsole/idiomas/javascripts/eng/comandos/iniciarsesion_eng.js index 9af3afc2..86cd4cb3 100644 --- a/admin/WebConsole/idiomas/javascripts/eng/comandos/iniciarsesion_eng.js +++ b/admin/WebConsole/idiomas/javascripts/eng/comandos/iniciarsesion_eng.js @@ -6,3 +6,4 @@ TbMsg=new Array; TbMsg[0]=""; TbMsg[1]="You must choose at least one partition"; +TbMsg["FILTER"]="Debe seleccionar al menos un ordenador que tenga la configuración elegida."; diff --git a/admin/WebConsole/idiomas/javascripts/esp/comandos/iniciarsesion_esp.js b/admin/WebConsole/idiomas/javascripts/esp/comandos/iniciarsesion_esp.js index 2708a5fe..09b21331 100644 --- a/admin/WebConsole/idiomas/javascripts/esp/comandos/iniciarsesion_esp.js +++ b/admin/WebConsole/idiomas/javascripts/esp/comandos/iniciarsesion_esp.js @@ -6,3 +6,4 @@ TbMsg=new Array; TbMsg[0]=""; TbMsg[1]="Debe elegir al menos una partición"; +TbMsg["FILTER"]="Debe seleccionar al menos un ordenador que tenga la configuración elegida."; diff --git a/admin/WebConsole/includes/ConfiguracionesParticiones.php b/admin/WebConsole/includes/ConfiguracionesParticiones.php index bf5b1e6a..98891fea 100644 --- a/admin/WebConsole/includes/ConfiguracionesParticiones.php +++ b/admin/WebConsole/includes/ConfiguracionesParticiones.php @@ -291,17 +291,23 @@ function pintaConfiguraciones($cmd,$idambito,$ambito,$colums,$sws,$swr,$pintaPar // $idordenadores: Cadena con los identificadores de los ordenadores separados por "," // $maxcontor: Número máximo de ordenadores por fila // $cc: Identificador del bloque de configuración +// $tipoid: define si el "value" de la tabla es una cadena de ip o de id de los equipos. +// Valores ipordenador o idordenador (por defecto id). +// Versión 0.1 - Se incluye parametro tipoid. +// Fecha 2014-10-23 +// Autora: Irina Gomez, ETSII Universidad de Sevilla //________________________________________________________________________________________________________ -function pintaOrdenadores($cmd,$idordenadores,$maxcontor,$cc) +function pintaOrdenadores($cmd,$idordenadores,$maxcontor,$cc,$tipoid='idordenador') { $tablaHtml=""; + $ipordenadores=""; $contor=0; $maxcontor=10; // Número máximo de prodenadores por fila $cmd->texto=" SELECT idordenador,nombreordenador,ip FROM ordenadores WHERE idordenador IN (".$idordenadores.") ORDER BY nombreordenador"; $rs=new Recordset; $rs->Comando=&$cmd; if (!$rs->Abrir()) return(""); // Error al abrir recordset - $tablaHtml.='<table align="left" border="0" id="tbOrd_'.$cc.'" value="'.$idordenadores.'"><tr>'; + // Cada ordenador es una celda de la tabla. while (!$rs->EOF){ $contor++; $tablaHtml.= '<td align="center" style="BACKGROUND-COLOR: #FFFFFF;"> @@ -311,10 +317,22 @@ function pintaOrdenadores($cmd,$idordenadores,$maxcontor,$cc) $contor=0; $tablaHtml.='</tr><tr>'; } + $ipordenadores.=$rs->campos["ip"].','; $rs->Siguiente(); } $tablaHtml.='</tr>'; $tablaHtml.= '</table>'; + + //Quitamos coma final en ipordenadores + $ipordenadores = trim($ipordenadores, ','); + + // Inicio tabla: el identificador de los ordenadores puede ser las ips o las ids. + if ($tipoid == 'ipordenador') + $inicioTablaHtml='<table align="left" border="0" id="tbOrd_'.$cc.'" value="'.$ipordenadores.'"><tr>'; + else + $inicioTablaHtml='<table align="left" border="0" id="tbOrd_'.$cc.'" value="'.$idordenadores.'"><tr>'; + + $tablaHtml=$inicioTablaHtml.$tablaHtml; return($tablaHtml); } /*________________________________________________________________________________________________________ diff --git a/admin/WebConsole/includes/pintaTablaConfiguraciones.php b/admin/WebConsole/includes/pintaTablaConfiguraciones.php index da18949d..aec4695e 100644 --- a/admin/WebConsole/includes/pintaTablaConfiguraciones.php +++ b/admin/WebConsole/includes/pintaTablaConfiguraciones.php @@ -3,6 +3,10 @@ include_once("../idiomas/php/".$idioma."/pintaParticiones_".$idioma.".php"); /*________________________________________________________________________________________________________ Crea la tabla de configuraciones y perfiles a crear +// Version 0.1 - En ambito distinto a ordenador muestra los equipos agrupados en configuraciones iguales. +// Fecha: 2014-10-23 +// Autora: Irina Gomez, ETSII Universidad de Sevilla + ________________________________________________________________________________________________________*/ function tablaConfiguracionesIniciarSesion($cmd,$idambito,$ambito){ // TODO despues de las pruebas: idnombreso <> 5 @@ -85,7 +89,7 @@ function tablaConfiguracionesIniciarSesion($cmd,$idambito,$ambito){ while (!$rs->EOF){ $cc++; echo '<tr><td colspan="'.$columns.'" style="background-color: #ffffff;">'; - echo pintaOrdenadores($cmd,$rs->campos["idordenadores"],10,$cc); + echo pintaOrdenadores($cmd,$rs->campos["idordenadores"],10,$cc,'ipordenador'); echo "</td></tr>"; $configuraciones=explode("@",$rs->campos["configuraciones"]); echo $cabeceraTabla; @@ -101,7 +105,7 @@ function tablaConfiguracionesIniciarSesion($cmd,$idambito,$ambito){ } $tablaHtml.='<tr><td><input name="particion" idcfg="'.$cc.'" id="'.$cc.'_'.$datos[0].'_'.$datos[1].'" value="'.$datos[0].';'.$datos[1].'" type="radio"></td>'.chr(13); $tablaHtml.='<td align="center"> '.$datos[1].' </td>'.chr(13); - $tablaHtml.='<td> '.$datos[2].' '.$sistOperativo[$datos[2]].'</td></tr>'.chr(13); + $tablaHtml.='<td> '.$sistOperativo[$datos[2]].'</td></tr>'.chr(13); } echo $tablaHtml; diff --git a/admin/WebConsole/jscripts/arrays.js b/admin/WebConsole/jscripts/arrays.js new file mode 100644 index 00000000..4af858f6 --- /dev/null +++ b/admin/WebConsole/jscripts/arrays.js @@ -0,0 +1,30 @@ +/// @file arrays.js +/// @brief: implementa funciones de uso común para arrays. +/// @date: 2014-10-23 + +/// @function array_interset +/// @brief Devuelve un array con los elementos comunes a los dos arrays iniciales. +/// @brief Los arrays deben estar ordenados. +/// @param 1 {Array} array ordenado. +/// @param 2 {Array} array ordenado. +/// @return {Array} array con elementos comunes. +/// @date: 2014-10-23 +function array_interset (a, b) { + var ai=0, bi=0; + var result = new Array(); + while( ai < a.length && bi < b.length ) + if (a[ai] < b[bi] ){ ai++; } + else if (a[ai] > b[bi] ){ bi++; } + else /* they're equal */ + { + result.push(a[ai]); + ai++; + bi++; + } + return result; +} + + + + + |