Version 20.51.15: Mar 19, 2021 Holidays database table renamed.

This commit is contained in:
acanas 2021-03-19 00:27:46 +01:00
parent 7dffcd95d6
commit 89dacb2549
6 changed files with 87 additions and 67 deletions

View File

@ -816,9 +816,9 @@ CREATE TABLE IF NOT EXISTS mch_times (
ElapsedTime TIME NOT NULL DEFAULT 0,
UNIQUE INDEX(MchCod,QstInd));
--
-- Table holidays: stores the holidays in each institution
-- Table hld_holidays: stores the holidays in each institution
--
CREATE TABLE IF NOT EXISTS holidays (
CREATE TABLE IF NOT EXISTS hld_holidays (
HldCod INT NOT NULL AUTO_INCREMENT,
InsCod INT NOT NULL,
PlcCod INT NOT NULL DEFAULT -1,

View File

@ -600,14 +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.14 (2021-03-18)"
#define Log_PLATFORM_VERSION "SWAD 20.51.15 (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.14: Mar 18, 2021 Session database table renamed. (307862 lines)
Version 20.51.15: Mar 19, 2021 Holidays database table renamed. (307911 lines)
1 change necessary in database:
RENAME TABLE holidays TO hld_holidays;
Version 20.51.14: Mar 18, 2021 Session database table renamed. (307892 lines)
1 change necessary in database:
RENAME TABLE sessions TO ses_sessions;

View File

@ -1772,9 +1772,9 @@ mysql> DESCRIBE mch_times;
"ElapsedTime TIME NOT NULL DEFAULT 0,"
"UNIQUE INDEX(MchCod,QstInd))");
/***** Table holidays *****/
/***** Table hld_holidays *****/
/*
mysql> DESCRIBE holidays;
mysql> DESCRIBE hld_holidays;
+-----------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+---------------+------+-----+---------+----------------+
@ -1788,7 +1788,7 @@ mysql> DESCRIBE holidays;
+-----------+---------------+------+-----+---------+----------------+
7 rows in set (0,00 sec)
*/
DB_CreateTable ("CREATE TABLE IF NOT EXISTS holidays ("
DB_CreateTable ("CREATE TABLE IF NOT EXISTS hld_holidays ("
"HldCod INT NOT NULL AUTO_INCREMENT,"
"InsCod INT NOT NULL,"
"PlcCod INT NOT NULL DEFAULT -1,"

View File

@ -1104,7 +1104,7 @@ static void Dpt_CreateDepartment (struct Dpt_Department *Dpt)
unsigned Dpt_GetTotalNumberOfDepartments (void)
{
/***** Get number of departments from database *****/
return (unsigned) DB_GetNumRowsTable ("departments");
return (unsigned) DB_GetNumRowsTable ("dpt_departments");
}
/*****************************************************************************/

View File

@ -331,38 +331,39 @@ void Hld_GetListHolidays (struct Hld_Holidays *Holidays)
Hld_FreeListHolidays (Holidays);
/***** Get holidays from database *****/
Holidays->Num =
(unsigned) DB_QuerySELECT (&mysql_res,"can not get holidays",
"(SELECT holidays.HldCod,"
"holidays.PlcCod,"
"places.FullName as Place,"
"holidays.HldTyp,"
"DATE_FORMAT(holidays.StartDate,'%%Y%%m%%d') AS StartDate,"
"DATE_FORMAT(holidays.EndDate,'%%Y%%m%%d') AS EndDate,"
"holidays.Name"
" FROM holidays,places"
" WHERE holidays.InsCod=%ld"
" AND holidays.PlcCod=places.PlcCod"
" AND places.InsCod=%ld)"
" UNION "
"(SELECT HldCod,"
"PlcCod,"
"'' as Place,"
"HldTyp,"
"DATE_FORMAT(StartDate,'%%Y%%m%%d') AS StartDate,"
"DATE_FORMAT(EndDate,'%%Y%%m%%d') AS EndDate,"
"Name"
" FROM holidays"
" WHERE InsCod=%ld"
" AND PlcCod NOT IN"
"(SELECT DISTINCT PlcCod FROM places"
" WHERE InsCod=%ld))"
" ORDER BY %s",
Gbl.Hierarchy.Ins.InsCod,
Gbl.Hierarchy.Ins.InsCod,
Gbl.Hierarchy.Ins.InsCod,
Gbl.Hierarchy.Ins.InsCod,
OrderBySubQuery[Holidays->SelectedOrder]);
Holidays->Num = (unsigned)
DB_QuerySELECT (&mysql_res,"can not get holidays",
"(SELECT hld_holidays.HldCod," // row[0]
"hld_holidays.PlcCod," // row[1]
"places.FullName as Place," // row[2]
"hld_holidays.HldTyp," // row[3]
"DATE_FORMAT(hld_holidays.StartDate,'%%Y%%m%%d') AS StartDate," // row[4]
"DATE_FORMAT(hld_holidays.EndDate,'%%Y%%m%%d') AS EndDate," // row[5]
"hld_holidays.Name" // row[6]
" FROM hld_holidays,places"
" WHERE hld_holidays.InsCod=%ld"
" AND hld_holidays.PlcCod=places.PlcCod"
" AND places.InsCod=%ld)"
" UNION "
"(SELECT HldCod," // row[0]
"PlcCod," // row[1]
"'' as Place," // row[2]
"HldTyp," // row[3]
"DATE_FORMAT(StartDate,'%%Y%%m%%d') AS StartDate," // row[4]
"DATE_FORMAT(EndDate,'%%Y%%m%%d') AS EndDate," // row[5]
"Name" // row[6]
" FROM hld_holidays"
" WHERE InsCod=%ld"
" AND PlcCod NOT IN"
"(SELECT DISTINCT PlcCod"
" FROM places"
" WHERE InsCod=%ld))"
" ORDER BY %s",
Gbl.Hierarchy.Ins.InsCod,
Gbl.Hierarchy.Ins.InsCod,
Gbl.Hierarchy.Ins.InsCod,
Gbl.Hierarchy.Ins.InsCod,
OrderBySubQuery[Holidays->SelectedOrder]);
if (Holidays->Num) // Holidays found...
{
/***** Create list of holidays *****/
@ -447,17 +448,17 @@ static void Hld_GetDataOfHolidayByCod (struct Hld_Holiday *Hld)
/***** Get data of holiday from database *****/
if (DB_QuerySELECT (&mysql_res,"can not get data of a holiday",
"(SELECT holidays.PlcCod,"
"places.FullName as Place,"
"holidays.HldTyp,"
"DATE_FORMAT(holidays.StartDate,'%%Y%%m%%d'),"
"DATE_FORMAT(holidays.EndDate,'%%Y%%m%%d'),"
"holidays.Name"
" FROM holidays,places"
" WHERE holidays.HldCod=%ld"
" AND holidays.InsCod=%ld"
" AND holidays.PlcCod=places.PlcCod"
" AND places.InsCod=%ld)"
"(SELECT hld_holidays.PlcCod," // row[0]
"places.FullName as Place," // row[1]
"hld_holidays.HldTyp," // row[2]
"DATE_FORMAT(hld_holidays.StartDate,'%%Y%%m%%d')," // row[3]
"DATE_FORMAT(hld_holidays.EndDate,'%%Y%%m%%d')," // row[4]
"hld_holidays.Name" // row[5]
" FROM hld_holidays,places"
" WHERE hld_holidays.HldCod=%ld"
" AND hld_holidays.InsCod=%ld"
" AND hld_holidays.PlcCod=places.PlcCod"
" AND places.InsCod=%ld)"
" UNION "
"(SELECT PlcCod,"
"'' as Place,"
@ -465,12 +466,13 @@ static void Hld_GetDataOfHolidayByCod (struct Hld_Holiday *Hld)
"DATE_FORMAT(StartDate,'%%Y%%m%%d'),"
"DATE_FORMAT(EndDate,'%%Y%%m%%d'),"
"Name"
" FROM holidays"
" FROM hld_holidays"
" WHERE HldCod=%ld"
" AND InsCod=%ld"
" AND PlcCod NOT IN"
"(SELECT DISTINCT PlcCod FROM places"
" WHERE InsCod=%ld))",
" AND InsCod=%ld"
" AND PlcCod NOT IN"
"(SELECT DISTINCT PlcCod"
" FROM places"
" WHERE InsCod=%ld))",
Hld->HldCod,
Gbl.Hierarchy.Ins.InsCod,
Gbl.Hierarchy.Ins.InsCod,
@ -724,7 +726,8 @@ void Hld_RemoveHoliday (void)
/***** Remove holiday *****/
DB_QueryDELETE ("can not remove a holiday",
"DELETE FROM holidays WHERE HldCod=%ld",
"DELETE FROM hld_holidays"
" WHERE HldCod=%ld",
Hld_EditingHld->HldCod);
/***** Write message to show the change made *****/
@ -761,7 +764,9 @@ void Hld_ChangeHolidayPlace (void)
/***** Update the place in database *****/
DB_QueryUPDATE ("can not update the place of a holiday",
"UPDATE holidays SET PlcCod=%ld WHERE HldCod=%ld",
"UPDATE hld_holidays"
" SET PlcCod=%ld"
" WHERE HldCod=%ld",
NewPlace.PlcCod,Hld_EditingHld->HldCod);
Hld_EditingHld->PlcCod = NewPlace.PlcCod;
Str_Copy (Hld_EditingHld->PlaceFullName,NewPlace.FullName,
@ -797,9 +802,12 @@ void Hld_ChangeHolidayType (void)
/***** Update holiday/no school period in database *****/
Dat_AssignDate (&Hld_EditingHld->EndDate,&Hld_EditingHld->StartDate);
DB_QueryUPDATE ("can not update the type of a holiday",
"UPDATE holidays SET HldTyp=%u,EndDate=StartDate"
"UPDATE hld_holidays"
" SET HldTyp=%u,"
"EndDate=StartDate"
" WHERE HldCod=%ld",
(unsigned) Hld_EditingHld->HldTyp,Hld_EditingHld->HldCod);
(unsigned) Hld_EditingHld->HldTyp,
Hld_EditingHld->HldCod);
/***** Write message to show the change made *****/
Ale_CreateAlert (Ale_SUCCESS,NULL,
@ -882,7 +890,9 @@ static void Hld_ChangeDate (Hld_StartOrEndDate_t StartOrEndDate)
/***** Update the date in database *****/
DB_QueryUPDATE ("can not update the date of a holiday",
"UPDATE holidays SET %s='%04u%02u%02u' WHERE HldCod=%ld",
"UPDATE hld_holidays"
" SET %s='%04u%02u%02u'"
" WHERE HldCod=%ld",
StrStartOrEndDate,
NewDate.Year,
NewDate.Month,
@ -931,8 +941,11 @@ void Hld_RenameHoliday (void)
/***** If degree was in database... *****/
/* Update the table changing old name by new name */
DB_QueryUPDATE ("can not update the text of a holiday",
"UPDATE holidays SET Name='%s' WHERE HldCod=%ld",
NewHldName,Hld_EditingHld->HldCod);
"UPDATE hld_holidays"
" SET Name='%s'"
" WHERE HldCod=%ld",
NewHldName,
Hld_EditingHld->HldCod);
Str_Copy (Hld_EditingHld->Name,NewHldName,
sizeof (Hld_EditingHld->Name) - 1);
@ -1174,11 +1187,13 @@ static void Hld_CreateHoliday (struct Hld_Holiday *Hld)
{
/***** Create a new holiday or no school period *****/
DB_QueryINSERT ("can not create holiday",
"INSERT INTO holidays"
"INSERT INTO hld_holidays"
" (InsCod,PlcCod,HldTyp,StartDate,EndDate,Name)"
" VALUES"
" (%ld,%ld,%u,'%04u%02u%02u','%04u%02u%02u','%s')",
Gbl.Hierarchy.Ins.InsCod,Hld->PlcCod,(unsigned) Hld->HldTyp,
Gbl.Hierarchy.Ins.InsCod,
Hld->PlcCod,
(unsigned) Hld->HldTyp,
Hld->StartDate.Year,
Hld->StartDate.Month,
Hld->StartDate.Day,

View File

@ -63,9 +63,10 @@ static void Ses_DeletePublicDirFromCache (const char *FullPathMediaPriv);
void Ses_GetNumSessions (void)
{
/***** Get the number of open sessions from database *****/
Gbl.Session.NumSessions = (unsigned) DB_GetNumRowsTable ("sessions");
Gbl.Session.NumSessions = (unsigned) DB_GetNumRowsTable ("ses_sessions");
Gbl.Usrs.Connected.TimeToRefreshInMs = (unsigned long) (Gbl.Session.NumSessions/Cfg_TIMES_PER_SECOND_REFRESH_CONNECTED) * 1000UL;
Gbl.Usrs.Connected.TimeToRefreshInMs = (unsigned long) (Gbl.Session.NumSessions/
Cfg_TIMES_PER_SECOND_REFRESH_CONNECTED) * 1000UL;
if (Gbl.Usrs.Connected.TimeToRefreshInMs < Con_MIN_TIME_TO_REFRESH_CONNECTED_IN_MS)
Gbl.Usrs.Connected.TimeToRefreshInMs = Con_MIN_TIME_TO_REFRESH_CONNECTED_IN_MS;
else if (Gbl.Usrs.Connected.TimeToRefreshInMs > Con_MAX_TIME_TO_REFRESH_CONNECTED_IN_MS)