From b0a43f81f46e8927cc129564a8a0e678d326b5bb Mon Sep 17 00:00:00 2001 From: acanas Date: Wed, 12 Oct 2022 13:32:35 +0200 Subject: [PATCH] Version 22.43.1: Oct 12, 2022 Code refactoring in projects. --- icon/filter-circle-xmark.svg | 1 + swad_changelog.h | 10 ++-- swad_project.c | 109 +++++++++++++++++++++-------------- swad_text.c | 80 ++++++++++++------------- 4 files changed, 113 insertions(+), 87 deletions(-) create mode 100644 icon/filter-circle-xmark.svg diff --git a/icon/filter-circle-xmark.svg b/icon/filter-circle-xmark.svg new file mode 100644 index 00000000..1c92ce16 --- /dev/null +++ b/icon/filter-circle-xmark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/swad_changelog.h b/swad_changelog.h index fa2afd3f..46c58c45 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -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) diff --git a/swad_project.c b/swad_project.c index 0567456a..84870e07 100644 --- a/swad_project.c +++ b/swad_project.c @@ -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 ",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 ",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; diff --git a/swad_text.c b/swad_text.c index 6ee26416..9e9a2e94 100644 --- a/swad_text.c +++ b/swad_text.c @@ -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ón" #elif L==5 // fr - "Projets non approuvés" + "Projets en attente de correction" #elif L==6 // gn - "Proyectos sin aprobar" // Okoteve traducción + "Proyectos pendientes de subsanación" // Okoteve traducción #elif L==7 // it - "Progetti non approvati" + "Progetti in attesa di correzione" #elif L==8 // pl - "Niezatwierdzone projekty" + "Projekty oczekujące na korektę" #elif L==9 // pt - "Projetos não aprovados" + "Projetos pendentes de correção" #elif L==10 // tr - "Onaylanmamış projeler" + "Dü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üfte Projekte" + "Ungeprü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ão revisados" + "Não revisado" #elif L==10 // tr - "İncelenmemiş projeler" + "İncelenmemiş" #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é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ę" #elif L==9 // pt - "Projetos não aprovados" + "Correção pendente" #elif L==10 // tr - "Onaylanmamış projeler" + "Dü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és" + "Approuvé" #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ış projeler" + "Onaylanmış" #endif };