From aebf2281bfd0b90d074fb9ca5d88b2bea29a518d Mon Sep 17 00:00:00 2001 From: Alejandro Sirgo Rica Date: Thu, 21 Nov 2024 17:07:28 +0100 Subject: rest: allow creation of folder with same name in different nodes Check the parent node along with the folder name to identify if the folder already exists. Fix error when using a folder name defined in any other folder. --- src/rest.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/rest.c b/src/rest.c index 2539a49..ed8c36d 100644 --- a/src/rest.c +++ b/src/rest.c @@ -2357,8 +2357,9 @@ static int add_room_folder(struct og_dbi *dbi, struct og_folder *folder) const char *msglog; result = dbi_conn_queryf(dbi->conn, - "SELECT nombregrupo FROM grupos WHERE nombregrupo='%s'", - folder->name); + "SELECT nombregrupo FROM grupos WHERE " + "nombregrupo='%s' AND idcentro=%u", + folder->name, folder->center); if (!result) { dbi_conn_error(dbi->conn, &msglog); @@ -2400,9 +2401,9 @@ static int add_computer_folder(struct og_dbi *dbi, struct og_folder *folder) const char *msglog; result = dbi_conn_queryf(dbi->conn, - "SELECT nombregrupoordenador FROM gruposordenadores WHERE nombregrupoordenador='%s'", - folder->name); - + "SELECT nombregrupoordenador FROM gruposordenadores WHERE " + "nombregrupoordenador='%s' AND idaula=%u", + folder->name, folder->room); if (!result) { dbi_conn_error(dbi->conn, &msglog); syslog(LOG_ERR, "failed to query database (%s:%d) %s\n", -- cgit v1.2.3-18-g5258