mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-01 14:25:27 +02:00
Version 20.91.2: Jun 11, 2021 Queries moved to module swad_enrolment_database.
This commit is contained in:
parent
f5d59b104d
commit
ca9420971c
|
@ -602,13 +602,14 @@ TODO: FIX BUG, URGENT! En las fechas como par
|
||||||
|
|
||||||
TODO: En las encuestas, que los estudiantes no puedan ver los resultados hasta que no finalice el plazo.
|
TODO: En las encuestas, que los estudiantes no puedan ver los resultados hasta que no finalice el plazo.
|
||||||
*/
|
*/
|
||||||
#define Log_PLATFORM_VERSION "SWAD 20.91.1 (2021-06-10)"
|
#define Log_PLATFORM_VERSION "SWAD 20.91.2 (2021-06-11)"
|
||||||
#define CSS_FILE "swad20.45.css"
|
#define CSS_FILE "swad20.45.css"
|
||||||
#define JS_FILE "swad20.69.1.js"
|
#define JS_FILE "swad20.69.1.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.91.2: Jun 11, 2021 Queries moved to module swad_enrolment_database. (313143 lines)
|
||||||
Version 20.91.1: Jun 10, 2021 Queries moved to module swad_enrolment_database. (313145 lines)
|
Version 20.91.1: Jun 10, 2021 Queries moved to module swad_enrolment_database. (313145 lines)
|
||||||
Version 20.91: Jun 09, 2021 New module swad_enrolment_database for database queries related to user's enrolment. (313063 lines)
|
Version 20.91: Jun 09, 2021 New module swad_enrolment_database for database queries related to user's enrolment. (313063 lines)
|
||||||
Version 20.90.1: Jun 09, 2021 Queries moved to module swad_duplicate_database. (312962 lines)
|
Version 20.90.1: Jun 09, 2021 Queries moved to module swad_duplicate_database. (312962 lines)
|
||||||
|
|
591
swad_enrolment.c
591
swad_enrolment.c
|
@ -1917,7 +1917,8 @@ void Enr_SignUpInCrs (void)
|
||||||
Err_WrongRoleExit ();
|
Err_WrongRoleExit ();
|
||||||
|
|
||||||
/***** Try to get and old request of the same user (me) in the current course *****/
|
/***** Try to get and old request of the same user (me) in the current course *****/
|
||||||
ReqCod = Enr_DB_GetMyLastEnrolmentRequestInCurrentCrs ();
|
ReqCod = Enr_DB_GetUsrEnrolmentRequestInCrs (Gbl.Hierarchy.Crs.CrsCod,
|
||||||
|
Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||||
|
|
||||||
/***** Request user in current course in database *****/
|
/***** Request user in current course in database *****/
|
||||||
if (ReqCod > 0) // Old request exists in database
|
if (ReqCod > 0) // Old request exists in database
|
||||||
|
@ -2158,7 +2159,7 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
|
||||||
extern const char *Txt_No_enrolment_requests;
|
extern const char *Txt_No_enrolment_requests;
|
||||||
MYSQL_RES *mysql_res;
|
MYSQL_RES *mysql_res;
|
||||||
MYSQL_ROW row;
|
MYSQL_ROW row;
|
||||||
unsigned NumReqs = 0; // Initialized to avoid warning
|
unsigned NumReqs;
|
||||||
unsigned NumReq;
|
unsigned NumReq;
|
||||||
long ReqCod;
|
long ReqCod;
|
||||||
struct Deg_Degree Deg;
|
struct Deg_Degree Deg;
|
||||||
|
@ -2224,556 +2225,8 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
|
||||||
HTM_TABLE_End ();
|
HTM_TABLE_End ();
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
|
|
||||||
/***** Build query *****/
|
|
||||||
switch (Gbl.Scope.Current)
|
|
||||||
{
|
|
||||||
case HieLvl_SYS: // Show requesters for the whole platform
|
|
||||||
switch (Gbl.Usrs.Me.Role.Logged)
|
|
||||||
{
|
|
||||||
case Rol_TCH:
|
|
||||||
// Requests in all courses in which I am teacher
|
|
||||||
NumReqs = (unsigned)
|
|
||||||
DB_QuerySELECT (&mysql_res,"can not get requests for enrolment",
|
|
||||||
"SELECT crs_requests.ReqCod," // row[0]
|
|
||||||
"crs_requests.CrsCod," // row[1]
|
|
||||||
"crs_requests.UsrCod," // row[2]
|
|
||||||
"crs_requests.Role," // row[3]
|
|
||||||
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
|
||||||
" FROM crs_users,"
|
|
||||||
"crs_requests"
|
|
||||||
" WHERE crs_users.UsrCod=%ld"
|
|
||||||
" AND crs_users.Role=%u"
|
|
||||||
" AND crs_users.CrsCod=crs_requests.CrsCod"
|
|
||||||
" AND ((1<<crs_requests.Role)&%u)<>0"
|
|
||||||
" ORDER BY crs_requests.RequestTime DESC",
|
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
|
||||||
(unsigned) Rol_TCH,
|
|
||||||
RolesSelected);
|
|
||||||
break;
|
|
||||||
case Rol_DEG_ADM:
|
|
||||||
// Requests in all degrees administrated by me
|
|
||||||
NumReqs = (unsigned)
|
|
||||||
DB_QuerySELECT (&mysql_res,"can not get requests for enrolment",
|
|
||||||
"SELECT crs_requests.ReqCod," // row[0]
|
|
||||||
"crs_requests.CrsCod," // row[1]
|
|
||||||
"crs_requests.UsrCod," // row[2]
|
|
||||||
"crs_requests.Role," // row[3]
|
|
||||||
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
|
||||||
" FROM usr_admins,"
|
|
||||||
"crs_courses,"
|
|
||||||
"crs_requests"
|
|
||||||
" WHERE usr_admins.UsrCod=%ld"
|
|
||||||
" AND usr_admins.Scope='%s'"
|
|
||||||
" AND usr_admins.Cod=crs_courses.DegCod"
|
|
||||||
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
|
||||||
" AND ((1<<crs_requests.Role)&%u)<>0"
|
|
||||||
" ORDER BY crs_requests.RequestTime DESC",
|
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,Sco_GetDBStrFromScope (HieLvl_DEG),
|
|
||||||
RolesSelected);
|
|
||||||
break;
|
|
||||||
case Rol_CTR_ADM:
|
|
||||||
// Requests in all centers administrated by me
|
|
||||||
NumReqs = (unsigned)
|
|
||||||
DB_QuerySELECT (&mysql_res,"can not get requests for enrolment",
|
|
||||||
"SELECT crs_requests.ReqCod," // row[0]
|
|
||||||
"crs_requests.CrsCod," // row[1]
|
|
||||||
"crs_requests.UsrCod," // row[2]
|
|
||||||
"crs_requests.Role," // row[3]
|
|
||||||
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
|
||||||
" FROM usr_admins,"
|
|
||||||
"deg_degrees,"
|
|
||||||
"crs_courses,"
|
|
||||||
"crs_requests"
|
|
||||||
" WHERE usr_admins.UsrCod=%ld"
|
|
||||||
" AND usr_admins.Scope='%s'"
|
|
||||||
" AND usr_admins.Cod=deg_degrees.CtrCod"
|
|
||||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
|
||||||
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
|
||||||
" AND ((1<<crs_requests.Role)&%u)<>0"
|
|
||||||
" ORDER BY crs_requests.RequestTime DESC",
|
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,Sco_GetDBStrFromScope (HieLvl_CTR),
|
|
||||||
RolesSelected);
|
|
||||||
break;
|
|
||||||
case Rol_INS_ADM:
|
|
||||||
// Requests in all institutions administrated by me
|
|
||||||
NumReqs = (unsigned)
|
|
||||||
DB_QuerySELECT (&mysql_res,"can not get requests for enrolment",
|
|
||||||
"SELECT crs_requests.ReqCod," // row[0]
|
|
||||||
"crs_requests.CrsCod," // row[1]
|
|
||||||
"crs_requests.UsrCod," // row[2]
|
|
||||||
"crs_requests.Role," // row[3]
|
|
||||||
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
|
||||||
" FROM usr_admins,"
|
|
||||||
"ctr_centers,"
|
|
||||||
"deg_degrees,"
|
|
||||||
"crs_courses,"
|
|
||||||
"crs_requests"
|
|
||||||
" WHERE usr_admins.UsrCod=%ld"
|
|
||||||
" AND usr_admins.Scope='%s'"
|
|
||||||
" AND usr_admins.Cod=ctr_centers.InsCod"
|
|
||||||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
|
||||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
|
||||||
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
|
||||||
" AND ((1<<crs_requests.Role)&%u)<>0"
|
|
||||||
" ORDER BY crs_requests.RequestTime DESC",
|
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,Sco_GetDBStrFromScope (HieLvl_INS),
|
|
||||||
RolesSelected);
|
|
||||||
break;
|
|
||||||
case Rol_SYS_ADM:
|
|
||||||
// All requests
|
|
||||||
NumReqs = (unsigned)
|
|
||||||
DB_QuerySELECT (&mysql_res,"can not get requests for enrolment",
|
|
||||||
"SELECT ReqCod," // row[0]
|
|
||||||
"CrsCod," // row[1]
|
|
||||||
"UsrCod," // row[2]
|
|
||||||
"Role," // row[3]
|
|
||||||
"UNIX_TIMESTAMP(RequestTime)" // row[4]
|
|
||||||
" FROM crs_requests"
|
|
||||||
" WHERE ((1<<Role)&%u)<>0"
|
|
||||||
" ORDER BY RequestTime DESC",
|
|
||||||
RolesSelected);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
Err_NoPermissionExit ();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case HieLvl_CTY: // Show requesters for the current country
|
|
||||||
switch (Gbl.Usrs.Me.Role.Logged)
|
|
||||||
{
|
|
||||||
case Rol_TCH:
|
|
||||||
// Requests in courses of this country in which I am teacher
|
|
||||||
NumReqs = (unsigned)
|
|
||||||
DB_QuerySELECT (&mysql_res,"can not get requests for enrolment",
|
|
||||||
"SELECT crs_requests.ReqCod," // row[0]
|
|
||||||
"crs_requests.CrsCod," // row[1]
|
|
||||||
"crs_requests.UsrCod," // row[2]
|
|
||||||
"crs_requests.Role," // row[3]
|
|
||||||
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // roe[4]
|
|
||||||
" FROM crs_users,"
|
|
||||||
"ins_instits,"
|
|
||||||
"ctr_centers,"
|
|
||||||
"deg_degrees,"
|
|
||||||
"crs_courses,"
|
|
||||||
"crs_requests"
|
|
||||||
" WHERE crs_users.UsrCod=%ld"
|
|
||||||
" AND crs_users.Role=%u"
|
|
||||||
" AND crs_users.CrsCod=crs_courses.CrsCod"
|
|
||||||
" AND crs_courses.DegCod=deg_degrees.DegCod"
|
|
||||||
" AND deg_degrees.CtrCod=ctr_centers.CtrCod"
|
|
||||||
" AND ctr_centers.InsCod=ins_instits.InsCod"
|
|
||||||
" AND ins_instits.CtyCod=%ld"
|
|
||||||
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
|
||||||
" AND ((1<<crs_requests.Role)&%u)<>0"
|
|
||||||
" ORDER BY crs_requests.RequestTime DESC",
|
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
|
||||||
(unsigned) Rol_TCH,
|
|
||||||
Gbl.Hierarchy.Cty.CtyCod,
|
|
||||||
RolesSelected);
|
|
||||||
break;
|
|
||||||
case Rol_DEG_ADM:
|
|
||||||
// Requests in degrees of this country administrated by me
|
|
||||||
NumReqs = (unsigned)
|
|
||||||
DB_QuerySELECT (&mysql_res,"can not get requests for enrolment",
|
|
||||||
"SELECT crs_requests.ReqCod," // row[0]
|
|
||||||
"crs_requests.CrsCod," // row[1]
|
|
||||||
"crs_requests.UsrCod," // row[2]
|
|
||||||
"crs_requests.Role," // row[3]
|
|
||||||
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
|
||||||
" FROM usr_admins,"
|
|
||||||
"ins_instits,"
|
|
||||||
"ctr_centers,"
|
|
||||||
"deg_degrees,"
|
|
||||||
"crs_courses,"
|
|
||||||
"crs_requests"
|
|
||||||
" WHERE usr_admins.UsrCod=%ld"
|
|
||||||
" AND usr_admins.Scope='%s'"
|
|
||||||
" AND usr_admins.Cod=deg_degrees.DegCod"
|
|
||||||
" AND deg_degrees.CtrCod=ctr_centers.CtrCod"
|
|
||||||
" AND ctr_centers.InsCod=ins_instits.InsCod"
|
|
||||||
" AND ins_instits.CtyCod=%ld"
|
|
||||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
|
||||||
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
|
||||||
" AND ((1<<crs_requests.Role)&%u)<>0"
|
|
||||||
" ORDER BY crs_requests.RequestTime DESC",
|
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
|
||||||
Sco_GetDBStrFromScope (HieLvl_DEG),
|
|
||||||
Gbl.Hierarchy.Cty.CtyCod,
|
|
||||||
RolesSelected);
|
|
||||||
break;
|
|
||||||
case Rol_CTR_ADM:
|
|
||||||
// Requests in centers of this country administrated by me
|
|
||||||
NumReqs = (unsigned)
|
|
||||||
DB_QuerySELECT (&mysql_res,"can not get requests for enrolment",
|
|
||||||
"SELECT crs_requests.ReqCod," // row[0]
|
|
||||||
"crs_requests.CrsCod," // row[1]
|
|
||||||
"crs_requests.UsrCod," // row[2]
|
|
||||||
"crs_requests.Role," // row[3]
|
|
||||||
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
|
||||||
" FROM usr_admins,"
|
|
||||||
"ins_instits,"
|
|
||||||
"ctr_centers,"
|
|
||||||
"deg_degrees,"
|
|
||||||
"crs_courses,"
|
|
||||||
"crs_requests"
|
|
||||||
" WHERE usr_admins.UsrCod=%ld"
|
|
||||||
" AND usr_admins.Scope='%s'"
|
|
||||||
" AND usr_admins.Cod=ctr_centers.CtrCod"
|
|
||||||
" AND ctr_centers.InsCod=ins_instits.InsCod"
|
|
||||||
" AND ins_instits.CtyCod=%ld"
|
|
||||||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
|
||||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
|
||||||
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
|
||||||
" AND ((1<<crs_requests.Role)&%u)<>0"
|
|
||||||
" ORDER BY crs_requests.RequestTime DESC",
|
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
|
||||||
Sco_GetDBStrFromScope (HieLvl_CTR),
|
|
||||||
Gbl.Hierarchy.Cty.CtyCod,
|
|
||||||
RolesSelected);
|
|
||||||
break;
|
|
||||||
case Rol_INS_ADM:
|
|
||||||
// Requests in institutions of this country administrated by me
|
|
||||||
NumReqs = (unsigned)
|
|
||||||
DB_QuerySELECT (&mysql_res,"can not get requests for enrolment",
|
|
||||||
"SELECT crs_requests.ReqCod," // row[0]
|
|
||||||
"crs_requests.CrsCod," // row[1]
|
|
||||||
"crs_requests.UsrCod," // row[2]
|
|
||||||
"crs_requests.Role," // row[3]
|
|
||||||
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
|
||||||
" FROM usr_admins,"
|
|
||||||
"ins_instits,"
|
|
||||||
"ctr_centers,"
|
|
||||||
"deg_degrees,"
|
|
||||||
"crs_courses,"
|
|
||||||
"crs_requests"
|
|
||||||
" WHERE usr_admins.UsrCod=%ld"
|
|
||||||
" AND usr_admins.Scope='%s'"
|
|
||||||
" AND usr_admins.Cod=ins_instits.InsCod"
|
|
||||||
" AND 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_requests.CrsCod"
|
|
||||||
" AND ((1<<crs_requests.Role)&%u)<>0"
|
|
||||||
" ORDER BY crs_requests.RequestTime DESC",
|
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
|
||||||
Sco_GetDBStrFromScope (HieLvl_INS),
|
|
||||||
Gbl.Hierarchy.Cty.CtyCod,
|
|
||||||
RolesSelected);
|
|
||||||
break;
|
|
||||||
case Rol_SYS_ADM:
|
|
||||||
// Requests in any course of this country
|
|
||||||
NumReqs = (unsigned)
|
|
||||||
DB_QuerySELECT (&mysql_res,"can not get requests for enrolment",
|
|
||||||
"SELECT crs_requests.ReqCod," // row[0]
|
|
||||||
"crs_requests.CrsCod," // row[1]
|
|
||||||
"crs_requests.UsrCod," // row[2]
|
|
||||||
"crs_requests.Role," // row[3]
|
|
||||||
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
|
||||||
" FROM ins_instits,"
|
|
||||||
"ctr_centers,"
|
|
||||||
"deg_degrees,"
|
|
||||||
"crs_courses,"
|
|
||||||
"crs_requests"
|
|
||||||
" 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_requests.CrsCod"
|
|
||||||
" AND ((1<<crs_requests.Role)&%u)<>0"
|
|
||||||
" ORDER BY crs_requests.RequestTime DESC",
|
|
||||||
Gbl.Hierarchy.Cty.CtyCod,
|
|
||||||
RolesSelected);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
Err_NoPermissionExit ();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case HieLvl_INS: // Show requesters for the current institution
|
|
||||||
switch (Gbl.Usrs.Me.Role.Logged)
|
|
||||||
{
|
|
||||||
case Rol_TCH:
|
|
||||||
// Requests in courses of this institution in which I am teacher
|
|
||||||
NumReqs = (unsigned)
|
|
||||||
DB_QuerySELECT (&mysql_res,"can not get requests for enrolment",
|
|
||||||
"SELECT crs_requests.ReqCod," // row[0]
|
|
||||||
"crs_requests.CrsCod," // row[1]
|
|
||||||
"crs_requests.UsrCod," // row[2]
|
|
||||||
"crs_requests.Role," // row[3]
|
|
||||||
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
|
||||||
" FROM crs_users,"
|
|
||||||
"ctr_centers,"
|
|
||||||
"deg_degrees,"
|
|
||||||
"crs_courses,"
|
|
||||||
"crs_requests"
|
|
||||||
" WHERE crs_users.UsrCod=%ld"
|
|
||||||
" AND crs_users.Role=%u"
|
|
||||||
" AND crs_users.CrsCod=crs_courses.CrsCod"
|
|
||||||
" AND crs_courses.DegCod=deg_degrees.DegCod"
|
|
||||||
" AND deg_degrees.CtrCod=ctr_centers.CtrCod"
|
|
||||||
" AND ctr_centers.InsCod=%ld"
|
|
||||||
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
|
||||||
" AND ((1<<crs_requests.Role)&%u)<>0"
|
|
||||||
" ORDER BY crs_requests.RequestTime DESC",
|
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
|
||||||
(unsigned) Rol_TCH,
|
|
||||||
Gbl.Hierarchy.Ins.InsCod,
|
|
||||||
RolesSelected);
|
|
||||||
break;
|
|
||||||
case Rol_DEG_ADM:
|
|
||||||
// Requests in degrees of this institution administrated by me
|
|
||||||
NumReqs = (unsigned)
|
|
||||||
DB_QuerySELECT (&mysql_res,"can not get requests for enrolment",
|
|
||||||
"SELECT crs_requests.ReqCod," // row[0]
|
|
||||||
"crs_requests.CrsCod," // row[1]
|
|
||||||
"crs_requests.UsrCod," // row[2]
|
|
||||||
"crs_requests.Role," // row[3]
|
|
||||||
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
|
||||||
" FROM usr_admins,"
|
|
||||||
"ctr_centers,"
|
|
||||||
"deg_degrees,"
|
|
||||||
"crs_courses,"
|
|
||||||
"crs_requests"
|
|
||||||
" WHERE usr_admins.UsrCod=%ld"
|
|
||||||
" AND usr_admins.Scope='%s'"
|
|
||||||
" AND usr_admins.Cod=deg_degrees.DegCod"
|
|
||||||
" AND deg_degrees.CtrCod=ctr_centers.CtrCod"
|
|
||||||
" AND ctr_centers.InsCod=%ld"
|
|
||||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
|
||||||
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
|
||||||
" AND ((1<<crs_requests.Role)&%u)<>0"
|
|
||||||
" ORDER BY crs_requests.RequestTime DESC",
|
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
|
||||||
Sco_GetDBStrFromScope (HieLvl_DEG),
|
|
||||||
Gbl.Hierarchy.Ins.InsCod,
|
|
||||||
RolesSelected);
|
|
||||||
break;
|
|
||||||
case Rol_CTR_ADM:
|
|
||||||
// Requests in centers of this institution administrated by me
|
|
||||||
NumReqs = (unsigned)
|
|
||||||
DB_QuerySELECT (&mysql_res,"can not get requests for enrolment",
|
|
||||||
"SELECT crs_requests.ReqCod," // row[0]
|
|
||||||
"crs_requests.CrsCod," // row[1]
|
|
||||||
"crs_requests.UsrCod," // row[2]
|
|
||||||
"crs_requests.Role," // row[3]
|
|
||||||
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
|
||||||
" FROM usr_admins,"
|
|
||||||
"ctr_centers,"
|
|
||||||
"deg_degrees,"
|
|
||||||
"crs_courses,"
|
|
||||||
"crs_requests"
|
|
||||||
" WHERE usr_admins.UsrCod=%ld"
|
|
||||||
" AND usr_admins.Scope='%s'"
|
|
||||||
" AND usr_admins.Cod=ctr_centers.CtrCod"
|
|
||||||
" AND ctr_centers.InsCod=%ld"
|
|
||||||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
|
||||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
|
||||||
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
|
||||||
" AND ((1<<crs_requests.Role)&%u)<>0"
|
|
||||||
" ORDER BY crs_requests.RequestTime DESC",
|
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,Sco_GetDBStrFromScope (HieLvl_CTR),
|
|
||||||
Gbl.Hierarchy.Ins.InsCod,
|
|
||||||
RolesSelected);
|
|
||||||
break;
|
|
||||||
case Rol_INS_ADM: // If I am logged as admin of this institution, I can view all the requesters from this institution
|
|
||||||
case Rol_SYS_ADM:
|
|
||||||
// Requests in any course of this institution
|
|
||||||
NumReqs = (unsigned)
|
|
||||||
DB_QuerySELECT (&mysql_res,"can not get requests for enrolment",
|
|
||||||
"SELECT crs_requests.ReqCod," // row[0]
|
|
||||||
"crs_requests.CrsCod," // row[1]
|
|
||||||
"crs_requests.UsrCod," // row[2]
|
|
||||||
"crs_requests.Role," // row[3]
|
|
||||||
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
|
||||||
" FROM ctr_centers,"
|
|
||||||
"deg_degrees,"
|
|
||||||
"crs_courses,"
|
|
||||||
"crs_requests"
|
|
||||||
" WHERE ctr_centers.InsCod=%ld"
|
|
||||||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
|
||||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
|
||||||
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
|
||||||
" AND ((1<<crs_requests.Role)&%u)<>0"
|
|
||||||
" ORDER BY crs_requests.RequestTime DESC",
|
|
||||||
Gbl.Hierarchy.Ins.InsCod,
|
|
||||||
RolesSelected);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
Err_NoPermissionExit ();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case HieLvl_CTR: // Show requesters for the current center
|
|
||||||
switch (Gbl.Usrs.Me.Role.Logged)
|
|
||||||
{
|
|
||||||
case Rol_TCH:
|
|
||||||
// Requests in courses of this center in which I am teacher
|
|
||||||
NumReqs = (unsigned)
|
|
||||||
DB_QuerySELECT (&mysql_res,"can not get requests for enrolment",
|
|
||||||
"SELECT crs_requests.ReqCod," // row[0]
|
|
||||||
"crs_requests.CrsCod," // row[1]
|
|
||||||
"crs_requests.UsrCod," // row[2]
|
|
||||||
"crs_requests.Role," // row[3]
|
|
||||||
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
|
||||||
" FROM crs_users,"
|
|
||||||
"deg_degrees,"
|
|
||||||
"crs_courses,"
|
|
||||||
"crs_requests"
|
|
||||||
" WHERE crs_users.UsrCod=%ld"
|
|
||||||
" AND crs_users.Role=%u"
|
|
||||||
" AND crs_users.CrsCod=crs_courses.CrsCod"
|
|
||||||
" AND crs_courses.DegCod=deg_degrees.DegCod"
|
|
||||||
" AND deg_degrees.CtrCod=%ld"
|
|
||||||
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
|
||||||
" AND ((1<<crs_requests.Role)&%u)<>0"
|
|
||||||
" ORDER BY crs_requests.RequestTime DESC",
|
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
|
||||||
(unsigned) Rol_TCH,
|
|
||||||
Gbl.Hierarchy.Ctr.CtrCod,
|
|
||||||
RolesSelected);
|
|
||||||
break;
|
|
||||||
case Rol_DEG_ADM:
|
|
||||||
// Requests in degrees of this center administrated by me
|
|
||||||
NumReqs = (unsigned)
|
|
||||||
DB_QuerySELECT (&mysql_res,"can not get requests for enrolment",
|
|
||||||
"SELECT crs_requests.ReqCod," // row[0]
|
|
||||||
"crs_requests.CrsCod," // row[1]
|
|
||||||
"crs_requests.UsrCod," // row[2]
|
|
||||||
"crs_requests.Role," // row[3]
|
|
||||||
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
|
||||||
" FROM usr_admins,"
|
|
||||||
"deg_degrees,"
|
|
||||||
"crs_courses,"
|
|
||||||
"crs_requests"
|
|
||||||
" WHERE usr_admins.UsrCod=%ld"
|
|
||||||
" AND usr_admins.Scope='%s'"
|
|
||||||
" AND usr_admins.Cod=deg_degrees.DegCod"
|
|
||||||
" AND deg_degrees.CtrCod=%ld"
|
|
||||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
|
||||||
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
|
||||||
" AND ((1<<crs_requests.Role)&%u)<>0"
|
|
||||||
" ORDER BY crs_requests.RequestTime DESC",
|
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
|
||||||
Sco_GetDBStrFromScope (HieLvl_DEG),
|
|
||||||
Gbl.Hierarchy.Ctr.CtrCod,
|
|
||||||
RolesSelected);
|
|
||||||
break;
|
|
||||||
case Rol_CTR_ADM: // If I am logged as admin of this center , I can view all the requesters from this center
|
|
||||||
case Rol_INS_ADM: // If I am logged as admin of this institution, I can view all the requesters from this center
|
|
||||||
case Rol_SYS_ADM:
|
|
||||||
// Request in any course of this center
|
|
||||||
NumReqs = (unsigned)
|
|
||||||
DB_QuerySELECT (&mysql_res,"can not get requests for enrolment",
|
|
||||||
"SELECT crs_requests.ReqCod," // row[0]
|
|
||||||
"crs_requests.CrsCod," // row[1]
|
|
||||||
"crs_requests.UsrCod," // row[2]
|
|
||||||
"crs_requests.Role," // row[3]
|
|
||||||
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
|
||||||
" FROM deg_degrees,"
|
|
||||||
"crs_courses,"
|
|
||||||
"crs_requests"
|
|
||||||
" WHERE deg_degrees.CtrCod=%ld"
|
|
||||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
|
||||||
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
|
||||||
" AND ((1<<crs_requests.Role)&%u)<>0"
|
|
||||||
" ORDER BY crs_requests.RequestTime DESC",
|
|
||||||
Gbl.Hierarchy.Ctr.CtrCod,
|
|
||||||
RolesSelected);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
Err_NoPermissionExit ();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case HieLvl_DEG: // Show requesters for the current degree
|
|
||||||
switch (Gbl.Usrs.Me.Role.Logged)
|
|
||||||
{
|
|
||||||
case Rol_TCH:
|
|
||||||
// Requests in courses of this degree in which I am teacher
|
|
||||||
NumReqs = (unsigned)
|
|
||||||
DB_QuerySELECT (&mysql_res,"can not get requests for enrolment",
|
|
||||||
"SELECT crs_requests.ReqCod," // row[0]
|
|
||||||
"crs_requests.CrsCod," // row[1]
|
|
||||||
"crs_requests.UsrCod," // row[2]
|
|
||||||
"crs_requests.Role," // row[3]
|
|
||||||
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
|
||||||
" FROM crs_users,"
|
|
||||||
"crs_courses,"
|
|
||||||
"crs_requests"
|
|
||||||
" WHERE crs_users.UsrCod=%ld"
|
|
||||||
" AND crs_users.Role=%u"
|
|
||||||
" AND crs_users.CrsCod=crs_courses.CrsCod"
|
|
||||||
" AND crs_courses.DegCod=%ld"
|
|
||||||
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
|
||||||
" AND ((1<<crs_requests.Role)&%u)<>0"
|
|
||||||
" ORDER BY crs_requests.RequestTime DESC",
|
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
|
||||||
(unsigned) Rol_TCH,
|
|
||||||
Gbl.Hierarchy.Deg.DegCod,
|
|
||||||
RolesSelected);
|
|
||||||
break;
|
|
||||||
case Rol_DEG_ADM: // If I am logged as admin of this degree , I can view all the requesters from this degree
|
|
||||||
case Rol_CTR_ADM: // If I am logged as admin of this center , I can view all the requesters from this degree
|
|
||||||
case Rol_INS_ADM: // If I am logged as admin of this institution, I can view all the requesters from this degree
|
|
||||||
case Rol_SYS_ADM:
|
|
||||||
// Requests in any course of this degree
|
|
||||||
NumReqs = (unsigned)
|
|
||||||
DB_QuerySELECT (&mysql_res,"can not get requests for enrolment",
|
|
||||||
"SELECT crs_requests.ReqCod," // row[0]
|
|
||||||
"crs_requests.CrsCod," // row[1]
|
|
||||||
"crs_requests.UsrCod," // row[2]
|
|
||||||
"crs_requests.Role," // row[3]
|
|
||||||
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
|
||||||
" FROM crs_courses,"
|
|
||||||
"crs_requests"
|
|
||||||
" WHERE crs_courses.DegCod=%ld"
|
|
||||||
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
|
||||||
" AND ((1<<crs_requests.Role)&%u)<>0"
|
|
||||||
" ORDER BY crs_requests.RequestTime DESC",
|
|
||||||
Gbl.Hierarchy.Deg.DegCod,
|
|
||||||
RolesSelected);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
Err_NoPermissionExit ();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case HieLvl_CRS: // Show requesters for the current course
|
|
||||||
switch (Gbl.Usrs.Me.Role.Logged)
|
|
||||||
{
|
|
||||||
case Rol_TCH: // If I am logged as teacher of this course , I can view all the requesters from this course
|
|
||||||
case Rol_DEG_ADM: // If I am logged as admin of this degree , I can view all the requesters from this course
|
|
||||||
case Rol_CTR_ADM: // If I am logged as admin of this center , I can view all the requesters from this course
|
|
||||||
case Rol_INS_ADM: // If I am logged as admin of this institution, I can view all the requesters from this course
|
|
||||||
case Rol_SYS_ADM:
|
|
||||||
// Requests in this course
|
|
||||||
NumReqs = (unsigned)
|
|
||||||
DB_QuerySELECT (&mysql_res,"can not get requests for enrolment",
|
|
||||||
"SELECT ReqCod," // row[0]
|
|
||||||
"CrsCod," // row[1]
|
|
||||||
"UsrCod," // row[2]
|
|
||||||
"Role," // row[3]
|
|
||||||
"UNIX_TIMESTAMP(RequestTime)" // row[4]
|
|
||||||
" FROM crs_requests"
|
|
||||||
" WHERE CrsCod=%ld"
|
|
||||||
" AND ((1<<Role)&%u)<>0"
|
|
||||||
" ORDER BY RequestTime DESC",
|
|
||||||
Gbl.Hierarchy.Crs.CrsCod,
|
|
||||||
RolesSelected);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
Err_NoPermissionExit ();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
Err_WrongScopeExit ();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
/***** List requests *****/
|
/***** List requests *****/
|
||||||
if (NumReqs)
|
if ((NumReqs = Enr_DB_GetEnrolmentRequests (&mysql_res,RolesSelected)))
|
||||||
{
|
{
|
||||||
/* Initialize structure with user's data */
|
/* Initialize structure with user's data */
|
||||||
Usr_UsrDataConstructor (&UsrDat);
|
Usr_UsrDataConstructor (&UsrDat);
|
||||||
|
@ -2783,7 +2236,6 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
|
||||||
|
|
||||||
/* Table heading */
|
/* Table heading */
|
||||||
HTM_TR_Begin (NULL);
|
HTM_TR_Begin (NULL);
|
||||||
|
|
||||||
HTM_TH_Empty (1);
|
HTM_TH_Empty (1);
|
||||||
HTM_TH (1,1,"LT",Txt_Course);
|
HTM_TH (1,1,"LT",Txt_Course);
|
||||||
HTM_TH (1,1,"RT",Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH]);
|
HTM_TH (1,1,"RT",Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH]);
|
||||||
|
@ -2791,7 +2243,6 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
|
||||||
HTM_TH (1,1,"LT",Txt_Role);
|
HTM_TH (1,1,"LT",Txt_Role);
|
||||||
HTM_TH (1,1,"CT",Txt_Date);
|
HTM_TH (1,1,"CT",Txt_Date);
|
||||||
HTM_TH_Empty (2);
|
HTM_TH_Empty (2);
|
||||||
|
|
||||||
HTM_TR_End ();
|
HTM_TR_End ();
|
||||||
|
|
||||||
/* List requests */
|
/* List requests */
|
||||||
|
@ -2946,27 +2397,18 @@ static void Enr_RemoveEnrolmentRequest (long CrsCod,long UsrCod)
|
||||||
{
|
{
|
||||||
long ReqCod;
|
long ReqCod;
|
||||||
|
|
||||||
|
/***** Get request code *****/
|
||||||
|
ReqCod = Enr_DB_GetUsrEnrolmentRequestInCrs (CrsCod,UsrCod);
|
||||||
|
|
||||||
|
if (ReqCod > 0)
|
||||||
|
{
|
||||||
/***** Mark possible notifications as removed
|
/***** Mark possible notifications as removed
|
||||||
Important: do this before removing the request *****/
|
Important: do this before removing the request *****/
|
||||||
/* Request request code (returns 0 or 1 rows) */
|
|
||||||
ReqCod = DB_QuerySELECTCode ("can not get request code",
|
|
||||||
"SELECT ReqCod"
|
|
||||||
" FROM crs_requests"
|
|
||||||
" WHERE CrsCod=%ld"
|
|
||||||
" AND UsrCod=%ld",
|
|
||||||
CrsCod,
|
|
||||||
UsrCod);
|
|
||||||
|
|
||||||
/* Mark possible notifications as removed */
|
|
||||||
Ntf_MarkNotifAsRemoved (Ntf_EVENT_ENROLMENT_REQUEST,ReqCod);
|
Ntf_MarkNotifAsRemoved (Ntf_EVENT_ENROLMENT_REQUEST,ReqCod);
|
||||||
|
|
||||||
/***** Remove enrolment request *****/
|
/***** Remove enrolment request *****/
|
||||||
DB_QueryDELETE ("can not remove a request for enrolment",
|
Enr_DB_RemRequest (ReqCod);
|
||||||
"DELETE FROM crs_requests"
|
}
|
||||||
" WHERE CrsCod=%ld"
|
|
||||||
" AND UsrCod=%ld",
|
|
||||||
CrsCod,
|
|
||||||
UsrCod);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -4216,15 +3658,8 @@ static void Enr_EffectivelyRemAdm (struct UsrData *UsrDat,HieLvl_Level_t Scope,
|
||||||
|
|
||||||
if (Usr_CheckIfUsrIsAdm (UsrDat->UsrCod,Scope,Cod)) // User is administrator of current institution/center/degree
|
if (Usr_CheckIfUsrIsAdm (UsrDat->UsrCod,Scope,Cod)) // User is administrator of current institution/center/degree
|
||||||
{
|
{
|
||||||
/***** Remove user from the table of admins *****/
|
/***** Remove user as administrator of institution, center or degree *****/
|
||||||
DB_QueryDELETE ("can not remove an administrator",
|
Enr_DB_RemAdmin (UsrDat->UsrCod,Scope,Cod);
|
||||||
"DELETE FROM usr_admins"
|
|
||||||
" WHERE UsrCod=%ld"
|
|
||||||
" AND Scope='%s'"
|
|
||||||
" AND Cod=%ld",
|
|
||||||
UsrDat->UsrCod,
|
|
||||||
Sco_GetDBStrFromScope (Scope),
|
|
||||||
Cod);
|
|
||||||
|
|
||||||
Ale_ShowAlert (Ale_SUCCESS,Txt_THE_USER_X_has_been_removed_as_administrator_of_Y,
|
Ale_ShowAlert (Ale_SUCCESS,Txt_THE_USER_X_has_been_removed_as_administrator_of_Y,
|
||||||
UsrDat->FullName,InsCtrDegName);
|
UsrDat->FullName,InsCtrDegName);
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
// #include "swad_duplicate.h"
|
// #include "swad_duplicate.h"
|
||||||
#include "swad_enrolment.h"
|
#include "swad_enrolment.h"
|
||||||
#include "swad_enrolment_database.h"
|
#include "swad_enrolment_database.h"
|
||||||
// #include "swad_error.h"
|
#include "swad_error.h"
|
||||||
// #include "swad_exam_print.h"
|
// #include "swad_exam_print.h"
|
||||||
// #include "swad_form.h"
|
// #include "swad_form.h"
|
||||||
#include "swad_global.h"
|
#include "swad_global.h"
|
||||||
|
@ -135,6 +135,540 @@ void Enr_DB_AcceptUsrInCrs (long UsrCod)
|
||||||
UsrCod);
|
UsrCod);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/********* Set a user's acceptation to true in the current course ************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
unsigned Enr_DB_GetEnrolmentRequests (MYSQL_RES **mysql_res,unsigned RolesSelected)
|
||||||
|
{
|
||||||
|
switch (Gbl.Scope.Current)
|
||||||
|
{
|
||||||
|
case HieLvl_SYS: // Show requesters for the whole platform
|
||||||
|
switch (Gbl.Usrs.Me.Role.Logged)
|
||||||
|
{
|
||||||
|
case Rol_TCH:
|
||||||
|
// Requests in all courses in which I am teacher
|
||||||
|
return (unsigned)
|
||||||
|
DB_QuerySELECT (mysql_res,"can not get requests for enrolment",
|
||||||
|
"SELECT crs_requests.ReqCod," // row[0]
|
||||||
|
"crs_requests.CrsCod," // row[1]
|
||||||
|
"crs_requests.UsrCod," // row[2]
|
||||||
|
"crs_requests.Role," // row[3]
|
||||||
|
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
||||||
|
" FROM crs_users,"
|
||||||
|
"crs_requests"
|
||||||
|
" WHERE crs_users.UsrCod=%ld"
|
||||||
|
" AND crs_users.Role=%u"
|
||||||
|
" AND crs_users.CrsCod=crs_requests.CrsCod"
|
||||||
|
" AND ((1<<crs_requests.Role)&%u)<>0"
|
||||||
|
" ORDER BY crs_requests.RequestTime DESC",
|
||||||
|
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
|
(unsigned) Rol_TCH,
|
||||||
|
RolesSelected);
|
||||||
|
case Rol_DEG_ADM:
|
||||||
|
// Requests in all degrees administrated by me
|
||||||
|
return (unsigned)
|
||||||
|
DB_QuerySELECT (mysql_res,"can not get requests for enrolment",
|
||||||
|
"SELECT crs_requests.ReqCod," // row[0]
|
||||||
|
"crs_requests.CrsCod," // row[1]
|
||||||
|
"crs_requests.UsrCod," // row[2]
|
||||||
|
"crs_requests.Role," // row[3]
|
||||||
|
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
||||||
|
" FROM usr_admins,"
|
||||||
|
"crs_courses,"
|
||||||
|
"crs_requests"
|
||||||
|
" WHERE usr_admins.UsrCod=%ld"
|
||||||
|
" AND usr_admins.Scope='%s'"
|
||||||
|
" AND usr_admins.Cod=crs_courses.DegCod"
|
||||||
|
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
||||||
|
" AND ((1<<crs_requests.Role)&%u)<>0"
|
||||||
|
" ORDER BY crs_requests.RequestTime DESC",
|
||||||
|
Gbl.Usrs.Me.UsrDat.UsrCod,Sco_GetDBStrFromScope (HieLvl_DEG),
|
||||||
|
RolesSelected);
|
||||||
|
case Rol_CTR_ADM:
|
||||||
|
// Requests in all centers administrated by me
|
||||||
|
return (unsigned)
|
||||||
|
DB_QuerySELECT (mysql_res,"can not get requests for enrolment",
|
||||||
|
"SELECT crs_requests.ReqCod," // row[0]
|
||||||
|
"crs_requests.CrsCod," // row[1]
|
||||||
|
"crs_requests.UsrCod," // row[2]
|
||||||
|
"crs_requests.Role," // row[3]
|
||||||
|
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
||||||
|
" FROM usr_admins,"
|
||||||
|
"deg_degrees,"
|
||||||
|
"crs_courses,"
|
||||||
|
"crs_requests"
|
||||||
|
" WHERE usr_admins.UsrCod=%ld"
|
||||||
|
" AND usr_admins.Scope='%s'"
|
||||||
|
" AND usr_admins.Cod=deg_degrees.CtrCod"
|
||||||
|
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||||
|
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
||||||
|
" AND ((1<<crs_requests.Role)&%u)<>0"
|
||||||
|
" ORDER BY crs_requests.RequestTime DESC",
|
||||||
|
Gbl.Usrs.Me.UsrDat.UsrCod,Sco_GetDBStrFromScope (HieLvl_CTR),
|
||||||
|
RolesSelected);
|
||||||
|
case Rol_INS_ADM:
|
||||||
|
// Requests in all institutions administrated by me
|
||||||
|
return (unsigned)
|
||||||
|
DB_QuerySELECT (mysql_res,"can not get requests for enrolment",
|
||||||
|
"SELECT crs_requests.ReqCod," // row[0]
|
||||||
|
"crs_requests.CrsCod," // row[1]
|
||||||
|
"crs_requests.UsrCod," // row[2]
|
||||||
|
"crs_requests.Role," // row[3]
|
||||||
|
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
||||||
|
" FROM usr_admins,"
|
||||||
|
"ctr_centers,"
|
||||||
|
"deg_degrees,"
|
||||||
|
"crs_courses,"
|
||||||
|
"crs_requests"
|
||||||
|
" WHERE usr_admins.UsrCod=%ld"
|
||||||
|
" AND usr_admins.Scope='%s'"
|
||||||
|
" AND usr_admins.Cod=ctr_centers.InsCod"
|
||||||
|
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||||
|
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||||
|
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
||||||
|
" AND ((1<<crs_requests.Role)&%u)<>0"
|
||||||
|
" ORDER BY crs_requests.RequestTime DESC",
|
||||||
|
Gbl.Usrs.Me.UsrDat.UsrCod,Sco_GetDBStrFromScope (HieLvl_INS),
|
||||||
|
RolesSelected);
|
||||||
|
case Rol_SYS_ADM:
|
||||||
|
// All requests
|
||||||
|
return (unsigned)
|
||||||
|
DB_QuerySELECT (mysql_res,"can not get requests for enrolment",
|
||||||
|
"SELECT ReqCod," // row[0]
|
||||||
|
"CrsCod," // row[1]
|
||||||
|
"UsrCod," // row[2]
|
||||||
|
"Role," // row[3]
|
||||||
|
"UNIX_TIMESTAMP(RequestTime)" // row[4]
|
||||||
|
" FROM crs_requests"
|
||||||
|
" WHERE ((1<<Role)&%u)<>0"
|
||||||
|
" ORDER BY RequestTime DESC",
|
||||||
|
RolesSelected);
|
||||||
|
default:
|
||||||
|
Err_NoPermissionExit ();
|
||||||
|
return 0; // Not reached
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case HieLvl_CTY: // Show requesters for the current country
|
||||||
|
switch (Gbl.Usrs.Me.Role.Logged)
|
||||||
|
{
|
||||||
|
case Rol_TCH:
|
||||||
|
// Requests in courses of this country in which I am teacher
|
||||||
|
return (unsigned)
|
||||||
|
DB_QuerySELECT (mysql_res,"can not get requests for enrolment",
|
||||||
|
"SELECT crs_requests.ReqCod," // row[0]
|
||||||
|
"crs_requests.CrsCod," // row[1]
|
||||||
|
"crs_requests.UsrCod," // row[2]
|
||||||
|
"crs_requests.Role," // row[3]
|
||||||
|
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // roe[4]
|
||||||
|
" FROM crs_users,"
|
||||||
|
"ins_instits,"
|
||||||
|
"ctr_centers,"
|
||||||
|
"deg_degrees,"
|
||||||
|
"crs_courses,"
|
||||||
|
"crs_requests"
|
||||||
|
" WHERE crs_users.UsrCod=%ld"
|
||||||
|
" AND crs_users.Role=%u"
|
||||||
|
" AND crs_users.CrsCod=crs_courses.CrsCod"
|
||||||
|
" AND crs_courses.DegCod=deg_degrees.DegCod"
|
||||||
|
" AND deg_degrees.CtrCod=ctr_centers.CtrCod"
|
||||||
|
" AND ctr_centers.InsCod=ins_instits.InsCod"
|
||||||
|
" AND ins_instits.CtyCod=%ld"
|
||||||
|
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
||||||
|
" AND ((1<<crs_requests.Role)&%u)<>0"
|
||||||
|
" ORDER BY crs_requests.RequestTime DESC",
|
||||||
|
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
|
(unsigned) Rol_TCH,
|
||||||
|
Gbl.Hierarchy.Cty.CtyCod,
|
||||||
|
RolesSelected);
|
||||||
|
case Rol_DEG_ADM:
|
||||||
|
// Requests in degrees of this country administrated by me
|
||||||
|
return (unsigned)
|
||||||
|
DB_QuerySELECT (mysql_res,"can not get requests for enrolment",
|
||||||
|
"SELECT crs_requests.ReqCod," // row[0]
|
||||||
|
"crs_requests.CrsCod," // row[1]
|
||||||
|
"crs_requests.UsrCod," // row[2]
|
||||||
|
"crs_requests.Role," // row[3]
|
||||||
|
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
||||||
|
" FROM usr_admins,"
|
||||||
|
"ins_instits,"
|
||||||
|
"ctr_centers,"
|
||||||
|
"deg_degrees,"
|
||||||
|
"crs_courses,"
|
||||||
|
"crs_requests"
|
||||||
|
" WHERE usr_admins.UsrCod=%ld"
|
||||||
|
" AND usr_admins.Scope='%s'"
|
||||||
|
" AND usr_admins.Cod=deg_degrees.DegCod"
|
||||||
|
" AND deg_degrees.CtrCod=ctr_centers.CtrCod"
|
||||||
|
" AND ctr_centers.InsCod=ins_instits.InsCod"
|
||||||
|
" AND ins_instits.CtyCod=%ld"
|
||||||
|
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||||
|
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
||||||
|
" AND ((1<<crs_requests.Role)&%u)<>0"
|
||||||
|
" ORDER BY crs_requests.RequestTime DESC",
|
||||||
|
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
|
Sco_GetDBStrFromScope (HieLvl_DEG),
|
||||||
|
Gbl.Hierarchy.Cty.CtyCod,
|
||||||
|
RolesSelected);
|
||||||
|
case Rol_CTR_ADM:
|
||||||
|
// Requests in centers of this country administrated by me
|
||||||
|
return (unsigned)
|
||||||
|
DB_QuerySELECT (mysql_res,"can not get requests for enrolment",
|
||||||
|
"SELECT crs_requests.ReqCod," // row[0]
|
||||||
|
"crs_requests.CrsCod," // row[1]
|
||||||
|
"crs_requests.UsrCod," // row[2]
|
||||||
|
"crs_requests.Role," // row[3]
|
||||||
|
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
||||||
|
" FROM usr_admins,"
|
||||||
|
"ins_instits,"
|
||||||
|
"ctr_centers,"
|
||||||
|
"deg_degrees,"
|
||||||
|
"crs_courses,"
|
||||||
|
"crs_requests"
|
||||||
|
" WHERE usr_admins.UsrCod=%ld"
|
||||||
|
" AND usr_admins.Scope='%s'"
|
||||||
|
" AND usr_admins.Cod=ctr_centers.CtrCod"
|
||||||
|
" AND ctr_centers.InsCod=ins_instits.InsCod"
|
||||||
|
" AND ins_instits.CtyCod=%ld"
|
||||||
|
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||||
|
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||||
|
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
||||||
|
" AND ((1<<crs_requests.Role)&%u)<>0"
|
||||||
|
" ORDER BY crs_requests.RequestTime DESC",
|
||||||
|
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
|
Sco_GetDBStrFromScope (HieLvl_CTR),
|
||||||
|
Gbl.Hierarchy.Cty.CtyCod,
|
||||||
|
RolesSelected);
|
||||||
|
case Rol_INS_ADM:
|
||||||
|
// Requests in institutions of this country administrated by me
|
||||||
|
return (unsigned)
|
||||||
|
DB_QuerySELECT (mysql_res,"can not get requests for enrolment",
|
||||||
|
"SELECT crs_requests.ReqCod," // row[0]
|
||||||
|
"crs_requests.CrsCod," // row[1]
|
||||||
|
"crs_requests.UsrCod," // row[2]
|
||||||
|
"crs_requests.Role," // row[3]
|
||||||
|
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
||||||
|
" FROM usr_admins,"
|
||||||
|
"ins_instits,"
|
||||||
|
"ctr_centers,"
|
||||||
|
"deg_degrees,"
|
||||||
|
"crs_courses,"
|
||||||
|
"crs_requests"
|
||||||
|
" WHERE usr_admins.UsrCod=%ld"
|
||||||
|
" AND usr_admins.Scope='%s'"
|
||||||
|
" AND usr_admins.Cod=ins_instits.InsCod"
|
||||||
|
" AND 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_requests.CrsCod"
|
||||||
|
" AND ((1<<crs_requests.Role)&%u)<>0"
|
||||||
|
" ORDER BY crs_requests.RequestTime DESC",
|
||||||
|
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
|
Sco_GetDBStrFromScope (HieLvl_INS),
|
||||||
|
Gbl.Hierarchy.Cty.CtyCod,
|
||||||
|
RolesSelected);
|
||||||
|
case Rol_SYS_ADM:
|
||||||
|
// Requests in any course of this country
|
||||||
|
return (unsigned)
|
||||||
|
DB_QuerySELECT (mysql_res,"can not get requests for enrolment",
|
||||||
|
"SELECT crs_requests.ReqCod," // row[0]
|
||||||
|
"crs_requests.CrsCod," // row[1]
|
||||||
|
"crs_requests.UsrCod," // row[2]
|
||||||
|
"crs_requests.Role," // row[3]
|
||||||
|
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
||||||
|
" FROM ins_instits,"
|
||||||
|
"ctr_centers,"
|
||||||
|
"deg_degrees,"
|
||||||
|
"crs_courses,"
|
||||||
|
"crs_requests"
|
||||||
|
" 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_requests.CrsCod"
|
||||||
|
" AND ((1<<crs_requests.Role)&%u)<>0"
|
||||||
|
" ORDER BY crs_requests.RequestTime DESC",
|
||||||
|
Gbl.Hierarchy.Cty.CtyCod,
|
||||||
|
RolesSelected);
|
||||||
|
default:
|
||||||
|
Err_NoPermissionExit ();
|
||||||
|
return 0; // Not reached
|
||||||
|
}
|
||||||
|
return 0; // Not reached
|
||||||
|
case HieLvl_INS: // Show requesters for the current institution
|
||||||
|
switch (Gbl.Usrs.Me.Role.Logged)
|
||||||
|
{
|
||||||
|
case Rol_TCH:
|
||||||
|
// Requests in courses of this institution in which I am teacher
|
||||||
|
return (unsigned)
|
||||||
|
DB_QuerySELECT (mysql_res,"can not get requests for enrolment",
|
||||||
|
"SELECT crs_requests.ReqCod," // row[0]
|
||||||
|
"crs_requests.CrsCod," // row[1]
|
||||||
|
"crs_requests.UsrCod," // row[2]
|
||||||
|
"crs_requests.Role," // row[3]
|
||||||
|
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
||||||
|
" FROM crs_users,"
|
||||||
|
"ctr_centers,"
|
||||||
|
"deg_degrees,"
|
||||||
|
"crs_courses,"
|
||||||
|
"crs_requests"
|
||||||
|
" WHERE crs_users.UsrCod=%ld"
|
||||||
|
" AND crs_users.Role=%u"
|
||||||
|
" AND crs_users.CrsCod=crs_courses.CrsCod"
|
||||||
|
" AND crs_courses.DegCod=deg_degrees.DegCod"
|
||||||
|
" AND deg_degrees.CtrCod=ctr_centers.CtrCod"
|
||||||
|
" AND ctr_centers.InsCod=%ld"
|
||||||
|
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
||||||
|
" AND ((1<<crs_requests.Role)&%u)<>0"
|
||||||
|
" ORDER BY crs_requests.RequestTime DESC",
|
||||||
|
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
|
(unsigned) Rol_TCH,
|
||||||
|
Gbl.Hierarchy.Ins.InsCod,
|
||||||
|
RolesSelected);
|
||||||
|
case Rol_DEG_ADM:
|
||||||
|
// Requests in degrees of this institution administrated by me
|
||||||
|
return (unsigned)
|
||||||
|
DB_QuerySELECT (mysql_res,"can not get requests for enrolment",
|
||||||
|
"SELECT crs_requests.ReqCod," // row[0]
|
||||||
|
"crs_requests.CrsCod," // row[1]
|
||||||
|
"crs_requests.UsrCod," // row[2]
|
||||||
|
"crs_requests.Role," // row[3]
|
||||||
|
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
||||||
|
" FROM usr_admins,"
|
||||||
|
"ctr_centers,"
|
||||||
|
"deg_degrees,"
|
||||||
|
"crs_courses,"
|
||||||
|
"crs_requests"
|
||||||
|
" WHERE usr_admins.UsrCod=%ld"
|
||||||
|
" AND usr_admins.Scope='%s'"
|
||||||
|
" AND usr_admins.Cod=deg_degrees.DegCod"
|
||||||
|
" AND deg_degrees.CtrCod=ctr_centers.CtrCod"
|
||||||
|
" AND ctr_centers.InsCod=%ld"
|
||||||
|
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||||
|
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
||||||
|
" AND ((1<<crs_requests.Role)&%u)<>0"
|
||||||
|
" ORDER BY crs_requests.RequestTime DESC",
|
||||||
|
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
|
Sco_GetDBStrFromScope (HieLvl_DEG),
|
||||||
|
Gbl.Hierarchy.Ins.InsCod,
|
||||||
|
RolesSelected);
|
||||||
|
case Rol_CTR_ADM:
|
||||||
|
// Requests in centers of this institution administrated by me
|
||||||
|
return (unsigned)
|
||||||
|
DB_QuerySELECT (mysql_res,"can not get requests for enrolment",
|
||||||
|
"SELECT crs_requests.ReqCod," // row[0]
|
||||||
|
"crs_requests.CrsCod," // row[1]
|
||||||
|
"crs_requests.UsrCod," // row[2]
|
||||||
|
"crs_requests.Role," // row[3]
|
||||||
|
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
||||||
|
" FROM usr_admins,"
|
||||||
|
"ctr_centers,"
|
||||||
|
"deg_degrees,"
|
||||||
|
"crs_courses,"
|
||||||
|
"crs_requests"
|
||||||
|
" WHERE usr_admins.UsrCod=%ld"
|
||||||
|
" AND usr_admins.Scope='%s'"
|
||||||
|
" AND usr_admins.Cod=ctr_centers.CtrCod"
|
||||||
|
" AND ctr_centers.InsCod=%ld"
|
||||||
|
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||||
|
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||||
|
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
||||||
|
" AND ((1<<crs_requests.Role)&%u)<>0"
|
||||||
|
" ORDER BY crs_requests.RequestTime DESC",
|
||||||
|
Gbl.Usrs.Me.UsrDat.UsrCod,Sco_GetDBStrFromScope (HieLvl_CTR),
|
||||||
|
Gbl.Hierarchy.Ins.InsCod,
|
||||||
|
RolesSelected);
|
||||||
|
case Rol_INS_ADM: // If I am logged as admin of this institution, I can view all the requesters from this institution
|
||||||
|
case Rol_SYS_ADM:
|
||||||
|
// Requests in any course of this institution
|
||||||
|
return (unsigned)
|
||||||
|
DB_QuerySELECT (mysql_res,"can not get requests for enrolment",
|
||||||
|
"SELECT crs_requests.ReqCod," // row[0]
|
||||||
|
"crs_requests.CrsCod," // row[1]
|
||||||
|
"crs_requests.UsrCod," // row[2]
|
||||||
|
"crs_requests.Role," // row[3]
|
||||||
|
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
||||||
|
" FROM ctr_centers,"
|
||||||
|
"deg_degrees,"
|
||||||
|
"crs_courses,"
|
||||||
|
"crs_requests"
|
||||||
|
" WHERE ctr_centers.InsCod=%ld"
|
||||||
|
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||||
|
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||||
|
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
||||||
|
" AND ((1<<crs_requests.Role)&%u)<>0"
|
||||||
|
" ORDER BY crs_requests.RequestTime DESC",
|
||||||
|
Gbl.Hierarchy.Ins.InsCod,
|
||||||
|
RolesSelected);
|
||||||
|
default:
|
||||||
|
Err_NoPermissionExit ();
|
||||||
|
return 0; // Not reached
|
||||||
|
}
|
||||||
|
return 0; // Not reached
|
||||||
|
case HieLvl_CTR: // Show requesters for the current center
|
||||||
|
switch (Gbl.Usrs.Me.Role.Logged)
|
||||||
|
{
|
||||||
|
case Rol_TCH:
|
||||||
|
// Requests in courses of this center in which I am teacher
|
||||||
|
return (unsigned)
|
||||||
|
DB_QuerySELECT (mysql_res,"can not get requests for enrolment",
|
||||||
|
"SELECT crs_requests.ReqCod," // row[0]
|
||||||
|
"crs_requests.CrsCod," // row[1]
|
||||||
|
"crs_requests.UsrCod," // row[2]
|
||||||
|
"crs_requests.Role," // row[3]
|
||||||
|
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
||||||
|
" FROM crs_users,"
|
||||||
|
"deg_degrees,"
|
||||||
|
"crs_courses,"
|
||||||
|
"crs_requests"
|
||||||
|
" WHERE crs_users.UsrCod=%ld"
|
||||||
|
" AND crs_users.Role=%u"
|
||||||
|
" AND crs_users.CrsCod=crs_courses.CrsCod"
|
||||||
|
" AND crs_courses.DegCod=deg_degrees.DegCod"
|
||||||
|
" AND deg_degrees.CtrCod=%ld"
|
||||||
|
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
||||||
|
" AND ((1<<crs_requests.Role)&%u)<>0"
|
||||||
|
" ORDER BY crs_requests.RequestTime DESC",
|
||||||
|
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
|
(unsigned) Rol_TCH,
|
||||||
|
Gbl.Hierarchy.Ctr.CtrCod,
|
||||||
|
RolesSelected);
|
||||||
|
case Rol_DEG_ADM:
|
||||||
|
// Requests in degrees of this center administrated by me
|
||||||
|
return (unsigned)
|
||||||
|
DB_QuerySELECT (mysql_res,"can not get requests for enrolment",
|
||||||
|
"SELECT crs_requests.ReqCod," // row[0]
|
||||||
|
"crs_requests.CrsCod," // row[1]
|
||||||
|
"crs_requests.UsrCod," // row[2]
|
||||||
|
"crs_requests.Role," // row[3]
|
||||||
|
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
||||||
|
" FROM usr_admins,"
|
||||||
|
"deg_degrees,"
|
||||||
|
"crs_courses,"
|
||||||
|
"crs_requests"
|
||||||
|
" WHERE usr_admins.UsrCod=%ld"
|
||||||
|
" AND usr_admins.Scope='%s'"
|
||||||
|
" AND usr_admins.Cod=deg_degrees.DegCod"
|
||||||
|
" AND deg_degrees.CtrCod=%ld"
|
||||||
|
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||||
|
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
||||||
|
" AND ((1<<crs_requests.Role)&%u)<>0"
|
||||||
|
" ORDER BY crs_requests.RequestTime DESC",
|
||||||
|
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
|
Sco_GetDBStrFromScope (HieLvl_DEG),
|
||||||
|
Gbl.Hierarchy.Ctr.CtrCod,
|
||||||
|
RolesSelected);
|
||||||
|
case Rol_CTR_ADM: // If I am logged as admin of this center , I can view all the requesters from this center
|
||||||
|
case Rol_INS_ADM: // If I am logged as admin of this institution, I can view all the requesters from this center
|
||||||
|
case Rol_SYS_ADM:
|
||||||
|
// Request in any course of this center
|
||||||
|
return (unsigned)
|
||||||
|
DB_QuerySELECT (mysql_res,"can not get requests for enrolment",
|
||||||
|
"SELECT crs_requests.ReqCod," // row[0]
|
||||||
|
"crs_requests.CrsCod," // row[1]
|
||||||
|
"crs_requests.UsrCod," // row[2]
|
||||||
|
"crs_requests.Role," // row[3]
|
||||||
|
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
||||||
|
" FROM deg_degrees,"
|
||||||
|
"crs_courses,"
|
||||||
|
"crs_requests"
|
||||||
|
" WHERE deg_degrees.CtrCod=%ld"
|
||||||
|
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||||
|
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
||||||
|
" AND ((1<<crs_requests.Role)&%u)<>0"
|
||||||
|
" ORDER BY crs_requests.RequestTime DESC",
|
||||||
|
Gbl.Hierarchy.Ctr.CtrCod,
|
||||||
|
RolesSelected);
|
||||||
|
default:
|
||||||
|
Err_NoPermissionExit ();
|
||||||
|
return 0; // Not reached
|
||||||
|
}
|
||||||
|
return 0; // Not reached
|
||||||
|
case HieLvl_DEG: // Show requesters for the current degree
|
||||||
|
switch (Gbl.Usrs.Me.Role.Logged)
|
||||||
|
{
|
||||||
|
case Rol_TCH:
|
||||||
|
// Requests in courses of this degree in which I am teacher
|
||||||
|
return (unsigned)
|
||||||
|
DB_QuerySELECT (mysql_res,"can not get requests for enrolment",
|
||||||
|
"SELECT crs_requests.ReqCod," // row[0]
|
||||||
|
"crs_requests.CrsCod," // row[1]
|
||||||
|
"crs_requests.UsrCod," // row[2]
|
||||||
|
"crs_requests.Role," // row[3]
|
||||||
|
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
||||||
|
" FROM crs_users,"
|
||||||
|
"crs_courses,"
|
||||||
|
"crs_requests"
|
||||||
|
" WHERE crs_users.UsrCod=%ld"
|
||||||
|
" AND crs_users.Role=%u"
|
||||||
|
" AND crs_users.CrsCod=crs_courses.CrsCod"
|
||||||
|
" AND crs_courses.DegCod=%ld"
|
||||||
|
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
||||||
|
" AND ((1<<crs_requests.Role)&%u)<>0"
|
||||||
|
" ORDER BY crs_requests.RequestTime DESC",
|
||||||
|
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
|
(unsigned) Rol_TCH,
|
||||||
|
Gbl.Hierarchy.Deg.DegCod,
|
||||||
|
RolesSelected);
|
||||||
|
case Rol_DEG_ADM: // If I am logged as admin of this degree , I can view all the requesters from this degree
|
||||||
|
case Rol_CTR_ADM: // If I am logged as admin of this center , I can view all the requesters from this degree
|
||||||
|
case Rol_INS_ADM: // If I am logged as admin of this institution, I can view all the requesters from this degree
|
||||||
|
case Rol_SYS_ADM:
|
||||||
|
// Requests in any course of this degree
|
||||||
|
return (unsigned)
|
||||||
|
DB_QuerySELECT (mysql_res,"can not get requests for enrolment",
|
||||||
|
"SELECT crs_requests.ReqCod," // row[0]
|
||||||
|
"crs_requests.CrsCod," // row[1]
|
||||||
|
"crs_requests.UsrCod," // row[2]
|
||||||
|
"crs_requests.Role," // row[3]
|
||||||
|
"UNIX_TIMESTAMP(crs_requests.RequestTime)" // row[4]
|
||||||
|
" FROM crs_courses,"
|
||||||
|
"crs_requests"
|
||||||
|
" WHERE crs_courses.DegCod=%ld"
|
||||||
|
" AND crs_courses.CrsCod=crs_requests.CrsCod"
|
||||||
|
" AND ((1<<crs_requests.Role)&%u)<>0"
|
||||||
|
" ORDER BY crs_requests.RequestTime DESC",
|
||||||
|
Gbl.Hierarchy.Deg.DegCod,
|
||||||
|
RolesSelected);
|
||||||
|
default:
|
||||||
|
Err_NoPermissionExit ();
|
||||||
|
return 0; // Not reached
|
||||||
|
}
|
||||||
|
return 0; // Not reached
|
||||||
|
case HieLvl_CRS: // Show requesters for the current course
|
||||||
|
switch (Gbl.Usrs.Me.Role.Logged)
|
||||||
|
{
|
||||||
|
case Rol_TCH: // If I am logged as teacher of this course , I can view all the requesters from this course
|
||||||
|
case Rol_DEG_ADM: // If I am logged as admin of this degree , I can view all the requesters from this course
|
||||||
|
case Rol_CTR_ADM: // If I am logged as admin of this center , I can view all the requesters from this course
|
||||||
|
case Rol_INS_ADM: // If I am logged as admin of this institution, I can view all the requesters from this course
|
||||||
|
case Rol_SYS_ADM:
|
||||||
|
// Requests in this course
|
||||||
|
return (unsigned)
|
||||||
|
DB_QuerySELECT (mysql_res,"can not get requests for enrolment",
|
||||||
|
"SELECT ReqCod," // row[0]
|
||||||
|
"CrsCod," // row[1]
|
||||||
|
"UsrCod," // row[2]
|
||||||
|
"Role," // row[3]
|
||||||
|
"UNIX_TIMESTAMP(RequestTime)" // row[4]
|
||||||
|
" FROM crs_requests"
|
||||||
|
" WHERE CrsCod=%ld"
|
||||||
|
" AND ((1<<Role)&%u)<>0"
|
||||||
|
" ORDER BY RequestTime DESC",
|
||||||
|
Gbl.Hierarchy.Crs.CrsCod,
|
||||||
|
RolesSelected);
|
||||||
|
default:
|
||||||
|
Err_NoPermissionExit ();
|
||||||
|
return 0; // Not reached
|
||||||
|
}
|
||||||
|
return 0; // Not reached
|
||||||
|
default:
|
||||||
|
Err_WrongScopeExit ();
|
||||||
|
return 0; // Not reached
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/****** Get enrolment request (user and requested role) given its code *******/
|
/****** Get enrolment request (user and requested role) given its code *******/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -151,10 +685,10 @@ unsigned Enr_DB_GetEnrolmentRequestByCod (MYSQL_RES **mysql_res,long ReqCod)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*** Try to get and old request of me in the current course from database ****/
|
/********** Try to get an enrolment request from a user in a course **********/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
long Enr_DB_GetMyLastEnrolmentRequestInCurrentCrs (void)
|
long Enr_DB_GetUsrEnrolmentRequestInCrs (long CrsCod,long UsrCod)
|
||||||
{
|
{
|
||||||
return
|
return
|
||||||
DB_QuerySELECTCode ("can not get enrolment request",
|
DB_QuerySELECTCode ("can not get enrolment request",
|
||||||
|
@ -162,8 +696,8 @@ long Enr_DB_GetMyLastEnrolmentRequestInCurrentCrs (void)
|
||||||
" FROM crs_requests"
|
" FROM crs_requests"
|
||||||
" WHERE CrsCod=%ld"
|
" WHERE CrsCod=%ld"
|
||||||
" AND UsrCod=%ld",
|
" AND UsrCod=%ld",
|
||||||
Gbl.Hierarchy.Crs.CrsCod,
|
CrsCod,
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod);
|
UsrCod);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -202,6 +736,18 @@ void Enr_DB_UpdateMyEnrolmentRequestInCurrentCrs (long ReqCod,Rol_Role_t NewRole
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod);
|
Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/************************** Remove enrolment request *************************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
void Enr_DB_RemRequest (long ReqCod)
|
||||||
|
{
|
||||||
|
DB_QueryDELETE ("can not remove a request for enrolment",
|
||||||
|
"DELETE FROM crs_requests"
|
||||||
|
" WHERE ReqCod=%ld",
|
||||||
|
ReqCod);
|
||||||
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*********** Remove all users' requests for inscription in a course **********/
|
/*********** Remove all users' requests for inscription in a course **********/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -287,3 +833,19 @@ void Enr_DB_RemAdmins (HieLvl_Level_t Scope,long Cod)
|
||||||
Sco_GetDBStrFromScope (Scope),
|
Sco_GetDBStrFromScope (Scope),
|
||||||
Cod);
|
Cod);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/***** Remove user as administrator of an institution, center or degree ******/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
void Enr_DB_RemAdmin (long UsrCod,HieLvl_Level_t Scope,long Cod)
|
||||||
|
{
|
||||||
|
DB_QueryDELETE ("can not remove an administrator",
|
||||||
|
"DELETE FROM usr_admins"
|
||||||
|
" WHERE UsrCod=%ld"
|
||||||
|
" AND Scope='%s'"
|
||||||
|
" AND Cod=%ld",
|
||||||
|
UsrCod,
|
||||||
|
Sco_GetDBStrFromScope (Scope),
|
||||||
|
Cod);
|
||||||
|
}
|
||||||
|
|
|
@ -52,17 +52,21 @@ void Enr_DB_UpdateInstitutionCenterDepartment (void);
|
||||||
|
|
||||||
void Enr_DB_AcceptUsrInCrs (long UsrCod);
|
void Enr_DB_AcceptUsrInCrs (long UsrCod);
|
||||||
|
|
||||||
|
unsigned Enr_DB_GetEnrolmentRequests (MYSQL_RES **mysql_res,unsigned RolesSelected);
|
||||||
unsigned Enr_DB_GetEnrolmentRequestByCod (MYSQL_RES **mysql_res,long ReqCod);
|
unsigned Enr_DB_GetEnrolmentRequestByCod (MYSQL_RES **mysql_res,long ReqCod);
|
||||||
long Enr_DB_GetMyLastEnrolmentRequestInCurrentCrs (void);
|
long Enr_DB_GetUsrEnrolmentRequestInCrs (long CrsCod,long UsrCod);
|
||||||
long Enr_DB_CreateMyEnrolmentRequestInCurrentCrs (Rol_Role_t NewRole);
|
long Enr_DB_CreateMyEnrolmentRequestInCurrentCrs (Rol_Role_t NewRole);
|
||||||
void Enr_DB_UpdateMyEnrolmentRequestInCurrentCrs (long ReqCod,Rol_Role_t NewRole);
|
void Enr_DB_UpdateMyEnrolmentRequestInCurrentCrs (long ReqCod,Rol_Role_t NewRole);
|
||||||
|
void Enr_DB_RemRequest (long ReqCod);
|
||||||
void Enr_DB_RemCrsRequests (long CrsCod);
|
void Enr_DB_RemCrsRequests (long CrsCod);
|
||||||
void Enr_DB_RemUsrRequests (long UsrCod);
|
void Enr_DB_RemUsrRequests (long UsrCod);
|
||||||
|
|
||||||
void Enr_DB_RemAllUsrsFromCrsSettings (long CrsCod);
|
void Enr_DB_RemAllUsrsFromCrsSettings (long CrsCod);
|
||||||
void Enr_DB_RemAllUsrsFromCrs (long CrsCod);
|
void Enr_DB_RemAllUsrsFromCrs (long CrsCod);
|
||||||
void Enr_DB_RemUsrFromAllCrss (long UsrCod);
|
void Enr_DB_RemUsrFromAllCrss (long UsrCod);
|
||||||
|
|
||||||
void Enr_DB_RemUsrAsAdmin (long UsrCod);
|
void Enr_DB_RemUsrAsAdmin (long UsrCod);
|
||||||
void Enr_DB_RemAdmins (HieLvl_Level_t Scope,long Cod);
|
void Enr_DB_RemAdmins (HieLvl_Level_t Scope,long Cod);
|
||||||
|
void Enr_DB_RemAdmin (long UsrCod,HieLvl_Level_t Scope,long Cod);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue
Block a user