summaryrefslogtreecommitdiffstats
path: root/sources
diff options
context:
space:
mode:
Diffstat (limited to 'sources')
-rw-r--r--sources/ogAdmServer.cpp41
1 files changed, 35 insertions, 6 deletions
diff --git a/sources/ogAdmServer.cpp b/sources/ogAdmServer.cpp
index 187a533..359ffe1 100644
--- a/sources/ogAdmServer.cpp
+++ b/sources/ogAdmServer.cpp
@@ -2023,7 +2023,7 @@ BOOLEAN actualizaCreacionImagen(Database db, Table tbl, char* idi, char* dsk,
char* par, char* cpt, char* ipr, char *ido) {
char msglog[LONSTD], sqlstr[LONSQL];
char modulo[] = "actualizaCreacionImagen()";
- int idr,ifs;
+ int idr,ifs,rev;
/* Toma identificador del repositorio correspondiente al ordenador modelo */
snprintf(sqlstr, LONSQL,
@@ -2064,11 +2064,11 @@ BOOLEAN actualizaCreacionImagen(Database db, Table tbl, char* idi, char* dsk,
/* Actualizar los datos de la imagen */
snprintf(sqlstr, LONSQL,
- "UPDATE imagenes"
- " SET idordenador=%s, numdisk=%s, numpar=%s, codpar=%s,"
- " idperfilsoft=%d, idrepositorio=%d,"
- " fechacreacion=NOW(), revision=revision+1"
- " WHERE idimagen=%s", ido, dsk, par, cpt, ifs, idr, idi);
+ "UPDATE imagenes"
+ " SET idordenador=%s, numdisk=%s, numpar=%s, codpar=%s,"
+ " idperfilsoft=%d, idrepositorio=%d,"
+ " fechacreacion=NOW(), revision=revision+1"
+ " WHERE idimagen=%s", ido, dsk, par, cpt, ifs, idr, idi);
if (!db.Execute(sqlstr, tbl)) { // Error al recuperar los datos
errorLog(modulo, 21, FALSE);
@@ -2076,6 +2076,35 @@ BOOLEAN actualizaCreacionImagen(Database db, Table tbl, char* idi, char* dsk,
errorInfo(modulo, msglog);
return (FALSE);
}
+ /* Toma revisiĆ³n de la imagen */
+ snprintf(sqlstr, LONSQL,
+ "SELECT revision"
+ " FROM imagenes"
+ " WHERE idimagen=%s", idi);
+
+ if (!db.Execute(sqlstr, tbl)) { // Error al leer
+ errorLog(modulo, 21, FALSE);
+ db.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ if (!tbl.Get("revision", rev)) { // Toma dato
+ tbl.GetErrorErrStr(msglog); // Error al acceder al registro
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ /* Actualizar los datos en el cliente */
+ snprintf(sqlstr, LONSQL,
+ "UPDATE ordenadores_particiones"
+ " SET idimagen=%s, revision=%d, fechadespliegue=NOW()"
+ " WHERE idordenador=%s AND numdisk=%s AND numpar=%s",
+ idi, rev, ido, dsk, par);
+ if (!db.Execute(sqlstr, tbl)) { // Error al recuperar los datos
+ errorLog(modulo, 21, FALSE);
+ db.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
return (TRUE);
}
// ________________________________________________________________________________________________________