Version 20.50.1: Mar 15, 2021 Agendas database table renamed.

This commit is contained in:
acanas 2021-03-15 18:33:17 +01:00
parent 6ca773d8af
commit 93713a0bc6
4 changed files with 111 additions and 76 deletions

View File

@ -26,18 +26,9 @@ CREATE TABLE IF NOT EXISTS act_MFU (
LastClick DATETIME NOT NULL,
UNIQUE INDEX(UsrCod,ActCod));
--
-- Table ann_seen: stores users who have seen global announcements
--
CREATE TABLE IF NOT EXISTS usr_admins (
UsrCod INT NOT NULL,
Scope ENUM('Sys','Ins','Ctr','Deg') NOT NULL,
Cod INT NOT NULL,
UNIQUE INDEX(UsrCod,Scope,Cod),
INDEX(Scope,Cod));
--
-- Table agendas: stores users' agendas
--
CREATE TABLE IF NOT EXISTS agendas (
CREATE TABLE IF NOT EXISTS agd_agendas (
AgdCod INT NOT NULL AUTO_INCREMENT,
UsrCod INT NOT NULL,
Public ENUM('N','Y') NOT NULL DEFAULT 'N',
@ -1597,6 +1588,15 @@ CREATE TABLE IF NOT EXISTS tst_tags (
UNIQUE INDEX(TagCod),
INDEX(CrsCod,ChangeTime));
--
-- Table usr_admins: stores users who manage degrees, centres, institutions and system
--
CREATE TABLE IF NOT EXISTS usr_admins (
UsrCod INT NOT NULL,
Scope ENUM('Sys','Ins','Ctr','Deg') NOT NULL,
Cod INT NOT NULL,
UNIQUE INDEX(UsrCod,Scope,Cod),
INDEX(Scope,Cod));
--
-- Table usr_banned: stores users banned for ranking
--
CREATE TABLE IF NOT EXISTS usr_banned (

View File

@ -1151,7 +1151,7 @@ static void Agd_GetListEvents (struct Agd_Agenda *Agenda,
{
/* Make query */
NumRows = DB_QuerySELECT (&mysql_res,"can not get agenda events",
"SELECT AgdCod FROM agendas"
"SELECT AgdCod FROM agd_agendas"
" WHERE %s%s%s%s"
" ORDER BY %s",
UsrSubQuery,
@ -1204,15 +1204,20 @@ static void Agd_GetDataOfEventByCod (struct Agd_Event *AgdEvent)
/***** Get data of event from database *****/
if (DB_QuerySELECT (&mysql_res,"can not get agenda event data",
"SELECT AgdCod,Public,Hidden,"
"UNIX_TIMESTAMP(StartTime),"
"UNIX_TIMESTAMP(EndTime),"
"NOW()>EndTime," // Past event?
"NOW()<StartTime," // Future event?
"Event,Location"
" FROM agendas"
" WHERE AgdCod=%ld AND UsrCod=%ld",
AgdEvent->AgdCod,AgdEvent->UsrCod)) // Event found...
"SELECT AgdCod," // row[0]
"Public," // row[1]
"Hidden," // row[2]
"UNIX_TIMESTAMP(StartTime)," // row[3]
"UNIX_TIMESTAMP(EndTime)," // row[4]
"NOW()>EndTime," // row[5] Past event?
"NOW()<StartTime," // row[6] Future event?
"Event," // row[7]
"Location" // row[8]
" FROM agd_agendas"
" WHERE AgdCod=%ld"
" AND UsrCod=%ld",
AgdEvent->AgdCod,
AgdEvent->UsrCod)) // Event found...
{
/* Get row:
row[0] AgdCod
@ -1294,9 +1299,12 @@ static void Agd_GetEventTxtFromDB (struct Agd_Event *AgdEvent,
/***** Get text of event from database *****/
NumRows = DB_QuerySELECT (&mysql_res,"can not get event text",
"SELECT Txt FROM agendas"
" WHERE AgdCod=%ld AND UsrCod=%ld",
AgdEvent->AgdCod,AgdEvent->UsrCod);
"SELECT Txt" // row[0]
" FROM agd_agendas"
" WHERE AgdCod=%ld"
" AND UsrCod=%ld",
AgdEvent->AgdCod,
AgdEvent->UsrCod);
/***** The result of the query must have one row or none *****/
if (NumRows == 1)
@ -1388,8 +1396,11 @@ void Agd_RemoveEvent (void)
/***** Remove event *****/
DB_QueryDELETE ("can not remove event",
"DELETE FROM agendas WHERE AgdCod=%ld AND UsrCod=%ld",
AgdEvent.AgdCod,AgdEvent.UsrCod);
"DELETE FROM agd_agendas"
" WHERE AgdCod=%ld"
" AND UsrCod=%ld",
AgdEvent.AgdCod,
AgdEvent.UsrCod);
/***** Write message to show the change made *****/
Ale_ShowAlert (Ale_SUCCESS,Txt_Event_X_removed,
@ -1424,9 +1435,12 @@ void Agd_HideEvent (void)
/***** Set event private *****/
DB_QueryUPDATE ("can not hide event",
"UPDATE agendas SET Hidden='Y'"
" WHERE AgdCod=%ld AND UsrCod=%ld",
AgdEvent.AgdCod,AgdEvent.UsrCod);
"UPDATE agd_agendas"
" SET Hidden='Y'"
" WHERE AgdCod=%ld"
" AND UsrCod=%ld",
AgdEvent.AgdCod,
AgdEvent.UsrCod);
/***** Show events again *****/
Agd_ShowMyAgenda (&Agenda);
@ -1457,9 +1471,12 @@ void Agd_UnhideEvent (void)
/***** Set event public *****/
DB_QueryUPDATE ("can not show event",
"UPDATE agendas SET Hidden='N'"
" WHERE AgdCod=%ld AND UsrCod=%ld",
AgdEvent.AgdCod,AgdEvent.UsrCod);
"UPDATE agd_agendas"
" SET Hidden='N'"
" WHERE AgdCod=%ld"
" AND UsrCod=%ld",
AgdEvent.AgdCod,
AgdEvent.UsrCod);
/***** Show events again *****/
Agd_ShowMyAgenda (&Agenda);
@ -1491,9 +1508,12 @@ void Agd_MakeEventPrivate (void)
/***** Make event private *****/
DB_QueryUPDATE ("can not make event private",
"UPDATE agendas SET Public='N'"
" WHERE AgdCod=%ld AND UsrCod=%ld",
AgdEvent.AgdCod,AgdEvent.UsrCod);
"UPDATE agd_agendas"
" SET Public='N'"
" WHERE AgdCod=%ld"
" AND UsrCod=%ld",
AgdEvent.AgdCod,
AgdEvent.UsrCod);
/***** Write message to show the change made *****/
Ale_ShowAlert (Ale_SUCCESS,Txt_Event_X_is_now_private,
@ -1529,9 +1549,12 @@ void Agd_MakeEventPublic (void)
/***** Make event public *****/
DB_QueryUPDATE ("can not make event public",
"UPDATE agendas SET Public='Y'"
" WHERE AgdCod=%ld AND UsrCod=%ld",
AgdEvent.AgdCod,AgdEvent.UsrCod);
"UPDATE agd_agendas"
" SET Public='Y'"
" WHERE AgdCod=%ld"
" AND UsrCod=%ld",
AgdEvent.AgdCod,
AgdEvent.UsrCod);
/***** Write message to show the change made *****/
Ale_ShowAlert (Ale_SUCCESS,Txt_Event_X_is_now_visible_to_users_of_your_courses,
@ -1785,7 +1808,7 @@ static void Agd_CreateEvent (struct Agd_Event *AgdEvent,const char *Txt)
/***** Create a new event *****/
AgdEvent->AgdCod =
DB_QueryINSERTandReturnCode ("can not create new event",
"INSERT INTO agendas"
"INSERT INTO agd_agendas"
" (UsrCod,StartTime,EndTime,Event,Location,Txt)"
" VALUES"
" (%ld,FROM_UNIXTIME(%ld),FROM_UNIXTIME(%ld),"
@ -1806,11 +1829,14 @@ static void Agd_UpdateEvent (struct Agd_Event *AgdEvent,const char *Txt)
{
/***** Update the data of the event *****/
DB_QueryUPDATE ("can not update event",
"UPDATE agendas SET "
"StartTime=FROM_UNIXTIME(%ld),"
"EndTime=FROM_UNIXTIME(%ld),"
"Event='%s',Location='%s',Txt='%s'"
" WHERE AgdCod=%ld AND UsrCod=%ld",
"UPDATE agd_agendas"
" SET StartTime=FROM_UNIXTIME(%ld),"
"EndTime=FROM_UNIXTIME(%ld),"
"Event='%s',"
"Location='%s',"
"Txt='%s'"
" WHERE AgdCod=%ld"
" AND UsrCod=%ld",
AgdEvent->TimeUTC[Dat_START_TIME],
AgdEvent->TimeUTC[Dat_END_TIME ],
AgdEvent->Event,AgdEvent->Location,Txt,
@ -1825,7 +1851,8 @@ void Agd_RemoveUsrEvents (long UsrCod)
{
/***** Remove events *****/
DB_QueryDELETE ("can not remove all the events of a user",
"DELETE FROM agendas WHERE UsrCod=%ld",
"DELETE FROM agd_agendas"
" WHERE UsrCod=%ld",
UsrCod);
}
@ -1837,7 +1864,8 @@ unsigned Agd_GetNumEventsFromUsr (long UsrCod)
{
/***** Get number of events in a course from database *****/
return (unsigned) DB_QueryCOUNT ("can not get number of events from user",
"SELECT COUNT(*) FROM agendas"
"SELECT COUNT(*)"
" FROM agd_agendas"
" WHERE UsrCod=%ld",
UsrCod);
}
@ -1859,75 +1887,76 @@ unsigned Agd_GetNumUsrsWithEvents (Hie_Lvl_Level_t Scope)
case Hie_Lvl_SYS:
DB_QuerySELECT (&mysql_res,"can not get number of users with events",
"SELECT COUNT(DISTINCT UsrCod)"
" FROM agendas"
" FROM agd_agendas"
" WHERE UsrCod>0");
break;
case Hie_Lvl_CTY:
DB_QuerySELECT (&mysql_res,"can not get number of users with events",
"SELECT COUNT(DISTINCT agendas.UsrCod)"
"SELECT COUNT(DISTINCT agd_agendas.UsrCod)"
" FROM ins_instits,"
"ctr_centers,"
"deg_degrees,"
"crs_courses,"
"crs_usr,"
"agendas"
"agd_agendas"
" WHERE ins_instits.CtyCod=%ld"
" AND ins_instits.InsCod=ctr_centers.InsCod"
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=crs_courses.DegCod"
" AND crs_courses.Status=0"
" AND crs_courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=agendas.UsrCod",
" AND crs_usr.UsrCod=agd_agendas.UsrCod",
Gbl.Hierarchy.Cty.CtyCod);
break;
case Hie_Lvl_INS:
DB_QuerySELECT (&mysql_res,"can not get number of users with events",
"SELECT COUNT(DISTINCT agendas.UsrCod)"
"SELECT COUNT(DISTINCT agd_agendas.UsrCod)"
" FROM ctr_centers,"
"deg_degrees,"
"crs_courses,"
"crs_usr,"
"agendas"
"agd_agendas"
" WHERE ctr_centers.InsCod=%ld"
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=crs_courses.DegCod"
" AND crs_courses.Status=0"
" AND crs_courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=agendas.UsrCod",
" AND crs_usr.UsrCod=agd_agendas.UsrCod",
Gbl.Hierarchy.Ins.InsCod);
break;
case Hie_Lvl_CTR:
DB_QuerySELECT (&mysql_res,"can not get number of users with events",
"SELECT COUNT(DISTINCT agendas.UsrCod)"
"SELECT COUNT(DISTINCT agd_agendas.UsrCod)"
" FROM deg_degrees,"
"crs_courses,"
"crs_usr,"
"agendas"
"agd_agendas"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=crs_courses.DegCod"
" AND crs_courses.Status=0"
" AND crs_courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=agendas.UsrCod",
" AND crs_usr.UsrCod=agd_agendas.UsrCod",
Gbl.Hierarchy.Ctr.CtrCod);
break;
case Hie_Lvl_DEG:
DB_QuerySELECT (&mysql_res,"can not get number of users with events",
"SELECT COUNT(DISTINCT agendas.UsrCod)"
"SELECT COUNT(DISTINCT agd_agendas.UsrCod)"
" FROM crs_courses,"
"crs_usr,"
"agendas"
"agd_agendas"
" WHERE crs_courses.DegCod=%ld"
" AND crs_courses.Status=0"
" AND crs_courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=agendas.UsrCod",
" AND crs_usr.UsrCod=agd_agendas.UsrCod",
Gbl.Hierarchy.Deg.DegCod);
break;
case Hie_Lvl_CRS:
DB_QuerySELECT (&mysql_res,"can not get number of users with events",
"SELECT COUNT(DISTINCT agendas.UsrCod)"
" FROM crs_usr,agendas"
"SELECT COUNT(DISTINCT agd_agendas.UsrCod)"
" FROM crs_usr,"
"agd_agendas"
" WHERE crs_usr.CrsCod=%ld"
" AND crs_usr.UsrCod=agendas.UsrCod",
" AND crs_usr.UsrCod=agd_agendas.UsrCod",
Gbl.Hierarchy.Crs.CrsCod);
break;
default:
@ -1963,7 +1992,7 @@ unsigned Agd_GetNumEvents (Hie_Lvl_Level_t Scope)
case Hie_Lvl_SYS:
DB_QuerySELECT (&mysql_res,"can not get number of events",
"SELECT COUNT(*)"
" FROM agendas"
" FROM agd_agendas"
" WHERE UsrCod>0");
break;
case Hie_Lvl_CTY:
@ -1974,13 +2003,13 @@ unsigned Agd_GetNumEvents (Hie_Lvl_Level_t Scope)
"deg_degrees,"
"crs_courses,"
"crs_usr,"
"agendas"
"agd_agendas"
" WHERE ins_instits.CtyCod=%ld"
" AND ins_instits.InsCod=ctr_centers.InsCod"
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=crs_courses.DegCod"
" AND crs_courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=agendas.UsrCod",
" AND crs_usr.UsrCod=agd_agendas.UsrCod",
Gbl.Hierarchy.Cty.CtyCod);
break;
case Hie_Lvl_INS:
@ -1990,12 +2019,12 @@ unsigned Agd_GetNumEvents (Hie_Lvl_Level_t Scope)
"deg_degrees,"
"crs_courses,"
"crs_usr,"
"agendas"
"agd_agendas"
" WHERE ctr_centers.InsCod=%ld"
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
" AND deg_degrees.DegCod=crs_courses.DegCod"
" AND crs_courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=agendas.UsrCod",
" AND crs_usr.UsrCod=agd_agendas.UsrCod",
Gbl.Hierarchy.Ins.InsCod);
break;
case Hie_Lvl_CTR:
@ -2004,11 +2033,11 @@ unsigned Agd_GetNumEvents (Hie_Lvl_Level_t Scope)
" FROM deg_degrees,"
"crs_courses,"
"crs_usr,"
"agendas"
"agd_agendas"
" WHERE deg_degrees.CtrCod=%ld"
" AND deg_degrees.DegCod=crs_courses.DegCod"
" AND crs_courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=agendas.UsrCod",
" AND crs_usr.UsrCod=agd_agendas.UsrCod",
Gbl.Hierarchy.Ctr.CtrCod);
break;
case Hie_Lvl_DEG:
@ -2016,18 +2045,19 @@ unsigned Agd_GetNumEvents (Hie_Lvl_Level_t Scope)
"SELECT COUNT(*)"
" FROM crs_courses,"
"crs_usr,"
"agendas"
"agd_agendas"
" WHERE crs_courses.DegCod=%ld"
" AND crs_courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=agendas.UsrCod",
" AND crs_usr.UsrCod=agd_agendas.UsrCod",
Gbl.Hierarchy.Deg.DegCod);
break;
case Hie_Lvl_CRS:
DB_QuerySELECT (&mysql_res,"can not get number of events",
"SELECT COUNT(*)"
" FROM crs_usr,agendas"
" FROM crs_usr,"
"agd_agendas"
" WHERE crs_usr.CrsCod=%ld"
" AND crs_usr.UsrCod=agendas.UsrCod",
" AND crs_usr.UsrCod=agd_agendas.UsrCod",
Gbl.Hierarchy.Crs.CrsCod);
break;
default:

View File

@ -600,12 +600,17 @@ 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.50 (2021-03-14)"
#define Log_PLATFORM_VERSION "SWAD 20.50.1 (2021-03-15)"
#define CSS_FILE "swad20.45.css"
#define JS_FILE "swad20.6.2.js"
/*
TODO: Rename CENTRE to CENTER in help wiki.
Version 20.50.1: Mar 15, 2021 Agendas database table renamed. (307166 lines)
1 change necessary in database:
RENAME TABLE agendas TO agd_agendas;
Version 20.50: Mar 14, 2021 Text of remaining actions copied from English to other languages. (307133 lines)
Version 20.49: Mar 13, 2021 Text of some actions copied from English to other languages. (307132 lines)
Version 20.48.3: Mar 13, 2021 Text of some actions copied from English to other languages. (307131 lines)

View File

@ -144,9 +144,9 @@ mysql> DESCRIBE act_MFU;
"LastClick DATETIME NOT NULL,"
"UNIQUE INDEX(UsrCod,ActCod))");
/***** Table agendas *****/
/***** Table agd_agendas *****/
/*
mysql> DESCRIBE agendas;
mysql> DESCRIBE agd_agendas;
+-----------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+---------------+------+-----+---------+----------------+
@ -162,7 +162,7 @@ mysql> DESCRIBE agendas;
+-----------+---------------+------+-----+---------+----------------+
9 rows in set (0,00 sec)
*/
DB_CreateTable ("CREATE TABLE IF NOT EXISTS agendas ("
DB_CreateTable ("CREATE TABLE IF NOT EXISTS agd_agendas ("
"AgdCod INT NOT NULL AUTO_INCREMENT,"
"UsrCod INT NOT NULL,"
"Public ENUM('N','Y') NOT NULL DEFAULT 'N',"