diff options
author | Irina Gómez <irinagomez@us.es> | 2021-07-04 14:01:16 +0200 |
---|---|---|
committer | Irina Gómez <irinagomez@us.es> | 2021-07-04 14:01:16 +0200 |
commit | 9b90a8ec13167378b555c085ce00ec055fa8ef3e (patch) | |
tree | 1a1bd6f1ea071b89436149a800a3afb9b98a0d15 | |
parent | 48ba4e8e65a0c2c3bf65bbfeaa3911c95ad84d17 (diff) |
#918 The web console commands for cloning synchronized images adapt to images synced with git.918-git-images
GIT is included as a cloning protocol with options git_option:acl_option with the values [ clone | checkout ] : [ total | user ].
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é. <br>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. <br>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é. <br>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 '<TR>'; echo '<TH align=center> </TH>'; echo '<th align="center"> '.$TbMsg["DISK"].' </th>'; // Número de disco @@ -463,9 +463,11 @@ function pintaParticionesRestaurarImagenSincronizacion1($cmd,$configuraciones,$i echo '<TH align=center> '.$TbMsg[16].' </TH>'; echo '<TH align=center> '.$TbMsg["SYNC_METHOD"].' </TH>'; echo '<TH align=center> '.$TbMsg["SEND"].' </TH>'; - echo ' <TH align=center> <dfn title="'.$TbMsg["TITLE_W"].'">W</dfn> </TH>'; - echo ' <TH align=center> <dfn title="'.$TbMsg["TITLE_E"].'">E</dfn> </TH>'; - echo ' <TH align=center> <dfn title="'.$TbMsg["TITLE_C"].'">C</dfn> </TH>'; + echo ' <TH id="whl" align=center> <dfn title="'.$TbMsg["TITLE_W"].'">W</dfn> </TH>'; + echo ' <TH id="eli" align=center> <dfn title="'.$TbMsg["TITLE_E"].'">E</dfn> </TH>'; + echo ' <TH id="cmp" align=center> <dfn title="'.$TbMsg["TITLE_C"].'">C</dfn> </TH>'; + echo ' <TH id="git" align=center> <dfn title="'.$TbMsg["TITLE_G"].'">G</dfn> </TH>'; + echo ' <TH id="acl" align=center> <dfn title="'.$TbMsg["TITLE_A"].'">A</dfn> </TH>'; echo '</TR>'; @@ -474,7 +476,7 @@ function pintaParticionesRestaurarImagenSincronizacion1($cmd,$configuraciones,$i foreach($diskConfigs as $disk => $diskConfig){ $disk = (int)$disk; - echo '<tr height="16">'.chr(13); + echo '<tr height="18">'.chr(13); $html_disk_type = draw_disk_type($cmd, $idordenadores, $disk); echo '<td colspan="' . $columns . '" style="BORDER-TOP: " . @@ -505,8 +507,9 @@ function pintaParticionesRestaurarImagenSincronizacion1($cmd,$configuraciones,$i $metodos="SYNC0="." ".chr(13); $metodos.="SYNC1=".$TbMsg["SYNC1_DIR"].chr(13); - $metodos.="SYNC2=".$TbMsg["SYNC2_FILE"]; - echo '<TD align=center>'.HTMLCTESELECT($metodos,"desplesync_".$icp,"estilodesple","",1,100).'</TD>'; + $metodos.="SYNC2=".$TbMsg["SYNC2_FILE"].chr(13); + $metodos.="SYNC3=".$TbMsg["SYNC3_GIT"]; + echo '<TD align=center>'.HTMLCTESELECT($metodos,"desplesync_".$icp,"estilodesple","",1,100,"protocolo_opt").'</TD>'; $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 '<TD align=center>'.HTMLCTESELECT($metodos,"despletpt_".$icp,"estilodesple","",1,100).'</TD>'; - echo '<td align=center><input type=checkbox name="whole" id="whl-'.$icp.'"></td>'; - echo '<td align=center><input type=checkbox name="paramb" checked id="eli-'.$icp.'"></td>'; - echo '<td align=center><input type=checkbox name="compres" id="cmp-'.$icp.'"></td>'; + echo '<td align=center><input type=checkbox name="whole" class="whole" id="whl-'.$icp.'"></td>'; + echo '<td align=center><input type=checkbox name="eli" class="paramb" checked id="eli-'.$icp.'"></td>'; + echo '<td align=center><input type=checkbox name="compres" class="compres" id="cmp-'.$icp.'"></td>'; + echo '<td align=center><input type=checkbox name="git" class="git" id="git-'.$icp.'"></td>'; + echo '<td align=center><input type=checkbox name="acl" class="acl" id="acl-'.$icp.'"></td>'; } echo '</TR>'.chr(13); @@ -526,5 +531,5 @@ function pintaParticionesRestaurarImagenSincronizacion1($cmd,$configuraciones,$i } echo '<TR><TD colspan="'.$columns.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #FFFFFF; height: 5px;"> </TD></TR>'; - echo '<tr><th colspan="14">'.$TbMsg["WARN_PROTOCOL"].'</th></tr>'; + echo '<tr><th colspan="'.$columns.'">'.$TbMsg["WARN_PROTOCOL"].'</th></tr>'; } 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.= '<TD align=center>'.HTMLCTESELECT($metodos,"desplesync_".$rs->campos["numpar"],"estilodesple","",1,100).'</TD>'; $tablaHtml.='<td align=center><input type=checkbox name="whole" id="whl-'.$rs->campos["numpar"].'"></td>'; |