source: admin/WebConsole/jscripts/colasacciones.js @ 69f0483

918-git-images-111dconfigfileconfigure-oglivegit-imageslgromero-new-oglivemainmaint-cronmount-efivarfsmultivmmultivm-ogboot-installerogClonningEngineogboot-installer-jenkinsoglive-ipv6test-python-scriptsticket-301ticket-50ticket-50-oldticket-577ticket-585ticket-611ticket-612ticket-693ticket-700ubu24tplunification2use-local-agent-oglivevarios-instalacionwebconsole3
Last change on this file since 69f0483 was 8ddf21a, checked in by ramon <ramongomez@…>, 7 years ago

#834: Corregir errata en r5634 y eliminar código JavaScript? no accesible.

git-svn-id: https://opengnsys.es/svn/branches/version1.1@5635 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100644
File size: 15.3 KB
Line 
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: colasacciones.js
7// Descripción :
8//              Este fichero implementa las funciones javascript del fichero colasacciones.php
9// *************************************************************************************************************************************************
10        var currentCol;
11        var currentAcc;
12        var iresul;
13        var ifechafin;                 
14        var ihorafin;   
15        var ifechareg;
16        var ihorareg;
17        var iiconamb;
18        var iamb;
19        var iinfor;
20        var isitu;
21        var iporcen;
22        var curentwprg;
23//________________________________________________________________________________________________________
24
25        function resaltar(o){
26                o.style.color="#999999";
27                o.style.fontWeight="bold"
28
29        }
30//________________________________________________________________________________________________________
31
32        function desresaltar(o){
33                o.style.color="#999999";
34                o.style.fontWeight="normal"
35        }
36//________________________________________________________________________________________________________
37
38        function marcalinea(o){
39        }       
40//________________________________________________________________________________________________________
41
42        function chgdespleestados(o)
43        {
44
45                var dplResultados=document.fdatos.resultado;
46                var op=o.selectedIndex;
47                switch(op){
48                        case ACCION_DETENIDA:
49                                dplResultados.selectedIndex=ACCION_SINRESULTADO;
50                                break;
51                        case ACCION_INICIADA:
52                                dplResultados.selectedIndex=ACCION_SINRESULTADO;
53                                break;
54                        case ACCION_FINALIZADA:
55                                dplResultados.selectedIndex=ACCION_EXITOSA;
56                                break;
57                }
58        }
59//________________________________________________________________________________________________________
60
61        function chgdespleresultados(o)
62        {
63                var dplEstados=document.fdatos.estado;
64                var op=o.selectedIndex;
65                switch(op){
66                        case ACCION_SINRESULTADO:
67                                //dplEstados.selectedIndex=0; // Todos
68                                break;
69                        case ACCION_EXITOSA:
70                                dplEstados.selectedIndex=ACCION_FINALIZADA;
71                                break;
72                        case ACCION_FALLIDA:
73                                dplEstados.selectedIndex=ACCION_FINALIZADA;
74                                break;
75                }
76        }
77//________________________________________________________________________________________________________
78
79        function vertabla_calendario(ofecha)
80        {
81                currentFecha=ofecha;
82                url="../varios/calendario_ventana.php?fecha="+ofecha.value;
83                window.open(url,"vf","top=160,left=250,height=220,width=160,scrollbars=no")
84        }
85//________________________________________________________________________________________________________
86
87        function vertabla_horario(ohora)
88        {
89                currentHora=ohora;
90                url="../varios/horario_ventana.php?hora="+ohora.value;
91                window.open(url,"vh","top=120,left=115,height=180,width=590,scrollbars=no")
92        }
93//________________________________________________________________________________________________________
94
95        function anade_fecha(fecha)
96        {
97                currentFecha.value=fecha
98        }
99//________________________________________________________________________________________________________
100
101        function anade_hora(hora)
102        {
103                currentHora.value=hora
104        }
105//________________________________________________________________________________________________________
106//
107// Procesa operaciones sobre acciones
108//
109//      Parámetros:
110//              op: Código de operacion
111//                              1- Eliminar
112//                              2.-Reiniciar
113//                              3.- Parar
114//                              4.- Reanudar
115//              o: Es nulo si se eligen las opraciones globales, en caso de ser operaciones locales no lo es
116//                      y la cadena con el formato "tipoaccion,idtipoaccio,sesion,idaccion;" se encuentra en el atributo value
117//
118//      Especificaciones;
119//
120//              La forma de procesar las operaciones sobre acciones es a través de identificadores con el formato:
121//                      "tipoaccion,idtipoaccio,sesion,idaccion" separados cada tripla por ";" el gestor recibe esta cadena
122//                      y el tipo de operación.
123//                     
124//              En caso de que idaccion sea cero se actua atendiendo a la sesion en caso contrario con la propia idaccion
125//________________________________________________________________________________________________________
126
127        function eleccion(op,o)
128        {
129                reset_contextual(-1,-1);
130                if(o==null)
131                        var acciones=document.facciones.acciones.value;
132                else
133                        var acciones=o.value;
134
135                switch(op){
136                        case 1: // Eliminar
137                                        if(confirm(TbMsg[1]))
138                                                gestionaAccion(op,acciones);
139
140                                        break;
141                        case 2: // Reiniciar
142                                        if(confirm(TbMsg[2]))
143                                                gestionaAccion(op,acciones);
144                                        break;
145                        case 3: // Detener
146                                        if(confirm(TbMsg[3]))
147                                                gestionaAccion(op,acciones);
148                                        break;
149                        case 4: // Reanudar
150                                        if(confirm(TbMsg[4]))
151                                                gestionaAccion(op,acciones);
152                                        break;
153                        case 5: // Finalizar sin errores
154                                        if(confirm(TbMsg[5]))
155                                                gestionaAccion(op,acciones);
156                                        break;
157                        case 6: // Finalizar con errores
158                                        if(confirm(TbMsg[6]))
159                                                gestionaAccion(op,acciones);
160                                        break;                         
161                }
162        }
163//________________________________________________________________________________________________________
164
165        function gestionaAccion(op,acciones){   
166                currentAcc=acciones;
167                /* LLamada a la gestión */
168                var wurl="../gestores/gestor_colasacciones.php";
169                var prm="opcion="+op+"&acciones="+acciones;
170                CallPage(wurl,prm,"retornoGestion","POST");
171}
172//______________________________________________________________________________________________________
173
174        function retornoGestion(op)
175        {
176                //alert("Retorno:"+op)
177                var opcion=parseInt(op);
178                if(opcion==0){ // Error en el proceso anterior
179                        alert(TbMsg[0]);
180                        return;
181                }
182                var tipoaccion;
183                var idtipoaccion;
184                var sesion;
185                var idaccion;
186                var tbAcciones=currentAcc.split(";");
187
188                /* Busca nodos afectados y los coloca en array para proceso posterior */       
189                for(i=0;i<tbAcciones.length-1;i++){
190                        var tbAccion=tbAcciones[i].split(",");
191                        tipoaccion=tbAccion[0];
192                        idtipoaccion=tbAccion[1];
193                        sesion=tbAccion[2];
194                        idaccion=tbAccion[3];
195                        var oTB=document.getElementById("tbAcciones");
196                        var oTRs=new Array();
197                        var oTIs=new Array();
198                        var k=r=0;
199                        for(var j=0;j<oTB.childNodes.length;j++){ // Recopila nodos
200                                if(idaccion>0){ // Operación sobre un ordenador concreto
201                                        if(k==0)
202                                                oTRs[k++]=document.getElementById(idaccion).parentNode;
203                                        if(oTB.childNodes[j].id==sesion)
204                                                oTIs[r++]=oTB.childNodes[j];                                   
205                                }
206                                else{   
207                                        if(oTB.childNodes[j].id==sesion)
208                                                oTRs[k++]=oTB.childNodes[j];
209                                }
210                        }
211                        for( var j=0;j<k;j++){ // Recorre nodos afectados
212                                switch(opcion){
213                                        case 1:
214                                                oTB.removeChild(oTRs[j]); // Elimina nodo <TR> completo
215                                                break;
216                                        case 2:
217                                                cambioReinicio(oTRs[j]); // Coloca icono de accion iniciada
218                                                break; 
219                                        case 3:
220                                                cambioParada(oTRs[j]); // Coloca icono de accion parada a las que estén activas
221                                                break; 
222                                        case 4:
223                                                cambioReanudacion(oTRs[j]); // Coloca icono de accion iniciada a las que estén paradas
224                                                break; 
225                                        case 5:
226                                                cambioFinalizar(oTRs[j],true); // Coloca icono de accion finalizada sin errores
227                                                break; 
228                                        case 6:
229                                                cambioFinalizar(oTRs[j],false); // Coloca icono de accion finalizada con errores
230                                                break;                                                 
231                                }                               
232                        }
233                        // Recalculo de porcentaje
234                        if(opcion==2 || opcion==5 || opcion==6){
235                                if(idaccion>0) // Si es reinicio de un sólo ordenador
236                                        recalculaAccion(oTIs,r,op);
237                                else
238                                        recalculaAccion(oTRs,k,op);                             
239                        }
240                }
241                alert(TbMsg[10]);
242        }
243//______________________________________________________________________________________________________
244//
245// Gestiona todas las operaciones posteriores al reinicio de la acción
246//______________________________________________________________________________________________________
247
248        function cambioReinicio(nodo)   
249        {       
250                if(nodo.getAttribute('value')!="D") return; // Sólo nodos de notificaciones
251       
252                setIndices(nodo);
253
254                nodo.childNodes[ifechafin].innerHTML="&nbsp;";
255                nodo.childNodes[ihorafin].innerHTML="&nbsp;";   
256                nodo.childNodes[iinfor].innerHTML="&nbsp;";     
257
258                //if(nodo.childNodes[isitu].childNodes[0].getAttribute('value')==ACCION_FINALIZADA){
259                        nodo.childNodes[isitu].childNodes[0].setAttribute("src","../images/iconos/acIniciada.gif");     
260                        nodo.childNodes[isitu].childNodes[0].setAttribute("value",ACCION_INICIADA);     
261                        nodo.childNodes[iresul].childNodes[0].setAttribute("value",ACCION_SINRESULTADO);
262                        nodo.childNodes[iresul].childNodes[0].setAttribute("src","../images/iconos/nada.gif");                 
263                        nodo.childNodes[iporcen].innerHTML="&nbsp;"
264                //}
265        }       
266//______________________________________________________________________________________________________
267//
268// Gestiona todas las operaciones posteriores a la detención de la acción
269//______________________________________________________________________________________________________
270
271        function cambioParada(nodo)
272        {       
273                if(nodo.getAttribute('value')!="D") return; // Sólo nodos de notificaciones
274                setIndices(nodo);
275                if(nodo.childNodes[isitu].childNodes[0].getAttribute('value')==ACCION_INICIADA){
276                        nodo.childNodes[isitu].childNodes[0].setAttribute("src","../images/iconos/acDetenida.gif");     
277                        nodo.childNodes[isitu].childNodes[0].setAttribute("value",ACCION_DETENIDA)             
278                }
279        }
280//______________________________________________________________________________________________________
281//
282// Gestiona todas las operaciones posteriores a la reanudación de la acción
283//______________________________________________________________________________________________________
284
285        function cambioReanudacion(nodo)
286        {       
287                if(nodo.getAttribute('value')!="D") return; // Sólo nodos de notificaciones
288                setIndices(nodo);
289                if(nodo.childNodes[isitu].childNodes[0].getAttribute('value')==ACCION_DETENIDA){
290                        nodo.childNodes[isitu].childNodes[0].setAttribute("src","../images/iconos/acIniciada.gif");     
291                        nodo.childNodes[isitu].childNodes[0].setAttribute("value",ACCION_INICIADA)                             
292                }
293        }
294//______________________________________________________________________________________________________
295//
296// Gestiona todas las operaciones posteriores a la finalización de la acción
297//______________________________________________________________________________________________________
298
299        function cambioFinalizar(nodo,sw)
300        {       
301                if(nodo.getAttribute('value')!="D") return; // Sólo nodos de notificaciones
302                setIndices(nodo);
303                if(nodo.childNodes[isitu].childNodes[0].getAttribute('value')==ACCION_INICIADA){
304                        nodo.childNodes[isitu].childNodes[0].setAttribute("value",ACCION_FINALIZADA);
305                        nodo.childNodes[isitu].childNodes[0].setAttribute("src","../images/iconos/nada.gif");
306                        if(sw){
307                                nodo.childNodes[iresul].childNodes[0].setAttribute("value",ACCION_EXITOSA);
308                                nodo.childNodes[iresul].childNodes[0].setAttribute("src","../images/iconos/acExitosa.gif");
309                                nodo.childNodes[iinfor].innerHTML=LITACCION_EXITOSA;                    }
310                        else{
311                                nodo.childNodes[iresul].childNodes[0].setAttribute("value",ACCION_FALLIDA);
312                                nodo.childNodes[iresul].childNodes[0].setAttribute("src","../images/iconos/acFallida.gif");
313                                nodo.childNodes[iinfor].innerHTML=LITACCION_FALLIDA;
314                        }
315                        var ahora = new Date();
316                        nodo.childNodes[ifechafin].innerHTML=ahora.getDate() + "-" + (ahora.getMonth() + 1) + "-" + ahora.getFullYear();
317                        nodo.childNodes[ihorafin].innerHTML=ahora.getHours() + ":" + (ahora.getMinutes() + 1) + ":" + ahora.getSeconds();
318                }                       
319        }       
320       
321//______________________________________________________________________________________________________
322//
323// Configura indices para acceo a nodos
324//______________________________________________________________________________________________________
325
326        function setIndices(nodo)
327        {       
328                if(nodo.getAttribute('value')=="C")
329                        iresul=2; // Nodo cabecera de sesion
330                else{
331                        if(nodo.getAttribute('value')=="D")
332                                iresul=1; // Nodo detalle de sesion
333                        else
334                                return; // Nodo de cambio de ámbito
335                }       
336                ifechafin=iresul+1;                     
337                ihorafin=ifechafin+1;   
338                ifechareg=ihorafin+1;
339                ihorareg=ifechareg+1;
340                iiconamb=ihorareg+1;
341                iamb=iiconamb+1;
342                iinfor=iamb+1;
343                isitu=iinfor+1;
344                iporcen=isitu+1;
345        }       
346//______________________________________________________________________________________________________
347//
348// Recalcula porcentaje después de reinicios
349//
350//      Especificaciones:
351//              El parámetro sw indica si finaliza sin errores (true) o con errore (false)
352//______________________________________________________________________________________________________
353
354        function recalculaAccion(nodos,r,op)
355        {
356                var c,nt,nn;
357                nt=nf=0;
358                var resultado=ACCION_EXITOSA;
359
360                for(var j=0;j<r;j++){ // Recorre nodo para recalcular porcentaje
361                        if(nodos[j].getAttribute('value')=="C")
362                                c=j; // Guarda indice nodo cabecera de sesión
363                        else{
364                                if(nodos[j].getAttribute('value')=="D"){
365                                        nf++;
366                                        if(nf==1) setIndices(nodos[j]); // Sólo la primera vez
367                                        if(nodos[j].childNodes[isitu].childNodes[0].getAttribute("value")==ACCION_FINALIZADA)
368                                                nt++;
369                                        if(nodos[j].childNodes[iresul].childNodes[0].getAttribute("value")==ACCION_FALLIDA)
370                                                resultado=ACCION_FALLIDA;
371                                        if(nodos[j].childNodes[iresul].childNodes[0].getAttribute("value")==ACCION_SINRESULTADO){
372                                                if(resultado==ACCION_EXITOSA)
373                                                        resultado=ACCION_SINRESULTADO;
374                                        }
375                                }
376                        }       
377                }
378                var porcen=0;
379                if(nf>0)
380                        porcen=nt*100/nf; // Calcula porcentaje de finalización
381                setIndices(nodos[c]);   
382                nodos[c].childNodes[iporcen].innerHTML=Math.floor(porcen)+"%"; 
383                switch(resultado){
384                        case ACCION_EXITOSA:
385                                nodos[c].childNodes[iresul].childNodes[0].setAttribute("value",ACCION_EXITOSA);
386                                nodos[c].childNodes[iresul].childNodes[0].setAttribute("src","../images/iconos/acExitosa.gif");                 
387                                break;
388
389                        case ACCION_FALLIDA:
390                                nodos[c].childNodes[iresul].childNodes[0].setAttribute("value",ACCION_FALLIDA);
391                                nodos[c].childNodes[iresul].childNodes[0].setAttribute("src","../images/iconos/acFallida.gif");                 
392                                break;
393                        case ACCION_SINRESULTADO:
394                                nodos[c].childNodes[iresul].childNodes[0].setAttribute("value",ACCION_SINRESULTADO);
395                                nodos[c].childNodes[iresul].childNodes[0].setAttribute("src","../images/iconos/nada.gif");
396                        break;
397                }
398        }
399//______________________________________________________________________________________________________
400//
401// Filtra según una determinada accion o bien elimina ese filtro
402//
403// Parámetros:
404//      sw: Indica si hay que filtrar o hay que eliminar el filtro por acción
405//______________________________________________________________________________________________________
406
407        function filtroAccion(sw)
408        {
409                if(sw==0){ // Quitar filtro
410                        document.fdatos.sesion.value=0;
411                        document.fdatos.visuprm.checked=false;
412                        document.fdatos.visucmd.checked=true;
413                        document.fdatos.visupro.checked=false;
414                }
415                else{ // Filtrar
416                        document.fdatos.sesion.value=document.facciones.sesion.value;
417                        document.fdatos.visuprm.checked=true;
418                        document.fdatos.visucmd.checked=true;
419                        document.fdatos.visupro.checked=true;
420                }
421                document.fdatos.submit();
422        }
423//________________________________________________________________________________________________________
424//     
425//              Muestra formulario de programaciones para acciones
426//________________________________________________________________________________________________________
427
428function programacion(idcmd,sesion,descripcion)
429{
430        reset_contextual(-1,-1);
431        var whref="../varios/programaciones.php?idcomando="+idcmd+"&sesion="+sesion;
432        whref+="&descripcioncomando="+descripcion+"&tipoaccion="+EJECUCION_COMANDO;
433        if(curentwprg)
434                curentwprg.close();
435        curentwprg=window.open(whref,"wprg","left=50,top=20,height=520,width=480,scrollbars=no")
436}
437
Note: See TracBrowser for help on using the repository browser.