Version 22.120.15:Sep 10, 2023 Code refactoring related to hidden-visible in projects.

This commit is contained in:
acanas 2023-09-10 15:20:25 +02:00
parent 4feb675e27
commit d9d7428c86
7 changed files with 27 additions and 44 deletions

View File

@ -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 *****/

View File

@ -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;

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.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)

View File

@ -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 */

View File

@ -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);

View File

@ -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);
}

View File

@ -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,