mirror of https://github.com/acanas/swad-core.git
Version 21.52.3: Nov 06, 2021 Queries moved to module swad_user_database.
This commit is contained in:
parent
e07963d8b1
commit
01e2b94d53
|
@ -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.
|
||||
*/
|
||||
#define Log_PLATFORM_VERSION "SWAD 21.52.2 (2021-11-06)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 21.52.3 (2021-11-06)"
|
||||
#define CSS_FILE "swad20.45.css"
|
||||
#define JS_FILE "swad20.69.1.js"
|
||||
/*
|
||||
TODO: Rename CENTRE to CENTER in help wiki.
|
||||
TODO: Rename ASSESSMENT.Announcements to ASSESSMENT.Calls_for_exams
|
||||
|
||||
Version 21.52.3: Nov 06, 2021 Queries moved to module swad_user_database. (321894 lines)
|
||||
Version 21.52.2: Nov 06, 2021 Query refactoring related to SELECT DISTINCT and UNION. (321899 lines)
|
||||
Version 21.52.1: Nov 06, 2021 Fixed database query in departments. (321828 lines)
|
||||
Version 21.52: Nov 05, 2021 Changed SELECT COUNT to SELECT EXISTS in some queries. (321833 lines)
|
||||
|
|
92
swad_user.c
92
swad_user.c
|
@ -3768,100 +3768,10 @@ static void Usr_GetAdmsLst (HieLvl_Level_t Scope)
|
|||
|
||||
static void Usr_GetGstsLst (HieLvl_Level_t Scope)
|
||||
{
|
||||
const char *QueryFields =
|
||||
"UsrCod,"
|
||||
"EncryptedUsrCod,"
|
||||
"Password,"
|
||||
"Surname1,"
|
||||
"Surname2,"
|
||||
"FirstName,"
|
||||
"Sex,"
|
||||
"Photo,"
|
||||
"PhotoVisibility,"
|
||||
"CtyCod,"
|
||||
"InsCod";
|
||||
/*
|
||||
row[ 0]: usr_data.UsrCod
|
||||
row[ 1]: usr_data.EncryptedUsrCod
|
||||
row[ 2]: usr_data.Password
|
||||
row[ 3]: usr_data.Surname1
|
||||
row[ 4]: usr_data.Surname2
|
||||
row[ 5]: usr_data.FirstName
|
||||
row[ 6]: usr_data.Sex
|
||||
row[ 7]: usr_data.Photo
|
||||
row[ 8]: usr_data.PhotoVisibility
|
||||
row[ 9]: usr_data.CtyCod
|
||||
row[10]: usr_data.InsCod
|
||||
*/
|
||||
char *Query = NULL;
|
||||
|
||||
/***** Build query *****/
|
||||
switch (Scope)
|
||||
{
|
||||
case HieLvl_SYS:
|
||||
DB_BuildQuery (&Query,
|
||||
"SELECT %s"
|
||||
" FROM usr_data"
|
||||
" WHERE UsrCod NOT IN"
|
||||
" (SELECT UsrCod"
|
||||
" FROM crs_users)"
|
||||
" ORDER BY Surname1,"
|
||||
"Surname2,"
|
||||
"FirstName,"
|
||||
"UsrCod",
|
||||
QueryFields);
|
||||
break;
|
||||
case HieLvl_CTY:
|
||||
DB_BuildQuery (&Query,
|
||||
"SELECT %s"
|
||||
" FROM usr_data"
|
||||
" WHERE (CtyCod=%ld"
|
||||
" OR"
|
||||
" InsCtyCod=%ld)"
|
||||
" AND UsrCod NOT IN"
|
||||
" (SELECT UsrCod"
|
||||
" FROM crs_users)"
|
||||
" ORDER BY Surname1,"
|
||||
"Surname2,"
|
||||
"FirstName,"
|
||||
"UsrCod",
|
||||
QueryFields,
|
||||
Gbl.Hierarchy.Cty.CtyCod,
|
||||
Gbl.Hierarchy.Cty.CtyCod);
|
||||
break;
|
||||
case HieLvl_INS:
|
||||
DB_BuildQuery (&Query,
|
||||
"SELECT %s"
|
||||
" FROM usr_data"
|
||||
" WHERE InsCod=%ld"
|
||||
" AND UsrCod NOT IN"
|
||||
" (SELECT UsrCod"
|
||||
" FROM crs_users)"
|
||||
" ORDER BY Surname1,"
|
||||
"Surname2,"
|
||||
"FirstName,"
|
||||
"UsrCod",
|
||||
QueryFields,
|
||||
Gbl.Hierarchy.Ins.InsCod);
|
||||
break;
|
||||
case HieLvl_CTR:
|
||||
DB_BuildQuery (&Query,
|
||||
"SELECT %s"
|
||||
" FROM usr_data"
|
||||
" WHERE CtrCod=%ld"
|
||||
" AND UsrCod NOT IN"
|
||||
" (SELECT UsrCod"
|
||||
" FROM crs_users)"
|
||||
" ORDER BY Surname1,"
|
||||
"Surname2,"
|
||||
"FirstName,"
|
||||
"UsrCod",
|
||||
QueryFields,
|
||||
Gbl.Hierarchy.Ctr.CtrCod);
|
||||
break;
|
||||
default: // not aplicable
|
||||
return;
|
||||
}
|
||||
Usr_DB_BuildQueryToGetGstsLst (Scope,&Query);
|
||||
|
||||
/***** Get list of students from database *****/
|
||||
Usr_GetListUsrsFromQuery (Query,Rol_GST,Scope);
|
||||
|
|
|
@ -205,6 +205,92 @@ bool Usr_DB_FindStrInUsrsNames (const char *Str)
|
|||
Str);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/************************ Get list with data of guests ***********************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Usr_DB_BuildQueryToGetGstsLst (HieLvl_Level_t Scope,char **Query)
|
||||
{
|
||||
static const char *QueryFields =
|
||||
"UsrCod," // row[ 0]
|
||||
"EncryptedUsrCod," // row[ 1]
|
||||
"Password," // row[ 2]
|
||||
"Surname1," // row[ 3]
|
||||
"Surname2," // row[ 4]
|
||||
"FirstName," // row[ 5]
|
||||
"Sex," // row[ 6]
|
||||
"Photo," // row[ 7]
|
||||
"PhotoVisibility," // row[ 8]
|
||||
"CtyCod," // row[ 9]
|
||||
"InsCod"; // row[10]
|
||||
static const char *OrderBySubQuery =
|
||||
" ORDER BY Surname1,"
|
||||
"Surname2,"
|
||||
"FirstName,"
|
||||
"UsrCod";
|
||||
|
||||
/***** Build query *****/
|
||||
switch (Scope)
|
||||
{
|
||||
case HieLvl_SYS:
|
||||
DB_BuildQuery (Query,
|
||||
"SELECT %s"
|
||||
" FROM usr_data"
|
||||
" WHERE UsrCod NOT IN"
|
||||
" (SELECT UsrCod"
|
||||
" FROM crs_users)"
|
||||
"%s",
|
||||
QueryFields,
|
||||
OrderBySubQuery);
|
||||
return;
|
||||
case HieLvl_CTY:
|
||||
DB_BuildQuery (Query,
|
||||
"SELECT %s"
|
||||
" FROM usr_data"
|
||||
" WHERE (CtyCod=%ld"
|
||||
" OR"
|
||||
" InsCtyCod=%ld)"
|
||||
" AND UsrCod NOT IN"
|
||||
" (SELECT UsrCod"
|
||||
" FROM crs_users)"
|
||||
"%s",
|
||||
QueryFields,
|
||||
Gbl.Hierarchy.Cty.CtyCod,
|
||||
Gbl.Hierarchy.Cty.CtyCod,
|
||||
OrderBySubQuery);
|
||||
return;
|
||||
case HieLvl_INS:
|
||||
DB_BuildQuery (Query,
|
||||
"SELECT %s"
|
||||
" FROM usr_data"
|
||||
" WHERE InsCod=%ld"
|
||||
" AND UsrCod NOT IN"
|
||||
" (SELECT UsrCod"
|
||||
" FROM crs_users)"
|
||||
"%s",
|
||||
QueryFields,
|
||||
Gbl.Hierarchy.Ins.InsCod,
|
||||
OrderBySubQuery);
|
||||
return;
|
||||
case HieLvl_CTR:
|
||||
DB_BuildQuery (Query,
|
||||
"SELECT %s"
|
||||
" FROM usr_data"
|
||||
" WHERE CtrCod=%ld"
|
||||
" AND UsrCod NOT IN"
|
||||
" (SELECT UsrCod"
|
||||
" FROM crs_users)"
|
||||
"%s",
|
||||
QueryFields,
|
||||
Gbl.Hierarchy.Ctr.CtrCod,
|
||||
OrderBySubQuery);
|
||||
return;
|
||||
default: // not aplicable
|
||||
Err_WrongScopeExit ();
|
||||
return; // Not reached
|
||||
}
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/****** Build query to get the user's codes of all students of a degree ******/
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -68,6 +68,7 @@ void Usr_DB_UpdateMyLastWhatToSearch (void);
|
|||
bool Usr_DB_ChkIfUsrCodExists (long UsrCod);
|
||||
long Usr_DB_GetUsrCodFromEncryptedUsrCod (const char EncryptedUsrCod[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1]);
|
||||
bool Usr_DB_FindStrInUsrsNames (const char *Str);
|
||||
void Usr_DB_BuildQueryToGetGstsLst (HieLvl_Level_t Scope,char **Query);
|
||||
void Usr_DB_BuildQueryToGetUnorderedStdsCodesInDeg (long DegCod,char **Query);
|
||||
unsigned Usr_DB_GetNumUsrsWhoChoseAnOption (const char *SubQuery);
|
||||
unsigned Usr_DB_GetOldUsrs (MYSQL_RES **mysql_res,time_t SecondsWithoutAccess);
|
||||
|
|
Loading…
Reference in New Issue