[eb3e2b8] | 1 | // ************************************************************************************************************************************************* |
---|
| 2 | // Libreria de scripts de Javascript |
---|
| 3 | // Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla |
---|
| 4 | // Fecha Creación: 2009-2010 |
---|
| 5 | // Fecha Última modificación: Agosto-2010 |
---|
| 6 | // Nombre del fichero: Configurar.js |
---|
| 7 | // Descripción : |
---|
| 8 | // Este fichero implementa las funciones javascript del fichero Configurar.php (Comandos) |
---|
| 9 | // ************************************************************************************************************************************************* |
---|
| 10 | |
---|
| 11 | var atributos; // Variable global |
---|
| 12 | |
---|
| 13 | //________________________________________________________________________________________________________ |
---|
| 14 | // |
---|
| 15 | // Elimina una fila de una tabla de configuraciones perteneciente a las propiedades de una partición |
---|
| 16 | // Parametros: |
---|
| 17 | // icp: Identificador de la configuración-partición |
---|
| 18 | // o: Objeto checkbox que invoca la función |
---|
| 19 | //________________________________________________________________________________________________________ |
---|
| 20 | |
---|
| 21 | function eliminaParticion(icp,o) |
---|
| 22 | { |
---|
| 23 | var res=confirm(TbMsg[4]); // Pide confirmación |
---|
| 24 | if(!res){ |
---|
| 25 | o.checked=false; |
---|
| 26 | return; |
---|
| 27 | } |
---|
| 28 | var tbCfg = document.getElementById("tabla_conf"); // Recupera objeto <TABLE> |
---|
| 29 | var trCfg = document.getElementById("TR_"+icp); // Recupera <TR> de la fila a eliminar |
---|
| 30 | var tbodyObj=tbCfg.firstChild; // Recupera hijo <TBODY> del objeto <TABLE> |
---|
| 31 | tbodyObj.removeChild(trCfg); // Elimina nodo <TR> completo |
---|
| 32 | } |
---|
| 33 | //________________________________________________________________________________________________________ |
---|
| 34 | |
---|
| 35 | function addParticion(objImg,cc) |
---|
| 36 | { |
---|
| 37 | var tbCfg = document.getElementById("tabla_conf"); // Recupera objeto <TABLE> |
---|
| 38 | var tbodyObj=tbCfg.firstChild; // Recupera hijo <TBODY> del objeto <TABLE> |
---|
| 39 | |
---|
| 40 | var trImg=document.getElementById("TRIMG_"+cc); // Recupera <TR> de los botones para insertar antes |
---|
| 41 | |
---|
| 42 | var k=objImg.getAttribute('value'); // Toma siguiente identificador de nodo |
---|
| 43 | var icp=cc+"_"+k; // Identificador de la configuración-partición |
---|
| 44 | |
---|
| 45 | /* Crea objeto TR y lo añade al TBODY de la tabla*/ |
---|
| 46 | var nwTR = document.createElement('TR'); |
---|
| 47 | nwTR.setAttribute("id","TR_"+icp); |
---|
| 48 | tbodyObj.insertBefore(nwTR,trImg); // Inserta nodo <TR> completo |
---|
| 49 | var patron = document.getElementById("TR_patron"); // Recupera <TR> patron |
---|
| 50 | nwTR.innerHTML=patron.innerHTML; |
---|
| 51 | /* Actualiza objeto checkbox nuevo para que actue como los demás */ |
---|
| 52 | var nwCHK = document.getElementById("CHK_patron"); // Recupera reciente chekcbox |
---|
| 53 | var fclbk="eliminaParticion('"+icp+"');"; |
---|
| 54 | nwCHK.setAttribute("onclick",fclbk); |
---|
| 55 | nwCHK.removeAttribute("id"); |
---|
| 56 | /* Incrementa para siguiente identificador de nodo */ |
---|
| 57 | k++; |
---|
| 58 | objImg.setAttribute('value',k); |
---|
| 59 | } |
---|
| 60 | //________________________________________________________________________________________________________ |
---|
| 61 | // |
---|
| 62 | // Confirma un bloque de configuración de particiones |
---|
| 63 | // Parametros: |
---|
| 64 | // idordenadores: Identificadores de los ordenadores a los que se aplicará el comando |
---|
| 65 | // cc: Identificador de la configuración (bloque de particiones) |
---|
| 66 | // Especificaciones: |
---|
| 67 | // Cuando un comando se va a aplicar a un conjunto aleatorio de ordenaores, el código del |
---|
| 68 | // ámbito será cero y la variable idambito contendrá la cadena con los identificadores de |
---|
| 69 | // los oordenadores separados por coma (este dato aparece en esta función como promer parámetro) |
---|
| 70 | //________________________________________________________________________________________________________ |
---|
| 71 | |
---|
| 72 | function Confirmar(cc) |
---|
| 73 | { |
---|
| 74 | if(comprobarDatos(cc)){ |
---|
| 75 | var RC="@"; |
---|
| 76 | var disco=1; // Siempre disco 1 |
---|
| 77 | atributos+=RC+"dsk="+disco+RC; // Le añade a la variable global el parámetro disco |
---|
| 78 | //alert(atributos) |
---|
| 79 | if(document.fdatosejecucion.ambito.value!=AMBITO_ORDENADORES){ |
---|
| 80 | var tbOrd= document.getElementById("tbOrd_"+cc); // Recupera tabla de ordenadores de la configuración |
---|
| 81 | var idordenadores=tbOrd.getAttribute('value'); // Toma identificadores de los ordenadores |
---|
| 82 | var cadenaid=document.fdatos.cadenaid.value; // Cadena de identificadores de todos los ordenadores del ámbito |
---|
| 83 | if(idordenadores!=cadenaid){ // Si no son iguales es que el ámbito de aplicación es restringido |
---|
| 84 | document.fdatosejecucion.ambito.value=0; // Ambito de aplicación restringido |
---|
| 85 | document.fdatosejecucion.idambito.value=idordenadores; |
---|
| 86 | } |
---|
| 87 | } |
---|
| 88 | document.fdatosejecucion.atributos.value=atributos; |
---|
| 89 | document.fdatosejecucion.submit(); |
---|
| 90 | } |
---|
| 91 | } |
---|
| 92 | //________________________________________________________________________________________________________ |
---|
| 93 | // |
---|
| 94 | // Confirma un bloque de configuración de particiones |
---|
| 95 | // Parametros: |
---|
| 96 | // cc: Identificador de la configuración (bloque de particiones) |
---|
| 97 | //________________________________________________________________________________________________________ |
---|
| 98 | |
---|
| 99 | function comprobarDatos(cc) |
---|
| 100 | { |
---|
| 101 | // Indices de campos a recuperar |
---|
| 102 | var ipar=1; |
---|
| 103 | var icodpar=2; |
---|
| 104 | var isysfi=3; |
---|
| 105 | var itama=4; |
---|
| 106 | var iope=6; |
---|
| 107 | |
---|
| 108 | var SL="#"; |
---|
| 109 | var TB="$"; |
---|
| 110 | |
---|
| 111 | var tbpar=new Array(); // Para control de particiones duplicadas |
---|
| 112 | atributos="cfg="; // Inicializa variable global de parámetros del comando |
---|
| 113 | |
---|
| 114 | var trCfg = document.getElementById("TR_"+cc); // Recupera primer <TR> de la configuración |
---|
| 115 | trCfg=trCfg.nextSibling; // Primera fila de particiones |
---|
| 116 | while(trCfg.id!="TRIMG_"+cc){ |
---|
| 117 | var par=tomavalorDesple(trCfg.childNodes[ipar].childNodes[0]); // Partición |
---|
| 118 | if(par==0){ |
---|
| 119 | alert(TbMsg[1]); |
---|
| 120 | trCfg.childNodes[ipar].childNodes[0].focus(); |
---|
| 121 | return(false); |
---|
| 122 | } |
---|
| 123 | if(tbpar[par]==1){ // Existe ya una partición con ese número |
---|
| 124 | alert(TbMsg[0]); |
---|
| 125 | trCfg.childNodes[ipar].childNodes[0].focus(); |
---|
| 126 | return(false); |
---|
| 127 | } |
---|
| 128 | tbpar[par]=1; |
---|
| 129 | var codpar=tomavalorDesple(trCfg.childNodes[icodpar].childNodes[0]); // Tipo de partición |
---|
| 130 | if(codpar==0){ |
---|
| 131 | alert(TbMsg[2]); |
---|
| 132 | trCfg.childNodes[icodpar].childNodes[0].focus(); |
---|
| 133 | return(false); |
---|
| 134 | } |
---|
| 135 | |
---|
| 136 | var sysfi=tomatextDesple(trCfg.childNodes[isysfi].childNodes[0]); // Sistema de ficheros |
---|
| 137 | |
---|
| 138 | var tama=trCfg.childNodes[itama].childNodes[0].value; // Tamaño de partición |
---|
| 139 | if(tama==0){ |
---|
| 140 | alert(TbMsg[3]); |
---|
| 141 | trCfg.childNodes[itama].childNodes[0].focus(); |
---|
| 142 | return(false); |
---|
| 143 | } |
---|
| 144 | var ope=tomavalorDesple(trCfg.childNodes[iope].childNodes[0]); // Operación a realizar |
---|
| 145 | |
---|
| 146 | trCfg=trCfg.nextSibling; // Primera fila de particiones |
---|
| 147 | /* Compone formato del comando */ |
---|
| 148 | atributos+="par="+par+TB+"cpt="+codpar+TB+"sfi="+sysfi+TB+"tam="+tama+TB+"ope="+ope+SL; |
---|
| 149 | } |
---|
| 150 | return(true); |
---|
| 151 | } |
---|
| 152 | //________________________________________________________________________________________________________ |
---|
| 153 | // |
---|
| 154 | // Devuelve el valor seleccionado de un desplegable cualquiera |
---|
| 155 | //________________________________________________________________________________________________________ |
---|
| 156 | |
---|
| 157 | function tomavalorDesple(desplegable) |
---|
| 158 | { |
---|
| 159 | var idx=desplegable.selectedIndex; // Indice seleccionado en el desplegable |
---|
| 160 | var val=desplegable.options[idx].value; // Valor seleccionado en el desplegable |
---|
| 161 | return(val); |
---|
| 162 | } |
---|
| 163 | //________________________________________________________________________________________________________ |
---|
| 164 | // |
---|
| 165 | // Devuelve el valor seleccionado de un desplegable cualquiera |
---|
| 166 | //________________________________________________________________________________________________________ |
---|
| 167 | |
---|
| 168 | function tomatextDesple(desplegable) |
---|
| 169 | { |
---|
| 170 | var idx=desplegable.selectedIndex; // Indice seleccionado en el desplegable |
---|
| 171 | var txt=desplegable.options[idx].text; // Valor seleccionado en el desplegable |
---|
| 172 | return(txt); |
---|
| 173 | } |
---|
| 174 | |
---|