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