Version 14.73

This commit is contained in:
Antonio Cañas Vargas 2015-02-03 18:43:55 +01:00
parent 19bbabdef1
commit f947850cc7
14 changed files with 319 additions and 175 deletions

View File

@ -175,6 +175,7 @@ Institution:
82. ActPrnInsInf Print information on the current institution
83. ActReqInsLog Show form to send the logo of the current institution
84. ActRecInsLog Receive and store the logo of the current institution
--. ActRemInsLog Remove the logo of the current institution
85. ActEdiCtr Edit centres
86. ActReqCtr Request the creation of a request for a new centre (a teacher makes the petition to an administrator)
@ -255,6 +256,7 @@ Centre:
149. ActPrnCtrInf Print information on the current centre
150. ActReqCtrLog Show form to send the logo of the current centre
151. ActRecCtrLog Receive and store the logo of the current centre
---. ActRemCtrLog Remove the logo of the current centre
152. ActReqCtrPho Show form to send the photo of the current centre
153. ActRecCtrPho Receive and store the photo of the current centre
154. ActChgCtrPhoAtt Change attribution of centre photo
@ -318,6 +320,7 @@ Degree:
202. ActPrnDegInf Print information on the current degree
203. ActReqDegLog Show form to send the logo of the current degree
204. ActRecDegLog Receive and store the logo of the current degree
---. ActRemDegLog Remove the logo of the current degree
205. ActEdiCrs Request edition of courses of a degree
206. ActReqCrs Request the creation of a request for a new course (a teacher makes the petition to an administrator)
@ -1431,7 +1434,8 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActPrnInsInf */{1154,-1,TabIns,ActSeeInsInf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_NEW_WINDOW ,NULL ,Ins_PrintConfiguration ,NULL},
/* ActReqInsLog */{1245,-1,TabIns,ActSeeInsInf ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ins_RequestLogo ,NULL},
/* ActRecInsLog */{ 699,-1,TabIns,ActSeeInsInf ,0x100,0x100,0x100,Act_CONTENT_DATA,Act_MAIN_WINDOW,NULL ,Ins_ReceiveLogo ,NULL},
/* ActRecInsLog */{ 699,-1,TabIns,ActSeeInsInf ,0x100,0x100,0x100,Act_CONTENT_DATA,Act_MAIN_WINDOW,Ins_ReceiveLogo ,Ins_ShowConfiguration ,NULL},
/* ActRemInsLog */{1341,-1,TabIns,ActSeeInsInf ,0x100,0x100,0x100,Act_CONTENT_DATA,Act_MAIN_WINDOW,Ins_RemoveLogo ,Ins_ShowConfiguration ,NULL},
/* ActEdiCtr */{ 681,-1,TabIns,ActSeeCtr ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ctr_EditCentres ,NULL},
/* ActReqCtr */{1208,-1,TabIns,ActSeeCtr ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ctr_RecFormReqCtr ,NULL},
@ -1513,7 +1517,8 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActPrnCtrInf */{1152,-1,TabCtr,ActSeeCtrInf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_NEW_WINDOW ,NULL ,Ctr_PrintConfiguration ,NULL},
/* ActReqCtrLog */{1244,-1,TabCtr,ActSeeCtrInf ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ctr_RequestLogo ,NULL},
/* ActRecCtrLog */{1051,-1,TabCtr,ActSeeCtrInf ,0x100,0x100,0x100,Act_CONTENT_DATA,Act_MAIN_WINDOW,NULL ,Ctr_ReceiveLogo ,NULL},
/* ActRecCtrLog */{1051,-1,TabCtr,ActSeeCtrInf ,0x100,0x100,0x100,Act_CONTENT_DATA,Act_MAIN_WINDOW,Ctr_ReceiveLogo ,Ctr_ShowConfiguration ,NULL},
/* ActRemCtrLog */{1342,-1,TabCtr,ActSeeCtrInf ,0x100,0x100,0x100,Act_CONTENT_DATA,Act_MAIN_WINDOW,Ctr_RemoveLogo ,Ctr_ShowConfiguration ,NULL},
/* ActReqCtrPho */{1160,-1,TabCtr,ActSeeCtrInf ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ctr_RequestPhoto ,NULL},
/* ActRecCtrPho */{1161,-1,TabCtr,ActSeeCtrInf ,0x100,0x100,0x100,Act_CONTENT_DATA,Act_MAIN_WINDOW,NULL ,Ctr_ReceivePhoto ,NULL},
/* ActChgCtrPhoAtt */{1159,-1,TabCtr,ActSeeCtrInf ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ctr_ChangeCtrPhotoAttribution ,NULL},
@ -1578,7 +1583,8 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActPrnDegInf */{1150,-1,TabDeg,ActSeeDegInf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_NEW_WINDOW ,NULL ,Deg_PrintConfiguration ,NULL},
/* ActReqDegLog */{1246,-1,TabDeg,ActSeeDegInf ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Deg_RequestLogo ,NULL},
/* ActRecDegLog */{ 553,-1,TabDeg,ActSeeDegInf ,0x100,0x100,0x100,Act_CONTENT_DATA,Act_MAIN_WINDOW,NULL ,Deg_ReceiveLogo ,NULL},
/* ActRecDegLog */{ 553,-1,TabDeg,ActSeeDegInf ,0x100,0x100,0x100,Act_CONTENT_DATA,Act_MAIN_WINDOW,Deg_ReceiveLogo ,Deg_ShowConfiguration ,NULL},
/* ActRemDegLog */{1343,-1,TabDeg,ActSeeDegInf ,0x100,0x100,0x100,Act_CONTENT_DATA,Act_MAIN_WINDOW,Deg_RemoveLogo ,Deg_ShowConfiguration ,NULL},
/* ActEdiCrs */{ 555,-1,TabDeg,ActSeeCrs ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Crs_ReqEditCourses ,NULL},
/* ActReqCrs */{1053,-1,TabDeg,ActSeeCrs ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Crs_RecFormReqCrs ,NULL},
@ -3852,6 +3858,9 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
ActRemAdmIns, // #1338
ActNewAdmCtr, // #1339
ActRemAdmCtr, // #1340
ActRemInsLog, // #1341
ActRemCtrLog, // #1342
ActRemDegLog, // #1343
};
/*****************************************************************************/

View File

@ -69,9 +69,9 @@ typedef enum
typedef int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action
#define Act_NUM_ACTIONS (7+52+15+70+53+48+204+184+98+168+28+75)
#define Act_NUM_ACTIONS (7+52+15+71+54+49+204+184+98+168+28+75)
#define Act_MAX_ACTION_COD 1340
#define Act_MAX_ACTION_COD 1343
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 20
@ -189,70 +189,71 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica
#define ActPrnInsInf (ActChgInsSta+ 9)
#define ActReqInsLog (ActChgInsSta+ 10)
#define ActRecInsLog (ActChgInsSta+ 11)
#define ActRemInsLog (ActChgInsSta+ 12)
#define ActEdiCtr (ActChgInsSta+ 12)
#define ActReqCtr (ActChgInsSta+ 13)
#define ActNewCtr (ActChgInsSta+ 14)
#define ActRemCtr (ActChgInsSta+ 15)
#define ActChgCtrIns (ActChgInsSta+ 16)
#define ActChgCtrPlc (ActChgInsSta+ 17)
#define ActRenCtrSho (ActChgInsSta+ 18)
#define ActRenCtrFul (ActChgInsSta+ 19)
#define ActChgCtrWWW (ActChgInsSta+ 20)
#define ActChgCtrSta (ActChgInsSta+ 21)
#define ActEdiCtr (ActChgInsSta+ 13)
#define ActReqCtr (ActChgInsSta+ 14)
#define ActNewCtr (ActChgInsSta+ 15)
#define ActRemCtr (ActChgInsSta+ 16)
#define ActChgCtrIns (ActChgInsSta+ 17)
#define ActChgCtrPlc (ActChgInsSta+ 18)
#define ActRenCtrSho (ActChgInsSta+ 19)
#define ActRenCtrFul (ActChgInsSta+ 20)
#define ActChgCtrWWW (ActChgInsSta+ 21)
#define ActChgCtrSta (ActChgInsSta+ 22)
#define ActEdiDpt (ActChgInsSta+ 22)
#define ActNewDpt (ActChgInsSta+ 23)
#define ActRemDpt (ActChgInsSta+ 24)
#define ActChgDptIns (ActChgInsSta+ 25)
#define ActRenDptSho (ActChgInsSta+ 26)
#define ActRenDptFul (ActChgInsSta+ 27)
#define ActChgDptWWW (ActChgInsSta+ 28)
#define ActEdiDpt (ActChgInsSta+ 23)
#define ActNewDpt (ActChgInsSta+ 24)
#define ActRemDpt (ActChgInsSta+ 25)
#define ActChgDptIns (ActChgInsSta+ 26)
#define ActRenDptSho (ActChgInsSta+ 27)
#define ActRenDptFul (ActChgInsSta+ 28)
#define ActChgDptWWW (ActChgInsSta+ 29)
#define ActEdiPlc (ActChgInsSta+ 29)
#define ActNewPlc (ActChgInsSta+ 30)
#define ActRemPlc (ActChgInsSta+ 31)
#define ActRenPlcSho (ActChgInsSta+ 32)
#define ActRenPlcFul (ActChgInsSta+ 33)
#define ActEdiPlc (ActChgInsSta+ 30)
#define ActNewPlc (ActChgInsSta+ 31)
#define ActRemPlc (ActChgInsSta+ 32)
#define ActRenPlcSho (ActChgInsSta+ 33)
#define ActRenPlcFul (ActChgInsSta+ 34)
#define ActEdiHld (ActChgInsSta+ 34)
#define ActNewHld (ActChgInsSta+ 35)
#define ActRemHld (ActChgInsSta+ 36)
#define ActChgHldPlc (ActChgInsSta+ 37)
#define ActChgHldTyp (ActChgInsSta+ 38)
#define ActChgHldStrDat (ActChgInsSta+ 39)
#define ActChgHldEndDat (ActChgInsSta+ 40)
#define ActRenHld (ActChgInsSta+ 41)
#define ActEdiHld (ActChgInsSta+ 35)
#define ActNewHld (ActChgInsSta+ 36)
#define ActRemHld (ActChgInsSta+ 37)
#define ActChgHldPlc (ActChgInsSta+ 38)
#define ActChgHldTyp (ActChgInsSta+ 39)
#define ActChgHldStrDat (ActChgInsSta+ 40)
#define ActChgHldEndDat (ActChgInsSta+ 41)
#define ActRenHld (ActChgInsSta+ 42)
#define ActChgToSeeDocIns (ActChgInsSta+ 42)
#define ActSeeDocIns (ActChgInsSta+ 43)
#define ActExpSeeDocIns (ActChgInsSta+ 44)
#define ActConSeeDocIns (ActChgInsSta+ 45)
#define ActZIPSeeDocIns (ActChgInsSta+ 46)
#define ActReqDatSeeDocIns (ActChgInsSta+ 47)
#define ActDowSeeDocIns (ActChgInsSta+ 48)
#define ActChgToAdmDocIns (ActChgInsSta+ 49)
#define ActAdmDocIns (ActChgInsSta+ 50)
#define ActReqRemFilDocIns (ActChgInsSta+ 51)
#define ActRemFilDocIns (ActChgInsSta+ 52)
#define ActRemFolDocIns (ActChgInsSta+ 53)
#define ActCopDocIns (ActChgInsSta+ 54)
#define ActPasDocIns (ActChgInsSta+ 55)
#define ActRemTreDocIns (ActChgInsSta+ 56)
#define ActFrmCreDocIns (ActChgInsSta+ 57)
#define ActCreFolDocIns (ActChgInsSta+ 58)
#define ActCreLnkDocIns (ActChgInsSta+ 59)
#define ActRenFolDocIns (ActChgInsSta+ 60)
#define ActRcvFilDocInsDZ (ActChgInsSta+ 61)
#define ActRcvFilDocInsCla (ActChgInsSta+ 62)
#define ActExpAdmDocIns (ActChgInsSta+ 63)
#define ActConAdmDocIns (ActChgInsSta+ 64)
#define ActZIPAdmDocIns (ActChgInsSta+ 65)
#define ActShoDocIns (ActChgInsSta+ 66)
#define ActHidDocIns (ActChgInsSta+ 67)
#define ActReqDatAdmDocIns (ActChgInsSta+ 68)
#define ActChgDatAdmDocIns (ActChgInsSta+ 69)
#define ActDowAdmDocIns (ActChgInsSta+ 70)
#define ActChgToSeeDocIns (ActChgInsSta+ 43)
#define ActSeeDocIns (ActChgInsSta+ 44)
#define ActExpSeeDocIns (ActChgInsSta+ 45)
#define ActConSeeDocIns (ActChgInsSta+ 46)
#define ActZIPSeeDocIns (ActChgInsSta+ 47)
#define ActReqDatSeeDocIns (ActChgInsSta+ 48)
#define ActDowSeeDocIns (ActChgInsSta+ 49)
#define ActChgToAdmDocIns (ActChgInsSta+ 50)
#define ActAdmDocIns (ActChgInsSta+ 51)
#define ActReqRemFilDocIns (ActChgInsSta+ 52)
#define ActRemFilDocIns (ActChgInsSta+ 53)
#define ActRemFolDocIns (ActChgInsSta+ 54)
#define ActCopDocIns (ActChgInsSta+ 55)
#define ActPasDocIns (ActChgInsSta+ 56)
#define ActRemTreDocIns (ActChgInsSta+ 57)
#define ActFrmCreDocIns (ActChgInsSta+ 58)
#define ActCreFolDocIns (ActChgInsSta+ 59)
#define ActCreLnkDocIns (ActChgInsSta+ 60)
#define ActRenFolDocIns (ActChgInsSta+ 61)
#define ActRcvFilDocInsDZ (ActChgInsSta+ 62)
#define ActRcvFilDocInsCla (ActChgInsSta+ 63)
#define ActExpAdmDocIns (ActChgInsSta+ 64)
#define ActConAdmDocIns (ActChgInsSta+ 65)
#define ActZIPAdmDocIns (ActChgInsSta+ 66)
#define ActShoDocIns (ActChgInsSta+ 67)
#define ActHidDocIns (ActChgInsSta+ 68)
#define ActReqDatAdmDocIns (ActChgInsSta+ 69)
#define ActChgDatAdmDocIns (ActChgInsSta+ 70)
#define ActDowAdmDocIns (ActChgInsSta+ 71)
/*****************************************************************************/
/********************************* Centre tab ********************************/
@ -268,53 +269,54 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica
#define ActPrnCtrInf (ActDowAdmDocIns+ 6)
#define ActReqCtrLog (ActDowAdmDocIns+ 7)
#define ActRecCtrLog (ActDowAdmDocIns+ 8)
#define ActReqCtrPho (ActDowAdmDocIns+ 9)
#define ActRecCtrPho (ActDowAdmDocIns+ 10)
#define ActChgCtrPhoAtt (ActDowAdmDocIns+ 11)
#define ActRemCtrLog (ActDowAdmDocIns+ 9)
#define ActReqCtrPho (ActDowAdmDocIns+ 10)
#define ActRecCtrPho (ActDowAdmDocIns+ 11)
#define ActChgCtrPhoAtt (ActDowAdmDocIns+ 12)
#define ActEdiDeg (ActDowAdmDocIns+ 12)
#define ActReqDeg (ActDowAdmDocIns+ 13)
#define ActNewDeg (ActDowAdmDocIns+ 14)
#define ActRemDeg (ActDowAdmDocIns+ 15)
#define ActRenDegSho (ActDowAdmDocIns+ 16)
#define ActRenDegFul (ActDowAdmDocIns+ 17)
#define ActChgDegTyp (ActDowAdmDocIns+ 18)
#define ActChgDegCtr (ActDowAdmDocIns+ 19)
#define ActChgDegFstYea (ActDowAdmDocIns+ 20)
#define ActChgDegLstYea (ActDowAdmDocIns+ 21)
#define ActChgDegOptYea (ActDowAdmDocIns+ 22)
#define ActChgDegWWW (ActDowAdmDocIns+ 23)
#define ActChgDegSta (ActDowAdmDocIns+ 24)
#define ActEdiDeg (ActDowAdmDocIns+ 13)
#define ActReqDeg (ActDowAdmDocIns+ 14)
#define ActNewDeg (ActDowAdmDocIns+ 15)
#define ActRemDeg (ActDowAdmDocIns+ 16)
#define ActRenDegSho (ActDowAdmDocIns+ 17)
#define ActRenDegFul (ActDowAdmDocIns+ 18)
#define ActChgDegTyp (ActDowAdmDocIns+ 19)
#define ActChgDegCtr (ActDowAdmDocIns+ 20)
#define ActChgDegFstYea (ActDowAdmDocIns+ 21)
#define ActChgDegLstYea (ActDowAdmDocIns+ 22)
#define ActChgDegOptYea (ActDowAdmDocIns+ 23)
#define ActChgDegWWW (ActDowAdmDocIns+ 24)
#define ActChgDegSta (ActDowAdmDocIns+ 25)
#define ActChgToSeeDocCtr (ActDowAdmDocIns+ 25)
#define ActSeeDocCtr (ActDowAdmDocIns+ 26)
#define ActExpSeeDocCtr (ActDowAdmDocIns+ 27)
#define ActConSeeDocCtr (ActDowAdmDocIns+ 28)
#define ActZIPSeeDocCtr (ActDowAdmDocIns+ 29)
#define ActReqDatSeeDocCtr (ActDowAdmDocIns+ 30)
#define ActDowSeeDocCtr (ActDowAdmDocIns+ 31)
#define ActChgToAdmDocCtr (ActDowAdmDocIns+ 32)
#define ActAdmDocCtr (ActDowAdmDocIns+ 33)
#define ActReqRemFilDocCtr (ActDowAdmDocIns+ 34)
#define ActRemFilDocCtr (ActDowAdmDocIns+ 35)
#define ActRemFolDocCtr (ActDowAdmDocIns+ 36)
#define ActCopDocCtr (ActDowAdmDocIns+ 37)
#define ActPasDocCtr (ActDowAdmDocIns+ 38)
#define ActRemTreDocCtr (ActDowAdmDocIns+ 39)
#define ActFrmCreDocCtr (ActDowAdmDocIns+ 40)
#define ActCreFolDocCtr (ActDowAdmDocIns+ 41)
#define ActCreLnkDocCtr (ActDowAdmDocIns+ 42)
#define ActRenFolDocCtr (ActDowAdmDocIns+ 43)
#define ActRcvFilDocCtrDZ (ActDowAdmDocIns+ 44)
#define ActRcvFilDocCtrCla (ActDowAdmDocIns+ 45)
#define ActExpAdmDocCtr (ActDowAdmDocIns+ 46)
#define ActConAdmDocCtr (ActDowAdmDocIns+ 47)
#define ActZIPAdmDocCtr (ActDowAdmDocIns+ 48)
#define ActShoDocCtr (ActDowAdmDocIns+ 49)
#define ActHidDocCtr (ActDowAdmDocIns+ 50)
#define ActReqDatAdmDocCtr (ActDowAdmDocIns+ 51)
#define ActChgDatAdmDocCtr (ActDowAdmDocIns+ 52)
#define ActDowAdmDocCtr (ActDowAdmDocIns+ 53)
#define ActChgToSeeDocCtr (ActDowAdmDocIns+ 26)
#define ActSeeDocCtr (ActDowAdmDocIns+ 27)
#define ActExpSeeDocCtr (ActDowAdmDocIns+ 28)
#define ActConSeeDocCtr (ActDowAdmDocIns+ 29)
#define ActZIPSeeDocCtr (ActDowAdmDocIns+ 30)
#define ActReqDatSeeDocCtr (ActDowAdmDocIns+ 31)
#define ActDowSeeDocCtr (ActDowAdmDocIns+ 32)
#define ActChgToAdmDocCtr (ActDowAdmDocIns+ 33)
#define ActAdmDocCtr (ActDowAdmDocIns+ 34)
#define ActReqRemFilDocCtr (ActDowAdmDocIns+ 35)
#define ActRemFilDocCtr (ActDowAdmDocIns+ 36)
#define ActRemFolDocCtr (ActDowAdmDocIns+ 37)
#define ActCopDocCtr (ActDowAdmDocIns+ 38)
#define ActPasDocCtr (ActDowAdmDocIns+ 39)
#define ActRemTreDocCtr (ActDowAdmDocIns+ 40)
#define ActFrmCreDocCtr (ActDowAdmDocIns+ 41)
#define ActCreFolDocCtr (ActDowAdmDocIns+ 42)
#define ActCreLnkDocCtr (ActDowAdmDocIns+ 43)
#define ActRenFolDocCtr (ActDowAdmDocIns+ 44)
#define ActRcvFilDocCtrDZ (ActDowAdmDocIns+ 45)
#define ActRcvFilDocCtrCla (ActDowAdmDocIns+ 46)
#define ActExpAdmDocCtr (ActDowAdmDocIns+ 47)
#define ActConAdmDocCtr (ActDowAdmDocIns+ 48)
#define ActZIPAdmDocCtr (ActDowAdmDocIns+ 49)
#define ActShoDocCtr (ActDowAdmDocIns+ 50)
#define ActHidDocCtr (ActDowAdmDocIns+ 51)
#define ActReqDatAdmDocCtr (ActDowAdmDocIns+ 52)
#define ActChgDatAdmDocCtr (ActDowAdmDocIns+ 53)
#define ActDowAdmDocCtr (ActDowAdmDocIns+ 54)
/*****************************************************************************/
/********************************* Degree tab ********************************/
@ -330,48 +332,49 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica
#define ActPrnDegInf (ActDowAdmDocCtr+ 6)
#define ActReqDegLog (ActDowAdmDocCtr+ 7)
#define ActRecDegLog (ActDowAdmDocCtr+ 8)
#define ActRemDegLog (ActDowAdmDocCtr+ 9)
#define ActEdiCrs (ActDowAdmDocCtr+ 9)
#define ActReqCrs (ActDowAdmDocCtr+ 10)
#define ActNewCrs (ActDowAdmDocCtr+ 11)
#define ActRemCrs (ActDowAdmDocCtr+ 12)
#define ActChgInsCrsCod (ActDowAdmDocCtr+ 13)
#define ActChgCrsDeg (ActDowAdmDocCtr+ 14)
#define ActChgCrsYea (ActDowAdmDocCtr+ 15)
#define ActChgCrsSem (ActDowAdmDocCtr+ 16)
#define ActRenCrsSho (ActDowAdmDocCtr+ 17)
#define ActRenCrsFul (ActDowAdmDocCtr+ 18)
#define ActChgCrsSta (ActDowAdmDocCtr+ 19)
#define ActEdiCrs (ActDowAdmDocCtr+ 10)
#define ActReqCrs (ActDowAdmDocCtr+ 11)
#define ActNewCrs (ActDowAdmDocCtr+ 12)
#define ActRemCrs (ActDowAdmDocCtr+ 13)
#define ActChgInsCrsCod (ActDowAdmDocCtr+ 14)
#define ActChgCrsDeg (ActDowAdmDocCtr+ 15)
#define ActChgCrsYea (ActDowAdmDocCtr+ 16)
#define ActChgCrsSem (ActDowAdmDocCtr+ 17)
#define ActRenCrsSho (ActDowAdmDocCtr+ 18)
#define ActRenCrsFul (ActDowAdmDocCtr+ 19)
#define ActChgCrsSta (ActDowAdmDocCtr+ 20)
#define ActChgToSeeDocDeg (ActDowAdmDocCtr+ 20)
#define ActSeeDocDeg (ActDowAdmDocCtr+ 21)
#define ActExpSeeDocDeg (ActDowAdmDocCtr+ 22)
#define ActConSeeDocDeg (ActDowAdmDocCtr+ 23)
#define ActZIPSeeDocDeg (ActDowAdmDocCtr+ 24)
#define ActReqDatSeeDocDeg (ActDowAdmDocCtr+ 25)
#define ActDowSeeDocDeg (ActDowAdmDocCtr+ 26)
#define ActChgToAdmDocDeg (ActDowAdmDocCtr+ 27)
#define ActAdmDocDeg (ActDowAdmDocCtr+ 28)
#define ActReqRemFilDocDeg (ActDowAdmDocCtr+ 29)
#define ActRemFilDocDeg (ActDowAdmDocCtr+ 30)
#define ActRemFolDocDeg (ActDowAdmDocCtr+ 31)
#define ActCopDocDeg (ActDowAdmDocCtr+ 32)
#define ActPasDocDeg (ActDowAdmDocCtr+ 33)
#define ActRemTreDocDeg (ActDowAdmDocCtr+ 34)
#define ActFrmCreDocDeg (ActDowAdmDocCtr+ 35)
#define ActCreFolDocDeg (ActDowAdmDocCtr+ 36)
#define ActCreLnkDocDeg (ActDowAdmDocCtr+ 37)
#define ActRenFolDocDeg (ActDowAdmDocCtr+ 38)
#define ActRcvFilDocDegDZ (ActDowAdmDocCtr+ 39)
#define ActRcvFilDocDegCla (ActDowAdmDocCtr+ 40)
#define ActExpAdmDocDeg (ActDowAdmDocCtr+ 41)
#define ActConAdmDocDeg (ActDowAdmDocCtr+ 42)
#define ActZIPAdmDocDeg (ActDowAdmDocCtr+ 43)
#define ActShoDocDeg (ActDowAdmDocCtr+ 44)
#define ActHidDocDeg (ActDowAdmDocCtr+ 45)
#define ActReqDatAdmDocDeg (ActDowAdmDocCtr+ 46)
#define ActChgDatAdmDocDeg (ActDowAdmDocCtr+ 47)
#define ActDowAdmDocDeg (ActDowAdmDocCtr+ 48)
#define ActChgToSeeDocDeg (ActDowAdmDocCtr+ 21)
#define ActSeeDocDeg (ActDowAdmDocCtr+ 22)
#define ActExpSeeDocDeg (ActDowAdmDocCtr+ 23)
#define ActConSeeDocDeg (ActDowAdmDocCtr+ 24)
#define ActZIPSeeDocDeg (ActDowAdmDocCtr+ 25)
#define ActReqDatSeeDocDeg (ActDowAdmDocCtr+ 26)
#define ActDowSeeDocDeg (ActDowAdmDocCtr+ 27)
#define ActChgToAdmDocDeg (ActDowAdmDocCtr+ 28)
#define ActAdmDocDeg (ActDowAdmDocCtr+ 29)
#define ActReqRemFilDocDeg (ActDowAdmDocCtr+ 30)
#define ActRemFilDocDeg (ActDowAdmDocCtr+ 31)
#define ActRemFolDocDeg (ActDowAdmDocCtr+ 32)
#define ActCopDocDeg (ActDowAdmDocCtr+ 33)
#define ActPasDocDeg (ActDowAdmDocCtr+ 34)
#define ActRemTreDocDeg (ActDowAdmDocCtr+ 35)
#define ActFrmCreDocDeg (ActDowAdmDocCtr+ 36)
#define ActCreFolDocDeg (ActDowAdmDocCtr+ 37)
#define ActCreLnkDocDeg (ActDowAdmDocCtr+ 38)
#define ActRenFolDocDeg (ActDowAdmDocCtr+ 39)
#define ActRcvFilDocDegDZ (ActDowAdmDocCtr+ 40)
#define ActRcvFilDocDegCla (ActDowAdmDocCtr+ 41)
#define ActExpAdmDocDeg (ActDowAdmDocCtr+ 42)
#define ActConAdmDocDeg (ActDowAdmDocCtr+ 43)
#define ActZIPAdmDocDeg (ActDowAdmDocCtr+ 44)
#define ActShoDocDeg (ActDowAdmDocCtr+ 45)
#define ActHidDocDeg (ActDowAdmDocCtr+ 46)
#define ActReqDatAdmDocDeg (ActDowAdmDocCtr+ 47)
#define ActChgDatAdmDocDeg (ActDowAdmDocCtr+ 48)
#define ActDowAdmDocDeg (ActDowAdmDocCtr+ 49)
/*****************************************************************************/
/******************************** Course tab *********************************/

View File

@ -1787,6 +1787,15 @@ void Ctr_ReceiveLogo (void)
Log_ReceiveLogo (Sco_SCOPE_CTR);
}
/*****************************************************************************/
/****************** Remove the logo of the current centre ********************/
/*****************************************************************************/
void Ctr_RemoveLogo (void)
{
Log_RemoveLogo (Sco_SCOPE_CTR);
}
/*****************************************************************************/
/******** Put a link to the action used to request photo of centre ***********/
/*****************************************************************************/

View File

@ -107,6 +107,7 @@ void Ctr_ChangeCtrStatus (void);
void Ctr_RequestLogo (void);
void Ctr_ReceiveLogo (void);
void Ctr_RemoveLogo (void);
void Ctr_RequestPhoto (void);
void Ctr_ReceivePhoto (void);
void Ctr_ChangeCtrPhotoAttribution (void);

View File

@ -39,11 +39,17 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 14.72.6 (2015/02/03)"
#define Log_PLATFORM_VERSION "SWAD 14.73 (2015/02/03)"
// 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 | tail -1
/*
Version 14.73: Feb 03, 2015 New options to remove institution, centre and degree icons. (177007 lines)
3 changes necessary in database:
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1341','es','N','Eliminar logo de institución');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1342','es','N','Eliminar logo de centro');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1343','es','N','Eliminar logo de titulación');
Version 14.72.6: Feb 03, 2015 Changes in icons for degrees and centres. (176883 lines)
Version 14.72.5: Feb 01, 2015 Changed related to administrators. (176805 lines)
Version 14.72.4: Feb 01, 2015 Refactoring of registering and removing admins. (176787 lines)
@ -251,7 +257,7 @@ ALTER TABLE institutions DROP COLUMN Logo;
Version 14.55: Jan 14, 2015 New option to upload logo of a centre. (173509 lines)
3 changes necessary in database:
UPDATE actions SET Txt='Cambiar logo de centro' WHERE ActCod='1051' AND Language='es';
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1244','es','N','Solicitar envío de logo cde entro');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1244','es','N','Solicitar envío de logo de centro');
ALTER TABLE centres DROP COLUMN Logo;
Version 14.54.7: Jan 13, 2015 Fixed bug in edition of centres. (173349 lines)

View File

@ -28,8 +28,8 @@
/** Uncomment one of the following installations of SWAD or create your own **/
/*****************************************************************************/
//#define LOCALHOST_UBUNTU // Comment this line if not applicable
#define OPENSWAD_ORG // Comment this line if not applicable
#define LOCALHOST_UBUNTU // Comment this line if not applicable
//#define OPENSWAD_ORG // Comment this line if not applicable
//#define SWAD_UGR_ES // Comment this line if not applicable
//#define WWW_CEVUNA_UNA_PY // Comment this line if not applicable

View File

@ -3812,6 +3812,15 @@ void Deg_ReceiveLogo (void)
Log_ReceiveLogo (Sco_SCOPE_DEG);
}
/*****************************************************************************/
/****************** Remove the logo of the current degree ********************/
/*****************************************************************************/
void Deg_RemoveLogo (void)
{
Log_RemoveLogo (Sco_SCOPE_DEG);
}
/*****************************************************************************/
/*********************** Get total number of degrees *************************/
/*****************************************************************************/

View File

@ -154,6 +154,7 @@ void Deg_ChangeDegWWW (void);
void Deg_ChangeDegStatus (void);
void Deg_RequestLogo (void);
void Deg_ReceiveLogo (void);
void Deg_RemoveLogo (void);
unsigned Deg_GetNumDegsTotal (void);
unsigned Deg_GetNumDegsInCty (long InsCod);

View File

@ -1711,7 +1711,16 @@ void Ins_ReceiveLogo (void)
}
/*****************************************************************************/
/******************* Put a form to create a new institution ******************/
/*************** Remove the logo of the current institution ******************/
/*****************************************************************************/
void Ins_RemoveLogo (void)
{
Log_RemoveLogo (Sco_SCOPE_INS);
}
/*****************************************************************************/
/****************** Put a form to create a new institution *******************/
/*****************************************************************************/
static void Ins_PutFormToCreateInstitution (void)

View File

@ -112,6 +112,7 @@ void Ins_ChangeInsWWW (void);
void Ins_ChangeInsStatus (void);
void Ins_RequestLogo (void);
void Ins_ReceiveLogo (void);
void Ins_RemoveLogo (void);
void Ins_RecFormReqIns (void);
void Ins_RecFormNewIns (void);

View File

@ -58,6 +58,8 @@ extern struct Globals Gbl;
/***************************** Internal prototypes ***************************/
/*****************************************************************************/
static void Log_PutLinkToRemoveLogo (Act_Action_t Action);
/*****************************************************************************/
/****************************** Draw degree logo *****************************/
/*****************************************************************************/
@ -75,7 +77,7 @@ void Log_DrawLogo (Sco_Scope_t Scope,long Cod,const char *AltText,
Cfg_FOLDER_DEG, // Sco_SCOPE_DEG
NULL, // Sco_SCOPE_CRS
};
const char *Folder;
const char *Folder = NULL; // To avoid warning
char PathLogo[PATH_MAX+1];
bool LogoFound = false;
@ -219,31 +221,58 @@ void Log_RequestLogo (Sco_Scope_t Scope)
extern const char *Txt_You_can_send_a_file_with_an_image_in_png_format_transparent_background_and_size_X_Y;
extern const char *Txt_File_with_the_logo;
extern const char *Txt_Upload_logo;
Act_Action_t Action;
long Cod;
const char *Folder;
Act_Action_t ActionRec;
Act_Action_t ActionRem;
char PathLogo[PATH_MAX+1];
/***** Set action depending on scope *****/
switch (Scope)
{
case Sco_SCOPE_INS:
Action = ActRecInsLog;
Cod = Gbl.CurrentIns.Ins.InsCod;
Folder = Cfg_FOLDER_INS;
ActionRec = ActRecInsLog;
ActionRem = ActRemInsLog;
break;
case Sco_SCOPE_CTR:
Action = ActRecCtrLog;
Cod = Gbl.CurrentCtr.Ctr.CtrCod;
Folder = Cfg_FOLDER_CTR;
ActionRec = ActRecCtrLog;
ActionRem = ActRemCtrLog;
break;
case Sco_SCOPE_DEG:
Action = ActRecDegLog;
Cod = Gbl.CurrentDeg.Deg.DegCod;
Folder = Cfg_FOLDER_DEG;
ActionRec = ActRecDegLog;
ActionRem = ActRemDegLog;
break;
default:
return; // Nothing to do
}
/***** Check if logo exists *****/
sprintf (PathLogo,"%s/%s/%02u/%u/logo/%u.png",
Cfg_PATH_SWAD_PUBLIC,Folder,
(unsigned) (Cod % 100),
(unsigned) Cod,
(unsigned) Cod);
if (Fil_CheckIfPathExists (PathLogo))
{
/***** Form to remove photo *****/
fprintf (Gbl.F.Out,"<div style=\"text-align:center;\">");
Log_PutLinkToRemoveLogo (ActionRem);
fprintf (Gbl.F.Out,"</div>");
}
/***** Write help message *****/
sprintf (Gbl.Message,Txt_You_can_send_a_file_with_an_image_in_png_format_transparent_background_and_size_X_Y,
64,64);
Lay_ShowAlert (Lay_INFO,Gbl.Message);
/***** Write a form to send logo *****/
Act_FormStart (Action);
Act_FormStart (ActionRec);
fprintf (Gbl.F.Out,"<table style=\"margin:0 auto;\">"
"<tr>"
"<td class=\"%s\" style=\"text-align:right;\">"
@ -266,6 +295,22 @@ void Log_RequestLogo (Sco_Scope_t Scope)
Txt_Upload_logo);
}
/*****************************************************************************/
/************************ Put a link to remove logo **************************/
/*****************************************************************************/
static void Log_PutLinkToRemoveLogo (Act_Action_t Action)
{
extern const char *The_ClassFormul[The_NUM_THEMES];
extern const char *Txt_Remove_logo;
/***** Link for removing the photo *****/
Act_FormStart (Action);
Act_LinkFormSubmit (Txt_Remove_logo,The_ClassFormul[Gbl.Prefs.Theme]);
Lay_PutSendIcon ("delon",Txt_Remove_logo,Txt_Remove_logo);
fprintf (Gbl.F.Out,"</form>");
}
/*****************************************************************************/
/******* Receive the logo of the current institution, centre or degree *******/
/*****************************************************************************/
@ -275,7 +320,6 @@ void Log_ReceiveLogo (Sco_Scope_t Scope)
extern const char *Txt_The_file_is_not_X;
long Cod;
const char *Folder;
void (*FunctionConfiguration) (void);
char Path[PATH_MAX+1];
char FileNameLogoSrc[PATH_MAX+1];
char MIMEType[Brw_MAX_BYTES_MIME_TYPE+1];
@ -288,17 +332,14 @@ void Log_ReceiveLogo (Sco_Scope_t Scope)
case Sco_SCOPE_INS:
Cod = Gbl.CurrentIns.Ins.InsCod;
Folder = Cfg_FOLDER_INS;
FunctionConfiguration = Ins_ShowConfiguration;
break;
case Sco_SCOPE_CTR:
Cod = Gbl.CurrentCtr.Ctr.CtrCod;
Folder = Cfg_FOLDER_CTR;
FunctionConfiguration = Ctr_ShowConfiguration;
break;
case Sco_SCOPE_DEG:
Cod = Gbl.CurrentDeg.Deg.DegCod;
Folder = Cfg_FOLDER_DEG;
FunctionConfiguration = Deg_ShowConfiguration;
break;
default:
return; // Nothing to do
@ -337,21 +378,54 @@ void Log_ReceiveLogo (Sco_Scope_t Scope)
{
sprintf (Gbl.Message,Txt_The_file_is_not_X,"png");
Lay_ShowAlert (Lay_WARNING,Gbl.Message);
return;
}
else
{
/* End the reception of logo in a temporary file */
sprintf (FileNameLogo,"%s/%s/%02u/%u/logo/%u.png",
Cfg_PATH_SWAD_PUBLIC,Folder,
(unsigned) (Cod % 100),
(unsigned) Cod,
(unsigned) Cod);
if (!Fil_EndReceptionOfFile (FileNameLogo))
Lay_ShowAlert (Lay_WARNING,"Error uploading file.");
}
}
/*****************************************************************************/
/******* Remove the logo of the current institution, centre or degree ********/
/*****************************************************************************/
void Log_RemoveLogo (Sco_Scope_t Scope)
{
long Cod;
const char *Folder;
char FileNameLogo[PATH_MAX+1]; // Full name (including path and .png) of the destination file
/***** Set variables depending on scope *****/
switch (Scope)
{
case Sco_SCOPE_INS:
Cod = Gbl.CurrentIns.Ins.InsCod;
Folder = Cfg_FOLDER_INS;
break;
case Sco_SCOPE_CTR:
Cod = Gbl.CurrentCtr.Ctr.CtrCod;
Folder = Cfg_FOLDER_CTR;
break;
case Sco_SCOPE_DEG:
Cod = Gbl.CurrentDeg.Deg.DegCod;
Folder = Cfg_FOLDER_DEG;
break;
default:
return; // Nothing to do
}
/* End the reception of logo in a temporary file */
/***** Remove logo *****/
sprintf (FileNameLogo,"%s/%s/%02u/%u/logo/%u.png",
Cfg_PATH_SWAD_PUBLIC,Folder,
(unsigned) (Cod % 100),
(unsigned) Cod,
(unsigned) Cod);
if (!Fil_EndReceptionOfFile (FileNameLogo))
{
Lay_ShowAlert (Lay_WARNING,"Error uploading file.");
return;
}
/***** Show the institution/centre/degree information again *****/
FunctionConfiguration ();
Brw_RemoveTree (FileNameLogo);
}

View File

@ -44,5 +44,6 @@ void Log_DrawLogo (Sco_Scope_t Scope,long Cod,const char *AltText,
void Log_PutFormToChangeLogo (Sco_Scope_t Scope);
void Log_RequestLogo (Sco_Scope_t Scope);
void Log_ReceiveLogo (Sco_Scope_t Scope);
void Log_RemoveLogo (Sco_Scope_t Scope);
#endif

View File

@ -176,7 +176,7 @@ static void Pho_PutLinkToRemoveUsrPhoto (const struct UsrData *UsrDat)
extern const char *The_ClassFormul[The_NUM_THEMES];
extern const char *Txt_Remove_photo;
/***** Link for changing / uploading the photo *****/
/***** Link for removing the photo *****/
if (UsrDat->UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod) // It's me
Act_FormStart (ActRemMyPho);
else // Not me

View File

@ -28041,6 +28041,27 @@ const char *Txt_Remove_link =
"Remover liga&ccedil;&atilde;o";
#endif
const char *Txt_Remove_logo =
#if L==0
"Eliminar logo";
#elif L==1
"Entfernen Logo";
#elif L==2
"Remove logo";
#elif L==3
"Eliminar logo";
#elif L==4
"Supprimer logo";
#elif L==5
"Eliminar logo"; // Okoteve traducción
#elif L==6
"Rimuovere logo";
#elif L==7
"Usu&nacute; logo";
#elif L==8
"Remover logotipo";
#endif
const char *Txt_Remove_mail_domain =
#if L==0
"Eliminar dominio de correo"; // Necessita traduccio