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. 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 CSS_FILE "swad22.40.css"
#define JS_FILE "swad21.100.js" #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.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.43: Oct 11, 2022 Review of projects (not finished). (332930 lines)
Version 22.42: Oct 11, 2022 Review of projects (not finished). (332738 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_PutIconsOnePrj (void *Projects);
static void Prj_ShowProjectRow (struct Prj_Projects *Projects, static void Prj_ShowProjectRow (struct Prj_Projects *Projects,
unsigned NumIndex, Prj_ProjectView_t ProjectView,
Prj_ProjectView_t ProjectView); unsigned NumIndex);
static void Prj_ShowProjectReviewStatus (struct Prj_Projects *Projects, static void Prj_ShowProjectReviewStatus (const struct Prj_Projects *Projects,
Prj_ProjectView_t ProjectView); 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 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,
@ -548,7 +555,7 @@ static void Prj_ShowPrjsInCurrentPage (void *Projects)
/* Show project */ /* Show project */
Prj_ShowProjectRow ((struct Prj_Projects *) Projects, Prj_ShowProjectRow ((struct Prj_Projects *) Projects,
NumIndex,Prj_LIST_PROJECTS); Prj_LIST_PROJECTS,NumIndex);
} }
/***** End table *****/ /***** End table *****/
@ -1275,7 +1282,7 @@ void Prj_ShowOneProjectWithFileBrowser (struct Prj_Projects *Projects)
Prj_ShowProjectsHead (Projects,Prj_FILE_BROWSER_PROJECT); Prj_ShowProjectsHead (Projects,Prj_FILE_BROWSER_PROJECT);
/***** Show project *****/ /***** Show project *****/
Prj_ShowProjectRow (Projects,0,Prj_FILE_BROWSER_PROJECT); Prj_ShowProjectRow (Projects,Prj_FILE_BROWSER_PROJECT,0);
/***** End table *****/ /***** End table *****/
HTM_TABLE_End (); HTM_TABLE_End ();
@ -1343,7 +1350,7 @@ void Prj_PrintOneProject (void)
Prj_ShowProjectsHead (&Projects,Prj_PRINT_ONE_PROJECT); Prj_ShowProjectsHead (&Projects,Prj_PRINT_ONE_PROJECT);
/***** Write project *****/ /***** Write project *****/
Prj_ShowProjectRow (&Projects,0,Prj_PRINT_ONE_PROJECT); Prj_ShowProjectRow (&Projects,Prj_PRINT_ONE_PROJECT,0);
/***** End table *****/ /***** End table *****/
HTM_TABLE_End (); HTM_TABLE_End ();
@ -1357,15 +1364,10 @@ void Prj_PrintOneProject (void)
/*****************************************************************************/ /*****************************************************************************/
static void Prj_ShowProjectRow (struct Prj_Projects *Projects, 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_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_more;
extern const char *Txt_See_less; extern const char *Txt_See_less;
extern const char *Txt_Proposal; extern const char *Txt_Proposal;
@ -1520,79 +1522,10 @@ static void Prj_ShowProjectRow (struct Prj_Projects *Projects,
Prj_ShowProjectReviewStatus (Projects,ProjectView); Prj_ShowProjectReviewStatus (Projects,ProjectView);
/***** Assigned? *****/ /***** Assigned? *****/
HTM_TR_Begin (NULL); Prj_ShowProjectAssigned (Projects,ProjectView,&Faults);
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 ();
/***** Number of students *****/ /***** Number of students *****/
HTM_TR_Begin (NULL); Prj_ShowProjectNumStds (Projects,ProjectView,&Faults);
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 ();
/***** Project members *****/ /***** Project members *****/
Prj_ShowOneProjectMembers (Projects,ProjectView); 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 ***********/ /********* 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) Prj_ProjectView_t ProjectView)
{ {
extern const char *Txt_Review; 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" : const char *ClassData = (Projects->Prj.Hidden == Prj_HIDDEN) ? "DAT_LIGHT" :
"DAT"; "DAT";
/***** Review status *****/
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
switch (ProjectView) switch (ProjectView)
@ -1750,6 +1682,112 @@ static void Prj_ShowProjectReviewStatus (struct Prj_Projects *Projects,
HTM_TR_End (); 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 ************************/ /********************** Check if a project has faults ************************/
/*****************************************************************************/ /*****************************************************************************/