mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-10 10:45:23 +02:00
Version 20.51.18: Mar 19, 2021 Projects database table renamed.
This commit is contained in:
parent
5d03ffc421
commit
d67a3c1e06
20
sql/swad.sql
20
sql/swad.sql
|
@ -1211,17 +1211,9 @@ CREATE TABLE IF NOT EXISTS prj_config (
|
||||||
Editable ENUM('N','Y') NOT NULL DEFAULT 'Y',
|
Editable ENUM('N','Y') NOT NULL DEFAULT 'Y',
|
||||||
UNIQUE INDEX(CrsCod));
|
UNIQUE INDEX(CrsCod));
|
||||||
--
|
--
|
||||||
-- Table prj_usr: stores the users inside projects
|
-- Table prj_projects: stores the projects proposed by the teachers to their students
|
||||||
--
|
--
|
||||||
CREATE TABLE IF NOT EXISTS prj_usr (
|
CREATE TABLE IF NOT EXISTS prj_projects (
|
||||||
PrjCod INT NOT NULL,
|
|
||||||
RoleInProject TINYINT NOT NULL DEFAULT 0,
|
|
||||||
UsrCod INT NOT NULL,
|
|
||||||
UNIQUE INDEX(PrjCod,RoleInProject,UsrCod));
|
|
||||||
--
|
|
||||||
-- Table projects: stores the projects proposed by the teachers to their students
|
|
||||||
--
|
|
||||||
CREATE TABLE IF NOT EXISTS projects (
|
|
||||||
PrjCod INT NOT NULL AUTO_INCREMENT,
|
PrjCod INT NOT NULL AUTO_INCREMENT,
|
||||||
CrsCod INT NOT NULL DEFAULT -1,
|
CrsCod INT NOT NULL DEFAULT -1,
|
||||||
DptCod INT NOT NULL DEFAULT -1,
|
DptCod INT NOT NULL DEFAULT -1,
|
||||||
|
@ -1243,6 +1235,14 @@ CREATE TABLE IF NOT EXISTS projects (
|
||||||
INDEX(CrsCod,ModifTime),
|
INDEX(CrsCod,ModifTime),
|
||||||
INDEX(CrsCod,DptCod));
|
INDEX(CrsCod,DptCod));
|
||||||
--
|
--
|
||||||
|
-- Table prj_usr: stores the users inside projects
|
||||||
|
--
|
||||||
|
CREATE TABLE IF NOT EXISTS prj_usr (
|
||||||
|
PrjCod INT NOT NULL,
|
||||||
|
RoleInProject TINYINT NOT NULL DEFAULT 0,
|
||||||
|
UsrCod INT NOT NULL,
|
||||||
|
UNIQUE INDEX(PrjCod,RoleInProject,UsrCod));
|
||||||
|
--
|
||||||
-- Table rooms: stores the rooms associated to each center
|
-- Table rooms: stores the rooms associated to each center
|
||||||
--
|
--
|
||||||
CREATE TABLE IF NOT EXISTS rooms (
|
CREATE TABLE IF NOT EXISTS rooms (
|
||||||
|
|
|
@ -600,13 +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.
|
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.17 (2021-03-19)"
|
#define Log_PLATFORM_VERSION "SWAD 20.51.18 (2021-03-19)"
|
||||||
#define CSS_FILE "swad20.45.css"
|
#define CSS_FILE "swad20.45.css"
|
||||||
#define JS_FILE "swad20.6.2.js"
|
#define JS_FILE "swad20.6.2.js"
|
||||||
/*
|
/*
|
||||||
TODO: Rename CENTRE to CENTER in help wiki.
|
TODO: Rename CENTRE to CENTER in help wiki.
|
||||||
TODO: Rename ASSESSMENT.Announcements to ASSESSMENT.Calls_for_exams
|
TODO: Rename ASSESSMENT.Announcements to ASSESSMENT.Calls_for_exams
|
||||||
|
|
||||||
|
Version 20.51.18: Mar 19, 2021 Projects database table renamed. (307992 lines)
|
||||||
|
1 change necessary in database:
|
||||||
|
RENAME TABLE projects TO prj_projects;
|
||||||
|
|
||||||
Version 20.51.17: Mar 19, 2021 Mail domains database table renamed. (307992 lines)
|
Version 20.51.17: Mar 19, 2021 Mail domains database table renamed. (307992 lines)
|
||||||
1 change necessary in database:
|
1 change necessary in database:
|
||||||
RENAME TABLE mail_domains TO ntf_mail_domains;
|
RENAME TABLE mail_domains TO ntf_mail_domains;
|
||||||
|
|
|
@ -2528,27 +2528,9 @@ mysql> DESCRIBE prj_config;
|
||||||
"Editable ENUM('N','Y') NOT NULL DEFAULT 'Y',"
|
"Editable ENUM('N','Y') NOT NULL DEFAULT 'Y',"
|
||||||
"UNIQUE INDEX(CrsCod))");
|
"UNIQUE INDEX(CrsCod))");
|
||||||
|
|
||||||
/***** Table prj_usr *****/
|
/***** Table prj_projects *****/
|
||||||
/*
|
/*
|
||||||
mysql> DESCRIBE prj_usr;
|
mysql> DESCRIBE prj_projects;
|
||||||
+---------------+------------+------+-----+---------+-------+
|
|
||||||
| Field | Type | Null | Key | Default | Extra |
|
|
||||||
+---------------+------------+------+-----+---------+-------+
|
|
||||||
| PrjCod | int(11) | NO | PRI | NULL | |
|
|
||||||
| RoleInProject | tinyint(4) | NO | PRI | 0 | |
|
|
||||||
| UsrCod | int(11) | NO | PRI | NULL | |
|
|
||||||
+---------------+------------+------+-----+---------+-------+
|
|
||||||
3 rows in set (0,00 sec)
|
|
||||||
*/
|
|
||||||
DB_CreateTable ("CREATE TABLE IF NOT EXISTS prj_usr ("
|
|
||||||
"PrjCod INT NOT NULL,"
|
|
||||||
"RoleInProject TINYINT NOT NULL DEFAULT 0,"
|
|
||||||
"UsrCod INT NOT NULL,"
|
|
||||||
"UNIQUE INDEX(PrjCod,RoleInProject,UsrCod))");
|
|
||||||
|
|
||||||
/***** Table projects *****/
|
|
||||||
/*
|
|
||||||
mysql> DESCRIBE projects;
|
|
||||||
+-------------+-------------------------------------+------+-----+---------+----------------+
|
+-------------+-------------------------------------+------+-----+---------+----------------+
|
||||||
| Field | Type | Null | Key | Default | Extra |
|
| Field | Type | Null | Key | Default | Extra |
|
||||||
+-------------+-------------------------------------+------+-----+---------+----------------+
|
+-------------+-------------------------------------+------+-----+---------+----------------+
|
||||||
|
@ -2570,7 +2552,7 @@ mysql> DESCRIBE projects;
|
||||||
+-------------+-------------------------------------+------+-----+---------+----------------+
|
+-------------+-------------------------------------+------+-----+---------+----------------+
|
||||||
15 rows in set (0.00 sec)
|
15 rows in set (0.00 sec)
|
||||||
*/
|
*/
|
||||||
DB_CreateTable ("CREATE TABLE IF NOT EXISTS projects ("
|
DB_CreateTable ("CREATE TABLE IF NOT EXISTS prj_projects ("
|
||||||
"PrjCod INT NOT NULL AUTO_INCREMENT,"
|
"PrjCod INT NOT NULL AUTO_INCREMENT,"
|
||||||
"CrsCod INT NOT NULL DEFAULT -1,"
|
"CrsCod INT NOT NULL DEFAULT -1,"
|
||||||
"DptCod INT NOT NULL DEFAULT -1,"
|
"DptCod INT NOT NULL DEFAULT -1,"
|
||||||
|
@ -2592,6 +2574,24 @@ mysql> DESCRIBE projects;
|
||||||
"INDEX(CrsCod,ModifTime),"
|
"INDEX(CrsCod,ModifTime),"
|
||||||
"INDEX(CrsCod,DptCod))");
|
"INDEX(CrsCod,DptCod))");
|
||||||
|
|
||||||
|
/***** Table prj_usr *****/
|
||||||
|
/*
|
||||||
|
mysql> DESCRIBE prj_usr;
|
||||||
|
+---------------+------------+------+-----+---------+-------+
|
||||||
|
| Field | Type | Null | Key | Default | Extra |
|
||||||
|
+---------------+------------+------+-----+---------+-------+
|
||||||
|
| PrjCod | int(11) | NO | PRI | NULL | |
|
||||||
|
| RoleInProject | tinyint(4) | NO | PRI | 0 | |
|
||||||
|
| UsrCod | int(11) | NO | PRI | NULL | |
|
||||||
|
+---------------+------------+------+-----+---------+-------+
|
||||||
|
3 rows in set (0,00 sec)
|
||||||
|
*/
|
||||||
|
DB_CreateTable ("CREATE TABLE IF NOT EXISTS prj_usr ("
|
||||||
|
"PrjCod INT NOT NULL,"
|
||||||
|
"RoleInProject TINYINT NOT NULL DEFAULT 0,"
|
||||||
|
"UsrCod INT NOT NULL,"
|
||||||
|
"UNIQUE INDEX(PrjCod,RoleInProject,UsrCod))");
|
||||||
|
|
||||||
/***** Table rooms *****/
|
/***** Table rooms *****/
|
||||||
/*
|
/*
|
||||||
mysql> DESCRIBE rooms;
|
mysql> DESCRIBE rooms;
|
||||||
|
|
|
@ -4382,7 +4382,9 @@ void Brw_RemoveCrsFilesFromDB (long CrsCod)
|
||||||
CrsCod);
|
CrsCod);
|
||||||
|
|
||||||
/***** Build subquery for projects *****/
|
/***** Build subquery for projects *****/
|
||||||
sprintf (SubqueryPrj,"(SELECT PrjCod FROM projects WHERE CrsCod=%ld)",
|
sprintf (SubqueryPrj,"(SELECT PrjCod"
|
||||||
|
" FROM prj_projects"
|
||||||
|
" WHERE CrsCod=%ld)",
|
||||||
CrsCod);
|
CrsCod);
|
||||||
|
|
||||||
/***** Remove format of files of marks *****/
|
/***** Remove format of files of marks *****/
|
||||||
|
|
227
swad_project.c
227
swad_project.c
|
@ -1578,7 +1578,7 @@ static bool Prj_CheckIfPrjIsFaulty (long PrjCod,struct Prj_Faults *Faults)
|
||||||
"NumStds," // row[1] =
|
"NumStds," // row[1] =
|
||||||
"Title<>''," // row[2] = 0 / 1
|
"Title<>''," // row[2] = 0 / 1
|
||||||
"Description<>''" // row[3] = 0 / 1
|
"Description<>''" // row[3] = 0 / 1
|
||||||
" FROM projects"
|
" FROM prj_projects"
|
||||||
" WHERE PrjCod=%ld",
|
" WHERE PrjCod=%ld",
|
||||||
PrjCod)) // Project found...
|
PrjCod)) // Project found...
|
||||||
{
|
{
|
||||||
|
@ -2823,19 +2823,19 @@ static void Prj_GetListProjects (struct Prj_Projects *Projects)
|
||||||
char *DptCodSubQuery;
|
char *DptCodSubQuery;
|
||||||
static const char *OrderBySubQuery[Prj_NUM_ORDERS] =
|
static const char *OrderBySubQuery[Prj_NUM_ORDERS] =
|
||||||
{
|
{
|
||||||
[Prj_ORDER_START_TIME] = "projects.CreatTime DESC,"
|
[Prj_ORDER_START_TIME] = "prj_projects.CreatTime DESC,"
|
||||||
"projects.ModifTime DESC,"
|
"prj_projects.ModifTime DESC,"
|
||||||
"projects.Title",
|
"prj_projects.Title",
|
||||||
[Prj_ORDER_END_TIME ] = "projects.ModifTime DESC,"
|
[Prj_ORDER_END_TIME ] = "prj_projects.ModifTime DESC,"
|
||||||
"projects.CreatTime DESC,"
|
"prj_projects.CreatTime DESC,"
|
||||||
"projects.Title",
|
"prj_projects.Title",
|
||||||
[Prj_ORDER_TITLE ] = "projects.Title,"
|
[Prj_ORDER_TITLE ] = "prj_projects.Title,"
|
||||||
"projects.CreatTime DESC,"
|
"prj_projects.CreatTime DESC,"
|
||||||
"projects.ModifTime DESC",
|
"prj_projects.ModifTime DESC",
|
||||||
[Prj_ORDER_DEPARTMENT] = "dpt_departments.FullName,"
|
[Prj_ORDER_DEPARTMENT] = "dpt_departments.FullName,"
|
||||||
"projects.CreatTime DESC,"
|
"prj_projects.CreatTime DESC,"
|
||||||
"projects.ModifTime DESC,"
|
"prj_projects.ModifTime DESC,"
|
||||||
"projects.Title",
|
"prj_projects.Title",
|
||||||
};
|
};
|
||||||
MYSQL_RES *mysql_res = NULL; // Initialized to avoid freeing when not assigned
|
MYSQL_RES *mysql_res = NULL; // Initialized to avoid freeing when not assigned
|
||||||
MYSQL_ROW row;
|
MYSQL_ROW row;
|
||||||
|
@ -2861,11 +2861,11 @@ static void Prj_GetListProjects (struct Prj_Projects *Projects)
|
||||||
switch (Projects->Filter.Assign)
|
switch (Projects->Filter.Assign)
|
||||||
{
|
{
|
||||||
case (1 << Prj_ASSIGNED): // Assigned projects
|
case (1 << Prj_ASSIGNED): // Assigned projects
|
||||||
if (asprintf (&PreNonSubQuery," AND projects.Assigned='Y'") < 0)
|
if (asprintf (&PreNonSubQuery," AND prj_projects.Assigned='Y'") < 0)
|
||||||
Lay_NotEnoughMemoryExit ();
|
Lay_NotEnoughMemoryExit ();
|
||||||
break;
|
break;
|
||||||
case (1 << Prj_NONASSIG): // Non-assigned projects
|
case (1 << Prj_NONASSIG): // Non-assigned projects
|
||||||
if (asprintf (&PreNonSubQuery," AND projects.Assigned='N'") < 0)
|
if (asprintf (&PreNonSubQuery," AND prj_projects.Assigned='N'") < 0)
|
||||||
Lay_NotEnoughMemoryExit ();
|
Lay_NotEnoughMemoryExit ();
|
||||||
break;
|
break;
|
||||||
default: // All projects
|
default: // All projects
|
||||||
|
@ -2878,7 +2878,7 @@ static void Prj_GetListProjects (struct Prj_Projects *Projects)
|
||||||
switch (Gbl.Usrs.Me.Role.Logged)
|
switch (Gbl.Usrs.Me.Role.Logged)
|
||||||
{
|
{
|
||||||
case Rol_STD: // Students can view only visible projects
|
case Rol_STD: // Students can view only visible projects
|
||||||
if (asprintf (&HidVisSubQuery," AND projects.Hidden='N'") < 0)
|
if (asprintf (&HidVisSubQuery," AND prj_projects.Hidden='N'") < 0)
|
||||||
Lay_NotEnoughMemoryExit ();
|
Lay_NotEnoughMemoryExit ();
|
||||||
break;
|
break;
|
||||||
case Rol_NET:
|
case Rol_NET:
|
||||||
|
@ -2887,11 +2887,11 @@ static void Prj_GetListProjects (struct Prj_Projects *Projects)
|
||||||
switch (Projects->Filter.Hidden)
|
switch (Projects->Filter.Hidden)
|
||||||
{
|
{
|
||||||
case (1 << Prj_HIDDEN): // Hidden projects
|
case (1 << Prj_HIDDEN): // Hidden projects
|
||||||
if (asprintf (&HidVisSubQuery," AND projects.Hidden='Y'") < 0)
|
if (asprintf (&HidVisSubQuery," AND prj_projects.Hidden='Y'") < 0)
|
||||||
Lay_NotEnoughMemoryExit ();
|
Lay_NotEnoughMemoryExit ();
|
||||||
break;
|
break;
|
||||||
case (1 << Prj_VISIBL): // Visible projects
|
case (1 << Prj_VISIBL): // Visible projects
|
||||||
if (asprintf (&HidVisSubQuery," AND projects.Hidden='N'") < 0)
|
if (asprintf (&HidVisSubQuery," AND prj_projects.Hidden='N'") < 0)
|
||||||
Lay_NotEnoughMemoryExit ();
|
Lay_NotEnoughMemoryExit ();
|
||||||
break;
|
break;
|
||||||
default: // All projects
|
default: // All projects
|
||||||
|
@ -2908,7 +2908,7 @@ static void Prj_GetListProjects (struct Prj_Projects *Projects)
|
||||||
/* Department subquery */
|
/* Department subquery */
|
||||||
if (Projects->Filter.DptCod >= 0)
|
if (Projects->Filter.DptCod >= 0)
|
||||||
{
|
{
|
||||||
if (asprintf (&DptCodSubQuery," AND projects.DptCod=%ld",
|
if (asprintf (&DptCodSubQuery," AND prj_projects.DptCod=%ld",
|
||||||
Projects->Filter.DptCod) < 0)
|
Projects->Filter.DptCod) < 0)
|
||||||
Lay_NotEnoughMemoryExit ();
|
Lay_NotEnoughMemoryExit ();
|
||||||
}
|
}
|
||||||
|
@ -2929,14 +2929,14 @@ static void Prj_GetListProjects (struct Prj_Projects *Projects)
|
||||||
case Prj_ORDER_END_TIME:
|
case Prj_ORDER_END_TIME:
|
||||||
case Prj_ORDER_TITLE:
|
case Prj_ORDER_TITLE:
|
||||||
NumRows = DB_QuerySELECT (&mysql_res,"can not get projects",
|
NumRows = DB_QuerySELECT (&mysql_res,"can not get projects",
|
||||||
"SELECT projects.PrjCod"
|
"SELECT prj_projects.PrjCod"
|
||||||
" FROM projects,"
|
" FROM prj_projects,"
|
||||||
"prj_usr"
|
"prj_usr"
|
||||||
" WHERE projects.CrsCod=%ld"
|
" WHERE prj_projects.CrsCod=%ld"
|
||||||
"%s%s%s"
|
"%s%s%s"
|
||||||
" AND projects.PrjCod=prj_usr.PrjCod"
|
" AND prj_projects.PrjCod=prj_usr.PrjCod"
|
||||||
" AND prj_usr.UsrCod=%ld"
|
" AND prj_usr.UsrCod=%ld"
|
||||||
" GROUP BY projects.PrjCod" // To not repeat projects (DISTINCT can not be used)
|
" GROUP BY prj_projects.PrjCod" // To not repeat projects (DISTINCT can not be used)
|
||||||
" ORDER BY %s",
|
" ORDER BY %s",
|
||||||
Gbl.Hierarchy.Crs.CrsCod,
|
Gbl.Hierarchy.Crs.CrsCod,
|
||||||
PreNonSubQuery,HidVisSubQuery,DptCodSubQuery,
|
PreNonSubQuery,HidVisSubQuery,DptCodSubQuery,
|
||||||
|
@ -2945,15 +2945,15 @@ static void Prj_GetListProjects (struct Prj_Projects *Projects)
|
||||||
break;
|
break;
|
||||||
case Prj_ORDER_DEPARTMENT:
|
case Prj_ORDER_DEPARTMENT:
|
||||||
NumRows = DB_QuerySELECT (&mysql_res,"can not get projects",
|
NumRows = DB_QuerySELECT (&mysql_res,"can not get projects",
|
||||||
"SELECT projects.PrjCod"
|
"SELECT prj_projects.PrjCod"
|
||||||
" FROM prj_usr,"
|
" FROM prj_projects LEFT JOIN dpt_departments,"
|
||||||
"projects LEFT JOIN dpt_departments"
|
"prj_usr"
|
||||||
" ON projects.DptCod=dpt_departments.DptCod"
|
" ON prj_projects.DptCod=dpt_departments.DptCod"
|
||||||
" WHERE projects.CrsCod=%ld"
|
" WHERE prj_projects.CrsCod=%ld"
|
||||||
"%s%s%s"
|
"%s%s%s"
|
||||||
" AND projects.PrjCod=prj_usr.PrjCod"
|
" AND prj_projects.PrjCod=prj_usr.PrjCod"
|
||||||
" AND prj_usr.UsrCod=%ld"
|
" AND prj_usr.UsrCod=%ld"
|
||||||
" GROUP BY projects.PrjCod" // To not repeat projects (DISTINCT can not be used)
|
" GROUP BY prj_projects.PrjCod" // To not repeat projects (DISTINCT can not be used)
|
||||||
" ORDER BY %s",
|
" ORDER BY %s",
|
||||||
Gbl.Hierarchy.Crs.CrsCod,
|
Gbl.Hierarchy.Crs.CrsCod,
|
||||||
PreNonSubQuery,HidVisSubQuery,DptCodSubQuery,
|
PreNonSubQuery,HidVisSubQuery,DptCodSubQuery,
|
||||||
|
@ -2982,13 +2982,14 @@ static void Prj_GetListProjects (struct Prj_Projects *Projects)
|
||||||
case Prj_ORDER_END_TIME:
|
case Prj_ORDER_END_TIME:
|
||||||
case Prj_ORDER_TITLE:
|
case Prj_ORDER_TITLE:
|
||||||
NumRows = DB_QuerySELECT (&mysql_res,"can not get projects",
|
NumRows = DB_QuerySELECT (&mysql_res,"can not get projects",
|
||||||
"SELECT projects.PrjCod"
|
"SELECT prj_projects.PrjCod"
|
||||||
" FROM projects,prj_usr"
|
" FROM prj_projects,"
|
||||||
" WHERE projects.CrsCod=%ld"
|
"prj_usr"
|
||||||
|
" WHERE prj_projects.CrsCod=%ld"
|
||||||
"%s%s%s"
|
"%s%s%s"
|
||||||
" AND projects.PrjCod=prj_usr.PrjCod"
|
" AND prj_projects.PrjCod=prj_usr.PrjCod"
|
||||||
" AND prj_usr.UsrCod IN (%s)"
|
" AND prj_usr.UsrCod IN (%s)"
|
||||||
" GROUP BY projects.PrjCod" // To not repeat projects (DISTINCT can not be used)
|
" GROUP BY prj_projects.PrjCod" // To not repeat projects (DISTINCT can not be used)
|
||||||
" ORDER BY %s",
|
" ORDER BY %s",
|
||||||
Gbl.Hierarchy.Crs.CrsCod,
|
Gbl.Hierarchy.Crs.CrsCod,
|
||||||
PreNonSubQuery,HidVisSubQuery,DptCodSubQuery,
|
PreNonSubQuery,HidVisSubQuery,DptCodSubQuery,
|
||||||
|
@ -2997,15 +2998,15 @@ static void Prj_GetListProjects (struct Prj_Projects *Projects)
|
||||||
break;
|
break;
|
||||||
case Prj_ORDER_DEPARTMENT:
|
case Prj_ORDER_DEPARTMENT:
|
||||||
NumRows = DB_QuerySELECT (&mysql_res,"can not get projects",
|
NumRows = DB_QuerySELECT (&mysql_res,"can not get projects",
|
||||||
"SELECT projects.PrjCod"
|
"SELECT prj_projects.PrjCod"
|
||||||
" FROM prj_usr,"
|
" FROM prj_projects LEFT JOIN dpt_departments,"
|
||||||
"projects LEFT JOIN dpt_departments"
|
"prj_usr"
|
||||||
" ON projects.DptCod=dpt_departments.DptCod"
|
" ON prj_projects.DptCod=dpt_departments.DptCod"
|
||||||
" WHERE projects.CrsCod=%ld"
|
" WHERE prj_projects.CrsCod=%ld"
|
||||||
"%s%s%s"
|
"%s%s%s"
|
||||||
" AND projects.PrjCod=prj_usr.PrjCod"
|
" AND prj_projects.PrjCod=prj_usr.PrjCod"
|
||||||
" AND prj_usr.UsrCod IN (%s)"
|
" AND prj_usr.UsrCod IN (%s)"
|
||||||
" GROUP BY projects.PrjCod" // To not repeat projects (DISTINCT can not be used)
|
" GROUP BY prj_projects.PrjCod" // To not repeat projects (DISTINCT can not be used)
|
||||||
" ORDER BY %s",
|
" ORDER BY %s",
|
||||||
Gbl.Hierarchy.Crs.CrsCod,
|
Gbl.Hierarchy.Crs.CrsCod,
|
||||||
PreNonSubQuery,HidVisSubQuery,DptCodSubQuery,
|
PreNonSubQuery,HidVisSubQuery,DptCodSubQuery,
|
||||||
|
@ -3031,9 +3032,9 @@ static void Prj_GetListProjects (struct Prj_Projects *Projects)
|
||||||
case Prj_ORDER_END_TIME:
|
case Prj_ORDER_END_TIME:
|
||||||
case Prj_ORDER_TITLE:
|
case Prj_ORDER_TITLE:
|
||||||
NumRows = DB_QuerySELECT (&mysql_res,"can not get projects",
|
NumRows = DB_QuerySELECT (&mysql_res,"can not get projects",
|
||||||
"SELECT projects.PrjCod"
|
"SELECT prj_projects.PrjCod"
|
||||||
" FROM projects"
|
" FROM prj_projects"
|
||||||
" WHERE projects.CrsCod=%ld"
|
" WHERE prj_projects.CrsCod=%ld"
|
||||||
"%s%s%s"
|
"%s%s%s"
|
||||||
" ORDER BY %s",
|
" ORDER BY %s",
|
||||||
Gbl.Hierarchy.Crs.CrsCod,
|
Gbl.Hierarchy.Crs.CrsCod,
|
||||||
|
@ -3042,10 +3043,10 @@ static void Prj_GetListProjects (struct Prj_Projects *Projects)
|
||||||
break;
|
break;
|
||||||
case Prj_ORDER_DEPARTMENT:
|
case Prj_ORDER_DEPARTMENT:
|
||||||
NumRows = DB_QuerySELECT (&mysql_res,"can not get projects",
|
NumRows = DB_QuerySELECT (&mysql_res,"can not get projects",
|
||||||
"SELECT projects.PrjCod"
|
"SELECT prj_projects.PrjCod"
|
||||||
" FROM projects LEFT JOIN dpt_departments"
|
" FROM prj_projects LEFT JOIN dpt_departments"
|
||||||
" ON projects.DptCod=dpt_departments.DptCod"
|
" ON prj_projects.DptCod=dpt_departments.DptCod"
|
||||||
" WHERE projects.CrsCod=%ld"
|
" WHERE prj_projects.CrsCod=%ld"
|
||||||
"%s%s%s"
|
"%s%s%s"
|
||||||
" ORDER BY %s",
|
" ORDER BY %s",
|
||||||
Gbl.Hierarchy.Crs.CrsCod,
|
Gbl.Hierarchy.Crs.CrsCod,
|
||||||
|
@ -3124,7 +3125,9 @@ long Prj_GetCourseOfProject (long PrjCod)
|
||||||
{
|
{
|
||||||
/***** Get course code from database *****/
|
/***** Get course code from database *****/
|
||||||
if (DB_QuerySELECT (&mysql_res,"can not get project course",
|
if (DB_QuerySELECT (&mysql_res,"can not get project course",
|
||||||
"SELECT CrsCod FROM projects WHERE PrjCod=%ld",
|
"SELECT CrsCod" // row[0]
|
||||||
|
" FROM prj_projects"
|
||||||
|
" WHERE PrjCod=%ld",
|
||||||
PrjCod)) // Project found...
|
PrjCod)) // Project found...
|
||||||
{
|
{
|
||||||
/* Get row */
|
/* Get row */
|
||||||
|
@ -3174,8 +3177,9 @@ void Prj_GetDataOfProjectByCod (struct Prj_Project *Prj)
|
||||||
"Knowledge," // row[12]
|
"Knowledge," // row[12]
|
||||||
"Materials," // row[13]
|
"Materials," // row[13]
|
||||||
"URL" // row[14]
|
"URL" // row[14]
|
||||||
" FROM projects"
|
" FROM prj_projects"
|
||||||
" WHERE PrjCod=%ld AND CrsCod=%ld",
|
" WHERE PrjCod=%ld"
|
||||||
|
" AND CrsCod=%ld",
|
||||||
Prj->PrjCod,
|
Prj->PrjCod,
|
||||||
Gbl.Hierarchy.Crs.CrsCod)) // Project found...
|
Gbl.Hierarchy.Crs.CrsCod)) // Project found...
|
||||||
{
|
{
|
||||||
|
@ -3378,19 +3382,25 @@ void Prj_RemoveProject (void)
|
||||||
{
|
{
|
||||||
/***** Remove users in project *****/
|
/***** Remove users in project *****/
|
||||||
DB_QueryDELETE ("can not remove project",
|
DB_QueryDELETE ("can not remove project",
|
||||||
"DELETE FROM prj_usr USING projects,prj_usr"
|
"DELETE FROM prj_usr"
|
||||||
" WHERE projects.PrjCod=%ld AND projects.CrsCod=%ld"
|
" USING prj_projects,"
|
||||||
|
"prj_usr"
|
||||||
|
" WHERE projects.PrjCod=%ld"
|
||||||
|
" AND projects.CrsCod=%ld"
|
||||||
" AND projects.PrjCod=prj_usr.PrjCod",
|
" AND projects.PrjCod=prj_usr.PrjCod",
|
||||||
Prj.PrjCod,Gbl.Hierarchy.Crs.CrsCod);
|
Prj.PrjCod,
|
||||||
|
Gbl.Hierarchy.Crs.CrsCod);
|
||||||
|
|
||||||
/***** Flush cache *****/
|
/***** Flush cache *****/
|
||||||
Prj_FlushCacheMyRolesInProject ();
|
Prj_FlushCacheMyRolesInProject ();
|
||||||
|
|
||||||
/***** Remove project *****/
|
/***** Remove project *****/
|
||||||
DB_QueryDELETE ("can not remove project",
|
DB_QueryDELETE ("can not remove project",
|
||||||
"DELETE FROM projects"
|
"DELETE FROM prj_projects"
|
||||||
" WHERE PrjCod=%ld AND CrsCod=%ld",
|
" WHERE PrjCod=%ld"
|
||||||
Prj.PrjCod,Gbl.Hierarchy.Crs.CrsCod);
|
" AND CrsCod=%ld",
|
||||||
|
Prj.PrjCod,
|
||||||
|
Gbl.Hierarchy.Crs.CrsCod);
|
||||||
|
|
||||||
/***** Remove information related to files in project *****/
|
/***** Remove information related to files in project *****/
|
||||||
Brw_RemovePrjFilesFromDB (Prj.PrjCod);
|
Brw_RemovePrjFilesFromDB (Prj.PrjCod);
|
||||||
|
@ -3441,9 +3451,12 @@ void Prj_HideProject (void)
|
||||||
if (Prj_CheckIfICanEditProject (&Prj))
|
if (Prj_CheckIfICanEditProject (&Prj))
|
||||||
/***** Hide project *****/
|
/***** Hide project *****/
|
||||||
DB_QueryUPDATE ("can not hide project",
|
DB_QueryUPDATE ("can not hide project",
|
||||||
"UPDATE projects SET Hidden='Y'"
|
"UPDATE prj_projects"
|
||||||
" WHERE PrjCod=%ld AND CrsCod=%ld",
|
" SET Hidden='Y'"
|
||||||
Prj.PrjCod,Gbl.Hierarchy.Crs.CrsCod);
|
" WHERE PrjCod=%ld"
|
||||||
|
" AND CrsCod=%ld",
|
||||||
|
Prj.PrjCod,
|
||||||
|
Gbl.Hierarchy.Crs.CrsCod);
|
||||||
else
|
else
|
||||||
Lay_NoPermissionExit ();
|
Lay_NoPermissionExit ();
|
||||||
|
|
||||||
|
@ -3480,9 +3493,12 @@ void Prj_UnhideProject (void)
|
||||||
if (Prj_CheckIfICanEditProject (&Prj))
|
if (Prj_CheckIfICanEditProject (&Prj))
|
||||||
/***** Show project *****/
|
/***** Show project *****/
|
||||||
DB_QueryUPDATE ("can not show project",
|
DB_QueryUPDATE ("can not show project",
|
||||||
"UPDATE projects SET Hidden='N'"
|
"UPDATE prj_projects"
|
||||||
" WHERE PrjCod=%ld AND CrsCod=%ld",
|
" SET Hidden='N'"
|
||||||
Prj.PrjCod,Gbl.Hierarchy.Crs.CrsCod);
|
" WHERE PrjCod=%ld"
|
||||||
|
" AND CrsCod=%ld",
|
||||||
|
Prj.PrjCod,
|
||||||
|
Gbl.Hierarchy.Crs.CrsCod);
|
||||||
else
|
else
|
||||||
Lay_NoPermissionExit ();
|
Lay_NoPermissionExit ();
|
||||||
|
|
||||||
|
@ -3962,7 +3978,7 @@ static void Prj_CreateProject (struct Prj_Project *Prj)
|
||||||
/***** Create a new project *****/
|
/***** Create a new project *****/
|
||||||
Prj->PrjCod =
|
Prj->PrjCod =
|
||||||
DB_QueryINSERTandReturnCode ("can not create new project",
|
DB_QueryINSERTandReturnCode ("can not create new project",
|
||||||
"INSERT INTO projects"
|
"INSERT INTO prj_projects"
|
||||||
" (CrsCod,DptCod,Hidden,Assigned,NumStds,Proposal,"
|
" (CrsCod,DptCod,Hidden,Assigned,NumStds,Proposal,"
|
||||||
"CreatTime,ModifTime,"
|
"CreatTime,ModifTime,"
|
||||||
"Title,Description,Knowledge,Materials,URL)"
|
"Title,Description,Knowledge,Materials,URL)"
|
||||||
|
@ -4011,7 +4027,7 @@ static void Prj_UpdateProject (struct Prj_Project *Prj)
|
||||||
|
|
||||||
/***** Update the data of the project *****/
|
/***** Update the data of the project *****/
|
||||||
DB_QueryUPDATE ("can not update project",
|
DB_QueryUPDATE ("can not update project",
|
||||||
"UPDATE projects"
|
"UPDATE prj_projects"
|
||||||
" SET DptCod=%ld,"
|
" SET DptCod=%ld,"
|
||||||
"Hidden='%c',"
|
"Hidden='%c',"
|
||||||
"Assigned='%c',"
|
"Assigned='%c',"
|
||||||
|
@ -4023,7 +4039,8 @@ static void Prj_UpdateProject (struct Prj_Project *Prj)
|
||||||
"Knowledge='%s',"
|
"Knowledge='%s',"
|
||||||
"Materials='%s',"
|
"Materials='%s',"
|
||||||
"URL='%s'"
|
"URL='%s'"
|
||||||
" WHERE PrjCod=%ld AND CrsCod=%ld",
|
" WHERE PrjCod=%ld"
|
||||||
|
" AND CrsCod=%ld",
|
||||||
Prj->DptCod,
|
Prj->DptCod,
|
||||||
Prj->Hidden == Prj_HIDDEN ? 'Y' :
|
Prj->Hidden == Prj_HIDDEN ? 'Y' :
|
||||||
'N',
|
'N',
|
||||||
|
@ -4467,8 +4484,10 @@ void Prj_LockProjectEdition (void)
|
||||||
static void Prj_LockProjectEditionInDB (long PrjCod)
|
static void Prj_LockProjectEditionInDB (long PrjCod)
|
||||||
{
|
{
|
||||||
DB_QueryUPDATE ("can not lock project edition",
|
DB_QueryUPDATE ("can not lock project edition",
|
||||||
"UPDATE projects SET Locked='Y'"
|
"UPDATE prj_projects"
|
||||||
" WHERE PrjCod=%ld AND CrsCod=%ld",
|
" SET Locked='Y'"
|
||||||
|
" WHERE PrjCod=%ld"
|
||||||
|
" AND CrsCod=%ld",
|
||||||
PrjCod,Gbl.Hierarchy.Crs.CrsCod);
|
PrjCod,Gbl.Hierarchy.Crs.CrsCod);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4514,8 +4533,10 @@ void Prj_UnloProjectEdition (void)
|
||||||
static void Prj_UnlockProjectEditionInDB (long PrjCod)
|
static void Prj_UnlockProjectEditionInDB (long PrjCod)
|
||||||
{
|
{
|
||||||
DB_QueryUPDATE ("can not lock project edition",
|
DB_QueryUPDATE ("can not lock project edition",
|
||||||
"UPDATE projects SET Locked='N'"
|
"UPDATE prj_projects"
|
||||||
" WHERE PrjCod=%ld AND CrsCod=%ld",
|
" SET Locked='N'"
|
||||||
|
" WHERE PrjCod=%ld"
|
||||||
|
" AND CrsCod=%ld",
|
||||||
PrjCod,Gbl.Hierarchy.Crs.CrsCod);
|
PrjCod,Gbl.Hierarchy.Crs.CrsCod);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4527,9 +4548,11 @@ void Prj_RemoveCrsProjects (long CrsCod)
|
||||||
{
|
{
|
||||||
/***** Remove users in projects of the course *****/
|
/***** Remove users in projects of the course *****/
|
||||||
DB_QueryDELETE ("can not remove all the projects of a course",
|
DB_QueryDELETE ("can not remove all the projects of a course",
|
||||||
"DELETE FROM prj_usr USING projects,prj_usr"
|
"DELETE FROM prj_usr"
|
||||||
" WHERE projects.CrsCod=%ld"
|
" USING prj_projects,"
|
||||||
" AND projects.PrjCod=prj_usr.PrjCod",
|
"prj_usr"
|
||||||
|
" WHERE prj_projects.CrsCod=%ld"
|
||||||
|
" AND prj_projects.PrjCod=prj_usr.PrjCod",
|
||||||
CrsCod);
|
CrsCod);
|
||||||
|
|
||||||
/***** Flush cache *****/
|
/***** Flush cache *****/
|
||||||
|
@ -4542,7 +4565,8 @@ void Prj_RemoveCrsProjects (long CrsCod)
|
||||||
|
|
||||||
/***** Remove projects *****/
|
/***** Remove projects *****/
|
||||||
DB_QueryDELETE ("can not remove all the projects of a course",
|
DB_QueryDELETE ("can not remove all the projects of a course",
|
||||||
"DELETE FROM projects WHERE CrsCod=%ld",
|
"DELETE FROM prj_projects"
|
||||||
|
" WHERE CrsCod=%ld",
|
||||||
CrsCod);
|
CrsCod);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4556,7 +4580,8 @@ void Prj_RemoveUsrFromProjects (long UsrCod)
|
||||||
|
|
||||||
/***** Remove user from projects *****/
|
/***** Remove user from projects *****/
|
||||||
DB_QueryDELETE ("can not remove user from projects",
|
DB_QueryDELETE ("can not remove user from projects",
|
||||||
"DELETE FROM prj_usr WHERE UsrCod=%ld",
|
"DELETE FROM prj_usr"
|
||||||
|
" WHERE UsrCod=%ld",
|
||||||
UsrCod);
|
UsrCod);
|
||||||
|
|
||||||
/***** Flush cache *****/
|
/***** Flush cache *****/
|
||||||
|
@ -4580,66 +4605,66 @@ unsigned Prj_GetNumCoursesWithProjects (Hie_Lvl_Level_t Scope)
|
||||||
return (unsigned)
|
return (unsigned)
|
||||||
DB_QueryCOUNT ("can not get number of courses with projects",
|
DB_QueryCOUNT ("can not get number of courses with projects",
|
||||||
"SELECT COUNT(DISTINCT CrsCod)"
|
"SELECT COUNT(DISTINCT CrsCod)"
|
||||||
" FROM projects"
|
" FROM prj_projects"
|
||||||
" WHERE CrsCod>0");
|
" WHERE CrsCod>0");
|
||||||
case Hie_Lvl_CTY:
|
case Hie_Lvl_CTY:
|
||||||
return (unsigned)
|
return (unsigned)
|
||||||
DB_QueryCOUNT ("can not get number of courses with projects",
|
DB_QueryCOUNT ("can not get number of courses with projects",
|
||||||
"SELECT COUNT(DISTINCT projects.CrsCod)"
|
"SELECT COUNT(DISTINCT prj_projects.CrsCod)"
|
||||||
" FROM ins_instits,"
|
" FROM ins_instits,"
|
||||||
"ctr_centers,"
|
"ctr_centers,"
|
||||||
"deg_degrees,"
|
"deg_degrees,"
|
||||||
"crs_courses,"
|
"crs_courses,"
|
||||||
"projects"
|
"prj_projects"
|
||||||
" WHERE ins_instits.CtyCod=%ld"
|
" WHERE ins_instits.CtyCod=%ld"
|
||||||
" AND ins_instits.InsCod=ctr_centers.InsCod"
|
" AND ins_instits.InsCod=ctr_centers.InsCod"
|
||||||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||||
" AND crs_courses.Status=0"
|
" AND crs_courses.Status=0"
|
||||||
" AND crs_courses.CrsCod=projects.CrsCod",
|
" AND crs_courses.CrsCod=prj_projects.CrsCod",
|
||||||
Gbl.Hierarchy.Cty.CtyCod);
|
Gbl.Hierarchy.Cty.CtyCod);
|
||||||
case Hie_Lvl_INS:
|
case Hie_Lvl_INS:
|
||||||
return (unsigned)
|
return (unsigned)
|
||||||
DB_QueryCOUNT ("can not get number of courses with projects",
|
DB_QueryCOUNT ("can not get number of courses with projects",
|
||||||
"SELECT COUNT(DISTINCT projects.CrsCod)"
|
"SELECT COUNT(DISTINCT prj_projects.CrsCod)"
|
||||||
" FROM ctr_centers,"
|
" FROM ctr_centers,"
|
||||||
"deg_degrees,"
|
"deg_degrees,"
|
||||||
"crs_courses,"
|
"crs_courses,"
|
||||||
"projects"
|
"prj_projects"
|
||||||
" WHERE ctr_centers.InsCod=%ld"
|
" WHERE ctr_centers.InsCod=%ld"
|
||||||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||||
" AND crs_courses.Status=0"
|
" AND crs_courses.Status=0"
|
||||||
" AND crs_courses.CrsCod=projects.CrsCod",
|
" AND crs_courses.CrsCod=prj_projects.CrsCod",
|
||||||
Gbl.Hierarchy.Ins.InsCod);
|
Gbl.Hierarchy.Ins.InsCod);
|
||||||
case Hie_Lvl_CTR:
|
case Hie_Lvl_CTR:
|
||||||
return (unsigned)
|
return (unsigned)
|
||||||
DB_QueryCOUNT ("can not get number of courses with projects",
|
DB_QueryCOUNT ("can not get number of courses with projects",
|
||||||
"SELECT COUNT(DISTINCT projects.CrsCod)"
|
"SELECT COUNT(DISTINCT prj_projects.CrsCod)"
|
||||||
" FROM deg_degrees,"
|
" FROM deg_degrees,"
|
||||||
"crs_courses,"
|
"crs_courses,"
|
||||||
"projects"
|
"prj_projects"
|
||||||
" WHERE deg_degrees.CtrCod=%ld"
|
" WHERE deg_degrees.CtrCod=%ld"
|
||||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||||
" AND crs_courses.Status=0"
|
" AND crs_courses.Status=0"
|
||||||
" AND crs_courses.CrsCod=projects.CrsCod",
|
" AND crs_courses.CrsCod=prj_projects.CrsCod",
|
||||||
Gbl.Hierarchy.Ctr.CtrCod);
|
Gbl.Hierarchy.Ctr.CtrCod);
|
||||||
case Hie_Lvl_DEG:
|
case Hie_Lvl_DEG:
|
||||||
return (unsigned)
|
return (unsigned)
|
||||||
DB_QueryCOUNT ("can not get number of courses with projects",
|
DB_QueryCOUNT ("can not get number of courses with projects",
|
||||||
"SELECT COUNT(DISTINCT projects.CrsCod)"
|
"SELECT COUNT(DISTINCT prj_projects.CrsCod)"
|
||||||
" FROM crs_courses,"
|
" FROM crs_courses,"
|
||||||
"projects"
|
"prj_projects"
|
||||||
" WHERE crs_courses.DegCod=%ld"
|
" WHERE crs_courses.DegCod=%ld"
|
||||||
" AND crs_courses.Status=0"
|
" AND crs_courses.Status=0"
|
||||||
" AND crs_courses.CrsCod=projects.CrsCod",
|
" AND crs_courses.CrsCod=prj_projects.CrsCod",
|
||||||
Gbl.Hierarchy.Deg.DegCod);
|
Gbl.Hierarchy.Deg.DegCod);
|
||||||
break;
|
break;
|
||||||
case Hie_Lvl_CRS:
|
case Hie_Lvl_CRS:
|
||||||
return (unsigned)
|
return (unsigned)
|
||||||
DB_QueryCOUNT ("can not get number of courses with projects",
|
DB_QueryCOUNT ("can not get number of courses with projects",
|
||||||
"SELECT COUNT(DISTINCT CrsCod)"
|
"SELECT COUNT(DISTINCT CrsCod)"
|
||||||
" FROM projects"
|
" FROM prj_projects"
|
||||||
" WHERE CrsCod=%ld",
|
" WHERE CrsCod=%ld",
|
||||||
Gbl.Hierarchy.Crs.CrsCod);
|
Gbl.Hierarchy.Crs.CrsCod);
|
||||||
break;
|
break;
|
||||||
|
@ -4662,7 +4687,7 @@ unsigned Prj_GetNumProjects (Hie_Lvl_Level_t Scope)
|
||||||
return (unsigned)
|
return (unsigned)
|
||||||
DB_QueryCOUNT ("can not get number of projects",
|
DB_QueryCOUNT ("can not get number of projects",
|
||||||
"SELECT COUNT(*)"
|
"SELECT COUNT(*)"
|
||||||
" FROM projects"
|
" FROM prj_projects"
|
||||||
" WHERE CrsCod>0");
|
" WHERE CrsCod>0");
|
||||||
break;
|
break;
|
||||||
case Hie_Lvl_CTY:
|
case Hie_Lvl_CTY:
|
||||||
|
@ -4673,12 +4698,12 @@ unsigned Prj_GetNumProjects (Hie_Lvl_Level_t Scope)
|
||||||
"ctr_centers,"
|
"ctr_centers,"
|
||||||
"deg_degrees,"
|
"deg_degrees,"
|
||||||
"crs_courses,"
|
"crs_courses,"
|
||||||
"projects"
|
"prj_projects"
|
||||||
" WHERE ins_instits.CtyCod=%ld"
|
" WHERE ins_instits.CtyCod=%ld"
|
||||||
" AND ins_instits.InsCod=ctr_centers.InsCod"
|
" AND ins_instits.InsCod=ctr_centers.InsCod"
|
||||||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||||
" AND crs_courses.CrsCod=projects.CrsCod",
|
" AND crs_courses.CrsCod=prj_projects.CrsCod",
|
||||||
Gbl.Hierarchy.Cty.CtyCod);
|
Gbl.Hierarchy.Cty.CtyCod);
|
||||||
break;
|
break;
|
||||||
case Hie_Lvl_INS:
|
case Hie_Lvl_INS:
|
||||||
|
@ -4688,11 +4713,11 @@ unsigned Prj_GetNumProjects (Hie_Lvl_Level_t Scope)
|
||||||
" FROM ctr_centers,"
|
" FROM ctr_centers,"
|
||||||
"deg_degrees,"
|
"deg_degrees,"
|
||||||
"crs_courses,"
|
"crs_courses,"
|
||||||
"projects"
|
"prj_projects"
|
||||||
" WHERE ctr_centers.InsCod=%ld"
|
" WHERE ctr_centers.InsCod=%ld"
|
||||||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||||
" AND crs_courses.CrsCod=projects.CrsCod",
|
" AND crs_courses.CrsCod=prj_projects.CrsCod",
|
||||||
Gbl.Hierarchy.Ins.InsCod);
|
Gbl.Hierarchy.Ins.InsCod);
|
||||||
break;
|
break;
|
||||||
case Hie_Lvl_CTR:
|
case Hie_Lvl_CTR:
|
||||||
|
@ -4701,10 +4726,10 @@ unsigned Prj_GetNumProjects (Hie_Lvl_Level_t Scope)
|
||||||
"SELECT COUNT(*)"
|
"SELECT COUNT(*)"
|
||||||
" FROM deg_degrees,"
|
" FROM deg_degrees,"
|
||||||
"crs_courses,"
|
"crs_courses,"
|
||||||
"projects"
|
"prj_projects"
|
||||||
" WHERE deg_degrees.CtrCod=%ld"
|
" WHERE deg_degrees.CtrCod=%ld"
|
||||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||||
" AND crs_courses.CrsCod=projects.CrsCod",
|
" AND crs_courses.CrsCod=prj_projects.CrsCod",
|
||||||
Gbl.Hierarchy.Ctr.CtrCod);
|
Gbl.Hierarchy.Ctr.CtrCod);
|
||||||
break;
|
break;
|
||||||
case Hie_Lvl_DEG:
|
case Hie_Lvl_DEG:
|
||||||
|
@ -4712,16 +4737,16 @@ unsigned Prj_GetNumProjects (Hie_Lvl_Level_t Scope)
|
||||||
DB_QueryCOUNT ("can not get number of projects",
|
DB_QueryCOUNT ("can not get number of projects",
|
||||||
"SELECT COUNT(*)"
|
"SELECT COUNT(*)"
|
||||||
" FROM crs_courses,"
|
" FROM crs_courses,"
|
||||||
"projects"
|
"prj_projects"
|
||||||
" WHERE crs_courses.DegCod=%ld"
|
" WHERE crs_courses.DegCod=%ld"
|
||||||
" AND crs_courses.CrsCod=projects.CrsCod",
|
" AND crs_courses.CrsCod=prj_projects.CrsCod",
|
||||||
Gbl.Hierarchy.Deg.DegCod);
|
Gbl.Hierarchy.Deg.DegCod);
|
||||||
break;
|
break;
|
||||||
case Hie_Lvl_CRS:
|
case Hie_Lvl_CRS:
|
||||||
return (unsigned)
|
return (unsigned)
|
||||||
DB_QueryCOUNT ("can not get number of projects",
|
DB_QueryCOUNT ("can not get number of projects",
|
||||||
"SELECT COUNT(*)"
|
"SELECT COUNT(*)"
|
||||||
" FROM projects"
|
" FROM prj_projects"
|
||||||
" WHERE CrsCod=%ld",
|
" WHERE CrsCod=%ld",
|
||||||
Gbl.Hierarchy.Crs.CrsCod);
|
Gbl.Hierarchy.Crs.CrsCod);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user