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

This commit is contained in:
acanas 2022-10-12 13:42:35 +02:00
parent b0a43f81f4
commit 32bbdd9031
2 changed files with 126 additions and 87 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.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)

View File

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