Version 20.51.20: Mar 19, 2021 Rooms database tables renamed.

This commit is contained in:
acanas 2021-03-19 10:50:13 +01:00
parent dc6a870602
commit bc4f1949fa
5 changed files with 62 additions and 51 deletions

View File

@ -1243,6 +1243,25 @@ CREATE TABLE IF NOT EXISTS prj_usr (
UsrCod INT NOT NULL,
UNIQUE INDEX(PrjCod,RoleInProject,UsrCod));
--
-- Table roo_MACs: stores the associations between rooms and MAC addresses
--
CREATE TABLE IF NOT EXISTS roo_MACs (
RooCod INT NOT NULL AUTO_INCREMENT,
MAC BIGINT NOT NULL,
UNIQUE INDEX(RooCod,MAC),
UNIQUE INDEX(MAC,RooCod));
--
-- Table roo_check_in: stores the history of locations of users
--
CREATE TABLE IF NOT EXISTS roo_check_in (
ChkCod INT NOT NULL AUTO_INCREMENT,
UsrCod INT NOT NULL,
RooCod INT NOT NULL,
CheckInTime DATETIME NOT NULL,
UNIQUE INDEX(ChkCod),
INDEX(UsrCod,CheckInTime),
INDEX(CheckInTime));
--
-- Table roo_rooms: stores the rooms associated to each center
--
CREATE TABLE IF NOT EXISTS roo_rooms (
@ -1257,25 +1276,6 @@ CREATE TABLE IF NOT EXISTS roo_rooms (
UNIQUE INDEX(RooCod),
INDEX(CtrCod,BldCod,Floor));
--
-- Table room_MAC: stores the associations between rooms and MAC addresses
--
CREATE TABLE IF NOT EXISTS room_MAC (
RooCod INT NOT NULL AUTO_INCREMENT,
MAC BIGINT NOT NULL,
UNIQUE INDEX(RooCod,MAC),
UNIQUE INDEX(MAC,RooCod));
--
-- Table room_check_in: stores the history of locations of users
--
CREATE TABLE IF NOT EXISTS room_check_in (
ChkCod INT NOT NULL AUTO_INCREMENT,
UsrCod INT NOT NULL,
RooCod INT NOT NULL,
CheckInTime DATETIME NOT NULL,
UNIQUE INDEX(ChkCod),
INDEX(UsrCod,CheckInTime),
INDEX(CheckInTime));
--
-- Table ses_params: stores some hidden parameters passed from a page to another using database instead of forms
--
CREATE TABLE IF NOT EXISTS ses_params (

View File

@ -6009,13 +6009,13 @@ int swad__getLocation (struct soap *soap,
"roo_rooms.RooCod," // row[10]
"roo_rooms.ShortName," // row[11]
"roo_rooms.FullName" // row[12]
" FROM room_MAC,"
" FROM roo_MACs,"
"roo_rooms,"
"bld_buildings,"
"ctr_centers,"
"ins_instits"
" WHERE room_MAC.MAC=%llu"
" AND room_MAC.RooCod=roo_rooms.RooCod"
" WHERE roo_MACs.MAC=%llu"
" AND roo_MACs.RooCod=roo_rooms.RooCod"
" AND roo_rooms.BldCod=bld_buildings.BldCod"
" AND bld_buildings.CtrCod=ctr_centers.CtrCod"
" AND ctr_centers.InsCod=ins_instits.InsCod"
@ -6070,7 +6070,7 @@ int swad__sendMyLocation (struct soap *soap,
/* Get the code of the inserted item */
ChkCod =
DB_QueryINSERTandReturnCode ("can not save current location",
"INSERT INTO room_check_in"
"INSERT INTO roo_check_in"
" (UsrCod,RooCod,CheckInTime)"
" SELECT %ld,"
"RooCod,"
@ -6152,20 +6152,20 @@ int swad__getLastLocation (struct soap *soap,
"roo_rooms.RooCod," // row[10]
"roo_rooms.ShortName," // row[11]
"roo_rooms.FullName," // row[12]
"UNIX_TIMESTAMP(room_check_in.CheckInTime)" // row[13]
" FROM room_check_in,"
"UNIX_TIMESTAMP(roo_check_in.CheckInTime)" // row[13]
" FROM roo_check_in,"
"roo_rooms,"
"bld_buildings,"
"ctr_centers,"
"ins_instits"
" WHERE room_check_in.UsrCod=%d"
" AND room_check_in.ChkCod="
" WHERE roo_check_in.UsrCod=%d"
" AND roo_check_in.ChkCod="
"(SELECT ChkCod"
" FROM room_check_in"
" FROM roo_check_in"
" WHERE UsrCod=%d"
" ORDER BY ChkCod DESC"
" LIMIT 1)" // Faster than SELECT MAX
" AND room_check_in.RooCod=roo_rooms.RooCod"
" AND roo_check_in.RooCod=roo_rooms.RooCod"
" AND roo_rooms.BldCod=bld_buildings.BldCod"
" AND bld_buildings.CtrCod=ctr_centers.CtrCod"
" AND ctr_centers.InsCod=ins_instits.InsCod",
@ -6217,7 +6217,7 @@ static void API_GetDataOfLocation (struct soap *soap,
roo_rooms.RooCod // row[10]
roo_rooms.ShortName // row[11]
roo_rooms.FullName // row[12]
UNIX_TIMESTAMP(room_check_in.CheckInTime) // row[13] (optional)
UNIX_TIMESTAMP(roo_check_in.CheckInTime) // row[13] (optional)
*/
/* Get institution code (row[0]) */

View File

@ -600,13 +600,18 @@ TODO: Salvador Romero Cort
TODO: FIX BUG, URGENT! En las fechas como parámetro Dat_WriteParamsIniEndDates(), por ejemplo al cambiar el color de la gráfica de accesos por día y hora, no se respeta la zona horaria.
*/
#define Log_PLATFORM_VERSION "SWAD 20.51.19 (2021-03-19)"
#define Log_PLATFORM_VERSION "SWAD 20.51.20 (2021-03-19)"
#define CSS_FILE "swad20.45.css"
#define JS_FILE "swad20.6.2.js"
/*
TODO: Rename CENTRE to CENTER in help wiki.
TODO: Rename ASSESSMENT.Announcements to ASSESSMENT.Calls_for_exams
Version 20.51.20: Mar 19, 2021 Rooms database tables renamed. (308069 lines)
2 changes necessary in database:
RENAME TABLE room_MAC TO roo_MACs;
RENAME TABLE room_check_in TO roo_check_in;
Version 20.51.19: Mar 19, 2021 Rooms database table renamed. (308059 lines)
1 change necessary in database:
RENAME TABLE rooms TO roo_rooms;

View File

@ -2646,26 +2646,26 @@ mysql> DESCRIBE roo_rooms;
"UNIQUE INDEX(RooCod),"
"INDEX(CtrCod,BldCod,Floor))");
/***** Table room_MAC *****/
/***** Table roo_MACs *****/
/*
mysql> DESCRIBE room_MAC;
+--------+------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+------------+------+-----+---------+----------------+
| RooCod | int(11) | NO | PRI | NULL | auto_increment |
| MAC | bigint(20) | NO | PRI | NULL | |
+--------+------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)
mysql> DESCRIBE roo_MACs;
+--------+--------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+--------+------+-----+---------+----------------+
| RooCod | int | NO | PRI | NULL | auto_increment |
| MAC | bigint | NO | PRI | NULL | |
+--------+--------+------+-----+---------+----------------+
2 rows in set (0.01 sec)
*/
DB_CreateTable ("CREATE TABLE IF NOT EXISTS room_MAC ("
DB_CreateTable ("CREATE TABLE IF NOT EXISTS roo_MACs ("
"RooCod INT NOT NULL,"
"MAC BIGINT NOT NULL," // 12 digits hexadecimal number
"UNIQUE INDEX(RooCod,MAC),"
"UNIQUE INDEX(MAC,RooCod))");
/***** Table room_check_in *****/
/***** Table roo_check_in *****/
/*
mysql> DESCRIBE room_check_in;
mysql> DESCRIBE roo_check_in;
+-------------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+----------+------+-----+---------+----------------+
@ -2676,7 +2676,7 @@ mysql> DESCRIBE room_check_in;
+-------------+----------+------+-----+---------+----------------+
4 rows in set (0.00 sec)
*/
DB_CreateTable ("CREATE TABLE IF NOT EXISTS room_check_in ("
DB_CreateTable ("CREATE TABLE IF NOT EXISTS roo_check_in ("
"ChkCod INT NOT NULL AUTO_INCREMENT,"
"UsrCod INT NOT NULL,"
"RooCod INT NOT NULL,"

View File

@ -359,7 +359,7 @@ static unsigned Roo_GetMACAddresses (long RooCod,MYSQL_RES **mysql_res)
/***** Get MAC addresses from database *****/
return (unsigned) DB_QuerySELECT (mysql_res,"can not get MAC addresses",
"SELECT MAC" // row[0]
" FROM room_MAC"
" FROM roo_MACs"
" WHERE RooCod=%ld"
" ORDER BY MAC",
RooCod);
@ -394,14 +394,20 @@ void Roo_ChangeMAC (void)
/***** Check if the new MAC is different from the old MAC *****/
if (OldMACnum)
DB_QueryDELETE ("can not remove MAC address",
"DELETE FROM room_MAC"
" WHERE RooCod=%ld AND MAC=%llu",
Roo_EditingRoom->RooCod,OldMACnum);
"DELETE FROM roo_MACs"
" WHERE RooCod=%ld"
" AND MAC=%llu",
Roo_EditingRoom->RooCod,
OldMACnum);
if (NewMACnum)
/***** Update the table of rooms-MACs changing the old MAC for the new one *****/
DB_QueryREPLACE ("can not change MAC address",
"REPLACE INTO room_MAC (RooCod,MAC) VALUES (%ld,%llu)",
Roo_EditingRoom->RooCod,NewMACnum);
"REPLACE INTO roo_MACs"
" (RooCod,MAC)"
" VALUES"
" (%ld,%llu)",
Roo_EditingRoom->RooCod,
NewMACnum);
Roo_EditingRoom->MACnum = NewMACnum;
}
@ -1632,7 +1638,7 @@ static void Roo_CreateRoom (struct Roo_Room *Room)
/***** Create MAC address *****/
if (Room->MACnum)
DB_QueryINSERT ("can not create MAC address",
"INSERT INTO room_MAC"
"INSERT INTO roo_MACs"
" (RooCod,MAC)"
" VALUES"
" (%ld,%llu)",