From 4985df7d78f4379ba0d12a0353110ab7be25b273 Mon Sep 17 00:00:00 2001 From: acanas Date: Thu, 4 May 2023 20:56:35 +0200 Subject: [PATCH] Version 22.104.4: May 04, 2023 Changes in lists. Changes in project edition. --- css/swad22.103.css | 3 +- swad_changelog.h | 5 +- swad_project.c | 289 +++++++++++++++++++++-------------------- swad_rubric_criteria.c | 1 - swad_rubric_criteria.h | 1 + 5 files changed, 154 insertions(+), 145 deletions(-) diff --git a/css/swad22.103.css b/css/swad22.103.css index 0ae0e62d..aa07ab62 100644 --- a/css/swad22.103.css +++ b/css/swad22.103.css @@ -2630,7 +2630,8 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;} display:inline-block; list-style-type:none; padding:0; - margin:12px 0; + /* margin:12px 0; */ + margin:0; text-align:left; vertical-align:middle; } diff --git a/swad_changelog.h b/swad_changelog.h index 1c0e64ea..0d35855a 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -629,10 +629,11 @@ TODO: Emilce Barrera Mesa: Podr TODO: Emilce Barrera Mesa: Mis estudiantes presentan muchas dificultades a la hora de poner la foto porque la plataforma es muy exigente respecto al fondo de la imagen. */ -#define Log_PLATFORM_VERSION "SWAD 22.104.3 (2023-05-04)" -#define CSS_FILE "swad22.103.css" +#define Log_PLATFORM_VERSION "SWAD 22.104.4 (2023-05-04)" +#define CSS_FILE "swad22.104.4.css" #define JS_FILE "swad22.49.js" /* + Version 22.104.4: May 04, 2023 Changes in lists. Changes in project edition. (342853 lines) Version 22.104.3: May 04, 2023 Changes in project configuration. (338043 lines) Version 22.104.2: May 04, 2023 Rubrics in project. Changes in input numbers. (338022 lines) Version 22.104.1: May 04, 2023 Rubrics in project. Code refactoring in file browsers. (338014 lines) diff --git a/swad_project.c b/swad_project.c index ad26f168..cf237238 100644 --- a/swad_project.c +++ b/swad_project.c @@ -3733,174 +3733,181 @@ static void Prj_PutFormProject (struct Prj_Projects *Projects, /***** 1. Project members *****/ if (!ItsANewProject) // Existing project { - Box_BoxTableBegin (NULL,Txt_Members, - NULL,NULL, - NULL,Box_NOT_CLOSABLE,2); - Projects->View = Prj_EDIT_ONE_PROJECT; - for (NumRoleToShow = 0; - NumRoleToShow < Prj_NUM_ROLES_TO_SHOW; - NumRoleToShow++) - Prj_ShowProjectMembersWithARole (Projects,Prj_RolesToShow[NumRoleToShow]); - Box_BoxTableEnd (); + HTM_FIELDSET_Begin (); + HTM_LEYEND (Txt_Members); + HTM_TABLE_BeginWidePadding (2); + Projects->View = Prj_EDIT_ONE_PROJECT; + for (NumRoleToShow = 0; + NumRoleToShow < Prj_NUM_ROLES_TO_SHOW; + NumRoleToShow++) + Prj_ShowProjectMembersWithARole (Projects,Prj_RolesToShow[NumRoleToShow]); + HTM_TABLE_End (); + HTM_FIELDSET_End (); } /***** 2. Project data *****/ - /* Begin data form */ - Frm_BeginForm (ItsANewProject ? ActNewPrj : - ActChgPrj); - Prj_PutCurrentPars (Projects); + HTM_FIELDSET_Begin (); + HTM_LEYEND (Txt_Data); - /* Begin box and table */ - Box_BoxTableBegin (NULL,Txt_Data, - NULL,NULL, - NULL,Box_NOT_CLOSABLE,2); + /* Begin data form */ + Frm_BeginForm (ItsANewProject ? ActNewPrj : + ActChgPrj); + Prj_PutCurrentPars (Projects); - /* Project title */ - HTM_TR_Begin (NULL); + /* Begin table */ + HTM_TABLE_BeginWidePadding (2); - /* Label */ - Frm_LabelColumn ("RT","Title",Txt_Title); + /* Project title */ + HTM_TR_Begin (NULL); - /* Data */ - HTM_TD_Begin ("class=\"LT\""); - HTM_INPUT_TEXT ("Title",Prj_MAX_CHARS_TITLE,Projects->Prj.Title, - HTM_DONT_SUBMIT_ON_CHANGE, - "id=\"Title\"" - " class=\"TITLE_DESCRIPTION_WIDTH INPUT_%s\"" - " required=\"required\"", - The_GetSuffix ()); - HTM_TD_End (); + /* Label */ + Frm_LabelColumn ("RT","Title",Txt_Title); - HTM_TR_End (); + /* Data */ + HTM_TD_Begin ("class=\"LT\""); + HTM_INPUT_TEXT ("Title",Prj_MAX_CHARS_TITLE,Projects->Prj.Title, + HTM_DONT_SUBMIT_ON_CHANGE, + "id=\"Title\"" + " class=\"TITLE_DESCRIPTION_WIDTH INPUT_%s\"" + " required=\"required\"", + The_GetSuffix ()); + HTM_TD_End (); - /* Department */ - HTM_TR_Begin (NULL); + HTM_TR_End (); - /* Label */ - Frm_LabelColumn ("RT",Par_CodeStr[ParCod_Dpt],Txt_Department); + /* Department */ + HTM_TR_Begin (NULL); - /* Data */ - HTM_TD_Begin ("class=\"LT\""); - if (asprintf (&SelectClass,"TITLE_DESCRIPTION_WIDTH INPUT_%s", - The_GetSuffix ()) < 0) - Err_NotEnoughMemoryExit (); - Dpt_WriteSelectorDepartment (Gbl.Hierarchy.Ins.InsCod, // Departments in current institution - Projects->Prj.DptCod, // Selected department - Par_CodeStr[ParCod_Dpt], // Parameter name - SelectClass, // Selector class - 0, // First option - Txt_Another_department, // Text when no department selected - HTM_DONT_SUBMIT_ON_CHANGE); - free (SelectClass); - HTM_TD_End (); + /* Label */ + Frm_LabelColumn ("RT",Par_CodeStr[ParCod_Dpt],Txt_Department); - HTM_TR_End (); + /* Data */ + HTM_TD_Begin ("class=\"LT\""); + if (asprintf (&SelectClass,"TITLE_DESCRIPTION_WIDTH INPUT_%s", + The_GetSuffix ()) < 0) + Err_NotEnoughMemoryExit (); + Dpt_WriteSelectorDepartment (Gbl.Hierarchy.Ins.InsCod, // Departments in current institution + Projects->Prj.DptCod, // Selected department + Par_CodeStr[ParCod_Dpt], // Parameter name + SelectClass, // Selector class + 0, // First option + Txt_Another_department, // Text when no department selected + HTM_DONT_SUBMIT_ON_CHANGE); + free (SelectClass); + HTM_TD_End (); - /* Assigned? */ - HTM_TR_Begin (NULL); + HTM_TR_End (); - HTM_TD_Begin ("class=\"RM FORM_IN_%s\"",The_GetSuffix ()); - HTM_TxtColon (Txt_Assigned_QUESTION); - HTM_TD_End (); + /* Assigned? */ + HTM_TR_Begin (NULL); - HTM_TD_Begin ("class=\"LM\""); - HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL, - "name=\"Assigned\" class=\"INPUT_%s\"", - The_GetSuffix ()); - HTM_OPTION (HTM_Type_STRING,"Y", - Projects->Prj.Assigned == Prj_ASSIGNED, // Selected? - HTM_OPTION_ENABLED, - "%s",Txt_Yes); - HTM_OPTION (HTM_Type_STRING,"N", - Projects->Prj.Assigned == Prj_NONASSIG, // Selected? - HTM_OPTION_ENABLED, - "%s",Txt_No); - HTM_SELECT_End (); - HTM_TD_End (); + HTM_TD_Begin ("class=\"RM FORM_IN_%s\"",The_GetSuffix ()); + HTM_TxtColon (Txt_Assigned_QUESTION); + HTM_TD_End (); - HTM_TR_End (); - - /* Number of students */ - HTM_TR_Begin (NULL); - - HTM_TD_Begin ("class=\"RM FORM_IN_%s\"",The_GetSuffix ()); - HTM_TxtColon (Txt_Number_of_students); - HTM_TD_End (); - - HTM_TD_Begin ("class=\"LM\""); - HTM_INPUT_LONG ("NumStds",(long) 0,(long) UINT_MAX,(long) Projects->Prj.NumStds, - HTM_DONT_SUBMIT_ON_CHANGE,false, - "class=\"INPUT_%s\"", - The_GetSuffix ()); - HTM_TD_End (); - - HTM_TR_End (); - - /* Proposal */ - HTM_TR_Begin (NULL); - - HTM_TD_Begin ("class=\"RM FORM_IN_%s\"",The_GetSuffix ()); - HTM_TxtColon (Txt_Proposal); - HTM_TD_End (); - - HTM_TD_Begin ("class=\"LM\""); - HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL, - "name=\"Proposal\"" - " class=\"TITLE_DESCRIPTION_WIDTH INPUT_%s\"", - The_GetSuffix ()); - for (Proposal = (Prj_Proposal_t) 0; - Proposal <= (Prj_Proposal_t) (Prj_NUM_PROPOSAL_TYPES - 1); - Proposal++) - { - ProposalUnsigned = (unsigned) Proposal; - HTM_OPTION (HTM_Type_UNSIGNED,&ProposalUnsigned, - Projects->Prj.Proposal == Proposal, // Selected? + HTM_TD_Begin ("class=\"LM\""); + HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL, + "name=\"Assigned\" class=\"INPUT_%s\"", + The_GetSuffix ()); + HTM_OPTION (HTM_Type_STRING,"Y", + Projects->Prj.Assigned == Prj_ASSIGNED, // Selected? HTM_OPTION_ENABLED, - "%s",Txt_PROJECT_STATUS[Proposal]); - } - HTM_SELECT_End (); - HTM_TD_End (); + "%s",Txt_Yes); + HTM_OPTION (HTM_Type_STRING,"N", + Projects->Prj.Assigned == Prj_NONASSIG, // Selected? + HTM_OPTION_ENABLED, + "%s",Txt_No); + HTM_SELECT_End (); + HTM_TD_End (); - HTM_TR_End (); + HTM_TR_End (); - /* Description of the project */ - Prj_EditOneProjectTxtArea ("Description",Txt_Description, - Projects->Prj.Description,12, - true); // Required + /* Number of students */ + HTM_TR_Begin (NULL); - /* Required knowledge to carry out the project */ - Prj_EditOneProjectTxtArea ("Knowledge",Txt_Required_knowledge, - Projects->Prj.Knowledge,4, - false); // Not required + HTM_TD_Begin ("class=\"RM FORM_IN_%s\"",The_GetSuffix ()); + HTM_TxtColon (Txt_Number_of_students); + HTM_TD_End (); - /* Required materials to carry out the project */ - Prj_EditOneProjectTxtArea ("Materials",Txt_Required_materials, - Projects->Prj.Materials,4, - false); // Not required + HTM_TD_Begin ("class=\"LM\""); + HTM_INPUT_LONG ("NumStds",(long) 0,(long) UINT_MAX,(long) Projects->Prj.NumStds, + HTM_DONT_SUBMIT_ON_CHANGE,false, + "class=\"INPUT_%s\"", + The_GetSuffix ()); + HTM_TD_End (); - /* URL for additional info */ - HTM_TR_Begin (NULL); + HTM_TR_End (); - /* Label */ - Frm_LabelColumn ("RT","WWW",Txt_URL); + /* Proposal */ + HTM_TR_Begin (NULL); - /* Data */ - HTM_TD_Begin ("class=\"LT DAT_%s\"",The_GetSuffix ()); - HTM_INPUT_URL ("URL",Projects->Prj.URL,HTM_DONT_SUBMIT_ON_CHANGE, - "class=\"TITLE_DESCRIPTION_WIDTH INPUT_%s\"", - The_GetSuffix ()); - HTM_TD_End (); + HTM_TD_Begin ("class=\"RM FORM_IN_%s\"",The_GetSuffix ()); + HTM_TxtColon (Txt_Proposal); + HTM_TD_End (); - HTM_TR_End (); + HTM_TD_Begin ("class=\"LM\""); + HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL, + "name=\"Proposal\"" + " class=\"TITLE_DESCRIPTION_WIDTH INPUT_%s\"", + The_GetSuffix ()); + for (Proposal = (Prj_Proposal_t) 0; + Proposal <= (Prj_Proposal_t) (Prj_NUM_PROPOSAL_TYPES - 1); + Proposal++) + { + ProposalUnsigned = (unsigned) Proposal; + HTM_OPTION (HTM_Type_UNSIGNED,&ProposalUnsigned, + Projects->Prj.Proposal == Proposal, // Selected? + HTM_OPTION_ENABLED, + "%s",Txt_PROJECT_STATUS[Proposal]); + } + HTM_SELECT_End (); + HTM_TD_End (); - /* End table, send button and end box */ - if (ItsANewProject) - Box_BoxTableWithButtonEnd (Btn_CREATE_BUTTON,Txt_Create_project); - else - Box_BoxTableWithButtonEnd (Btn_CONFIRM_BUTTON,Txt_Save_changes); + HTM_TR_End (); - /* End data form */ - Frm_EndForm (); + /* Description of the project */ + Prj_EditOneProjectTxtArea ("Description",Txt_Description, + Projects->Prj.Description,12, + true); // Required + + /* Required knowledge to carry out the project */ + Prj_EditOneProjectTxtArea ("Knowledge",Txt_Required_knowledge, + Projects->Prj.Knowledge,4, + false); // Not required + + /* Required materials to carry out the project */ + Prj_EditOneProjectTxtArea ("Materials",Txt_Required_materials, + Projects->Prj.Materials,4, + false); // Not required + + /* URL for additional info */ + HTM_TR_Begin (NULL); + + /* Label */ + Frm_LabelColumn ("RT","WWW",Txt_URL); + + /* Data */ + HTM_TD_Begin ("class=\"LT DAT_%s\"",The_GetSuffix ()); + HTM_INPUT_URL ("URL",Projects->Prj.URL,HTM_DONT_SUBMIT_ON_CHANGE, + "class=\"TITLE_DESCRIPTION_WIDTH INPUT_%s\"", + The_GetSuffix ()); + HTM_TD_End (); + + HTM_TR_End (); + + /* End table */ + HTM_TABLE_End (); + + /* Send button */ + if (ItsANewProject) + Btn_PutButton (Btn_CREATE_BUTTON,Txt_Create_project); + else + Btn_PutButton (Btn_CONFIRM_BUTTON,Txt_Save_changes); + + /* End data form */ + Frm_EndForm (); + + HTM_FIELDSET_End (); /***** End project box *****/ Box_BoxEnd (); diff --git a/swad_rubric_criteria.c b/swad_rubric_criteria.c index cdd1f0db..06481143 100644 --- a/swad_rubric_criteria.c +++ b/swad_rubric_criteria.c @@ -42,7 +42,6 @@ #include "swad_global.h" #include "swad_parameter.h" #include "swad_parameter_code.h" -#include "swad_project.h" #include "swad_project_database.h" #include "swad_resource_database.h" #include "swad_rubric.h" diff --git a/swad_rubric_criteria.h b/swad_rubric_criteria.h index e1e7f2b5..9fab5160 100644 --- a/swad_rubric_criteria.h +++ b/swad_rubric_criteria.h @@ -27,6 +27,7 @@ /********************************* Headers ***********************************/ /*****************************************************************************/ +#include "swad_project.h" #include "swad_rubric_type.h" /*****************************************************************************/