diff --git a/swad_announcement.c b/swad_announcement.c index 4ae75e5ee..bc717a7b7 100644 --- a/swad_announcement.c +++ b/swad_announcement.c @@ -237,8 +237,8 @@ static void Ann_DrawAnAnnouncement (struct Ann_Announcement *Announcement, /***** Icon to hide/unhide the announcement *****/ Ico_PutContextualIconToHideUnhide (ActionHideUnhide,NULL, // TODO: Put anchor Ann_PutParAnnCod,&Announcement->AnnCod, - (Announcement->Status == Ann_OBSOLETE_ANNOUNCEMENT) ? HidVis_HIDDEN : - HidVis_VISIBLE); + Announcement->Status == Ann_OBSOLETE_ANNOUNCEMENT ? HidVis_HIDDEN : + HidVis_VISIBLE); } /***** Write the subject of the announcement *****/ diff --git a/swad_call_for_exam.c b/swad_call_for_exam.c index 8c6bc4452..d17933b15 100644 --- a/swad_call_for_exam.c +++ b/swad_call_for_exam.c @@ -1496,7 +1496,8 @@ static void Cfe_PutIconsCallForExam (void *CallsForExams) Ico_PutContextualIconToHideUnhide (ActionHideUnhide,((struct Cfe_CallsForExams *) CallsForExams)->Anchor, Cfe_PutParExaCod, &((struct Cfe_CallsForExams *) CallsForExams)->ExaCod, - ((struct Cfe_CallsForExams *) CallsForExams)->CallForExam.Status == Cfe_HIDDEN_CALL_FOR_EXAM); + ((struct Cfe_CallsForExams *) CallsForExams)->CallForExam.Status == Cfe_HIDDEN_CALL_FOR_EXAM ? HidVis_HIDDEN : + HidVis_VISIBLE); break; case Cfe_DELETED_CALL_FOR_EXAM: // Not applicable here break; diff --git a/swad_changelog.h b/swad_changelog.h index cea6291ba..650a229f3 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.14 (2023-09-10)" +#define Log_PLATFORM_VERSION "SWAD 22.120.15 (2023-09-10)" #define CSS_FILE "swad22.120.4.css" #define JS_FILE "swad22.49.js" /* + Version 22.120.15:Sep 10, 2023 Code refactoring related to hidden-visible in projects. (337580 lines) Version 22.120.14:Sep 10, 2023 Code refactoring related to hidden-visible in program resources. (337590 lines) Version 22.120.13:Sep 10, 2023 Code refactoring related to hidden-visible in program items. (337587 lines) Version 22.120.12:Sep 10, 2023 Code refactoring related to hidden-visible in games. (337584 lines) diff --git a/swad_notice.c b/swad_notice.c index 2fd648eff..7af41d032 100644 --- a/swad_notice.c +++ b/swad_notice.c @@ -553,7 +553,8 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing, /***** Icon to change the status of the notice *****/ Ico_PutContextualIconToHideUnhide (ActionHideUnhide,NULL, // TODO: Put anchor Not_PutParNotCod,&Notice->NotCod, - Notice->Status == Not_OBSOLETE_NOTICE); + Notice->Status == Not_OBSOLETE_NOTICE ? HidVis_HIDDEN : + HidVis_VISIBLE); } /* Write the date */ diff --git a/swad_project.c b/swad_project.c index 3d65117d5..017338a15 100644 --- a/swad_project.c +++ b/swad_project.c @@ -295,6 +295,8 @@ static void Prj_GetListProjects (struct Prj_Projects *Projects); static void Prj_ResetProject (struct Prj_Project *Prj); +static void Prj_HideUnhideProject (HidVis_HiddenOrVisible_t HiddenOrVisible); + static void Prj_ReqCreatOrEditPrj (struct Prj_Projects *Projects); static void Prj_PutFormProject (struct Prj_Projects *Projects,bool ItsANewProject); static void Prj_EditOneProjectTxtArea (const char *Id, @@ -3171,7 +3173,8 @@ static void Prj_PutIconsToRemEditOnePrj (struct Prj_Projects *Projects, /***** Icon to hide/unhide project *****/ Ico_PutContextualIconToHideUnhide (ActionHideUnhide,Anchor, Prj_PutCurrentPars,Projects, - Projects->Prj.Hidden == Prj_HIDDEN); + Projects->Prj.Hidden == Prj_HIDDEN ? HidVis_HIDDEN : + HidVis_VISIBLE); /***** Icon to edit project *****/ Ico_PutContextualIconToEdit (ActEdiOnePrj,NULL, @@ -3562,45 +3565,20 @@ void Prj_RemoveProject (void) } /*****************************************************************************/ -/****************************** Hide a project *******************************/ +/*************************** Hide/unhide a project ***************************/ /*****************************************************************************/ void Prj_HideProject (void) { - struct Prj_Projects Projects; - - /***** Reset projects *****/ - Prj_ResetPrjsAndReadConfig (&Projects); - - /***** Allocate memory for the project *****/ - Prj_AllocMemProject (&Projects.Prj); - - /***** Get parameters *****/ - Prj_GetPars (&Projects); - Projects.Prj.PrjCod = ParCod_GetAndCheckPar (ParCod_Prj); - - /***** Get data of the project from database *****/ - Prj_GetProjectDataByCod (&Projects.Prj); - - /***** Check if I can edit this project *****/ - if (!Prj_CheckIfICanEditProject (&Projects.Prj)) - Err_NoPermissionExit (); - - /***** Hide project *****/ - Prj_DB_HideOrUnhideProject (Projects.Prj.PrjCod,true); - - /***** Free memory of the project *****/ - Prj_FreeMemProject (&Projects.Prj); - - /***** Show projects again *****/ - Prj_ShowProjects (&Projects); + Prj_HideUnhideProject (HidVis_HIDDEN); } -/*****************************************************************************/ -/****************************** Unhide a project *****************************/ -/*****************************************************************************/ - void Prj_UnhideProject (void) + { + Prj_HideUnhideProject (HidVis_VISIBLE); + } + +static void Prj_HideUnhideProject (HidVis_HiddenOrVisible_t HiddenOrVisible) { struct Prj_Projects Projects; @@ -3621,8 +3599,8 @@ void Prj_UnhideProject (void) if (!Prj_CheckIfICanEditProject (&Projects.Prj)) Err_NoPermissionExit (); - /***** Unhide project *****/ - Prj_DB_HideOrUnhideProject (Projects.Prj.PrjCod,false); + /***** Hide/unhide project *****/ + Prj_DB_HideOrUnhideProject (Projects.Prj.PrjCod,HiddenOrVisible); /***** Free memory of the project *****/ Prj_FreeMemProject (&Projects.Prj); diff --git a/swad_project_database.c b/swad_project_database.c index 80d2e1321..429fb9f92 100644 --- a/swad_project_database.c +++ b/swad_project_database.c @@ -194,15 +194,16 @@ void Prj_DB_AddUsrToPrj (long PrjCod,Prj_RoleInProject_t RoleInProject,long UsrC /****************************** Hide a project *******************************/ /*****************************************************************************/ -void Prj_DB_HideOrUnhideProject (long PrjCod,bool Hide) +void Prj_DB_HideOrUnhideProject (long PrjCod, + HidVis_HiddenOrVisible_t HiddenOrVisible) { DB_QueryUPDATE ("can not hide/unhide project", "UPDATE prj_projects" " SET Hidden='%c'" " WHERE PrjCod=%ld" " AND CrsCod=%ld", // Extra check - Hide ? 'Y' : - 'N', + HiddenOrVisible == HidVis_HIDDEN ? 'Y' : + 'N', PrjCod, Gbl.Hierarchy.Crs.CrsCod); } diff --git a/swad_project_database.h b/swad_project_database.h index 306f0bb4b..b0e2330bc 100644 --- a/swad_project_database.h +++ b/swad_project_database.h @@ -39,7 +39,8 @@ void Prj_DB_UnlockProjectEdition (long PrjCod); long Prj_DB_CreateProject (const struct Prj_Project *Prj); void Prj_DB_UpdateProject (const struct Prj_Project *Prj); void Prj_DB_AddUsrToPrj (long PrjCod,Prj_RoleInProject_t RoleInProject,long UsrCod); -void Prj_DB_HideOrUnhideProject (long PrjCod,bool Hide); +void Prj_DB_HideOrUnhideProject (long PrjCod, + HidVis_HiddenOrVisible_t HiddenOrVisible); void Prj_DB_UpdateReview (const struct Prj_Project *Prj); unsigned Prj_DB_GetListProjects (MYSQL_RES **mysql_res,