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 316. ActSeeTblAllPrj Show all projects in a table
317. ActFrmNewPrj Form to create a new project 317. ActFrmNewPrj Form to create a new project
318. ActEdiOnePrj Edit one project 318. ActEdiOnePrj Edit one project
NEW. ActFilBrwOnePrj View / edit project file browser
319. ActPrnOnePrj Print one project 319. ActPrnOnePrj Print one project
320. ActNewPrj Create new project 320. ActNewPrj Create new project
321. ActChgPrj Modify data of an existing 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}, /* 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}, /* 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}, /* 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}, /* 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}, /* 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}, /* 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 ActRemTutPrj, // #1694
ActRemEvaPrj, // #1695 ActRemEvaPrj, // #1695
ActSeeTblAllPrj, // #1696 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 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 #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 ActSeeTblAllPrj (ActChgCalCrs1stDay + 28)
#define ActFrmNewPrj (ActChgCalCrs1stDay + 29) #define ActFrmNewPrj (ActChgCalCrs1stDay + 29)
#define ActEdiOnePrj (ActChgCalCrs1stDay + 30) #define ActEdiOnePrj (ActChgCalCrs1stDay + 30)
#define ActPrnOnePrj (ActChgCalCrs1stDay + 31) #define ActFilBrwOnePrj (ActChgCalCrs1stDay + 31)
#define ActNewPrj (ActChgCalCrs1stDay + 32) #define ActPrnOnePrj (ActChgCalCrs1stDay + 32)
#define ActChgPrj (ActChgCalCrs1stDay + 33) #define ActNewPrj (ActChgCalCrs1stDay + 33)
#define ActReqRemPrj (ActChgCalCrs1stDay + 34) #define ActChgPrj (ActChgCalCrs1stDay + 34)
#define ActRemPrj (ActChgCalCrs1stDay + 35) #define ActReqRemPrj (ActChgCalCrs1stDay + 35)
#define ActHidPrj (ActChgCalCrs1stDay + 36) #define ActRemPrj (ActChgCalCrs1stDay + 36)
#define ActShoPrj (ActChgCalCrs1stDay + 37) #define ActHidPrj (ActChgCalCrs1stDay + 37)
#define ActReqAddStdPrj (ActChgCalCrs1stDay + 38) #define ActShoPrj (ActChgCalCrs1stDay + 38)
#define ActReqAddTutPrj (ActChgCalCrs1stDay + 39) #define ActReqAddStdPrj (ActChgCalCrs1stDay + 39)
#define ActReqAddEvaPrj (ActChgCalCrs1stDay + 40) #define ActReqAddTutPrj (ActChgCalCrs1stDay + 40)
#define ActAddStdPrj (ActChgCalCrs1stDay + 41) #define ActReqAddEvaPrj (ActChgCalCrs1stDay + 41)
#define ActAddTutPrj (ActChgCalCrs1stDay + 42) #define ActAddStdPrj (ActChgCalCrs1stDay + 42)
#define ActAddEvaPrj (ActChgCalCrs1stDay + 43) #define ActAddTutPrj (ActChgCalCrs1stDay + 43)
#define ActReqRemStdPrj (ActChgCalCrs1stDay + 44) #define ActAddEvaPrj (ActChgCalCrs1stDay + 44)
#define ActReqRemTutPrj (ActChgCalCrs1stDay + 45) #define ActReqRemStdPrj (ActChgCalCrs1stDay + 45)
#define ActReqRemEvaPrj (ActChgCalCrs1stDay + 46) #define ActReqRemTutPrj (ActChgCalCrs1stDay + 46)
#define ActRemStdPrj (ActChgCalCrs1stDay + 47) #define ActReqRemEvaPrj (ActChgCalCrs1stDay + 47)
#define ActRemTutPrj (ActChgCalCrs1stDay + 48) #define ActRemStdPrj (ActChgCalCrs1stDay + 48)
#define ActRemEvaPrj (ActChgCalCrs1stDay + 49) #define ActRemTutPrj (ActChgCalCrs1stDay + 49)
#define ActRemEvaPrj (ActChgCalCrs1stDay + 50)
#define ActSeeTst (ActChgCalCrs1stDay + 50) #define ActSeeTst (ActChgCalCrs1stDay + 51)
#define ActAssTst (ActChgCalCrs1stDay + 51) #define ActAssTst (ActChgCalCrs1stDay + 52)
#define ActEdiTstQst (ActChgCalCrs1stDay + 52) #define ActEdiTstQst (ActChgCalCrs1stDay + 53)
#define ActEdiOneTstQst (ActChgCalCrs1stDay + 53) #define ActEdiOneTstQst (ActChgCalCrs1stDay + 54)
#define ActReqImpTstQst (ActChgCalCrs1stDay + 54) #define ActReqImpTstQst (ActChgCalCrs1stDay + 55)
#define ActImpTstQst (ActChgCalCrs1stDay + 55) #define ActImpTstQst (ActChgCalCrs1stDay + 56)
#define ActLstTstQst (ActChgCalCrs1stDay + 56) #define ActLstTstQst (ActChgCalCrs1stDay + 57)
#define ActRcvTstQst (ActChgCalCrs1stDay + 57) #define ActRcvTstQst (ActChgCalCrs1stDay + 58)
#define ActReqRemTstQst (ActChgCalCrs1stDay + 58) #define ActReqRemTstQst (ActChgCalCrs1stDay + 59)
#define ActRemTstQst (ActChgCalCrs1stDay + 59) #define ActRemTstQst (ActChgCalCrs1stDay + 60)
#define ActShfTstQst (ActChgCalCrs1stDay + 60) #define ActShfTstQst (ActChgCalCrs1stDay + 61)
#define ActCfgTst (ActChgCalCrs1stDay + 61) #define ActCfgTst (ActChgCalCrs1stDay + 62)
#define ActEnableTag (ActChgCalCrs1stDay + 62) #define ActEnableTag (ActChgCalCrs1stDay + 63)
#define ActDisableTag (ActChgCalCrs1stDay + 63) #define ActDisableTag (ActChgCalCrs1stDay + 64)
#define ActRenTag (ActChgCalCrs1stDay + 64) #define ActRenTag (ActChgCalCrs1stDay + 65)
#define ActRcvCfgTst (ActChgCalCrs1stDay + 65) #define ActRcvCfgTst (ActChgCalCrs1stDay + 66)
#define ActReqSeeMyTstRes (ActChgCalCrs1stDay + 66) #define ActReqSeeMyTstRes (ActChgCalCrs1stDay + 67)
#define ActSeeMyTstRes (ActChgCalCrs1stDay + 67) #define ActSeeMyTstRes (ActChgCalCrs1stDay + 68)
#define ActSeeOneTstResMe (ActChgCalCrs1stDay + 68) #define ActSeeOneTstResMe (ActChgCalCrs1stDay + 69)
#define ActReqSeeUsrTstRes (ActChgCalCrs1stDay + 69) #define ActReqSeeUsrTstRes (ActChgCalCrs1stDay + 70)
#define ActSeeUsrTstRes (ActChgCalCrs1stDay + 70) #define ActSeeUsrTstRes (ActChgCalCrs1stDay + 71)
#define ActSeeOneTstResOth (ActChgCalCrs1stDay + 71) #define ActSeeOneTstResOth (ActChgCalCrs1stDay + 72)
#define ActSeeOneGam (ActChgCalCrs1stDay + 72) #define ActSeeOneGam (ActChgCalCrs1stDay + 73)
#define ActPlyGam (ActChgCalCrs1stDay + 73) #define ActPlyGam (ActChgCalCrs1stDay + 74)
#define ActPlyGam1stQst (ActChgCalCrs1stDay + 74) #define ActPlyGam1stQst (ActChgCalCrs1stDay + 75)
#define ActPlyGamNxtQst (ActChgCalCrs1stDay + 75) #define ActPlyGamNxtQst (ActChgCalCrs1stDay + 76)
#define ActPlyGamAns (ActChgCalCrs1stDay + 76) #define ActPlyGamAns (ActChgCalCrs1stDay + 77)
#define ActAnsGam (ActChgCalCrs1stDay + 77) #define ActAnsGam (ActChgCalCrs1stDay + 78)
#define ActFrmNewGam (ActChgCalCrs1stDay + 78) #define ActFrmNewGam (ActChgCalCrs1stDay + 79)
#define ActEdiOneGam (ActChgCalCrs1stDay + 79) #define ActEdiOneGam (ActChgCalCrs1stDay + 80)
#define ActNewGam (ActChgCalCrs1stDay + 80) #define ActNewGam (ActChgCalCrs1stDay + 81)
#define ActChgGam (ActChgCalCrs1stDay + 81) #define ActChgGam (ActChgCalCrs1stDay + 82)
#define ActReqRemGam (ActChgCalCrs1stDay + 82) #define ActReqRemGam (ActChgCalCrs1stDay + 83)
#define ActRemGam (ActChgCalCrs1stDay + 83) #define ActRemGam (ActChgCalCrs1stDay + 84)
#define ActReqRstGam (ActChgCalCrs1stDay + 84) #define ActReqRstGam (ActChgCalCrs1stDay + 85)
#define ActRstGam (ActChgCalCrs1stDay + 85) #define ActRstGam (ActChgCalCrs1stDay + 86)
#define ActHidGam (ActChgCalCrs1stDay + 86) #define ActHidGam (ActChgCalCrs1stDay + 87)
#define ActShoGam (ActChgCalCrs1stDay + 87) #define ActShoGam (ActChgCalCrs1stDay + 88)
#define ActAddOneGamQst (ActChgCalCrs1stDay + 88) #define ActAddOneGamQst (ActChgCalCrs1stDay + 89)
#define ActGamLstTstQst (ActChgCalCrs1stDay + 89) #define ActGamLstTstQst (ActChgCalCrs1stDay + 90)
#define ActAddTstQstToGam (ActChgCalCrs1stDay + 90) #define ActAddTstQstToGam (ActChgCalCrs1stDay + 91)
#define ActReqRemGamQst (ActChgCalCrs1stDay + 91) #define ActReqRemGamQst (ActChgCalCrs1stDay + 92)
#define ActRemGamQst (ActChgCalCrs1stDay + 92) #define ActRemGamQst (ActChgCalCrs1stDay + 93)
#define ActUp_GamQst (ActChgCalCrs1stDay + 93) #define ActUp_GamQst (ActChgCalCrs1stDay + 94)
#define ActDwnGamQst (ActChgCalCrs1stDay + 94) #define ActDwnGamQst (ActChgCalCrs1stDay + 95)
#define ActSeeOneSvy (ActChgCalCrs1stDay + 95) #define ActSeeOneSvy (ActChgCalCrs1stDay + 96)
#define ActAnsSvy (ActChgCalCrs1stDay + 96) #define ActAnsSvy (ActChgCalCrs1stDay + 97)
#define ActFrmNewSvy (ActChgCalCrs1stDay + 97) #define ActFrmNewSvy (ActChgCalCrs1stDay + 98)
#define ActEdiOneSvy (ActChgCalCrs1stDay + 98) #define ActEdiOneSvy (ActChgCalCrs1stDay + 99)
#define ActNewSvy (ActChgCalCrs1stDay + 99) #define ActNewSvy (ActChgCalCrs1stDay + 100)
#define ActChgSvy (ActChgCalCrs1stDay + 100) #define ActChgSvy (ActChgCalCrs1stDay + 101)
#define ActReqRemSvy (ActChgCalCrs1stDay + 101) #define ActReqRemSvy (ActChgCalCrs1stDay + 102)
#define ActRemSvy (ActChgCalCrs1stDay + 102) #define ActRemSvy (ActChgCalCrs1stDay + 103)
#define ActReqRstSvy (ActChgCalCrs1stDay + 103) #define ActReqRstSvy (ActChgCalCrs1stDay + 104)
#define ActRstSvy (ActChgCalCrs1stDay + 104) #define ActRstSvy (ActChgCalCrs1stDay + 105)
#define ActHidSvy (ActChgCalCrs1stDay + 105) #define ActHidSvy (ActChgCalCrs1stDay + 106)
#define ActShoSvy (ActChgCalCrs1stDay + 106) #define ActShoSvy (ActChgCalCrs1stDay + 107)
#define ActEdiOneSvyQst (ActChgCalCrs1stDay + 107) #define ActEdiOneSvyQst (ActChgCalCrs1stDay + 108)
#define ActRcvSvyQst (ActChgCalCrs1stDay + 108) #define ActRcvSvyQst (ActChgCalCrs1stDay + 109)
#define ActReqRemSvyQst (ActChgCalCrs1stDay + 109) #define ActReqRemSvyQst (ActChgCalCrs1stDay + 110)
#define ActRemSvyQst (ActChgCalCrs1stDay + 110) #define ActRemSvyQst (ActChgCalCrs1stDay + 111)
#define ActSeeOneExaAnn (ActChgCalCrs1stDay + 111) #define ActSeeOneExaAnn (ActChgCalCrs1stDay + 112)
#define ActSeeDatExaAnn (ActChgCalCrs1stDay + 112) #define ActSeeDatExaAnn (ActChgCalCrs1stDay + 113)
#define ActEdiExaAnn (ActChgCalCrs1stDay + 113) #define ActEdiExaAnn (ActChgCalCrs1stDay + 114)
#define ActRcvExaAnn (ActChgCalCrs1stDay + 114) #define ActRcvExaAnn (ActChgCalCrs1stDay + 115)
#define ActPrnExaAnn (ActChgCalCrs1stDay + 115) #define ActPrnExaAnn (ActChgCalCrs1stDay + 116)
#define ActReqRemExaAnn (ActChgCalCrs1stDay + 116) #define ActReqRemExaAnn (ActChgCalCrs1stDay + 117)
#define ActRemExaAnn (ActChgCalCrs1stDay + 117) #define ActRemExaAnn (ActChgCalCrs1stDay + 118)
#define ActHidExaAnn (ActChgCalCrs1stDay + 118) #define ActHidExaAnn (ActChgCalCrs1stDay + 119)
#define ActShoExaAnn (ActChgCalCrs1stDay + 119) #define ActShoExaAnn (ActChgCalCrs1stDay + 120)
/*****************************************************************************/ /*****************************************************************************/
/******************************** Files tab **********************************/ /******************************** Files tab **********************************/

View File

@ -254,13 +254,17 @@
/****************************** Public constants *****************************/ /****************************** 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 CSS_FILE "swad17.0.css"
#define JS_FILE "swad17.17.1.js" #define JS_FILE "swad17.17.1.js"
// Number of lines (includes comments but not blank lines) has been got with the following command: // 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 // 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.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.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) 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); 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) ()) void Ico_PutContextualIconToView (Act_Action_t NextAction,void (*FuncParams) ())
{ {
extern const char *Txt_View; 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_PutContextualIconToRemove (Act_Action_t NextAction,void (*FuncParams) ());
void Ico_PutContextualIconToEdit (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_PutContextualIconToView (Act_Action_t NextAction,void (*FuncParams) ());
void Ico_PutContextualIconToUnhide (Act_Action_t NextAction,void (*FuncParams) ()); void Ico_PutContextualIconToUnhide (Act_Action_t NextAction,void (*FuncParams) ());
void Ico_PutContextualIconToHide (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 typedef enum
{ {
Prj_LIST_PROJECTS, Prj_LIST_PROJECTS,
Prj_FILE_BROWSER_PROJECT,
Prj_PRINT_ONE_PROJECT, Prj_PRINT_ONE_PROJECT,
Prj_EDIT_ONE_PROJECT, Prj_EDIT_ONE_PROJECT,
} Prj_ProjectView_t; } Prj_ProjectView_t;
@ -263,7 +264,11 @@ static void Prj_ShowProjectsInCurrentPage (void)
NumPrj <= Pagination.LastItemVisible; NumPrj <= Pagination.LastItemVisible;
NumPrj++) NumPrj++)
{ {
/* Get project data */
Prj.PrjCod = Gbl.Prjs.LstPrjCods[NumPrj - 1]; Prj.PrjCod = Gbl.Prjs.LstPrjCods[NumPrj - 1];
Prj_GetDataOfProjectByCod (&Prj);
/* Show project */
Prj_ShowOneProject (&Prj,Prj_LIST_PROJECTS); Prj_ShowOneProject (&Prj,Prj_LIST_PROJECTS);
} }
@ -548,6 +553,43 @@ static void Prj_PutIconToShowAllData (void)
NULL); 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 ***********************/ /********************** Show print view of one project ***********************/
/*****************************************************************************/ /*****************************************************************************/
@ -559,8 +601,9 @@ void Prj_PrintOneProject (void)
/***** Allocate memory for the project *****/ /***** Allocate memory for the project *****/
Prj_AllocMemProject (&Prj); Prj_AllocMemProject (&Prj);
/***** Get the code of the project *****/ /***** Get project data *****/
Prj.PrjCod = Prj_GetParamPrjCod (); Prj.PrjCod = Prj_GetParamPrjCod ();
Prj_GetDataOfProjectByCod (&Prj);
/***** Write header *****/ /***** Write header *****/
Lay_WriteHeaderClassPhoto (true,false, 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; extern const char *Txt_Required_materials;
static unsigned UniqueId = 0; static unsigned UniqueId = 0;
/***** Get data of this project *****/
Prj_GetDataOfProjectByCod (Prj);
/***** Write first row of data of this project *****/ /***** Write first row of data of this project *****/
/* Forms to remove/edit this project */ /* Forms to remove/edit this project */
fprintf (Gbl.F.Out,"<tr>" fprintf (Gbl.F.Out,"<tr>"
@ -719,31 +759,49 @@ static void Prj_ShowOneProject (struct Project *Prj,Prj_ProjectView_t ProjectVie
Prj_ShowOneProjectMembers (Prj,ProjectView); Prj_ShowOneProjectMembers (Prj,ProjectView);
/***** Link to show hidden info *****/ /***** Link to show hidden info *****/
if (ProjectView == Prj_LIST_PROJECTS) switch (ProjectView)
{ {
fprintf (Gbl.F.Out,"<tr id=\"prj_exp_%u\">" case Prj_LIST_PROJECTS:
"<td colspan=\"5\" class=\"CENTER_MIDDLE COLOR%u\">", case Prj_FILE_BROWSER_PROJECT:
UniqueId,Gbl.RowEvenOdd); fprintf (Gbl.F.Out,"<tr id=\"prj_exp_%u\">"
Prj_PutIconToToggleProject (UniqueId,"more64x64.png",Txt_See_more); "<td colspan=\"5\" class=\"CENTER_MIDDLE",
fprintf (Gbl.F.Out,"</td>" UniqueId);
"</tr>"); 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;\">" fprintf (Gbl.F.Out,"<tr id=\"prj_con_%u\" style=\"display:none;\">"
"<td colspan=\"5\" class=\"CENTER_MIDDLE COLOR%u\">", "<td colspan=\"5\" class=\"CENTER_MIDDLE",
UniqueId,Gbl.RowEvenOdd); UniqueId);
Prj_PutIconToToggleProject (UniqueId,"less64x64.png",Txt_See_less); if (ProjectView == Prj_LIST_PROJECTS)
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
"</tr>"); fprintf (Gbl.F.Out,"\">");
Prj_PutIconToToggleProject (UniqueId,"less64x64.png",Txt_See_less);
fprintf (Gbl.F.Out,"</td>"
"</tr>");
break;
default:
break;
} }
/***** Proposal *****/ /***** Proposal *****/
if (ProjectView == Prj_LIST_PROJECTS) switch (ProjectView)
fprintf (Gbl.F.Out,"<tr id=\"prj_pro_%u\" style=\"display:none;\">" {
"<td colspan=\"3\" class=\"RIGHT_TOP COLOR%u", case Prj_LIST_PROJECTS:
UniqueId,Gbl.RowEvenOdd); case Prj_FILE_BROWSER_PROJECT:
else fprintf (Gbl.F.Out,"<tr id=\"prj_pro_%u\" style=\"display:none;\">"
fprintf (Gbl.F.Out,"<tr>" "<td colspan=\"3\" class=\"RIGHT_TOP",
"<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\">" fprintf (Gbl.F.Out," %s\">"
"%s:" "%s:"
"</td>" "</td>"
@ -986,13 +1044,21 @@ static void Prj_ShowOneProjectTxtField (struct Project *Prj,
Str_InsertLinks (TxtField,Cns_MAX_BYTES_TEXT,60); // Insert links Str_InsertLinks (TxtField,Cns_MAX_BYTES_TEXT,60); // Insert links
/***** Write row with label and text *****/ /***** Write row with label and text *****/
if (ProjectView == Prj_LIST_PROJECTS) switch (ProjectView)
fprintf (Gbl.F.Out,"<tr id=\"%s%u\" style=\"display:none;\">" {
"<td colspan=\"3\" class=\"RIGHT_TOP COLOR%u", case Prj_LIST_PROJECTS:
id,UniqueId,Gbl.RowEvenOdd); case Prj_FILE_BROWSER_PROJECT:
else fprintf (Gbl.F.Out,"<tr id=\"%s%u\" style=\"display:none;\">"
fprintf (Gbl.F.Out,"<tr>" "<td colspan=\"3\" class=\"RIGHT_TOP",
"<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\">" fprintf (Gbl.F.Out," %s\">"
"%s:" "%s:"
"</td>" "</td>"
@ -1042,13 +1108,21 @@ static void Prj_ShowOneProjectURL (const struct Project *Prj,
/***** Write row with label and text *****/ /***** Write row with label and text *****/
PutLink = (ProjectView == Prj_LIST_PROJECTS && Prj->URL[0]); PutLink = (ProjectView == Prj_LIST_PROJECTS && Prj->URL[0]);
if (ProjectView == Prj_LIST_PROJECTS) switch (ProjectView)
fprintf (Gbl.F.Out,"<tr id=\"%s%u\" style=\"display:none;\">" {
"<td colspan=\"3\" class=\"RIGHT_TOP COLOR%u", case Prj_LIST_PROJECTS:
id,UniqueId,Gbl.RowEvenOdd); case Prj_FILE_BROWSER_PROJECT:
else fprintf (Gbl.F.Out,"<tr id=\"%s%u\" style=\"display:none;\">"
fprintf (Gbl.F.Out,"<tr>" "<td colspan=\"3\" class=\"RIGHT_TOP",
"<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\">" fprintf (Gbl.F.Out," %s\">"
"%s:" "%s:"
"</td>" "</td>"
@ -1150,24 +1224,20 @@ static void Prj_ShowOneProjectMembersWithARole (const struct Project *Prj,
switch (ProjectView) switch (ProjectView)
{ {
case Prj_LIST_PROJECTS: case Prj_LIST_PROJECTS:
fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"RIGHT_TOP COLOR%u %s\">%s:</td>" case Prj_FILE_BROWSER_PROJECT:
"<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_PRINT_ONE_PROJECT: case Prj_PRINT_ONE_PROJECT:
fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"RIGHT_TOP %s\">%s:</td>" fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"RIGHT_TOP");
"<td colspan=\"2\" class=\"LEFT_TOP %s\">", 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" : Prj->Hidden ? "ASG_LABEL_LIGHT" :
"ASG_LABEL", "ASG_LABEL",
NumUsrs == 1 ? Txt_PROJECT_ROLES_SINGUL_Abc[RoleInProject] : 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" : Prj->Hidden ? "DAT_LIGHT" :
"DAT"); "DAT");
break; break;
@ -1680,6 +1750,10 @@ static void Prj_PutFormsToRemEditOnePrj (long PrjCod,bool Hidden)
/***** Put form to edit project *****/ /***** Put form to edit project *****/
Ico_PutContextualIconToEdit (ActEdiOnePrj,Prj_PutParams); 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 *****/ /***** Put form to print project *****/

View File

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