Version 17.18

This commit is contained in:
Antonio Cañas Vargas 2017-10-06 01:20:05 +02:00
parent 41c571cbda
commit 39294f3b5e
7 changed files with 240 additions and 144 deletions

View File

@ -456,6 +456,7 @@ Assessment:
316. ActSeeTblAllPrj Show all projects in a table
317. ActFrmNewPrj Form to create a new project
318. ActEdiOnePrj Edit one project
NEW. ActFilBrwOnePrj View / edit project file browser
319. ActPrnOnePrj Print one project
320. ActNewPrj Create new project
321. ActChgPrj Modify data of an existing project
@ -1959,6 +1960,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActSeeTblAllPrj */{1696,-1,TabUnk,ActSeePrj ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_NEW_TAB,NULL ,Prj_ShowTableAllProjects ,NULL},
/* ActFrmNewPrj */{1675,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_RequestCreatePrj ,NULL},
/* ActEdiOnePrj */{1676,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_RequestEditPrj ,NULL},
/* ActFilBrwOnePrj */{1697,-1,TabUnk,ActSeePrj ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_FileBrowserPrj ,NULL},
/* ActPrnOnePrj */{1677,-1,TabUnk,ActSeePrj ,0x3F8,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_NEW_TAB,NULL ,Prj_PrintOneProject ,NULL},
/* ActNewPrj */{1678,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_RecFormProject ,NULL},
/* ActChgPrj */{1679,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_RecFormProject ,NULL},
@ -4801,6 +4803,7 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un
ActRemTutPrj, // #1694
ActRemEvaPrj, // #1695
ActSeeTblAllPrj, // #1696
ActFilBrwOnePrj, // #1697
};
/*****************************************************************************/

View File

@ -59,9 +59,9 @@ typedef enum
typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action
#define Act_NUM_ACTIONS (1 + 9 + 43 + 17 + 47 + 33 + 24 + 115 + 119 + 437 + 165 + 172 + 42 + 14 + 76)
#define Act_NUM_ACTIONS (1 + 9 + 43 + 17 + 47 + 33 + 24 + 115 + 120 + 437 + 165 + 172 + 42 + 14 + 76)
#define Act_MAX_ACTION_COD 1696
#define Act_MAX_ACTION_COD 1697
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 13
@ -467,100 +467,101 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to
#define ActSeeTblAllPrj (ActChgCalCrs1stDay + 28)
#define ActFrmNewPrj (ActChgCalCrs1stDay + 29)
#define ActEdiOnePrj (ActChgCalCrs1stDay + 30)
#define ActPrnOnePrj (ActChgCalCrs1stDay + 31)
#define ActNewPrj (ActChgCalCrs1stDay + 32)
#define ActChgPrj (ActChgCalCrs1stDay + 33)
#define ActReqRemPrj (ActChgCalCrs1stDay + 34)
#define ActRemPrj (ActChgCalCrs1stDay + 35)
#define ActHidPrj (ActChgCalCrs1stDay + 36)
#define ActShoPrj (ActChgCalCrs1stDay + 37)
#define ActReqAddStdPrj (ActChgCalCrs1stDay + 38)
#define ActReqAddTutPrj (ActChgCalCrs1stDay + 39)
#define ActReqAddEvaPrj (ActChgCalCrs1stDay + 40)
#define ActAddStdPrj (ActChgCalCrs1stDay + 41)
#define ActAddTutPrj (ActChgCalCrs1stDay + 42)
#define ActAddEvaPrj (ActChgCalCrs1stDay + 43)
#define ActReqRemStdPrj (ActChgCalCrs1stDay + 44)
#define ActReqRemTutPrj (ActChgCalCrs1stDay + 45)
#define ActReqRemEvaPrj (ActChgCalCrs1stDay + 46)
#define ActRemStdPrj (ActChgCalCrs1stDay + 47)
#define ActRemTutPrj (ActChgCalCrs1stDay + 48)
#define ActRemEvaPrj (ActChgCalCrs1stDay + 49)
#define ActFilBrwOnePrj (ActChgCalCrs1stDay + 31)
#define ActPrnOnePrj (ActChgCalCrs1stDay + 32)
#define ActNewPrj (ActChgCalCrs1stDay + 33)
#define ActChgPrj (ActChgCalCrs1stDay + 34)
#define ActReqRemPrj (ActChgCalCrs1stDay + 35)
#define ActRemPrj (ActChgCalCrs1stDay + 36)
#define ActHidPrj (ActChgCalCrs1stDay + 37)
#define ActShoPrj (ActChgCalCrs1stDay + 38)
#define ActReqAddStdPrj (ActChgCalCrs1stDay + 39)
#define ActReqAddTutPrj (ActChgCalCrs1stDay + 40)
#define ActReqAddEvaPrj (ActChgCalCrs1stDay + 41)
#define ActAddStdPrj (ActChgCalCrs1stDay + 42)
#define ActAddTutPrj (ActChgCalCrs1stDay + 43)
#define ActAddEvaPrj (ActChgCalCrs1stDay + 44)
#define ActReqRemStdPrj (ActChgCalCrs1stDay + 45)
#define ActReqRemTutPrj (ActChgCalCrs1stDay + 46)
#define ActReqRemEvaPrj (ActChgCalCrs1stDay + 47)
#define ActRemStdPrj (ActChgCalCrs1stDay + 48)
#define ActRemTutPrj (ActChgCalCrs1stDay + 49)
#define ActRemEvaPrj (ActChgCalCrs1stDay + 50)
#define ActSeeTst (ActChgCalCrs1stDay + 50)
#define ActAssTst (ActChgCalCrs1stDay + 51)
#define ActEdiTstQst (ActChgCalCrs1stDay + 52)
#define ActEdiOneTstQst (ActChgCalCrs1stDay + 53)
#define ActReqImpTstQst (ActChgCalCrs1stDay + 54)
#define ActImpTstQst (ActChgCalCrs1stDay + 55)
#define ActLstTstQst (ActChgCalCrs1stDay + 56)
#define ActRcvTstQst (ActChgCalCrs1stDay + 57)
#define ActReqRemTstQst (ActChgCalCrs1stDay + 58)
#define ActRemTstQst (ActChgCalCrs1stDay + 59)
#define ActShfTstQst (ActChgCalCrs1stDay + 60)
#define ActCfgTst (ActChgCalCrs1stDay + 61)
#define ActEnableTag (ActChgCalCrs1stDay + 62)
#define ActDisableTag (ActChgCalCrs1stDay + 63)
#define ActRenTag (ActChgCalCrs1stDay + 64)
#define ActRcvCfgTst (ActChgCalCrs1stDay + 65)
#define ActSeeTst (ActChgCalCrs1stDay + 51)
#define ActAssTst (ActChgCalCrs1stDay + 52)
#define ActEdiTstQst (ActChgCalCrs1stDay + 53)
#define ActEdiOneTstQst (ActChgCalCrs1stDay + 54)
#define ActReqImpTstQst (ActChgCalCrs1stDay + 55)
#define ActImpTstQst (ActChgCalCrs1stDay + 56)
#define ActLstTstQst (ActChgCalCrs1stDay + 57)
#define ActRcvTstQst (ActChgCalCrs1stDay + 58)
#define ActReqRemTstQst (ActChgCalCrs1stDay + 59)
#define ActRemTstQst (ActChgCalCrs1stDay + 60)
#define ActShfTstQst (ActChgCalCrs1stDay + 61)
#define ActCfgTst (ActChgCalCrs1stDay + 62)
#define ActEnableTag (ActChgCalCrs1stDay + 63)
#define ActDisableTag (ActChgCalCrs1stDay + 64)
#define ActRenTag (ActChgCalCrs1stDay + 65)
#define ActRcvCfgTst (ActChgCalCrs1stDay + 66)
#define ActReqSeeMyTstRes (ActChgCalCrs1stDay + 66)
#define ActSeeMyTstRes (ActChgCalCrs1stDay + 67)
#define ActSeeOneTstResMe (ActChgCalCrs1stDay + 68)
#define ActReqSeeUsrTstRes (ActChgCalCrs1stDay + 69)
#define ActSeeUsrTstRes (ActChgCalCrs1stDay + 70)
#define ActSeeOneTstResOth (ActChgCalCrs1stDay + 71)
#define ActReqSeeMyTstRes (ActChgCalCrs1stDay + 67)
#define ActSeeMyTstRes (ActChgCalCrs1stDay + 68)
#define ActSeeOneTstResMe (ActChgCalCrs1stDay + 69)
#define ActReqSeeUsrTstRes (ActChgCalCrs1stDay + 70)
#define ActSeeUsrTstRes (ActChgCalCrs1stDay + 71)
#define ActSeeOneTstResOth (ActChgCalCrs1stDay + 72)
#define ActSeeOneGam (ActChgCalCrs1stDay + 72)
#define ActPlyGam (ActChgCalCrs1stDay + 73)
#define ActPlyGam1stQst (ActChgCalCrs1stDay + 74)
#define ActPlyGamNxtQst (ActChgCalCrs1stDay + 75)
#define ActPlyGamAns (ActChgCalCrs1stDay + 76)
#define ActAnsGam (ActChgCalCrs1stDay + 77)
#define ActFrmNewGam (ActChgCalCrs1stDay + 78)
#define ActEdiOneGam (ActChgCalCrs1stDay + 79)
#define ActNewGam (ActChgCalCrs1stDay + 80)
#define ActChgGam (ActChgCalCrs1stDay + 81)
#define ActReqRemGam (ActChgCalCrs1stDay + 82)
#define ActRemGam (ActChgCalCrs1stDay + 83)
#define ActReqRstGam (ActChgCalCrs1stDay + 84)
#define ActRstGam (ActChgCalCrs1stDay + 85)
#define ActHidGam (ActChgCalCrs1stDay + 86)
#define ActShoGam (ActChgCalCrs1stDay + 87)
#define ActAddOneGamQst (ActChgCalCrs1stDay + 88)
#define ActGamLstTstQst (ActChgCalCrs1stDay + 89)
#define ActAddTstQstToGam (ActChgCalCrs1stDay + 90)
#define ActReqRemGamQst (ActChgCalCrs1stDay + 91)
#define ActRemGamQst (ActChgCalCrs1stDay + 92)
#define ActUp_GamQst (ActChgCalCrs1stDay + 93)
#define ActDwnGamQst (ActChgCalCrs1stDay + 94)
#define ActSeeOneGam (ActChgCalCrs1stDay + 73)
#define ActPlyGam (ActChgCalCrs1stDay + 74)
#define ActPlyGam1stQst (ActChgCalCrs1stDay + 75)
#define ActPlyGamNxtQst (ActChgCalCrs1stDay + 76)
#define ActPlyGamAns (ActChgCalCrs1stDay + 77)
#define ActAnsGam (ActChgCalCrs1stDay + 78)
#define ActFrmNewGam (ActChgCalCrs1stDay + 79)
#define ActEdiOneGam (ActChgCalCrs1stDay + 80)
#define ActNewGam (ActChgCalCrs1stDay + 81)
#define ActChgGam (ActChgCalCrs1stDay + 82)
#define ActReqRemGam (ActChgCalCrs1stDay + 83)
#define ActRemGam (ActChgCalCrs1stDay + 84)
#define ActReqRstGam (ActChgCalCrs1stDay + 85)
#define ActRstGam (ActChgCalCrs1stDay + 86)
#define ActHidGam (ActChgCalCrs1stDay + 87)
#define ActShoGam (ActChgCalCrs1stDay + 88)
#define ActAddOneGamQst (ActChgCalCrs1stDay + 89)
#define ActGamLstTstQst (ActChgCalCrs1stDay + 90)
#define ActAddTstQstToGam (ActChgCalCrs1stDay + 91)
#define ActReqRemGamQst (ActChgCalCrs1stDay + 92)
#define ActRemGamQst (ActChgCalCrs1stDay + 93)
#define ActUp_GamQst (ActChgCalCrs1stDay + 94)
#define ActDwnGamQst (ActChgCalCrs1stDay + 95)
#define ActSeeOneSvy (ActChgCalCrs1stDay + 95)
#define ActAnsSvy (ActChgCalCrs1stDay + 96)
#define ActFrmNewSvy (ActChgCalCrs1stDay + 97)
#define ActEdiOneSvy (ActChgCalCrs1stDay + 98)
#define ActNewSvy (ActChgCalCrs1stDay + 99)
#define ActChgSvy (ActChgCalCrs1stDay + 100)
#define ActReqRemSvy (ActChgCalCrs1stDay + 101)
#define ActRemSvy (ActChgCalCrs1stDay + 102)
#define ActReqRstSvy (ActChgCalCrs1stDay + 103)
#define ActRstSvy (ActChgCalCrs1stDay + 104)
#define ActHidSvy (ActChgCalCrs1stDay + 105)
#define ActShoSvy (ActChgCalCrs1stDay + 106)
#define ActEdiOneSvyQst (ActChgCalCrs1stDay + 107)
#define ActRcvSvyQst (ActChgCalCrs1stDay + 108)
#define ActReqRemSvyQst (ActChgCalCrs1stDay + 109)
#define ActRemSvyQst (ActChgCalCrs1stDay + 110)
#define ActSeeOneSvy (ActChgCalCrs1stDay + 96)
#define ActAnsSvy (ActChgCalCrs1stDay + 97)
#define ActFrmNewSvy (ActChgCalCrs1stDay + 98)
#define ActEdiOneSvy (ActChgCalCrs1stDay + 99)
#define ActNewSvy (ActChgCalCrs1stDay + 100)
#define ActChgSvy (ActChgCalCrs1stDay + 101)
#define ActReqRemSvy (ActChgCalCrs1stDay + 102)
#define ActRemSvy (ActChgCalCrs1stDay + 103)
#define ActReqRstSvy (ActChgCalCrs1stDay + 104)
#define ActRstSvy (ActChgCalCrs1stDay + 105)
#define ActHidSvy (ActChgCalCrs1stDay + 106)
#define ActShoSvy (ActChgCalCrs1stDay + 107)
#define ActEdiOneSvyQst (ActChgCalCrs1stDay + 108)
#define ActRcvSvyQst (ActChgCalCrs1stDay + 109)
#define ActReqRemSvyQst (ActChgCalCrs1stDay + 110)
#define ActRemSvyQst (ActChgCalCrs1stDay + 111)
#define ActSeeOneExaAnn (ActChgCalCrs1stDay + 111)
#define ActSeeDatExaAnn (ActChgCalCrs1stDay + 112)
#define ActEdiExaAnn (ActChgCalCrs1stDay + 113)
#define ActRcvExaAnn (ActChgCalCrs1stDay + 114)
#define ActPrnExaAnn (ActChgCalCrs1stDay + 115)
#define ActReqRemExaAnn (ActChgCalCrs1stDay + 116)
#define ActRemExaAnn (ActChgCalCrs1stDay + 117)
#define ActHidExaAnn (ActChgCalCrs1stDay + 118)
#define ActShoExaAnn (ActChgCalCrs1stDay + 119)
#define ActSeeOneExaAnn (ActChgCalCrs1stDay + 112)
#define ActSeeDatExaAnn (ActChgCalCrs1stDay + 113)
#define ActEdiExaAnn (ActChgCalCrs1stDay + 114)
#define ActRcvExaAnn (ActChgCalCrs1stDay + 115)
#define ActPrnExaAnn (ActChgCalCrs1stDay + 116)
#define ActReqRemExaAnn (ActChgCalCrs1stDay + 117)
#define ActRemExaAnn (ActChgCalCrs1stDay + 118)
#define ActHidExaAnn (ActChgCalCrs1stDay + 119)
#define ActShoExaAnn (ActChgCalCrs1stDay + 120)
/*****************************************************************************/
/******************************** Files tab **********************************/

View File

@ -254,13 +254,17 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 17.17.5 (2017-10-05)"
#define Log_PLATFORM_VERSION "SWAD 17.18 (2017-10-06)"
#define CSS_FILE "swad17.0.css"
#define JS_FILE "swad17.17.1.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.18: Oct 06, 2017 New view in projects for project file browser. (232547 lines)
1 change necessary in database:
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1697','es','N','Editar archivos proyecto');
Version 17.17.5: Oct 05, 2017 Fixed bug in contextual icons in records. (232467 lines)
Version 17.17.4: Oct 05, 2017 Department is filled automatically with user's department when creating a new project. (232385 lines)
Version 17.17.3: Oct 04, 2017 Fixed problems with icons when expanding / contracting a folder. (232383 lines)

View File

@ -202,6 +202,16 @@ void Ico_PutContextualIconToEdit (Act_Action_t NextAction,void (*FuncParams) ())
NULL);
}
void Ico_PutContextualIconToViewFiles (Act_Action_t NextAction,void (*FuncParams) ())
{
extern const char *Txt_Files;
Lay_PutContextualLink (NextAction,NULL,FuncParams,
"folder64x64.gif",
Txt_Files,NULL,
NULL);
}
void Ico_PutContextualIconToView (Act_Action_t NextAction,void (*FuncParams) ())
{
extern const char *Txt_View;

View File

@ -55,6 +55,7 @@ Ico_IconSet_t Ico_GetIconSetFromStr (const char *Str);
void Ico_PutContextualIconToRemove (Act_Action_t NextAction,void (*FuncParams) ());
void Ico_PutContextualIconToEdit (Act_Action_t NextAction,void (*FuncParams) ());
void Ico_PutContextualIconToViewFiles (Act_Action_t NextAction,void (*FuncParams) ());
void Ico_PutContextualIconToView (Act_Action_t NextAction,void (*FuncParams) ());
void Ico_PutContextualIconToUnhide (Act_Action_t NextAction,void (*FuncParams) ());
void Ico_PutContextualIconToHide (Act_Action_t NextAction,void (*FuncParams) ());

View File

@ -55,6 +55,7 @@ extern struct Globals Gbl;
typedef enum
{
Prj_LIST_PROJECTS,
Prj_FILE_BROWSER_PROJECT,
Prj_PRINT_ONE_PROJECT,
Prj_EDIT_ONE_PROJECT,
} Prj_ProjectView_t;
@ -263,7 +264,11 @@ static void Prj_ShowProjectsInCurrentPage (void)
NumPrj <= Pagination.LastItemVisible;
NumPrj++)
{
/* Get project data */
Prj.PrjCod = Gbl.Prjs.LstPrjCods[NumPrj - 1];
Prj_GetDataOfProjectByCod (&Prj);
/* Show project */
Prj_ShowOneProject (&Prj,Prj_LIST_PROJECTS);
}
@ -548,6 +553,43 @@ static void Prj_PutIconToShowAllData (void)
NULL);
}
/*****************************************************************************/
/***************** View / edit file browser of one project *******************/
/*****************************************************************************/
void Prj_FileBrowserPrj (void)
{
extern const char *Hlp_ASSESSMENT_Projects;
struct Project Prj;
/***** Allocate memory for the project *****/
Prj_AllocMemProject (&Prj);
/***** Get project data *****/
Prj.PrjCod = Prj_GetParamPrjCod ();
Prj_GetDataOfProjectByCod (&Prj);
/***** Start box and table *****/
Box_StartBoxTable (NULL,Prj.Title,NULL,
Hlp_ASSESSMENT_Projects,Box_NOT_CLOSABLE,2);
Prj_ShowProjectsHead (true); // Print view
/***** Write project *****/
Prj_ShowOneProject (&Prj,Prj_FILE_BROWSER_PROJECT);
/***** End table *****/
Tbl_EndTable ();
/***** Project file browser *****/
Ale_ShowAlert (Ale_INFO,"Archivos del proyecto");
/***** End box *****/
Box_EndBoxTable ();
/***** Free memory of the project *****/
Prj_FreeMemProject (&Prj);
}
/*****************************************************************************/
/********************** Show print view of one project ***********************/
/*****************************************************************************/
@ -559,8 +601,9 @@ void Prj_PrintOneProject (void)
/***** Allocate memory for the project *****/
Prj_AllocMemProject (&Prj);
/***** Get the code of the project *****/
/***** Get project data *****/
Prj.PrjCod = Prj_GetParamPrjCod ();
Prj_GetDataOfProjectByCod (&Prj);
/***** Write header *****/
Lay_WriteHeaderClassPhoto (true,false,
@ -602,9 +645,6 @@ static void Prj_ShowOneProject (struct Project *Prj,Prj_ProjectView_t ProjectVie
extern const char *Txt_Required_materials;
static unsigned UniqueId = 0;
/***** Get data of this project *****/
Prj_GetDataOfProjectByCod (Prj);
/***** Write first row of data of this project *****/
/* Forms to remove/edit this project */
fprintf (Gbl.F.Out,"<tr>"
@ -719,31 +759,49 @@ static void Prj_ShowOneProject (struct Project *Prj,Prj_ProjectView_t ProjectVie
Prj_ShowOneProjectMembers (Prj,ProjectView);
/***** Link to show hidden info *****/
if (ProjectView == Prj_LIST_PROJECTS)
switch (ProjectView)
{
fprintf (Gbl.F.Out,"<tr id=\"prj_exp_%u\">"
"<td colspan=\"5\" class=\"CENTER_MIDDLE COLOR%u\">",
UniqueId,Gbl.RowEvenOdd);
Prj_PutIconToToggleProject (UniqueId,"more64x64.png",Txt_See_more);
fprintf (Gbl.F.Out,"</td>"
"</tr>");
case Prj_LIST_PROJECTS:
case Prj_FILE_BROWSER_PROJECT:
fprintf (Gbl.F.Out,"<tr id=\"prj_exp_%u\">"
"<td colspan=\"5\" class=\"CENTER_MIDDLE",
UniqueId);
if (ProjectView == Prj_LIST_PROJECTS)
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"\">");
Prj_PutIconToToggleProject (UniqueId,"more64x64.png",Txt_See_more);
fprintf (Gbl.F.Out,"</td>"
"</tr>");
fprintf (Gbl.F.Out,"<tr id=\"prj_con_%u\" style=\"display:none;\">"
"<td colspan=\"5\" class=\"CENTER_MIDDLE COLOR%u\">",
UniqueId,Gbl.RowEvenOdd);
Prj_PutIconToToggleProject (UniqueId,"less64x64.png",Txt_See_less);
fprintf (Gbl.F.Out,"</td>"
"</tr>");
fprintf (Gbl.F.Out,"<tr id=\"prj_con_%u\" style=\"display:none;\">"
"<td colspan=\"5\" class=\"CENTER_MIDDLE",
UniqueId);
if (ProjectView == Prj_LIST_PROJECTS)
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"\">");
Prj_PutIconToToggleProject (UniqueId,"less64x64.png",Txt_See_less);
fprintf (Gbl.F.Out,"</td>"
"</tr>");
break;
default:
break;
}
/***** Proposal *****/
if (ProjectView == Prj_LIST_PROJECTS)
fprintf (Gbl.F.Out,"<tr id=\"prj_pro_%u\" style=\"display:none;\">"
"<td colspan=\"3\" class=\"RIGHT_TOP COLOR%u",
UniqueId,Gbl.RowEvenOdd);
else
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"3\" class=\"RIGHT_TOP");
switch (ProjectView)
{
case Prj_LIST_PROJECTS:
case Prj_FILE_BROWSER_PROJECT:
fprintf (Gbl.F.Out,"<tr id=\"prj_pro_%u\" style=\"display:none;\">"
"<td colspan=\"3\" class=\"RIGHT_TOP",
UniqueId);
if (ProjectView == Prj_LIST_PROJECTS)
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
break;
default:
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"3\" class=\"RIGHT_TOP");
}
fprintf (Gbl.F.Out," %s\">"
"%s:"
"</td>"
@ -986,13 +1044,21 @@ static void Prj_ShowOneProjectTxtField (struct Project *Prj,
Str_InsertLinks (TxtField,Cns_MAX_BYTES_TEXT,60); // Insert links
/***** Write row with label and text *****/
if (ProjectView == Prj_LIST_PROJECTS)
fprintf (Gbl.F.Out,"<tr id=\"%s%u\" style=\"display:none;\">"
"<td colspan=\"3\" class=\"RIGHT_TOP COLOR%u",
id,UniqueId,Gbl.RowEvenOdd);
else
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"3\" class=\"RIGHT_TOP");
switch (ProjectView)
{
case Prj_LIST_PROJECTS:
case Prj_FILE_BROWSER_PROJECT:
fprintf (Gbl.F.Out,"<tr id=\"%s%u\" style=\"display:none;\">"
"<td colspan=\"3\" class=\"RIGHT_TOP",
id,UniqueId);
if (ProjectView == Prj_LIST_PROJECTS)
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
break;
default:
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"3\" class=\"RIGHT_TOP");
break;
}
fprintf (Gbl.F.Out," %s\">"
"%s:"
"</td>"
@ -1042,13 +1108,21 @@ static void Prj_ShowOneProjectURL (const struct Project *Prj,
/***** Write row with label and text *****/
PutLink = (ProjectView == Prj_LIST_PROJECTS && Prj->URL[0]);
if (ProjectView == Prj_LIST_PROJECTS)
fprintf (Gbl.F.Out,"<tr id=\"%s%u\" style=\"display:none;\">"
"<td colspan=\"3\" class=\"RIGHT_TOP COLOR%u",
id,UniqueId,Gbl.RowEvenOdd);
else
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"3\" class=\"RIGHT_TOP");
switch (ProjectView)
{
case Prj_LIST_PROJECTS:
case Prj_FILE_BROWSER_PROJECT:
fprintf (Gbl.F.Out,"<tr id=\"%s%u\" style=\"display:none;\">"
"<td colspan=\"3\" class=\"RIGHT_TOP",
id,UniqueId);
if (ProjectView == Prj_LIST_PROJECTS)
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
break;
default:
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"3\" class=\"RIGHT_TOP");
break;
}
fprintf (Gbl.F.Out," %s\">"
"%s:"
"</td>"
@ -1150,24 +1224,20 @@ static void Prj_ShowOneProjectMembersWithARole (const struct Project *Prj,
switch (ProjectView)
{
case Prj_LIST_PROJECTS:
fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"RIGHT_TOP COLOR%u %s\">%s:</td>"
"<td colspan=\"2\" class=\"LEFT_TOP COLOR%u %s\">",
Gbl.RowEvenOdd,
Prj->Hidden ? "ASG_LABEL_LIGHT" :
"ASG_LABEL",
NumUsrs == 1 ? Txt_PROJECT_ROLES_SINGUL_Abc[RoleInProject] :
Txt_PROJECT_ROLES_PLURAL_Abc[RoleInProject],
Gbl.RowEvenOdd,
Prj->Hidden ? "DAT_LIGHT" :
"DAT");
break;
case Prj_FILE_BROWSER_PROJECT:
case Prj_PRINT_ONE_PROJECT:
fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"RIGHT_TOP %s\">%s:</td>"
"<td colspan=\"2\" class=\"LEFT_TOP %s\">",
fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"RIGHT_TOP");
if (ProjectView == Prj_LIST_PROJECTS)
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
fprintf (Gbl.F.Out," %s\">%s:</td>"
"<td colspan=\"2\" class=\"LEFT_TOP",
Prj->Hidden ? "ASG_LABEL_LIGHT" :
"ASG_LABEL",
NumUsrs == 1 ? Txt_PROJECT_ROLES_SINGUL_Abc[RoleInProject] :
Txt_PROJECT_ROLES_PLURAL_Abc[RoleInProject],
Txt_PROJECT_ROLES_PLURAL_Abc[RoleInProject]);
if (ProjectView == Prj_LIST_PROJECTS)
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
fprintf (Gbl.F.Out," %s\">",
Prj->Hidden ? "DAT_LIGHT" :
"DAT");
break;
@ -1680,6 +1750,10 @@ static void Prj_PutFormsToRemEditOnePrj (long PrjCod,bool Hidden)
/***** Put form to edit project *****/
Ico_PutContextualIconToEdit (ActEdiOnePrj,Prj_PutParams);
/***** Put form to view project file browser *****/
if (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
Ico_PutContextualIconToViewFiles (ActFilBrwOnePrj,Prj_PutParams);
}
/***** Put form to print project *****/

View File

@ -109,6 +109,9 @@ typedef enum
void Prj_SeeProjects (void);
void Prj_ShowTableAllProjects (void);
void Prj_PutParamWhichPrjs (void);
void Prj_FileBrowserPrj (void);
void Prj_PrintOneProject (void);
void Prj_ReqAddStd (void);