mirror of https://github.com/acanas/swad-core.git
Version 22.104.4: May 04, 2023 Changes in lists. Changes in project edition.
This commit is contained in:
parent
69af32cbe0
commit
4985df7d78
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
289
swad_project.c
289
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 ();
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
/********************************* Headers ***********************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
#include "swad_project.h"
|
||||
#include "swad_rubric_type.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
Loading…
Reference in New Issue