From 9b90a8ec13167378b555c085ce00ec055fa8ef3e Mon Sep 17 00:00:00 2001 From: Irina Gómez Date: Sun, 4 Jul 2021 14:01:16 +0200 Subject: #918 The web console commands for cloning synchronized images adapt to images synced with git. GIT is included as a cloning protocol with options git_option:acl_option with the values [ clone | checkout ] : [ total | user ]. --- .../comandos/jscripts/RestaurarImagenBasica.js | 51 +++++++++++++++++++--- .../idiomas/php/cat/pintaParticiones_cat.php | 3 ++ .../idiomas/php/eng/pintaParticiones_eng.php | 3 ++ .../idiomas/php/esp/pintaParticiones_esp.php | 3 ++ admin/WebConsole/includes/pintaParticiones.php | 27 +++++++----- .../includes/pintaTablaConfiguraciones.php | 3 +- 6 files changed, 71 insertions(+), 19 deletions(-) diff --git a/admin/WebConsole/comandos/jscripts/RestaurarImagenBasica.js b/admin/WebConsole/comandos/jscripts/RestaurarImagenBasica.js index 960cd8ce..ca779ea0 100644 --- a/admin/WebConsole/comandos/jscripts/RestaurarImagenBasica.js +++ b/admin/WebConsole/comandos/jscripts/RestaurarImagenBasica.js @@ -7,6 +7,33 @@ // Descripción : // Este fichero implementa las funciones javascript del fichero RestaurarImagenBasica.php (Comandos) // ************************************************************************************************************************************************* + +// protocolo_opt: activa o desactiva las casillas de selección de las opciones del protocolo segun sea rsync o git + function protocolo_opt(){ + // rsync (SYNC1 y SYNC2) + var whole = document.getElementsByClassName("whole"); + var eli = document.getElementsByClassName("paramb"); + var compres = document.getElementsByClassName("compres"); + // git (SYNC3) + var gitmode = document.getElementsByClassName("git"); + var acl = document.getElementsByClassName("acl"); + if (arguments[0].value == "SYNC3") { + var rsync=true + var git=false; + } else { + var rsync=false; + var git=true; + + } + for (var i = 0, len = whole.length; i < len; i++){ + whole[i].disabled = rsync; + eli[i].disabled = rsync; + compres[i].disabled = rsync; + gitmode[i].disabled = git; + acl[i].disabled = git; + } + } + function confirmar(){ if(comprobar_datos()){ var RC="@"; @@ -38,19 +65,29 @@ var desplemet=document.getElementById("desplemet_"+idradio); // Desplegable metodo de restauración var p=desplemet.selectedIndex; // Toma índice seleccionado atributos+="met="+p+RC; // Método de clonación 0=caché 1=repositorio - + desplemet=document.getElementById("desplesync_"+idradio); // Desplegable metodo de syncronización - p=desplemet.selectedIndex; // Toma índice seleccionado - atributos+="msy="+p+RC; // Método de clonación + var p2=desplemet.selectedIndex; // Toma índice seleccionado + atributos+="msy="+p2+RC; // Método de clonación + desplemet=document.getElementById("despletpt_"+idradio); // Desplegable metodo de syncronización p=desplemet.value; // Toma índice seleccionado atributos+="tpt="+p+RC; // Método de clonación - var chrChk=document.getElementById('whl-'+idradio); // Recupera objeto fila de la tabla opciones adicionales - if(chrChk.checked) atributos+="whl=1"+RC; else atributos+="whl=0"+RC; - chrChk=document.getElementById('eli-'+idradio); // Recupera objeto fila de la tabla opciones adicionales - if(chrChk.checked) atributos+="eli=1"+RC; else atributos+="eli=0"+RC; + // Si el metodo es rsync se usan los parametros whl, eli y cmp. para git se usan git y acl + // Reutilizamos los nombres de rsync para no cambiar base de datos y ogAdmServer + if (p2 == 3) { + var chrChk=document.getElementById('git-'+idradio); // Recupera objeto fila de la tabla opciones adicionales + if(chrChk.checked) atributos+="whl=1"+RC; else atributos+="whl=0"+RC; + chrChk=document.getElementById('acl-'+idradio); // Recupera objeto fila de la tabla opciones adicionales + if(chrChk.checked) atributos+="eli=1"+RC; else atributos+="eli=0"+RC; + } else { + var chrChk=document.getElementById('whl-'+idradio); // Recupera objeto fila de la tabla opciones adicionales + if(chrChk.checked) atributos+="whl=1"+RC; else atributos+="whl=0"+RC; + chrChk=document.getElementById('eli-'+idradio); // Recupera objeto fila de la tabla opciones adicionales + if(chrChk.checked) atributos+="eli=1"+RC; else atributos+="eli=0"+RC; + } chrChk=document.getElementById('cmp-'+idradio); // Recupera objeto fila de la tabla opciones adicionales if(chrChk.checked) atributos+="cmp=1"+RC; else atributos+="cmp=0"+RC; diff --git a/admin/WebConsole/idiomas/php/cat/pintaParticiones_cat.php b/admin/WebConsole/idiomas/php/cat/pintaParticiones_cat.php index 51245d03..7104754f 100644 --- a/admin/WebConsole/idiomas/php/cat/pintaParticiones_cat.php +++ b/admin/WebConsole/idiomas/php/cat/pintaParticiones_cat.php @@ -50,10 +50,13 @@ $TbMsg["CONFIG_NOOS"]='No se ha detectado ningún sistema operativo en el equipo $TbMsg["SYNC_METHOD"]='Método'; $TbMsg["SYNC1_DIR"]='Basada en directorio'; $TbMsg["SYNC2_FILE"]='Basada en archivo'; +$TbMsg["SYNC3_GIT"]='GIT'; $TbMsg["TITLE_W"]='Opción de rsync: El algoritmo incremental rsync no se usa y se envía todo el archivo. Rsync lo usa por defecto cuando el origen y destino locales. '; $TbMsg["TITLE_E"]='Opción de rsync: Se compara el destino con el origen y se borran los ficheros que no existen en el primero.'; $TbMsg["TITLE_C"]='Opción de rsync: Comprime los archivos de datos que se envían a la máquina de destino, lo que reduce la cantidad de datos que se transmiten. '; +$TbMsg["TITLE_G"]='Opción de git: Se formateará la partición y se clonará la imagen, en vez de hacer un checkout'; +$TbMsg["TITLE_A"]='Opción de restauración de acl: Se restauraran todos los permisos y no sólo los del usuario.'; $TbMsg["SEND"]='Protocolo'; // AVISOS. $TbMsg["WARN_PROTOCOL"]='La opción "protocolo" sólo se utiliza en las sincronizadas tipo archivo la primera vez que se envía la imagen a caché.
En otro caso el protocolo es RSYNC.'; diff --git a/admin/WebConsole/idiomas/php/eng/pintaParticiones_eng.php b/admin/WebConsole/idiomas/php/eng/pintaParticiones_eng.php index 1f263233..c3e48f5c 100644 --- a/admin/WebConsole/idiomas/php/eng/pintaParticiones_eng.php +++ b/admin/WebConsole/idiomas/php/eng/pintaParticiones_eng.php @@ -50,10 +50,13 @@ $TbMsg["CONFIG_NOOS"]='No operating system detected on the computer.'; $TbMsg["SYNC_METHOD"]='Method'; $TbMsg["SYNC1_DIR"]='Directory based'; $TbMsg["SYNC2_FILE"]='File based'; +$TbMsg["SYNC3_GIT"]='GIT'; $TbMsg["TITLE_W"]='Rsync option: Rsync incremental algorithm is not used and the whole file is sent as-is instead. This is the default when both the source and destination are specified as local paths.'; $TbMsg["TITLE_E"]="Rsync option: Delete extraneous files from the receiving side (ones that aren't on the sending side)."; $TbMsg["TITLE_C"]='Rsync option: Compresses data files sent to the destination machine, which reduces the amount of data being transmitted.'; +$TbMsg["TITLE_G"]='Git option: The partition will be formatted and the image will be cloned, instead of doing a checkout.'; +$TbMsg["TITLE_A"]='Acl restore option: All permissions will be restored and not just those of the user.'; $TbMsg["SEND"]='Protocol'; // WARNINGS. $TbMsg["WARN_PROTOCOL"]='"Protocol" option is only used in incremental file-type, the first time that image is sent to cache.
In other case protocol is RSYNC.'; diff --git a/admin/WebConsole/idiomas/php/esp/pintaParticiones_esp.php b/admin/WebConsole/idiomas/php/esp/pintaParticiones_esp.php index 1f2ef540..5000226c 100644 --- a/admin/WebConsole/idiomas/php/esp/pintaParticiones_esp.php +++ b/admin/WebConsole/idiomas/php/esp/pintaParticiones_esp.php @@ -50,10 +50,13 @@ $TbMsg["CONFIG_NOOS"]='No se ha detectado ningún sistema operativo en el equipo $TbMsg["SYNC_METHOD"]='Método'; $TbMsg["SYNC1_DIR"]='Basada en directorio'; $TbMsg["SYNC2_FILE"]='Basada en archivo'; +$TbMsg["SYNC3_GIT"]='GIT'; $TbMsg["TITLE_W"]='Opción de rsync: El algoritmo incremental rsync no se usa y se envía todo el archivo. Rsync lo usa por defecto cuando el origen y destino locales. '; $TbMsg["TITLE_E"]='Opción de rsync: Se compara el destino con el origen y se borran los ficheros que no existen en el primero.'; $TbMsg["TITLE_C"]='Opción de rsync: Comprime los archivos de datos que se envían a la máquina de destino, lo que reduce la cantidad de datos que se transmiten. '; +$TbMsg["TITLE_G"]='Opción de git: Se formateará la partición y se clonará la imagen, en vez de hacer un checkout'; +$TbMsg["TITLE_A"]='Opción de restauración de acl: Se restauraran todos los permisos y no sólo los del usuario.'; $TbMsg["SEND"]='Protocolo'; // AVISOS. $TbMsg["WARN_PROTOCOL"]='La opción "protocolo" sólo se utiliza en las sincronizadas tipo archivo la primera vez que se envía la imagen a caché.
En otro caso el protocolo es RSYNC.'; diff --git a/admin/WebConsole/includes/pintaParticiones.php b/admin/WebConsole/includes/pintaParticiones.php index c789298d..1398ba0d 100644 --- a/admin/WebConsole/includes/pintaParticiones.php +++ b/admin/WebConsole/includes/pintaParticiones.php @@ -450,7 +450,7 @@ function pintaParticionesRestaurarImagenSincronizacion1($cmd,$configuraciones,$i // Separamos las configuraciones segun el disco al que pertenezcan $diskConfigs = splitConfigurationsByDisk($configuraciones); - $columns=14; + $columns=16; echo ''; echo '  '; echo ' '.$TbMsg["DISK"].' '; // Número de disco @@ -463,9 +463,11 @@ function pintaParticionesRestaurarImagenSincronizacion1($cmd,$configuraciones,$i echo ' '.$TbMsg[16].' '; echo ' '.$TbMsg["SYNC_METHOD"].' '; echo ' '.$TbMsg["SEND"].' '; - echo '  W  '; - echo '  E  '; - echo '  C  '; + echo '  W  '; + echo '  E  '; + echo '  C  '; + echo '  G  '; + echo '  A  '; echo ''; @@ -474,7 +476,7 @@ function pintaParticionesRestaurarImagenSincronizacion1($cmd,$configuraciones,$i foreach($diskConfigs as $disk => $diskConfig){ $disk = (int)$disk; - echo ''.chr(13); + echo ''.chr(13); $html_disk_type = draw_disk_type($cmd, $idordenadores, $disk); echo ''.HTMLCTESELECT($metodos,"desplesync_".$icp,"estilodesple","",1,100).''; + $metodos.="SYNC2=".$TbMsg["SYNC2_FILE"].chr(13); + $metodos.="SYNC3=".$TbMsg["SYNC3_GIT"]; + echo ''.HTMLCTESELECT($metodos,"desplesync_".$icp,"estilodesple","",1,100,"protocolo_opt").''; $metodos="UNICAST="."Unicast".chr(13); $metodos.="MULTICAST_". mcast_syntax($cmd,$ambito,$idambito) ."="."Multicast".chr(13); @@ -514,9 +517,11 @@ function pintaParticionesRestaurarImagenSincronizacion1($cmd,$configuraciones,$i $metodos.="RSYNC=Rsync"; echo ''.HTMLCTESELECT($metodos,"despletpt_".$icp,"estilodesple","",1,100).''; - echo ''; - echo ''; - echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; } echo ''.chr(13); @@ -526,5 +531,5 @@ function pintaParticionesRestaurarImagenSincronizacion1($cmd,$configuraciones,$i } echo ' '; - echo ''.$TbMsg["WARN_PROTOCOL"].''; + echo ''.$TbMsg["WARN_PROTOCOL"].''; } diff --git a/admin/WebConsole/includes/pintaTablaConfiguraciones.php b/admin/WebConsole/includes/pintaTablaConfiguraciones.php index 41b3d296..8bebe39d 100644 --- a/admin/WebConsole/includes/pintaTablaConfiguraciones.php +++ b/admin/WebConsole/includes/pintaTablaConfiguraciones.php @@ -315,7 +315,8 @@ function tablaConfiguracionesSincronizacion1($idordenador) $metodos="SYNC0="." ".chr(13); $metodos.="SYNC1=".$TbMsg["SYNC1_DIR"].chr(13); - $metodos.="SYNC2=".$TbMsg["SYNC2_FILE"]; + $metodos.="SYNC2=".$TbMsg["SYNC2_FILE"].chr(13); + $metodos.="SYNC3=".$TbMsg["SYNC3_GIT"]; $tablaHtml.= ''.HTMLCTESELECT($metodos,"desplesync_".$rs->campos["numpar"],"estilodesple","",1,100).''; $tablaHtml.=''; -- cgit v1.2.3-18-g5258