Version 22.120.11:Sep 09, 2023 Code refactoring related to hidden-visible in exam sessions.

This commit is contained in:
acanas 2023-09-09 18:04:39 +02:00
parent 4b24021f9f
commit 516a789d1e
4 changed files with 22 additions and 36 deletions

View File

@ -629,10 +629,11 @@ TODO: Emilce Barrera Mesa: Podr
TODO: Emilce Barrera Mesa: Mis estudiantes presentan muchas dificultades a la hora de poner la foto porque la plataforma es muy exigente respecto al fondo de la imagen.
*/
#define Log_PLATFORM_VERSION "SWAD 22.120.10 (2023-09-09)"
#define Log_PLATFORM_VERSION "SWAD 22.120.11 (2023-09-09)"
#define CSS_FILE "swad22.120.4.css"
#define JS_FILE "swad22.49.js"
/*
Version 22.120.11:Sep 09, 2023 Code refactoring related to hidden-visible in exam sessions. (337594 lines)
Version 22.120.10:Sep 09, 2023 Code refactoring related to hidden-visible in exams. (337604 lines)
Version 22.120.9: Sep 09, 2023 Code refactoring related to hidden-visible in attendance. (337607 lines)
Version 22.120.8: Sep 09, 2023 Code refactoring related to hidden-visible in assignments. (337610 lines)

View File

@ -1530,7 +1530,8 @@ void Exa_DB_ToggleVisResultsSesUsr (const struct ExaSes_Session *Session)
/******************************** Hide a session *****************************/
/*****************************************************************************/
void Exa_DB_HideUnhideSession (const struct ExaSes_Session *Session,bool Hide)
void Exa_DB_HideUnhideSession (const struct ExaSes_Session *Session,
HidVis_HiddenOrVisible_t HiddenOrVisible)
{
DB_QueryUPDATE ("can not hide exam sessions",
"UPDATE exa_sessions,"
@ -1540,8 +1541,8 @@ void Exa_DB_HideUnhideSession (const struct ExaSes_Session *Session,bool Hide)
" AND exa_sessions.ExaCod=%ld" // Extra check
" AND exa_sessions.ExaCod=exa_exams.ExaCod"
" AND exa_exams.CrsCod=%ld", // Extra check
Hide ? 'Y' :
'N',
HiddenOrVisible == HidVis_HIDDEN ? 'Y' :
'N',
Session->SesCod,
Session->ExaCod,
Gbl.Hierarchy.Crs.CrsCod);

View File

@ -118,7 +118,8 @@ unsigned Exa_DB_GetSessions (MYSQL_RES **mysql_res,long ExaCod);
unsigned Exa_DB_GetSessionDataByCod (MYSQL_RES **mysql_res,long SesCod);
void Exa_DB_GetSessionTitle (long SesCod,char Title[ExaSes_MAX_BYTES_TITLE + 1]);
void Exa_DB_ToggleVisResultsSesUsr (const struct ExaSes_Session *Session);
void Exa_DB_HideUnhideSession (const struct ExaSes_Session *Session,bool Hide);
void Exa_DB_HideUnhideSession (const struct ExaSes_Session *Session,
HidVis_HiddenOrVisible_t HiddenOrVisible);
void Exa_DB_RemoveSessionFromAllTables (long SesCod);
void Exa_DB_RemoveAllSessionsFromExam (long ExaCod);
void Exa_DB_RemoveAllSessionsFromCrs (long CrsCod);

View File

@ -96,6 +96,8 @@ static void ExaSes_ListOneOrMoreSessionsResultTch (struct Exa_Exams *Exams,
static void ExaSes_GetSessionDataFromRow (MYSQL_RES *mysql_res,
struct ExaSes_Session *Session);
static void ExaSes_HideUnhideSession (HidVis_HiddenOrVisible_t HiddenOrVisible);
static void ExaSes_PutFormSession (struct ExaSes_Session *Session);
static void ExaSes_ParsFormSession (void *Session);
@ -859,10 +861,20 @@ void ExaSes_RemoveSession (void)
}
/*****************************************************************************/
/******************************** Hide a session *****************************/
/*************************** Hide/unhide a session ***************************/
/*****************************************************************************/
void ExaSes_HideSession (void)
{
ExaSes_HideUnhideSession (HidVis_HIDDEN);
}
void ExaSes_UnhideSession (void)
{
ExaSes_HideUnhideSession (HidVis_VISIBLE);
}
static void ExaSes_HideUnhideSession (HidVis_HiddenOrVisible_t HiddenOrVisible)
{
struct Exa_Exams Exams;
struct ExaSes_Session Session;
@ -880,36 +892,7 @@ void ExaSes_HideSession (void)
Err_NoPermissionExit ();
/***** Hide session *****/
Exa_DB_HideUnhideSession (&Session,true);
/***** Show current exam *****/
Exa_ShowOnlyOneExam (&Exams,&Session,
false); // Do not put form for session
}
/*****************************************************************************/
/***************************** Unhide an session *****************************/
/*****************************************************************************/
void ExaSes_UnhideSession (void)
{
struct Exa_Exams Exams;
struct ExaSes_Session Session;
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
Exa_ResetExam (&Exams.Exam);
ExaSes_ResetSession (&Session);
/***** Get and check parameters *****/
ExaSes_GetAndCheckPars (&Exams,&Session);
/***** Check if I can remove this exam session *****/
if (!ExaSes_CheckIfICanEditThisSession (Session.UsrCod))
Err_NoPermissionExit ();
/***** Unhide session *****/
Exa_DB_HideUnhideSession (&Session,false);
Exa_DB_HideUnhideSession (&Session,HiddenOrVisible);
/***** Show current exam *****/
Exa_ShowOnlyOneExam (&Exams,&Session,