From 32bbdd9031615bef9938b3d49b379a48f7c74e3e Mon Sep 17 00:00:00 2001 From: acanas Date: Wed, 12 Oct 2022 13:42:35 +0200 Subject: [PATCH] Version 22.43.2: Oct 12, 2022 Code refactoring in projects. --- swad_changelog.h | 3 +- swad_project.c | 210 ++++++++++++++++++++++++++++------------------- 2 files changed, 126 insertions(+), 87 deletions(-) diff --git a/swad_changelog.h b/swad_changelog.h index 46c58c456..d5263df91 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -606,10 +606,11 @@ TODO: Fix bug: error al enviar un mensaje a dos recipientes, error on duplicate TODO: Attach pdf files in multimedia. */ -#define Log_PLATFORM_VERSION "SWAD 22.43.1 (2022-10-12)" +#define Log_PLATFORM_VERSION "SWAD 22.43.2 (2022-10-12)" #define CSS_FILE "swad22.40.css" #define JS_FILE "swad21.100.js" /* + Version 22.43.2: Oct 12, 2022 Code refactoring in projects. (332984 lines) Version 22.43.1: Oct 12, 2022 Code refactoring in projects. (332952 lines) Version 22.43: Oct 11, 2022 Review of projects (not finished). (332930 lines) Version 22.42: Oct 11, 2022 Review of projects (not finished). (332738 lines) diff --git a/swad_project.c b/swad_project.c index 84870e079..72b188ad9 100644 --- a/swad_project.c +++ b/swad_project.c @@ -205,10 +205,17 @@ static void Prj_PutIconToShowAllData (struct Prj_Projects *Projects); static void Prj_PutIconsOnePrj (void *Projects); static void Prj_ShowProjectRow (struct Prj_Projects *Projects, - unsigned NumIndex, - Prj_ProjectView_t ProjectView); -static void Prj_ShowProjectReviewStatus (struct Prj_Projects *Projects, + Prj_ProjectView_t ProjectView, + unsigned NumIndex); +static void Prj_ShowProjectReviewStatus (const struct Prj_Projects *Projects, Prj_ProjectView_t ProjectView); +static void Prj_ShowProjectAssigned (const struct Prj_Projects *Projects, + Prj_ProjectView_t ProjectView, + const struct Prj_Faults *Faults); +static void Prj_ShowProjectNumStds (const struct Prj_Projects *Projects, + Prj_ProjectView_t ProjectView, + const struct Prj_Faults *Faults); + static bool Prj_CheckIfPrjIsFaulty (long PrjCod,struct Prj_Faults *Faults); static void Prj_PutWarningIcon (void); static void Prj_PutIconToToggleProject (unsigned UniqueId, @@ -548,7 +555,7 @@ static void Prj_ShowPrjsInCurrentPage (void *Projects) /* Show project */ Prj_ShowProjectRow ((struct Prj_Projects *) Projects, - NumIndex,Prj_LIST_PROJECTS); + Prj_LIST_PROJECTS,NumIndex); } /***** End table *****/ @@ -1275,7 +1282,7 @@ void Prj_ShowOneProjectWithFileBrowser (struct Prj_Projects *Projects) Prj_ShowProjectsHead (Projects,Prj_FILE_BROWSER_PROJECT); /***** Show project *****/ - Prj_ShowProjectRow (Projects,0,Prj_FILE_BROWSER_PROJECT); + Prj_ShowProjectRow (Projects,Prj_FILE_BROWSER_PROJECT,0); /***** End table *****/ HTM_TABLE_End (); @@ -1343,7 +1350,7 @@ void Prj_PrintOneProject (void) Prj_ShowProjectsHead (&Projects,Prj_PRINT_ONE_PROJECT); /***** Write project *****/ - Prj_ShowProjectRow (&Projects,0,Prj_PRINT_ONE_PROJECT); + Prj_ShowProjectRow (&Projects,Prj_PRINT_ONE_PROJECT,0); /***** End table *****/ HTM_TABLE_End (); @@ -1357,15 +1364,10 @@ void Prj_PrintOneProject (void) /*****************************************************************************/ static void Prj_ShowProjectRow (struct Prj_Projects *Projects, - unsigned NumIndex, - Prj_ProjectView_t ProjectView) + Prj_ProjectView_t ProjectView, + unsigned NumIndex) { extern const char *Txt_Actions[Act_NUM_ACTIONS]; - extern const char *Txt_Assigned_QUESTION; - extern const char *Txt_Yes; - extern const char *Txt_No; - extern const char *Txt_PROJECT_ASSIGNED_NONASSIGNED_SINGUL[Prj_NUM_ASSIGNED_NONASSIG]; - extern const char *Txt_Number_of_students; extern const char *Txt_See_more; extern const char *Txt_See_less; extern const char *Txt_Proposal; @@ -1520,79 +1522,10 @@ static void Prj_ShowProjectRow (struct Prj_Projects *Projects, Prj_ShowProjectReviewStatus (Projects,ProjectView); /***** Assigned? *****/ - HTM_TR_Begin (NULL); - - switch (ProjectView) - { - case Prj_LIST_PROJECTS: - HTM_TD_Begin ("colspan=\"2\" class=\"RT %s_%s %s\"", - ClassLabel,The_GetSuffix (),The_GetColorRows ()); - break; - default: - HTM_TD_Begin ("colspan=\"2\" class=\"RT %s_%s\"", - ClassLabel,The_GetSuffix ()); - break; - } - HTM_TxtColon (Txt_Assigned_QUESTION); - HTM_TD_End (); - - switch (ProjectView) - { - case Prj_LIST_PROJECTS: - HTM_TD_Begin ("colspan=\"2\" class=\"LT %s_%s %s\"", - ClassData,The_GetSuffix (),The_GetColorRows ()); - break; - default: - HTM_TD_Begin ("colspan=\"2\" class=\"LT %s_%s\"", - ClassData,The_GetSuffix ()); - break; - } - HTM_TxtF ("%s ",Projects->Prj.Assigned == Prj_ASSIGNED ? Txt_Yes : - Txt_No); - Ico_PutIconOff (AssignedNonassigIcon[Projects->Prj.Assigned],Ico_BLACK, - Txt_PROJECT_ASSIGNED_NONASSIGNED_SINGUL[Projects->Prj.Assigned]); - - if (Faults.WrongAssigned) - Prj_PutWarningIcon (); - - HTM_TD_End (); - - HTM_TR_End (); + Prj_ShowProjectAssigned (Projects,ProjectView,&Faults); /***** Number of students *****/ - HTM_TR_Begin (NULL); - - switch (ProjectView) - { - case Prj_LIST_PROJECTS: - HTM_TD_Begin ("colspan=\"2\" class=\"RT %s_%s %s\"", - ClassLabel,The_GetSuffix (),The_GetColorRows ()); - break; - default: - HTM_TD_Begin ("colspan=\"2\" class=\"RT %s_%s\"", - ClassLabel,The_GetSuffix ()); - break; - } - HTM_TxtColon (Txt_Number_of_students); - HTM_TD_End (); - - switch (ProjectView) - { - case Prj_LIST_PROJECTS: - HTM_TD_Begin ("colspan=\"2\" class=\"LT %s_%s %s\"", - ClassData,The_GetSuffix (),The_GetColorRows ()); - break; - default: - HTM_TD_Begin ("colspan=\"2\" class=\"LT %s_%s\"", - ClassData,The_GetSuffix ()); - break; - } - HTM_Unsigned (Projects->Prj.NumStds); - if (Faults.WrongNumStds) - Prj_PutWarningIcon (); - HTM_TD_End (); - - HTM_TR_End (); + Prj_ShowProjectNumStds (Projects,ProjectView,&Faults); /***** Project members *****/ Prj_ShowOneProjectMembers (Projects,ProjectView); @@ -1698,7 +1631,7 @@ static void Prj_ShowProjectRow (struct Prj_Projects *Projects, /********* When listing a project, show one row with review status ***********/ /*****************************************************************************/ -static void Prj_ShowProjectReviewStatus (struct Prj_Projects *Projects, +static void Prj_ShowProjectReviewStatus (const struct Prj_Projects *Projects, Prj_ProjectView_t ProjectView) { extern const char *Txt_Review; @@ -1708,7 +1641,6 @@ static void Prj_ShowProjectReviewStatus (struct Prj_Projects *Projects, const char *ClassData = (Projects->Prj.Hidden == Prj_HIDDEN) ? "DAT_LIGHT" : "DAT"; - /***** Review status *****/ HTM_TR_Begin (NULL); switch (ProjectView) @@ -1750,6 +1682,112 @@ static void Prj_ShowProjectReviewStatus (struct Prj_Projects *Projects, HTM_TR_End (); } +/*****************************************************************************/ +/******** When listing a project, show one row with assigned status **********/ +/*****************************************************************************/ + +static void Prj_ShowProjectAssigned (const struct Prj_Projects *Projects, + Prj_ProjectView_t ProjectView, + const struct Prj_Faults *Faults) + { + extern const char *Txt_Assigned_QUESTION; + extern const char *Txt_Yes; + extern const char *Txt_No; + extern const char *Txt_PROJECT_ASSIGNED_NONASSIGNED_SINGUL[Prj_NUM_ASSIGNED_NONASSIG]; + const char *ClassLabel = (Projects->Prj.Hidden == Prj_HIDDEN) ? "ASG_LABEL_LIGHT" : + "ASG_LABEL"; + const char *ClassData = (Projects->Prj.Hidden == Prj_HIDDEN) ? "DAT_LIGHT" : + "DAT"; + + HTM_TR_Begin (NULL); + + switch (ProjectView) + { + case Prj_LIST_PROJECTS: + HTM_TD_Begin ("colspan=\"2\" class=\"RT %s_%s %s\"", + ClassLabel,The_GetSuffix (),The_GetColorRows ()); + break; + default: + HTM_TD_Begin ("colspan=\"2\" class=\"RT %s_%s\"", + ClassLabel,The_GetSuffix ()); + break; + } + HTM_TxtColon (Txt_Assigned_QUESTION); + HTM_TD_End (); + + switch (ProjectView) + { + case Prj_LIST_PROJECTS: + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s_%s %s\"", + ClassData,The_GetSuffix (),The_GetColorRows ()); + break; + default: + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s_%s\"", + ClassData,The_GetSuffix ()); + break; + } + HTM_TxtF ("%s ",Projects->Prj.Assigned == Prj_ASSIGNED ? Txt_Yes : + Txt_No); + Ico_PutIconOff (AssignedNonassigIcon[Projects->Prj.Assigned],Ico_BLACK, + Txt_PROJECT_ASSIGNED_NONASSIGNED_SINGUL[Projects->Prj.Assigned]); + + if (Faults->WrongAssigned) + Prj_PutWarningIcon (); + + HTM_TD_End (); + + HTM_TR_End (); + } + +/*****************************************************************************/ +/******* When listing a project, show one row with number of students ********/ +/*****************************************************************************/ + +static void Prj_ShowProjectNumStds (const struct Prj_Projects *Projects, + Prj_ProjectView_t ProjectView, + const struct Prj_Faults *Faults) + { + extern const char *Txt_Number_of_students; + const char *ClassLabel = (Projects->Prj.Hidden == Prj_HIDDEN) ? "ASG_LABEL_LIGHT" : + "ASG_LABEL"; + const char *ClassData = (Projects->Prj.Hidden == Prj_HIDDEN) ? "DAT_LIGHT" : + "DAT"; + + HTM_TR_Begin (NULL); + + switch (ProjectView) + { + case Prj_LIST_PROJECTS: + HTM_TD_Begin ("colspan=\"2\" class=\"RT %s_%s %s\"", + ClassLabel,The_GetSuffix (),The_GetColorRows ()); + break; + default: + HTM_TD_Begin ("colspan=\"2\" class=\"RT %s_%s\"", + ClassLabel,The_GetSuffix ()); + break; + } + HTM_TxtColon (Txt_Number_of_students); + HTM_TD_End (); + + switch (ProjectView) + { + case Prj_LIST_PROJECTS: + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s_%s %s\"", + ClassData,The_GetSuffix (),The_GetColorRows ()); + break; + default: + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s_%s\"", + ClassData,The_GetSuffix ()); + break; + } + HTM_Unsigned (Projects->Prj.NumStds); + if (Faults->WrongNumStds) + Prj_PutWarningIcon (); + HTM_TD_End (); + + HTM_TR_End (); + } + /*****************************************************************************/ /********************** Check if a project has faults ************************/ /*****************************************************************************/