Version 22.44.1: Oct 12, 2022 Code refactoring in projects.

This commit is contained in:
acanas 2022-10-12 14:32:07 +02:00
parent 9b957d71d8
commit 36b3f0c9f0
2 changed files with 65 additions and 59 deletions

View File

@ -606,10 +606,11 @@ TODO: Fix bug: error al enviar un mensaje a dos recipientes, error on duplicate
TODO: Attach pdf files in multimedia. 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 CSS_FILE "swad22.40.css"
#define JS_FILE "swad21.100.js" #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.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.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.1: Oct 12, 2022 Code refactoring in projects. (332952 lines)

View File

@ -207,7 +207,10 @@ static void Prj_ShowProjectMembersWithARole (struct Prj_Projects *Projects,
Prj_RoleInProject_t RoleInPrj); Prj_RoleInProject_t RoleInPrj);
static void Prj_ShowOneProjectLinkToShowHiddenInfo (const struct Prj_Projects *Projects, static void Prj_ShowOneProjectLinkToShowHiddenInfo (const struct Prj_Projects *Projects,
unsigned UniqueId); unsigned UniqueId);
static void Prj_ShowOneProjectProposal (const struct Prj_Projects *Projects,
unsigned UniqueId);
//------------------------------------------------ ----------------------------
static bool Prj_CheckIfPrjIsFaulty (long PrjCod,struct Prj_Faults *Faults); static bool Prj_CheckIfPrjIsFaulty (long PrjCod,struct Prj_Faults *Faults);
static void Prj_PutWarningIcon (void); static void Prj_PutWarningIcon (void);
static void Prj_PutIconToToggleProject (unsigned UniqueId, static void Prj_PutIconToToggleProject (unsigned UniqueId,
@ -1349,29 +1352,18 @@ static void Prj_ShowProjectRow (struct Prj_Projects *Projects,
unsigned NumIndex) unsigned NumIndex)
{ {
extern const char *Txt_Actions[Act_NUM_ACTIONS]; 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_Description;
extern const char *Txt_Required_knowledge; extern const char *Txt_Required_knowledge;
extern const char *Txt_Required_materials; extern const char *Txt_Required_materials;
Act_Action_t NextAction; Act_Action_t NextAction;
char *Anchor = NULL; char *Anchor = NULL;
const char *ClassLabel; const char *ClassDate = (Projects->Prj.Hidden == Prj_HIDDEN) ? "DATE_BLUE_LIGHT" :
const char *ClassDate; "DATE_BLUE";
const char *ClassData;
struct Prj_Faults Faults; struct Prj_Faults Faults;
bool PrjIsFaulty; bool PrjIsFaulty;
static unsigned UniqueId = 0; static unsigned UniqueId = 0;
char *Id; 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 *****/ /***** Set anchor string *****/
Frm_SetAnchorStr (Projects->Prj.PrjCod,&Anchor); Frm_SetAnchorStr (Projects->Prj.PrjCod,&Anchor);
@ -1513,43 +1505,7 @@ static void Prj_ShowProjectRow (struct Prj_Projects *Projects,
Prj_ShowOneProjectLinkToShowHiddenInfo (Projects,UniqueId); Prj_ShowOneProjectLinkToShowHiddenInfo (Projects,UniqueId);
/***** Proposal *****/ /***** Proposal *****/
switch (Projects->View) Prj_ShowOneProjectProposal (Projects,UniqueId);
{
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 ();
/***** Write rows of data of this project *****/ /***** Write rows of data of this project *****/
/* Description of the project */ /* Description of the project */
@ -1782,14 +1738,10 @@ static void Prj_ShowProjectMembersWithARole (struct Prj_Projects *Projects,
bool WriteRow; bool WriteRow;
unsigned NumUsr; unsigned NumUsr;
unsigned NumUsrs; unsigned NumUsrs;
const char *ClassLabel; const char *ClassLabel = (Projects->Prj.Hidden == Prj_HIDDEN) ? "ASG_LABEL_LIGHT" :
const char *ClassData; "ASG_LABEL";
const char *ClassData = (Projects->Prj.Hidden == Prj_HIDDEN) ? "DAT_LIGHT" :
/***** Set CSS classes *****/ "DAT";
ClassLabel = (Projects->Prj.Hidden == Prj_HIDDEN) ? "ASG_LABEL_LIGHT" :
"ASG_LABEL";
ClassData = (Projects->Prj.Hidden == Prj_HIDDEN) ? "DAT_LIGHT" :
"DAT";
/***** Get users in project from database *****/ /***** Get users in project from database *****/
NumUsrs = Prj_DB_GetUsrsInPrj (&mysql_res,Projects->Prj.PrjCod,RoleInPrj); 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 ************************/ /********************** Check if a project has faults ************************/
/*****************************************************************************/ /*****************************************************************************/