mirror of https://github.com/acanas/swad-core.git
Version 17.18
This commit is contained in:
parent
41c571cbda
commit
39294f3b5e
|
@ -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
|
||||
};
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
183
swad_action.h
183
swad_action.h
|
@ -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 **********************************/
|
||||
|
|
|
@ -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)
|
||||
|
|
10
swad_icon.c
10
swad_icon.c
|
@ -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;
|
||||
|
|
|
@ -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) ());
|
||||
|
|
178
swad_project.c
178
swad_project.c
|
@ -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 *****/
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue