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
|
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
|
||||||
};
|
};
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
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
|
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 **********************************/
|
||||||
|
|
|
@ -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)
|
||||||
|
|
10
swad_icon.c
10
swad_icon.c
|
@ -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;
|
||||||
|
|
|
@ -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) ());
|
||||||
|
|
178
swad_project.c
178
swad_project.c
|
@ -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 *****/
|
||||||
|
|
|
@ -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);
|
||||||
|
|
Loading…
Reference in New Issue