Version 22.100.1: Apr 19, 2023 Changes in projects.

This commit is contained in:
acanas 2023-04-19 09:11:55 +02:00
parent 72ba2a9162
commit 5e3c7a33e6
5 changed files with 127 additions and 113 deletions

View File

@ -593,7 +593,7 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
// TabAss ****************************************************************** // TabAss ******************************************************************
// Actions in menu: // Actions in menu:
[ActSeeAllAsg ] = { 801, 0,TabAss,ActSeeAllAsg ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Asg_SeeAssignments ,"edit" }, [ActSeeAllAsg ] = { 801, 0,TabAss,ActSeeAllAsg ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Asg_SeeAssignments ,"edit" },
[ActSeeAllPrj ] = {1674, 1,TabAss,ActSeeAllPrj ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_SeeProjects ,"file-invoice" }, [ActSeeAllPrj ] = {1674, 1,TabAss,ActSeeAllPrj ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_SeeAllProjects ,"file-invoice" },
[ActSeeAllCfe ] = { 85, 2,TabAss,ActSeeAllCfe ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Cfe_ListCallsForExamsSee ,"bullhorn" }, [ActSeeAllCfe ] = { 85, 2,TabAss,ActSeeAllCfe ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Cfe_ListCallsForExamsSee ,"bullhorn" },
[ActEdiTstQst ] = { 104, 3,TabAss,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Dat_SetIniEndDatesToPastAndNow ,Qst_ReqEditQsts ,"clipboard-question" }, [ActEdiTstQst ] = { 104, 3,TabAss,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Dat_SetIniEndDatesToPastAndNow ,Qst_ReqEditQsts ,"clipboard-question" },
[ActReqTst ] = { 103, 4,TabAss,ActReqTst ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_ReqTest ,"check" }, [ActReqTst ] = { 103, 4,TabAss,ActReqTst ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_ReqTest ,"check" },

View File

@ -629,11 +629,12 @@ 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. 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.100 (2023-04-18)" #define Log_PLATFORM_VERSION "SWAD 22.100.1 (2023-04-19)"
#define CSS_FILE "swad22.95.css" #define CSS_FILE "swad22.95.css"
#define JS_FILE "swad22.49.js" #define JS_FILE "swad22.49.js"
/* /*
Version 22.100: Apr 18, 2023 Changes in resources, assignments, exams, games, attendance events and surveys. (? lines) Version 22.100.1: Apr 19, 2023 Changes in projects. (? lines)
Version 22.100: Apr 18, 2023 Changes in resources, assignments, exams, games, attendance events and surveys. (338875 lines)
Version 22.99: Apr 18, 2023 Code refactoring in rubrics. (339025 lines) Version 22.99: Apr 18, 2023 Code refactoring in rubrics. (339025 lines)
Version 22.98: Apr 17, 2023 Code refactoring in rubrics. (339062 lines) Version 22.98: Apr 17, 2023 Code refactoring in rubrics. (339062 lines)
Version 22.97: Apr 14, 2023 Changes in listing of rubrics. (339029 lines) Version 22.97: Apr 14, 2023 Changes in listing of rubrics. (339029 lines)

View File

@ -143,6 +143,13 @@ struct Usr_SelectedUsrs Prj_MembersToAdd =
.Option = Usr_OPTION_UNKNOWN, .Option = Usr_OPTION_UNKNOWN,
}; };
/***** Type of view when writing one project *****/
typedef enum
{
Prj_DONT_PUT_WARNING,
Prj_PUT_WARNING,
} Prj_Warning_t;
/*****************************************************************************/ /*****************************************************************************/
/******************************* Private types *******************************/ /******************************* Private types *******************************/
/*****************************************************************************/ /*****************************************************************************/
@ -205,47 +212,47 @@ static void Prj_PutIconsOnePrj (void *Projects);
//---------------------- Show one project in a row ---------------------------- //---------------------- Show one project in a row ----------------------------
static void Prj_ShowProjectRow (struct Prj_Projects *Projects); static void Prj_ShowProjectRow (struct Prj_Projects *Projects);
static void Prj_ShowProjectFirstRow (struct Prj_Projects *Projects, static void Prj_ShowFirstRow (struct Prj_Projects *Projects,
const char *ClassData, const char *ClassData,
const struct Prj_Faults *Faults, const struct Prj_Faults *Faults,
unsigned UniqueId, unsigned UniqueId,
const char *Anchor); const char *Anchor);
static void Prj_ShowProjectDepartment (const struct Prj_Projects *Projects, static void Prj_ShowProjectDepartment (const struct Prj_Projects *Projects,
const char *ClassData); const char *ClassData);
static void Prj_ShowProjectReviewStatus (struct Prj_Projects *Projects, static void Prj_ShowReviewStatus (struct Prj_Projects *Projects,
const char *ClassLabel, const char *ClassLabel,
const char *ClassData, const char *ClassData,
const struct Prj_Faults *Faults, const struct Prj_Faults *Faults,
const char *Anchor); const char *Anchor);
static void Prj_PutSelectorReviewStatus (struct Prj_Projects *Projects); static void Prj_PutSelectorReviewStatus (struct Prj_Projects *Projects);
static bool Prj_CheckIfICanReviewProjects (void); static bool Prj_CheckIfICanReviewProjects (void);
static void Prj_ShowProjectAssigned (const struct Prj_Projects *Projects, static void Prj_ShowAssigned (const struct Prj_Projects *Projects,
const char *ClassLabel, const char *ClassLabel,
const char *ClassData, const char *ClassData,
const struct Prj_Faults *Faults); const struct Prj_Faults *Faults);
static void Prj_ShowProjectNumStds (const struct Prj_Projects *Projects, static void Prj_ShowNumStds (const struct Prj_Projects *Projects,
const char *ClassLabel, const char *ClassLabel,
const char *ClassData, const char *ClassData,
const struct Prj_Faults *Faults); const struct Prj_Faults *Faults);
static void Prj_ShowProjectMembers (struct Prj_Projects *Projects); static void Prj_ShowMembers (struct Prj_Projects *Projects);
static void Prj_ShowProjectMembersWithARole (struct Prj_Projects *Projects, static void Prj_ShowProjectMembersWithARole (struct Prj_Projects *Projects,
Prj_RoleInProject_t RoleInPrj); Prj_RoleInProject_t RoleInPrj);
static void Prj_ShowProjectLinkToShowHiddenInfo (const struct Prj_Projects *Projects, static void Prj_PutLinkToShowHiddenInfo (const struct Prj_Projects *Projects,
unsigned UniqueId); unsigned UniqueId);
static void Prj_ShowProjectProposal (const struct Prj_Projects *Projects, static void Prj_ShowProposal (const struct Prj_Projects *Projects,
const char *ClassLabel, const char *ClassLabel,
const char *ClassData, const char *ClassData,
unsigned UniqueId); unsigned UniqueId);
static void Prj_ShowProjectTxtField (const struct Prj_Projects *Projects, static void Prj_ShowTxtField (const struct Prj_Projects *Projects,
const char *ClassLabel, const char *ClassLabel,
const char *ClassData, const char *ClassData,
const char *id,unsigned UniqueId, const char *id,unsigned UniqueId,
const char *Label,char *TxtField, const char *Label,char *TxtField,
bool Warning); Prj_Warning_t Warning);
static void Prj_ShowProjectURL (const struct Prj_Projects *Projects, static void Prj_ShowURL (const struct Prj_Projects *Projects,
const char *ClassLabel, const char *ClassLabel,
const char *ClassData, const char *ClassData,
const char *id,unsigned UniqueId); const char *id,unsigned UniqueId);
//------------------------------------------------ ---------------------------- //------------------------------------------------ ----------------------------
static void Prj_CheckIfPrjIsFaulty (long PrjCod,struct Prj_Faults *Faults); static void Prj_CheckIfPrjIsFaulty (long PrjCod,struct Prj_Faults *Faults);
@ -383,10 +390,10 @@ static void Prj_ReqUsrsToSelect (void *Projects)
} }
/*****************************************************************************/ /*****************************************************************************/
/******************* Get parameters and show projects ************************/ /******* Get parameters and show all projects (depending on filters) *********/
/*****************************************************************************/ /*****************************************************************************/
void Prj_SeeProjects (void) void Prj_SeeAllProjects (void)
{ {
struct Prj_Projects Projects; struct Prj_Projects Projects;
@ -1152,7 +1159,7 @@ static void Prj_ShowProjectsHead (struct Prj_Projects *Projects)
switch (Projects->View) switch (Projects->View)
{ {
case Prj_LIST_PROJECTS: case Prj_LIST_PROJECTS:
case Prj_FILE_BROWSER_PROJECT: case Prj_FILE_BROWSER_ONE_PROJECT:
Frm_BeginForm (ActSeeAllPrj); Frm_BeginForm (ActSeeAllPrj);
Prj_PutPars (&Projects->Filter, Prj_PutPars (&Projects->Filter,
Order, Order,
@ -1323,16 +1330,11 @@ void Prj_ShowOneProject (void)
Prj_GetPars (&Projects); Prj_GetPars (&Projects);
Projects.Prj.PrjCod = ParCod_GetAndCheckPar (ParCod_Prj); Projects.Prj.PrjCod = ParCod_GetAndCheckPar (ParCod_Prj);
/***** Allocate memory for the project *****/ /***** Get project data,
then show project and (if possible) its file browser *****/
Prj_AllocMemProject (&Projects.Prj); Prj_AllocMemProject (&Projects.Prj);
/***** Get project data *****/
Prj_GetProjectDataByCod (&Projects.Prj); Prj_GetProjectDataByCod (&Projects.Prj);
/***** Show project and (if possible) its file browser *****/
Prj_ShowOneProjectWithFileBrowser (&Projects); Prj_ShowOneProjectWithFileBrowser (&Projects);
/***** Free memory of the project *****/
Prj_FreeMemProject (&Projects.Prj); Prj_FreeMemProject (&Projects.Prj);
/***** Show projects again *****/ /***** Show projects again *****/
@ -1346,9 +1348,11 @@ void Prj_ShowOneProject (void)
void Prj_ShowOneProjectWithFileBrowser (struct Prj_Projects *Projects) void Prj_ShowOneProjectWithFileBrowser (struct Prj_Projects *Projects)
{ {
extern const char *Hlp_ASSESSMENT_Projects; extern const char *Hlp_ASSESSMENT_Projects;
extern const char *Txt_Project;
/***** Begin box *****/ /***** Begin box *****/
Box_BoxBegin (NULL,Projects->Prj.Title, Box_BoxBegin ("100%",Projects->Prj.Title[0] ? Projects->Prj.Title :
Txt_Project,
Prj_PutIconsOnePrj,Projects, Prj_PutIconsOnePrj,Projects,
Hlp_ASSESSMENT_Projects,Box_NOT_CLOSABLE); Hlp_ASSESSMENT_Projects,Box_NOT_CLOSABLE);
@ -1356,7 +1360,7 @@ void Prj_ShowOneProjectWithFileBrowser (struct Prj_Projects *Projects)
HTM_TABLE_BeginWidePadding (2); HTM_TABLE_BeginWidePadding (2);
/***** Table head and project *****/ /***** Table head and project *****/
Projects->View = Prj_FILE_BROWSER_PROJECT; Projects->View = Prj_FILE_BROWSER_ONE_PROJECT;
Projects->NumIndex = 0; Projects->NumIndex = 0;
Prj_ShowProjectsHead (Projects); Prj_ShowProjectsHead (Projects);
Prj_ShowProjectRow (Projects); Prj_ShowProjectRow (Projects);
@ -1458,47 +1462,33 @@ static void Prj_ShowProjectRow (struct Prj_Projects *Projects)
/***** First row with main data (dates, title...) *****/ /***** First row with main data (dates, title...) *****/
UniqueId++; UniqueId++;
Prj_ShowProjectFirstRow (Projects,ClassData,&Faults,UniqueId,Anchor); Prj_ShowFirstRow (Projects,ClassData,&Faults,UniqueId,Anchor);
/***** Review status *****/ /***** Data always visible *****/
Prj_ShowProjectReviewStatus (Projects,ClassLabel,ClassData,&Faults,Anchor); Prj_ShowReviewStatus (Projects,ClassLabel,ClassData,&Faults,Anchor);
Prj_ShowAssigned (Projects,ClassLabel,ClassData,&Faults);
/***** Assigned? *****/ Prj_ShowNumStds (Projects,ClassLabel,ClassData,&Faults);
Prj_ShowProjectAssigned (Projects,ClassLabel,ClassData,&Faults); Prj_ShowMembers (Projects);
/***** Number of students *****/
Prj_ShowProjectNumStds (Projects,ClassLabel,ClassData,&Faults);
/***** Project members *****/
Prj_ShowProjectMembers (Projects);
/***** Link to show hidden info *****/ /***** Link to show hidden info *****/
Prj_ShowProjectLinkToShowHiddenInfo (Projects,UniqueId); Prj_PutLinkToShowHiddenInfo (Projects,UniqueId);
/***** Proposal *****/ /***** Hiddeable data ******/
Prj_ShowProjectProposal (Projects,ClassLabel,ClassData,UniqueId); Prj_ShowProposal (Projects,ClassLabel,ClassData,UniqueId);
Prj_ShowTxtField (Projects,ClassLabel,ClassData,"prj_dsc_",UniqueId,
/***** Write rows of data of this project *****/ Txt_Description, // Description of the project
/* Description of the project */ Projects->Prj.Description,
Prj_ShowProjectTxtField (Projects,ClassLabel,ClassData,"prj_dsc_",UniqueId, Faults.WrongDescription ? Prj_PUT_WARNING :
Txt_Description, Prj_DONT_PUT_WARNING);
Projects->Prj.Description, Prj_ShowTxtField (Projects,ClassLabel,ClassData,"prj_knw_",UniqueId,
Faults.WrongDescription); Txt_Required_knowledge, // Required knowledge
Projects->Prj.Knowledge,
/* Required knowledge to carry out the project */ Prj_DONT_PUT_WARNING);
Prj_ShowProjectTxtField (Projects,ClassLabel,ClassData,"prj_knw_",UniqueId, Prj_ShowTxtField (Projects,ClassLabel,ClassData,"prj_mtr_",UniqueId,
Txt_Required_knowledge, Txt_Required_materials, // Required materials
Projects->Prj.Knowledge, Projects->Prj.Materials,
false); // No warning Prj_DONT_PUT_WARNING);
Prj_ShowURL (Projects,ClassLabel,ClassData,"prj_url_",UniqueId);
/* Required materials to carry out the project */
Prj_ShowProjectTxtField (Projects,ClassLabel,ClassData,"prj_mtr_",UniqueId,
Txt_Required_materials,
Projects->Prj.Materials,
false); // No warning
/* Link to view more info about the project */
Prj_ShowProjectURL (Projects,ClassLabel,ClassData,"prj_url_",UniqueId);
/***** Free anchor string *****/ /***** Free anchor string *****/
Frm_FreeAnchorStr (&Anchor); Frm_FreeAnchorStr (&Anchor);
@ -1508,7 +1498,7 @@ static void Prj_ShowProjectRow (struct Prj_Projects *Projects)
/** When listing a project, show first row with main data (dates, title...) **/ /** When listing a project, show first row with main data (dates, title...) **/
/*****************************************************************************/ /*****************************************************************************/
static void Prj_ShowProjectFirstRow (struct Prj_Projects *Projects, static void Prj_ShowFirstRow (struct Prj_Projects *Projects,
const char *ClassData, const char *ClassData,
const struct Prj_Faults *Faults, const struct Prj_Faults *Faults,
unsigned UniqueId, unsigned UniqueId,
@ -1656,7 +1646,7 @@ static void Prj_ShowProjectDepartment (const struct Prj_Projects *Projects,
/***** Show department *****/ /***** Show department *****/
PutLink = (Dpt.WWW[0] && PutLink = (Dpt.WWW[0] &&
(Projects->View == Prj_LIST_PROJECTS || (Projects->View == Prj_LIST_PROJECTS ||
Projects->View == Prj_FILE_BROWSER_PROJECT)); Projects->View == Prj_FILE_BROWSER_ONE_PROJECT));
switch (Projects->View) switch (Projects->View)
{ {
@ -1682,7 +1672,7 @@ static void Prj_ShowProjectDepartment (const struct Prj_Projects *Projects,
/********* When listing a project, show one row with review status ***********/ /********* When listing a project, show one row with review status ***********/
/*****************************************************************************/ /*****************************************************************************/
static void Prj_ShowProjectReviewStatus (struct Prj_Projects *Projects, static void Prj_ShowReviewStatus (struct Prj_Projects *Projects,
const char *ClassLabel, const char *ClassLabel,
const char *ClassData, const char *ClassData,
const struct Prj_Faults *Faults, const struct Prj_Faults *Faults,
@ -1874,7 +1864,7 @@ static bool Prj_CheckIfICanReviewProjects (void)
/******** When listing a project, show one row with assigned status **********/ /******** When listing a project, show one row with assigned status **********/
/*****************************************************************************/ /*****************************************************************************/
static void Prj_ShowProjectAssigned (const struct Prj_Projects *Projects, static void Prj_ShowAssigned (const struct Prj_Projects *Projects,
const char *ClassLabel, const char *ClassLabel,
const char *ClassData, const char *ClassData,
const struct Prj_Faults *Faults) const struct Prj_Faults *Faults)
@ -1928,7 +1918,7 @@ static void Prj_ShowProjectAssigned (const struct Prj_Projects *Projects,
/******* When listing a project, show one row with number of students ********/ /******* When listing a project, show one row with number of students ********/
/*****************************************************************************/ /*****************************************************************************/
static void Prj_ShowProjectNumStds (const struct Prj_Projects *Projects, static void Prj_ShowNumStds (const struct Prj_Projects *Projects,
const char *ClassLabel, const char *ClassLabel,
const char *ClassData, const char *ClassData,
const struct Prj_Faults *Faults) const struct Prj_Faults *Faults)
@ -1974,7 +1964,7 @@ static void Prj_ShowProjectNumStds (const struct Prj_Projects *Projects,
/****** When listing a project, show several rows with projects members ******/ /****** When listing a project, show several rows with projects members ******/
/*****************************************************************************/ /*****************************************************************************/
static void Prj_ShowProjectMembers (struct Prj_Projects *Projects) static void Prj_ShowMembers (struct Prj_Projects *Projects)
{ {
unsigned NumRoleToShow; unsigned NumRoleToShow;
@ -2044,7 +2034,7 @@ static void Prj_ShowProjectMembersWithARole (struct Prj_Projects *Projects,
HTM_TxtColon (NumUsrs == 1 ? Txt_PROJECT_ROLES_SINGUL_Abc[RoleInPrj] : HTM_TxtColon (NumUsrs == 1 ? Txt_PROJECT_ROLES_SINGUL_Abc[RoleInPrj] :
Txt_PROJECT_ROLES_PLURAL_Abc[RoleInPrj]); Txt_PROJECT_ROLES_PLURAL_Abc[RoleInPrj]);
break; break;
case Prj_FILE_BROWSER_PROJECT: case Prj_FILE_BROWSER_ONE_PROJECT:
case Prj_PRINT_ONE_PROJECT: case Prj_PRINT_ONE_PROJECT:
HTM_TD_Begin ("colspan=\"2\" class=\"RT %s_%s\"", HTM_TD_Begin ("colspan=\"2\" class=\"RT %s_%s\"",
ClassLabel,The_GetSuffix ()); ClassLabel,The_GetSuffix ());
@ -2067,7 +2057,7 @@ static void Prj_ShowProjectMembersWithARole (struct Prj_Projects *Projects,
ClassData,The_GetSuffix (), ClassData,The_GetSuffix (),
The_GetColorRows ()); The_GetColorRows ());
break; break;
case Prj_FILE_BROWSER_PROJECT: case Prj_FILE_BROWSER_ONE_PROJECT:
case Prj_PRINT_ONE_PROJECT: case Prj_PRINT_ONE_PROJECT:
HTM_TD_Begin ("colspan=\"2\" class=\"LT %s_%s\"", HTM_TD_Begin ("colspan=\"2\" class=\"LT %s_%s\"",
ClassData,The_GetSuffix ()); ClassData,The_GetSuffix ());
@ -2166,8 +2156,8 @@ static void Prj_ShowProjectMembersWithARole (struct Prj_Projects *Projects,
/***** When listing a project, show one row with link to show hidden info ****/ /***** When listing a project, show one row with link to show hidden info ****/
/*****************************************************************************/ /*****************************************************************************/
static void Prj_ShowProjectLinkToShowHiddenInfo (const struct Prj_Projects *Projects, static void Prj_PutLinkToShowHiddenInfo (const struct Prj_Projects *Projects,
unsigned UniqueId) unsigned UniqueId)
{ {
extern const char *Txt_See_more; extern const char *Txt_See_more;
extern const char *Txt_See_less; extern const char *Txt_See_less;
@ -2189,7 +2179,7 @@ static void Prj_ShowProjectLinkToShowHiddenInfo (const struct Prj_Projects *Proj
HTM_TD_End (); HTM_TD_End ();
HTM_TR_End (); HTM_TR_End ();
break; break;
case Prj_FILE_BROWSER_PROJECT: case Prj_FILE_BROWSER_ONE_PROJECT:
HTM_TR_Begin ("id=\"prj_exp_%u\"",UniqueId); HTM_TR_Begin ("id=\"prj_exp_%u\"",UniqueId);
HTM_TD_Begin ("colspan=\"5\" class=\"CM\""); HTM_TD_Begin ("colspan=\"5\" class=\"CM\"");
Prj_PutIconToToggleProject (UniqueId,"angle-down.svg",Txt_See_more); Prj_PutIconToToggleProject (UniqueId,"angle-down.svg",Txt_See_more);
@ -2211,10 +2201,10 @@ static void Prj_ShowProjectLinkToShowHiddenInfo (const struct Prj_Projects *Proj
/********* When listing a project, show one row with type of proposal ********/ /********* When listing a project, show one row with type of proposal ********/
/*****************************************************************************/ /*****************************************************************************/
static void Prj_ShowProjectProposal (const struct Prj_Projects *Projects, static void Prj_ShowProposal (const struct Prj_Projects *Projects,
const char *ClassLabel, const char *ClassLabel,
const char *ClassData, const char *ClassData,
unsigned UniqueId) unsigned UniqueId)
{ {
extern const char *Txt_Proposal; extern const char *Txt_Proposal;
extern const char *Txt_PROJECT_STATUS[Prj_NUM_PROPOSAL_TYPES]; extern const char *Txt_PROJECT_STATUS[Prj_NUM_PROPOSAL_TYPES];
@ -2226,7 +2216,7 @@ static void Prj_ShowProjectProposal (const struct Prj_Projects *Projects,
HTM_TD_Begin ("colspan=\"4\" class=\"RT %s_%s %s\"", HTM_TD_Begin ("colspan=\"4\" class=\"RT %s_%s %s\"",
ClassLabel,The_GetSuffix (),The_GetColorRows ()); ClassLabel,The_GetSuffix (),The_GetColorRows ());
break; break;
case Prj_FILE_BROWSER_PROJECT: case Prj_FILE_BROWSER_ONE_PROJECT:
HTM_TR_Begin ("id=\"prj_pro_%u\" style=\"display:none;\"",UniqueId); HTM_TR_Begin ("id=\"prj_pro_%u\" style=\"display:none;\"",UniqueId);
HTM_TD_Begin ("colspan=\"2\" class=\"RT %s_%s\"", HTM_TD_Begin ("colspan=\"2\" class=\"RT %s_%s\"",
ClassLabel,The_GetSuffix ()); ClassLabel,The_GetSuffix ());
@ -2262,12 +2252,12 @@ static void Prj_ShowProjectProposal (const struct Prj_Projects *Projects,
/********** When listing a project, show one row with a text field ***********/ /********** When listing a project, show one row with a text field ***********/
/*****************************************************************************/ /*****************************************************************************/
static void Prj_ShowProjectTxtField (const struct Prj_Projects *Projects, static void Prj_ShowTxtField (const struct Prj_Projects *Projects,
const char *ClassLabel, const char *ClassLabel,
const char *ClassData, const char *ClassData,
const char *id,unsigned UniqueId, const char *id,unsigned UniqueId,
const char *Label,char *TxtField, const char *Label,char *TxtField,
bool Warning) Prj_Warning_t Warning)
{ {
/***** Label *****/ /***** Label *****/
switch (Projects->View) switch (Projects->View)
@ -2277,7 +2267,7 @@ static void Prj_ShowProjectTxtField (const struct Prj_Projects *Projects,
HTM_TD_Begin ("colspan=\"4\" class=\"RT %s_%s %s\"", HTM_TD_Begin ("colspan=\"4\" class=\"RT %s_%s %s\"",
ClassLabel,The_GetSuffix (),The_GetColorRows ()); ClassLabel,The_GetSuffix (),The_GetColorRows ());
break; break;
case Prj_FILE_BROWSER_PROJECT: case Prj_FILE_BROWSER_ONE_PROJECT:
HTM_TR_Begin ("id=\"%s%u\" style=\"display:none;\"",id,UniqueId); HTM_TR_Begin ("id=\"%s%u\" style=\"display:none;\"",id,UniqueId);
HTM_TD_Begin ("colspan=\"2\" class=\"RT %s_%s\"", HTM_TD_Begin ("colspan=\"2\" class=\"RT %s_%s\"",
ClassLabel,The_GetSuffix ()); ClassLabel,The_GetSuffix ());
@ -2300,7 +2290,7 @@ static void Prj_ShowProjectTxtField (const struct Prj_Projects *Projects,
switch (Projects->View) switch (Projects->View)
{ {
case Prj_LIST_PROJECTS: case Prj_LIST_PROJECTS:
case Prj_FILE_BROWSER_PROJECT: case Prj_FILE_BROWSER_ONE_PROJECT:
ALn_InsertLinks (TxtField,Cns_MAX_BYTES_TEXT,60); // Insert links ALn_InsertLinks (TxtField,Cns_MAX_BYTES_TEXT,60); // Insert links
break; break;
default: default:
@ -2321,7 +2311,7 @@ static void Prj_ShowProjectTxtField (const struct Prj_Projects *Projects,
break; break;
} }
HTM_Txt (TxtField); HTM_Txt (TxtField);
if (Warning) if (Warning == Prj_PUT_WARNING)
Prj_PutWarningIcon (); Prj_PutWarningIcon ();
HTM_TD_End (); HTM_TD_End ();
@ -2332,15 +2322,15 @@ static void Prj_ShowProjectTxtField (const struct Prj_Projects *Projects,
/************** When listing a project, show one row with URL ****************/ /************** When listing a project, show one row with URL ****************/
/*****************************************************************************/ /*****************************************************************************/
static void Prj_ShowProjectURL (const struct Prj_Projects *Projects, static void Prj_ShowURL (const struct Prj_Projects *Projects,
const char *ClassLabel, const char *ClassLabel,
const char *ClassData, const char *ClassData,
const char *id,unsigned UniqueId) const char *id,unsigned UniqueId)
{ {
extern const char *Txt_URL; extern const char *Txt_URL;
bool PutLink = (Projects->Prj.URL[0] && bool PutLink = (Projects->Prj.URL[0] &&
(Projects->View == Prj_LIST_PROJECTS || (Projects->View == Prj_LIST_PROJECTS ||
Projects->View == Prj_FILE_BROWSER_PROJECT)); Projects->View == Prj_FILE_BROWSER_ONE_PROJECT));
/***** Write row with label and text *****/ /***** Write row with label and text *****/
switch (Projects->View) switch (Projects->View)
@ -2350,7 +2340,7 @@ static void Prj_ShowProjectURL (const struct Prj_Projects *Projects,
HTM_TD_Begin ("colspan=\"4\" class=\"RT %s_%s %s\"", HTM_TD_Begin ("colspan=\"4\" class=\"RT %s_%s %s\"",
ClassLabel,The_GetSuffix (),The_GetColorRows ()); ClassLabel,The_GetSuffix (),The_GetColorRows ());
break; break;
case Prj_FILE_BROWSER_PROJECT: case Prj_FILE_BROWSER_ONE_PROJECT:
HTM_TR_Begin ("id=\"%s%u\" style=\"display:none;\"",id,UniqueId); HTM_TR_Begin ("id=\"%s%u\" style=\"display:none;\"",id,UniqueId);
HTM_TD_Begin ("colspan=\"2\" class=\"RT %s_%s\"", HTM_TD_Begin ("colspan=\"2\" class=\"RT %s_%s\"",
ClassLabel,The_GetSuffix ()); ClassLabel,The_GetSuffix ());

View File

@ -151,7 +151,7 @@ typedef enum
typedef enum typedef enum
{ {
Prj_LIST_PROJECTS, Prj_LIST_PROJECTS,
Prj_FILE_BROWSER_PROJECT, Prj_FILE_BROWSER_ONE_PROJECT,
Prj_PRINT_ONE_PROJECT, Prj_PRINT_ONE_PROJECT,
Prj_EDIT_ONE_PROJECT, Prj_EDIT_ONE_PROJECT,
} Prj_ProjectView_t; } Prj_ProjectView_t;
@ -207,7 +207,7 @@ long Prj_GetPrjCod (void);
void Prj_ResetPrjsAndReadConfig (struct Prj_Projects *Projects); void Prj_ResetPrjsAndReadConfig (struct Prj_Projects *Projects);
void Prj_ListUsrsToSelect (void); void Prj_ListUsrsToSelect (void);
void Prj_SeeProjects (void); void Prj_SeeAllProjects (void);
void Prj_ShowProjects (struct Prj_Projects *Projects); void Prj_ShowProjects (struct Prj_Projects *Projects);
void Prj_ShowTableSelectedPrjs (void); void Prj_ShowTableSelectedPrjs (void);

View File

@ -32435,6 +32435,29 @@ const char *Txt_Private_available_to_certain_users_identified =
"Private, available to certain users identified"; // Çeviri lazim! "Private, available to certain users identified"; // Çeviri lazim!
#endif #endif
const char *Txt_Project =
#if L==1 // ca
"Projecte";
#elif L==2 // de
"Projekt";
#elif L==3 // en
"Project";
#elif L==4 // es
"Proyecto";
#elif L==5 // fr
"Projet";
#elif L==6 // gn
"Apopyrã";
#elif L==7 // it
"Progetto";
#elif L==8 // pl
"Projekt";
#elif L==9 // pt
"Projeto";
#elif L==10 // tr
"Proje";
#endif
const char *Txt_project = const char *Txt_project =
#if L==1 // ca #if L==1 // ca
"projecte"; "projecte";
@ -32447,15 +32470,15 @@ const char *Txt_project =
#elif L==5 // fr #elif L==5 // fr
"project"; "project";
#elif L==6 // gn #elif L==6 // gn
"proyecto"; // Okoteve traducción "apopyrã";
#elif L==7 // it #elif L==7 // it
"progetto"; "progetto";
#elif L==8 // pl #elif L==8 // pl
"projektowe"; "projekt";
#elif L==9 // pt #elif L==9 // pt
"projeto"; "projeto";
#elif L==10 // tr #elif L==10 // tr
"project"; // Çeviri lazim! "proje";
#endif #endif
const char *Txt_Project_assessment = const char *Txt_Project_assessment =
@ -32470,7 +32493,7 @@ const char *Txt_Project_assessment =
#elif L==5 // fr #elif L==5 // fr
"Évaluation du project"; "Évaluation du project";
#elif L==6 // gn #elif L==6 // gn
"Evaluación del proyecto"; // Okoteve traducción "Apopyrã jehechauka";
#elif L==7 // it #elif L==7 // it
"Valutazione di progetto"; "Valutazione di progetto";
#elif L==8 // pl #elif L==8 // pl
@ -32478,7 +32501,7 @@ const char *Txt_Project_assessment =
#elif L==9 // pt #elif L==9 // pt
"Avaliação do projeto"; "Avaliação do projeto";
#elif L==10 // tr #elif L==10 // tr
"Project assessment"; // Çeviri lazim! "Projenin değerlendirilmesi";
#endif #endif
const char *Txt_project_assessment = const char *Txt_project_assessment =
@ -36608,7 +36631,7 @@ const char *Txt_RESOURCE_TYPES[Rsc_NUM_TYPES] =
#elif L==5 // fr #elif L==5 // fr
"Projet" "Projet"
#elif L==6 // gn #elif L==6 // gn
"Proyecto" // Okoteve traducción "Apopyrã"
#elif L==7 // it #elif L==7 // it
"Progetto" "Progetto"
#elif L==8 // pl #elif L==8 // pl
@ -36616,7 +36639,7 @@ const char *Txt_RESOURCE_TYPES[Rsc_NUM_TYPES] =
#elif L==9 // pt #elif L==9 // pt
"Projeto" "Projeto"
#elif L==10 // tr #elif L==10 // tr
"Projesi" "Proje"
#endif #endif
, ,
[Rsc_CALL_FOR_EXAM] = [Rsc_CALL_FOR_EXAM] =