From 36b3f0c9f076e1e08b2851dc41e42ff80fb4f93e Mon Sep 17 00:00:00 2001 From: acanas Date: Wed, 12 Oct 2022 14:32:07 +0200 Subject: [PATCH] Version 22.44.1: Oct 12, 2022 Code refactoring in projects. --- swad_changelog.h | 3 +- swad_project.c | 121 ++++++++++++++++++++++++----------------------- 2 files changed, 65 insertions(+), 59 deletions(-) diff --git a/swad_changelog.h b/swad_changelog.h index b9866e3b0..0a1dea904 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.44 (2022-10-12)" +#define Log_PLATFORM_VERSION "SWAD 22.44.1 (2022-10-12)" #define CSS_FILE "swad22.40.css" #define JS_FILE "swad21.100.js" /* + Version 22.44.1: Oct 12, 2022 Code refactoring in projects. (332985 lines) Version 22.44: Oct 12, 2022 Code refactoring in projects. (332980 lines) 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) diff --git a/swad_project.c b/swad_project.c index 8663ec550..ad477243a 100644 --- a/swad_project.c +++ b/swad_project.c @@ -207,7 +207,10 @@ static void Prj_ShowProjectMembersWithARole (struct Prj_Projects *Projects, Prj_RoleInProject_t RoleInPrj); static void Prj_ShowOneProjectLinkToShowHiddenInfo (const struct Prj_Projects *Projects, unsigned UniqueId); +static void Prj_ShowOneProjectProposal (const struct Prj_Projects *Projects, + unsigned UniqueId); +//------------------------------------------------ ---------------------------- static bool Prj_CheckIfPrjIsFaulty (long PrjCod,struct Prj_Faults *Faults); static void Prj_PutWarningIcon (void); static void Prj_PutIconToToggleProject (unsigned UniqueId, @@ -1349,29 +1352,18 @@ static void Prj_ShowProjectRow (struct Prj_Projects *Projects, unsigned NumIndex) { extern const char *Txt_Actions[Act_NUM_ACTIONS]; - extern const char *Txt_Proposal; - extern const char *Txt_PROJECT_STATUS[Prj_NUM_PROPOSAL_TYPES]; extern const char *Txt_Description; extern const char *Txt_Required_knowledge; extern const char *Txt_Required_materials; Act_Action_t NextAction; char *Anchor = NULL; - const char *ClassLabel; - const char *ClassDate; - const char *ClassData; + const char *ClassDate = (Projects->Prj.Hidden == Prj_HIDDEN) ? "DATE_BLUE_LIGHT" : + "DATE_BLUE"; struct Prj_Faults Faults; bool PrjIsFaulty; static unsigned UniqueId = 0; char *Id; - /***** Set CSS classes *****/ - ClassLabel = (Projects->Prj.Hidden == Prj_HIDDEN) ? "ASG_LABEL_LIGHT" : - "ASG_LABEL"; - ClassDate = (Projects->Prj.Hidden == Prj_HIDDEN) ? "DATE_BLUE_LIGHT" : - "DATE_BLUE"; - ClassData = (Projects->Prj.Hidden == Prj_HIDDEN) ? "DAT_LIGHT" : - "DAT"; - /***** Set anchor string *****/ Frm_SetAnchorStr (Projects->Prj.PrjCod,&Anchor); @@ -1513,43 +1505,7 @@ static void Prj_ShowProjectRow (struct Prj_Projects *Projects, Prj_ShowOneProjectLinkToShowHiddenInfo (Projects,UniqueId); /***** Proposal *****/ - switch (Projects->View) - { - case Prj_LIST_PROJECTS: - HTM_TR_Begin ("id=\"prj_pro_%u\" style=\"display:none;\"",UniqueId); - HTM_TD_Begin ("colspan=\"4\" class=\"RT %s_%s %s\"", - ClassLabel,The_GetSuffix (),The_GetColorRows ()); - break; - case Prj_FILE_BROWSER_PROJECT: - HTM_TR_Begin ("id=\"prj_pro_%u\" style=\"display:none;\"",UniqueId); - HTM_TD_Begin ("colspan=\"2\" class=\"RT %s_%s\"", - ClassLabel,The_GetSuffix ()); - break; - default: - HTM_TR_Begin (NULL); - HTM_TD_Begin ("colspan=\"2\" class=\"RT %s_%s\"", - ClassLabel,The_GetSuffix ()); - break; - } - HTM_TxtColon (Txt_Proposal); - HTM_TD_End (); - - switch (Projects->View) - { - 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_Txt (Txt_PROJECT_STATUS[Projects->Prj.Proposal]); - HTM_TD_End (); - - HTM_TR_End (); + Prj_ShowOneProjectProposal (Projects,UniqueId); /***** Write rows of data of this project *****/ /* Description of the project */ @@ -1782,14 +1738,10 @@ static void Prj_ShowProjectMembersWithARole (struct Prj_Projects *Projects, bool WriteRow; unsigned NumUsr; unsigned NumUsrs; - const char *ClassLabel; - const char *ClassData; - - /***** Set CSS classes *****/ - ClassLabel = (Projects->Prj.Hidden == Prj_HIDDEN) ? "ASG_LABEL_LIGHT" : - "ASG_LABEL"; - ClassData = (Projects->Prj.Hidden == Prj_HIDDEN) ? "DAT_LIGHT" : - "DAT"; + const char *ClassLabel = (Projects->Prj.Hidden == Prj_HIDDEN) ? "ASG_LABEL_LIGHT" : + "ASG_LABEL"; + const char *ClassData = (Projects->Prj.Hidden == Prj_HIDDEN) ? "DAT_LIGHT" : + "DAT"; /***** Get users in project from database *****/ NumUsrs = Prj_DB_GetUsrsInPrj (&mysql_res,Projects->Prj.PrjCod,RoleInPrj); @@ -1974,6 +1926,59 @@ static void Prj_ShowOneProjectLinkToShowHiddenInfo (const struct Prj_Projects *P } } +/*****************************************************************************/ +/********* When listing a project, show one row with type of proposal ********/ +/*****************************************************************************/ + +static void Prj_ShowOneProjectProposal (const struct Prj_Projects *Projects, + unsigned UniqueId) + { + extern const char *Txt_Proposal; + extern const char *Txt_PROJECT_STATUS[Prj_NUM_PROPOSAL_TYPES]; + const char *ClassLabel = (Projects->Prj.Hidden == Prj_HIDDEN) ? "ASG_LABEL_LIGHT" : + "ASG_LABEL"; + const char *ClassData = (Projects->Prj.Hidden == Prj_HIDDEN) ? "DAT_LIGHT" : + "DAT"; + + switch (Projects->View) + { + case Prj_LIST_PROJECTS: + HTM_TR_Begin ("id=\"prj_pro_%u\" style=\"display:none;\"",UniqueId); + HTM_TD_Begin ("colspan=\"4\" class=\"RT %s_%s %s\"", + ClassLabel,The_GetSuffix (),The_GetColorRows ()); + break; + case Prj_FILE_BROWSER_PROJECT: + HTM_TR_Begin ("id=\"prj_pro_%u\" style=\"display:none;\"",UniqueId); + HTM_TD_Begin ("colspan=\"2\" class=\"RT %s_%s\"", + ClassLabel,The_GetSuffix ()); + break; + default: + HTM_TR_Begin (NULL); + HTM_TD_Begin ("colspan=\"2\" class=\"RT %s_%s\"", + ClassLabel,The_GetSuffix ()); + break; + } + HTM_TxtColon (Txt_Proposal); + HTM_TD_End (); + + switch (Projects->View) + { + 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_Txt (Txt_PROJECT_STATUS[Projects->Prj.Proposal]); + HTM_TD_End (); + + HTM_TR_End (); + } + /*****************************************************************************/ /********************** Check if a project has faults ************************/ /*****************************************************************************/