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.
*/
#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)

View File

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