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

This commit is contained in:
acanas 2022-10-12 13:32:35 +02:00
parent 6e3cea9ba1
commit b0a43f81f4
4 changed files with 113 additions and 87 deletions

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M3.9 22.9C10.5 8.9 24.5 0 40 0H472c15.5 0 29.5 8.9 36.1 22.9s4.6 30.5-5.2 42.5L396.4 195.6C316.2 212.1 256 283 256 368c0 27.4 6.3 53.4 17.5 76.5c-1.6-.8-3.2-1.8-4.7-2.9l-64-48c-8.1-6-12.8-15.5-12.8-25.6V288.9L9 65.3C-.7 53.4-2.8 36.8 3.9 22.9zM432 512c-79.5 0-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144s-64.5 144-144 144zm59.3-180.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7z"/></svg>

After

Width:  |  Height:  |  Size: 835 B

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 (2022-10-11)"
#define Log_PLATFORM_VERSION "SWAD 22.43.1 (2022-10-12)"
#define CSS_FILE "swad22.40.css"
#define JS_FILE "swad21.100.js"
/*
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)
3 changes necessary in database:
@ -617,12 +618,13 @@ ALTER TABLE prj_projects ADD COLUMN ReviewStatus ENUM('unreviewed','unapproved',
ALTER TABLE prj_projects ADD COLUMN ReviewTime DATETIME NOT NULL DEFAULT '1970-01-01 01:00:00' AFTER ReviewStatus;
ALTER TABLE prj_projects ADD COLUMN ReviewTxt TEXT NOT NULL AFTER ReviewTime;
Copy the following icons to icon public directory:
// sudo cp icon/comment-slash.svg /var/www/html/swad/icon/
sudo cp icon/comment-slash.svg /var/www/html/swad/icon/
sudo cp icon/file-circle-check.svg /var/www/html/swad/icon/
sudo cp icon/file-circle-exclamation.svg /var/www/html/swad/icon/
sudo cp icon/file-circle-question.svg /var/www/html/swad/icon/
// sudo cp icon/thumbs-down.svg /var/www/html/swad/icon/
// sudo cp icon/thumbs-up.svg /var/www/html/swad/icon/
sudo cp icon/filter-circle-xmark.svg /var/www/html/swad/icon/
sudo cp icon/thumbs-down.svg /var/www/html/swad/icon/
sudo cp icon/thumbs-up.svg /var/www/html/swad/icon/
Version 22.41.1: Oct 07, 2022 Fixed issue in main title. (332512 lines)
Version 22.41: Oct 06, 2022 Changes in the behavior of the expansion/contraction of program items. (332511 lines)

View File

@ -104,9 +104,14 @@ static struct
Ico_Color_t Color;
} ReviewIcon[Prj_NUM_REVIEW_STATUS] =
{
/*
[Prj_UNREVIEWED] = {"file-circle-question.svg" ,Ico_BLACK},
[Prj_UNAPPROVED] = {"file-circle-exclamation.svg",Ico_RED },
[Prj_APPROVED ] = {"file-circle-check.svg" ,Ico_GREEN},
*/
[Prj_UNREVIEWED] = {"filter-circle-xmark.svg",Ico_BLACK},
[Prj_UNAPPROVED] = {"thumbs-down.svg" ,Ico_RED },
[Prj_APPROVED ] = {"thumbs-up.svg" ,Ico_GREEN},
};
/***** Locked/unlocked project edition *****/
@ -202,6 +207,8 @@ 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);
static bool Prj_CheckIfPrjIsFaulty (long PrjCod,struct Prj_Faults *Faults);
static void Prj_PutWarningIcon (void);
static void Prj_PutIconToToggleProject (unsigned UniqueId,
@ -1346,7 +1353,7 @@ void Prj_PrintOneProject (void)
}
/*****************************************************************************/
/***************************** Show one project ******************************/
/*********** When listing projects, show one row with one project ************/
/*****************************************************************************/
static void Prj_ShowProjectRow (struct Prj_Projects *Projects,
@ -1354,8 +1361,6 @@ static void Prj_ShowProjectRow (struct Prj_Projects *Projects,
Prj_ProjectView_t ProjectView)
{
extern const char *Txt_Actions[Act_NUM_ACTIONS];
extern const char *Txt_Review;
extern const char *Txt_PROJECT_REVIEW_SINGUL[Prj_NUM_REVIEW_STATUS];
extern const char *Txt_Assigned_QUESTION;
extern const char *Txt_Yes;
extern const char *Txt_No;
@ -1512,45 +1517,7 @@ static void Prj_ShowProjectRow (struct Prj_Projects *Projects,
HTM_TR_End ();
/***** Review status *****/
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_Review);
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&nbsp;",Txt_PROJECT_REVIEW_SINGUL[Projects->Prj.ReviewStatus]);
Ico_PutIconOff (ReviewIcon[Projects->Prj.ReviewStatus].Icon,
ReviewIcon[Projects->Prj.ReviewStatus].Color,
Txt_PROJECT_REVIEW_SINGUL[Projects->Prj.ReviewStatus]);
/*
if (Faults.WrongAssigned)
Prj_PutWarningIcon ();
*/
HTM_TD_End ();
HTM_TR_End ();
Prj_ShowProjectReviewStatus (Projects,ProjectView);
/***** Assigned? *****/
HTM_TR_Begin (NULL);
@ -1727,6 +1694,62 @@ static void Prj_ShowProjectRow (struct Prj_Projects *Projects,
Frm_FreeAnchorStr (Anchor);
}
/*****************************************************************************/
/********* When listing a project, show one row with review status ***********/
/*****************************************************************************/
static void Prj_ShowProjectReviewStatus (struct Prj_Projects *Projects,
Prj_ProjectView_t ProjectView)
{
extern const char *Txt_Review;
extern const char *Txt_PROJECT_REVIEW_SINGUL[Prj_NUM_REVIEW_STATUS];
const char *ClassLabel = (Projects->Prj.Hidden == Prj_HIDDEN) ? "ASG_LABEL_LIGHT" :
"ASG_LABEL";
const char *ClassData = (Projects->Prj.Hidden == Prj_HIDDEN) ? "DAT_LIGHT" :
"DAT";
/***** Review status *****/
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_Review);
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&nbsp;",Txt_PROJECT_REVIEW_SINGUL[Projects->Prj.ReviewStatus]);
Ico_PutIconOff (ReviewIcon[Projects->Prj.ReviewStatus].Icon,
ReviewIcon[Projects->Prj.ReviewStatus].Color,
Txt_PROJECT_REVIEW_SINGUL[Projects->Prj.ReviewStatus]);
/*
if (Faults.WrongAssigned)
Prj_PutWarningIcon ();
*/
HTM_TD_End ();
HTM_TR_End ();
}
/*****************************************************************************/
/********************** Check if a project has faults ************************/
/*****************************************************************************/
@ -3112,7 +3135,7 @@ void Prj_GetDataOfProjectByCod (struct Prj_Project *Prj)
for (ReviewStatus = (Prj_ReviewStatus_t) 0;
ReviewStatus <= (Prj_ReviewStatus_t) (Prj_NUM_REVIEW_STATUS - 1);
ReviewStatus++)
if (!strcmp (Prj_ReviewStatus_DB[Proposal],row[15]))
if (!strcmp (Prj_ReviewStatus_DB[ReviewStatus],row[15]))
{
Prj->ReviewStatus = ReviewStatus;
break;

View File

@ -32997,25 +32997,25 @@ const char *Txt_PROJECT_REVIEW_PLURAL[Prj_NUM_REVIEW_STATUS] =
,
[Prj_UNAPPROVED] =
#if L==1 // ca
"Projectes sense aprovar"
"Projectes pendents d'esmena"
#elif L==2 // de
"Nicht genehmigte Projekte"
"Projekte mit ausstehender Korrektur"
#elif L==3 // en
"Unapproved projects"
"Projects pending correction"
#elif L==4 // es
"Proyectos sin aprobar"
"Proyectos pendientes de subsanaci&oacute;n"
#elif L==5 // fr
"Projets non approuv&eacute;s"
"Projets en attente de correction"
#elif L==6 // gn
"Proyectos sin aprobar" // Okoteve traducción
"Proyectos pendientes de subsanaci&oacute;n" // Okoteve traducción
#elif L==7 // it
"Progetti non approvati"
"Progetti in attesa di correzione"
#elif L==8 // pl
"Niezatwierdzone projekty"
"Projekty oczekuj&aogon;ce na korekt&eogon;"
#elif L==9 // pt
"Projetos n&atilde;o aprovados"
"Projetos pendentes de corre&ccedil;&atilde;o"
#elif L==10 // tr
"Onaylanmam&inodot;&scedil; projeler"
"D&uuml;zeltilmeyi bekleyen projeler"
#endif
,
[Prj_APPROVED] =
@ -33046,71 +33046,71 @@ const char *Txt_PROJECT_REVIEW_SINGUL[Prj_NUM_REVIEW_STATUS] =
{
[Prj_UNREVIEWED] =
#if L==1 // ca
"Projectes sense revisar"
"Sense revisar"
#elif L==2 // de
"Ungepr&uuml;fte Projekte"
"Ungepr&uuml;ftes"
#elif L==3 // en
"Unreviewed projects"
"Unreviewed"
#elif L==4 // es
"Proyectos sin revisar"
"Sin revisar"
#elif L==5 // fr
"Projets non revus"
"Non revu"
#elif L==6 // gn
"Proyectos sin revisar" // Okoteve traducción
"Sin revisar" // Okoteve traducción
#elif L==7 // it
"Progetti non recensiti"
"Non recensito"
#elif L==8 // pl
"Niesprawdzone projekty"
"Niesprawdzony"
#elif L==9 // pt
"Projetos n&atilde;o revisados"
"N&atilde;o revisado"
#elif L==10 // tr
"&Idot;ncelenmemi&scedil; projeler"
"&Idot;ncelenmemi&scedil;"
#endif
,
[Prj_UNAPPROVED] =
#if L==1 // ca
"Projectes sense aprovar"
"Pendent d'esmena"
#elif L==2 // de
"Nicht genehmigte Projekte"
"Ausstehende Korrektur"
#elif L==3 // en
"Unapproved projects"
"Pending correction"
#elif L==4 // es
"Proyectos sin aprobar"
"Pendiente de subsanación"
#elif L==5 // fr
"Projets non approuv&eacute;s"
"En attente de correction"
#elif L==6 // gn
"Proyectos sin aprobar" // Okoteve traducción
"Pendiente de subsanación" // Okoteve traducción
#elif L==7 // it
"Progetti non approvati"
"In attesa di correzione"
#elif L==8 // pl
"Niezatwierdzone projekty"
"Oczekuje na korekt&eogon;"
#elif L==9 // pt
"Projetos n&atilde;o aprovados"
"Corre&ccedil;&atilde;o pendente"
#elif L==10 // tr
"Onaylanmam&inodot;&scedil; projeler"
"D&uuml;zeltme bekleniyor"
#endif
,
[Prj_APPROVED] =
#if L==1 // ca
"Projectes aprovats"
"Aprovat"
#elif L==2 // de
"Genehmigte Projekte"
"Genehmigtes"
#elif L==3 // en
"Approved projects"
"Approved"
#elif L==4 // es
"Proyectos aprobados"
"Aprobado"
#elif L==5 // fr
"Projets approuv&eacute;s"
"Approuv&eacute;"
#elif L==6 // gn
"Proyectos aprobados" // Okoteve traducción
"Aprobado" // Okoteve traducción
#elif L==7 // it
"Progetti approvati"
"Approvato"
#elif L==8 // pl
"Zatwierdzone projekty"
"Zatwierdzony"
#elif L==9 // pt
"Projetos aprovados"
"Aprovado"
#elif L==10 // tr
"Onaylanm&inodot;&scedil; projeler"
"Onaylanm&inodot;&scedil;"
#endif
};