From b809c0c474e13a4daa73944c8c26bf8e9b102e1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ca=C3=B1as=20Vargas?= Date: Wed, 20 Sep 2017 23:25:55 +0200 Subject: [PATCH] Version 17.4.2 --- swad_changelog.h | 3 +- swad_project.c | 215 +++++++++++++++++++++++++++-------------------- swad_text.c | 42 +++++++++ 3 files changed, 166 insertions(+), 94 deletions(-) diff --git a/swad_changelog.h b/swad_changelog.h index f02db698f..50e22f632 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -252,13 +252,14 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 17.4.1 (2017-09-20)" +#define Log_PLATFORM_VERSION "SWAD 17.4.2 (2017-09-20)" #define CSS_FILE "swad17.0.css" #define JS_FILE "swad16.206.3.js" // Number of lines (includes comments but not blank lines) has been got with the following command: // nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*?.h sql/swad*.sql | tail -1 /* + Version 17.4.2: Sep 20, 2017 Changes in listing and edition of projects. (230203 lines) Version 17.4.1: Sep 20, 2017 Changes adding users to a project. Not finished. (230141 lines) Version 17.4: Sep 20, 2017 Actions to add users to a project. (230137 lines) 6 changes necessary in database: diff --git a/swad_project.c b/swad_project.c index 261fa452b..fa588738f 100644 --- a/swad_project.c +++ b/swad_project.c @@ -64,6 +64,13 @@ typedef enum Prj_ROLE_REV = 3, // Reviewer } Prj_RoleInProject_t; +typedef enum + { + Prj_LIST_PROJECTS, + Prj_PRINT_ONE_PROJECT, + Prj_EDIT_ONE_PROJECT, + } Prj_ProjectView_t; + /*****************************************************************************/ /***************************** Private variables *****************************/ /*****************************************************************************/ @@ -78,12 +85,15 @@ static bool Prj_CheckIfICanCreateProjects (void); static void Prj_PutIconsListProjects (void); static void Prj_PutIconToCreateNewPrj (void); static void Prj_PutButtonToCreateNewPrj (void); -static void Prj_ShowOneProject (struct Project *Prj,bool PrintView); -static void Prj_ShowOneProjectTxtRow (struct Project *Prj,bool PrintView, +static void Prj_ShowOneProject (struct Project *Prj,Prj_ProjectView_t ProjectView); +static void Prj_ShowOneProjectTxtRow (struct Project *Prj, + Prj_ProjectView_t ProjectView, const char *Label,char *TxtField); -static void Prj_ShowOneProjectUsrsRow (const struct Project *Prj,bool PrintView, +static void Prj_ShowOneProjectUsrsRow (const struct Project *Prj, + Prj_ProjectView_t ProjectView, const char *Label,Prj_RoleInProject_t RoleInProject); -static void Prj_WriteUsrs (long PrjCod,Prj_RoleInProject_t RoleInProject); +static void Prj_WriteUsrs (long PrjCod,Prj_ProjectView_t ProjectView, + Prj_RoleInProject_t RoleInProject); static void Prj_ReqAnotherUsrID (Prj_RoleInProject_t RoleInProject); static void Prj_AddUsrToProject (Prj_RoleInProject_t RoleInProject); @@ -96,6 +106,9 @@ static void Prj_ResetProject (struct Project *Prj); static void Prj_PutParamPrjCod (long PrjCod); static bool Prj_CheckIfSimilarProjectsExists (const char *Field,const char *Value,long PrjCod); +static void Prj_EditOneProjectTxtArea (const char *Id, + const char *Label,char *TxtField); + static void Prj_AllocMemProject (struct Project *Prj); static void Prj_FreeMemProject (struct Project *Prj); @@ -163,8 +176,7 @@ static void Prj_ShowAllProjects (void) NumPrj++) { Prj.PrjCod = Gbl.Prjs.LstPrjCods[NumPrj - 1]; - Prj_ShowOneProject (&Prj, - false); // Not print view + Prj_ShowOneProject (&Prj,Prj_LIST_PROJECTS); } /***** End table *****/ @@ -328,8 +340,7 @@ void Prj_PrintOneProject (void) Prj_PutHeadForSeeing (true); // Print view /***** Write project *****/ - Prj_ShowOneProject (&Prj, - true); // Print view + Prj_ShowOneProject (&Prj,Prj_PRINT_ONE_PROJECT); /***** End table *****/ Tbl_EndTable (); @@ -342,7 +353,7 @@ void Prj_PrintOneProject (void) /***************************** Show one project ******************************/ /*****************************************************************************/ -static void Prj_ShowOneProject (struct Project *Prj,bool PrintView) +static void Prj_ShowOneProject (struct Project *Prj,Prj_ProjectView_t ProjectView) { extern const char *Txt_Today; extern const char *Txt_PREASSIGNED_TYPES[Prj_NUM_TYPES_PREASSIGNED]; @@ -362,13 +373,13 @@ static void Prj_ShowOneProject (struct Project *Prj,bool PrintView) /* Forms to remove/edit this project */ fprintf (Gbl.F.Out,"" ""); - else + if (ProjectView == Prj_LIST_PROJECTS) { fprintf (Gbl.F.Out," COLOR%u\">",Gbl.RowEvenOdd); Prj_PutFormsToRemEditOnePrj (Prj->PrjCod,Prj->Hidden); } + else + fprintf (Gbl.F.Out,"\">"); fprintf (Gbl.F.Out,""); /* Start date/time */ @@ -379,7 +390,7 @@ static void Prj_ShowOneProject (struct Project *Prj,bool PrintView) "DATE_RED_LIGHT") : (Prj->Open ? "DATE_GREEN" : "DATE_RED")); - if (!PrintView) + if (ProjectView == Prj_LIST_PROJECTS) fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd); fprintf (Gbl.F.Out,"\">" "