diff --git a/swad_assignment.c b/swad_assignment.c index 5d7b895b..36a971dd 100644 --- a/swad_assignment.c +++ b/swad_assignment.c @@ -89,6 +89,7 @@ static void Asg_GetAssignmentDataFromRow (MYSQL_RES **mysql_res, unsigned NumAsgs); static void Asg_ResetAssignment (struct Asg_Assignment *Asg); static void Asg_FreeListAssignments (struct Asg_Assignments *Assignments); +static void Asg_HideUnhideAssignment (HidVis_HiddenOrVisible_t HiddenOrVisible); static void Asg_ShowLstGrpsToEditAssignment (long AsgCod); static void Asg_CreateAssignment (struct Asg_Assignment *Asg,const char *Txt); static void Asg_UpdateAssignment (struct Asg_Assignment *Asg,const char *Txt); @@ -1059,39 +1060,20 @@ void Asg_RemoveAssignment (void) } /*****************************************************************************/ -/**************************** Hide an assignment *****************************/ +/************************* Hide/unhide an assignment *************************/ /*****************************************************************************/ void Asg_HideAssignment (void) { - struct Asg_Assignments Assignments; - - /***** Reset assignments *****/ - Asg_ResetAssignments (&Assignments); - - /***** Get parameters *****/ - Assignments.SelectedOrder = Asg_GetParAsgOrder (); - Gbl.Crs.Grps.WhichGrps = Grp_GetParWhichGroups (); - Assignments.CurrentPage = Pag_GetParPagNum (Pag_ASSIGNMENTS); - - /***** Get assignment code *****/ - Assignments.Asg.AsgCod = ParCod_GetAndCheckPar (ParCod_Asg); - - /***** Get data of the assignment from database *****/ - Asg_GetAssignmentDataByCod (&Assignments.Asg); - - /***** Hide assignment *****/ - Asg_DB_HideOrUnhideAssignment (Assignments.Asg.AsgCod,true); - - /***** Show all assignments again *****/ - Asg_ShowAllAssignments (&Assignments); + Asg_HideUnhideAssignment (HidVis_HIDDEN); } -/*****************************************************************************/ -/**************************** Unhide an assignment ***************************/ -/*****************************************************************************/ - void Asg_UnhideAssignment (void) + { + Asg_HideUnhideAssignment (HidVis_VISIBLE); + } + +static void Asg_HideUnhideAssignment (HidVis_HiddenOrVisible_t HiddenOrVisible) { struct Asg_Assignments Assignments; @@ -1110,7 +1092,7 @@ void Asg_UnhideAssignment (void) Asg_GetAssignmentDataByCod (&Assignments.Asg); /***** Unhide assignment *****/ - Asg_DB_HideOrUnhideAssignment (Assignments.Asg.AsgCod,false); + Asg_DB_HideOrUnhideAssignment (Assignments.Asg.AsgCod,HiddenOrVisible); /***** Show all assignments again *****/ Asg_ShowAllAssignments (&Assignments); diff --git a/swad_assignment_database.c b/swad_assignment_database.c index e856799b..bc8b5a42 100644 --- a/swad_assignment_database.c +++ b/swad_assignment_database.c @@ -298,15 +298,16 @@ void Asg_DB_UpdateAssignment (const struct Asg_Assignment *Asg,const char *Txt) /************************* Hide/unhide an assignment *************************/ /*****************************************************************************/ -void Asg_DB_HideOrUnhideAssignment (long AsgCod,bool Hide) +void Asg_DB_HideOrUnhideAssignment (long AsgCod, + HidVis_HiddenOrVisible_t HiddenOrVisible) { DB_QueryUPDATE ("can not hide/unhide assignment", "UPDATE asg_assignments" " SET Hidden='%c'" " WHERE AsgCod=%ld" " AND CrsCod=%ld", - Hide ? 'Y' : - 'N', + HiddenOrVisible == HidVis_HIDDEN ? 'Y' : + 'N', AsgCod, Gbl.Hierarchy.Crs.CrsCod); } diff --git a/swad_assignment_database.h b/swad_assignment_database.h index c337e5fb..c523c236 100644 --- a/swad_assignment_database.h +++ b/swad_assignment_database.h @@ -54,7 +54,8 @@ bool Asg_DB_CheckIfSimilarAssignmentExists (const char *Field,const char *Value, long Asg_DB_CreateAssignment (const struct Asg_Assignment *Asg,const char *Txt); void Asg_DB_UpdateAssignment (const struct Asg_Assignment *Asg,const char *Txt); -void Asg_DB_HideOrUnhideAssignment (long AsgCod,bool Hide); +void Asg_DB_HideOrUnhideAssignment (long AsgCod, + HidVis_HiddenOrVisible_t HiddenOrVisible); void Asg_DB_RemoveAssignment (long AsgCod); diff --git a/swad_changelog.h b/swad_changelog.h index 2491fec9..9037c28f 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -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.7 (2023-09-09)" +#define Log_PLATFORM_VERSION "SWAD 22.120.8 (2023-09-09)" #define CSS_FILE "swad22.120.4.css" #define JS_FILE "swad22.49.js" /* + Version 22.120.8: Sep 09, 2023 Code refactoring related to hidden-visible in assignments. (337610 lines) Version 22.120.7: Sep 09, 2023 Code refactoring related to hidden-visible in agendas. (337619 lines) Version 22.120.6: Sep 09, 2023 Fixed bug hiding documents. Reported by Francisco José Pelayo Valle. (337628 lines) Version 22.120.5: Sep 07, 2023 Fixed bugs in database queries related to buildings. (337625 lines)