summaryrefslogtreecommitdiffstats
path: root/sources/ogAdmServer.cpp
diff options
context:
space:
mode:
authoririna <irinagomez@us.es>2016-09-30 07:47:16 +0000
committeririna <irinagomez@us.es>2016-09-30 07:47:16 +0000
commitfaee12ece69476fa55658d8f9045aaedb15cd49d (patch)
tree177127142e6f8a07ec16aed99f40bc1039a0406d /sources/ogAdmServer.cpp
parentb5022791abb15fe9b1c8d29411bf37ddc7548bd7 (diff)
#737 Comando crear imagen de la consola: actualiza en la base de datos las propiedades de la particion: imagen, revisiĆ³n y fecha de despliegue.
git-svn-id: https://opengnsys.es/svn/branches/version1.1@5024 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'sources/ogAdmServer.cpp')
-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);
}
// ________________________________________________________________________________________________________