Version 16.40

This commit is contained in:
Antonio Cañas Vargas 2016-10-23 17:20:06 +02:00
parent 7a77fe68ce
commit 6ac2ec7a87
5 changed files with 292 additions and 271 deletions

View File

@ -457,6 +457,7 @@ Course:
316. ActPrnCrsInf Print information on the course
317. ActChgCrsDegCfg Request change of degree in course configuration
NEW. ActRenCrsFulCfg Request change of full name of a course in course configuration
318. ActChgInsCrsCodCfg Change institutional code in course configuration
319. ActChgCrsYeaCfg Change year/semester in course configuration
320. ActEdiCrsInf Edit general information about the course
@ -1816,6 +1817,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActPrnCrsInf */{1028,-1,TabUnk,ActSeeCrsInf ,0x1FF,0x1FF,0x000,Act_CONT_NORM,Act_BLNK_WINDOW,NULL ,Crs_PrintConfiguration ,NULL},
/* ActChgCrsDegCfg */{1587,-1,TabUnk,ActSeeCrsInf ,0x1C0,0x1C0,0x1C0,Act_CONT_NORM,Act_THIS_WINDOW,Crs_ChangeCrsDegInConfig ,Crs_ContEditAfterChgCrsInConfig,NULL},
/* ActRenCrsFulCfg */{1600,-1,TabUnk,ActSeeCrsInf ,0x1E0,0x1E0,0x1E0,Act_CONT_NORM,Act_THIS_WINDOW,Crs_RenameCourseFullInConfig ,Crs_ContEditAfterChgCrsInConfig,NULL},
/* ActChgInsCrsCodCfg*/{1024,-1,TabUnk,ActSeeCrsInf ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,Crs_ChangeInsCrsCodInConfig ,Crs_ContEditAfterChgCrsInConfig,NULL},
/* ActChgCrsYeaCfg */{1573,-1,TabUnk,ActSeeCrsInf ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,Crs_ChangeCrsYearInConfig ,Crs_ContEditAfterChgCrsInConfig,NULL},
/* ActEdiCrsInf */{ 848,-1,TabUnk,ActSeeCrsInf ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Inf_FormsToSelSendInfo ,NULL},
@ -4467,6 +4469,7 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
ActRenDegFulCfg, // #1597
ActRenDegShoCfg, // #1598
ActChgDegWWWCfg, // #1599
ActRenCrsFulCfg, // #1600
};
/*****************************************************************************/

View File

@ -55,9 +55,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 (1+9+51+14+93+73+70+247+186+155+172+36+30+86)
#define Act_NUM_ACTIONS (1+9+51+14+93+73+70+248+186+155+172+36+30+86)
#define Act_MAX_ACTION_COD 1599
#define Act_MAX_ACTION_COD 1600
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 11
@ -453,253 +453,254 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica
#define ActCrsSch (ActDowShaDeg+ 12)
#define ActPrnCrsInf (ActDowShaDeg+ 13)
#define ActChgCrsDegCfg (ActDowShaDeg+ 14)
#define ActChgInsCrsCodCfg (ActDowShaDeg+ 15)
#define ActChgCrsYeaCfg (ActDowShaDeg+ 16)
#define ActEdiCrsInf (ActDowShaDeg+ 17)
#define ActEdiTchGui (ActDowShaDeg+ 18)
#define ActPrnCrsTT (ActDowShaDeg+ 19)
#define ActEdiCrsTT (ActDowShaDeg+ 20)
#define ActChgCrsTT (ActDowShaDeg+ 21)
#define ActChgCrsTT1stDay (ActDowShaDeg+ 22)
#define ActSeeSylLec (ActDowShaDeg+ 23)
#define ActSeeSylPra (ActDowShaDeg+ 24)
#define ActEdiSylLec (ActDowShaDeg+ 25)
#define ActEdiSylPra (ActDowShaDeg+ 26)
#define ActDelItmSylLec (ActDowShaDeg+ 27)
#define ActDelItmSylPra (ActDowShaDeg+ 28)
#define ActUp_IteSylLec (ActDowShaDeg+ 29)
#define ActUp_IteSylPra (ActDowShaDeg+ 30)
#define ActDwnIteSylLec (ActDowShaDeg+ 31)
#define ActDwnIteSylPra (ActDowShaDeg+ 32)
#define ActRgtIteSylLec (ActDowShaDeg+ 33)
#define ActRgtIteSylPra (ActDowShaDeg+ 34)
#define ActLftIteSylLec (ActDowShaDeg+ 35)
#define ActLftIteSylPra (ActDowShaDeg+ 36)
#define ActInsIteSylLec (ActDowShaDeg+ 37)
#define ActInsIteSylPra (ActDowShaDeg+ 38)
#define ActModIteSylLec (ActDowShaDeg+ 39)
#define ActModIteSylPra (ActDowShaDeg+ 40)
#define ActRenCrsFulCfg (ActDowShaDeg+ 15)
#define ActChgInsCrsCodCfg (ActDowShaDeg+ 16)
#define ActChgCrsYeaCfg (ActDowShaDeg+ 17)
#define ActEdiCrsInf (ActDowShaDeg+ 18)
#define ActEdiTchGui (ActDowShaDeg+ 19)
#define ActPrnCrsTT (ActDowShaDeg+ 20)
#define ActEdiCrsTT (ActDowShaDeg+ 21)
#define ActChgCrsTT (ActDowShaDeg+ 22)
#define ActChgCrsTT1stDay (ActDowShaDeg+ 23)
#define ActSeeSylLec (ActDowShaDeg+ 24)
#define ActSeeSylPra (ActDowShaDeg+ 25)
#define ActEdiSylLec (ActDowShaDeg+ 26)
#define ActEdiSylPra (ActDowShaDeg+ 27)
#define ActDelItmSylLec (ActDowShaDeg+ 28)
#define ActDelItmSylPra (ActDowShaDeg+ 29)
#define ActUp_IteSylLec (ActDowShaDeg+ 30)
#define ActUp_IteSylPra (ActDowShaDeg+ 31)
#define ActDwnIteSylLec (ActDowShaDeg+ 32)
#define ActDwnIteSylPra (ActDowShaDeg+ 33)
#define ActRgtIteSylLec (ActDowShaDeg+ 34)
#define ActRgtIteSylPra (ActDowShaDeg+ 35)
#define ActLftIteSylLec (ActDowShaDeg+ 36)
#define ActLftIteSylPra (ActDowShaDeg+ 37)
#define ActInsIteSylLec (ActDowShaDeg+ 38)
#define ActInsIteSylPra (ActDowShaDeg+ 39)
#define ActModIteSylLec (ActDowShaDeg+ 40)
#define ActModIteSylPra (ActDowShaDeg+ 41)
#define ActChgToSeeDocCrs (ActDowShaDeg+ 41)
#define ActSeeDocCrs (ActDowShaDeg+ 42)
#define ActExpSeeDocCrs (ActDowShaDeg+ 43)
#define ActConSeeDocCrs (ActDowShaDeg+ 44)
#define ActZIPSeeDocCrs (ActDowShaDeg+ 45)
#define ActReqDatSeeDocCrs (ActDowShaDeg+ 46)
#define ActDowSeeDocCrs (ActDowShaDeg+ 47)
#define ActChgToSeeDocCrs (ActDowShaDeg+ 42)
#define ActSeeDocCrs (ActDowShaDeg+ 43)
#define ActExpSeeDocCrs (ActDowShaDeg+ 44)
#define ActConSeeDocCrs (ActDowShaDeg+ 45)
#define ActZIPSeeDocCrs (ActDowShaDeg+ 46)
#define ActReqDatSeeDocCrs (ActDowShaDeg+ 47)
#define ActDowSeeDocCrs (ActDowShaDeg+ 48)
#define ActSeeDocGrp (ActDowShaDeg+ 48)
#define ActExpSeeDocGrp (ActDowShaDeg+ 49)
#define ActConSeeDocGrp (ActDowShaDeg+ 50)
#define ActZIPSeeDocGrp (ActDowShaDeg+ 51)
#define ActReqDatSeeDocGrp (ActDowShaDeg+ 52)
#define ActDowSeeDocGrp (ActDowShaDeg+ 53)
#define ActSeeDocGrp (ActDowShaDeg+ 49)
#define ActExpSeeDocGrp (ActDowShaDeg+ 50)
#define ActConSeeDocGrp (ActDowShaDeg+ 51)
#define ActZIPSeeDocGrp (ActDowShaDeg+ 52)
#define ActReqDatSeeDocGrp (ActDowShaDeg+ 53)
#define ActDowSeeDocGrp (ActDowShaDeg+ 54)
#define ActChgToAdmDocCrs (ActDowShaDeg+ 54)
#define ActAdmDocCrs (ActDowShaDeg+ 55)
#define ActReqRemFilDocCrs (ActDowShaDeg+ 56)
#define ActRemFilDocCrs (ActDowShaDeg+ 57)
#define ActRemFolDocCrs (ActDowShaDeg+ 58)
#define ActCopDocCrs (ActDowShaDeg+ 59)
#define ActPasDocCrs (ActDowShaDeg+ 60)
#define ActRemTreDocCrs (ActDowShaDeg+ 61)
#define ActFrmCreDocCrs (ActDowShaDeg+ 62)
#define ActCreFolDocCrs (ActDowShaDeg+ 63)
#define ActCreLnkDocCrs (ActDowShaDeg+ 64)
#define ActRenFolDocCrs (ActDowShaDeg+ 65)
#define ActRcvFilDocCrsDZ (ActDowShaDeg+ 66)
#define ActRcvFilDocCrsCla (ActDowShaDeg+ 67)
#define ActExpAdmDocCrs (ActDowShaDeg+ 68)
#define ActConAdmDocCrs (ActDowShaDeg+ 69)
#define ActZIPAdmDocCrs (ActDowShaDeg+ 70)
#define ActShoDocCrs (ActDowShaDeg+ 71)
#define ActHidDocCrs (ActDowShaDeg+ 72)
#define ActReqDatAdmDocCrs (ActDowShaDeg+ 73)
#define ActChgDatAdmDocCrs (ActDowShaDeg+ 74)
#define ActDowAdmDocCrs (ActDowShaDeg+ 75)
#define ActChgToAdmDocCrs (ActDowShaDeg+ 55)
#define ActAdmDocCrs (ActDowShaDeg+ 56)
#define ActReqRemFilDocCrs (ActDowShaDeg+ 57)
#define ActRemFilDocCrs (ActDowShaDeg+ 58)
#define ActRemFolDocCrs (ActDowShaDeg+ 59)
#define ActCopDocCrs (ActDowShaDeg+ 60)
#define ActPasDocCrs (ActDowShaDeg+ 61)
#define ActRemTreDocCrs (ActDowShaDeg+ 62)
#define ActFrmCreDocCrs (ActDowShaDeg+ 63)
#define ActCreFolDocCrs (ActDowShaDeg+ 64)
#define ActCreLnkDocCrs (ActDowShaDeg+ 65)
#define ActRenFolDocCrs (ActDowShaDeg+ 66)
#define ActRcvFilDocCrsDZ (ActDowShaDeg+ 67)
#define ActRcvFilDocCrsCla (ActDowShaDeg+ 68)
#define ActExpAdmDocCrs (ActDowShaDeg+ 69)
#define ActConAdmDocCrs (ActDowShaDeg+ 70)
#define ActZIPAdmDocCrs (ActDowShaDeg+ 71)
#define ActShoDocCrs (ActDowShaDeg+ 72)
#define ActHidDocCrs (ActDowShaDeg+ 73)
#define ActReqDatAdmDocCrs (ActDowShaDeg+ 74)
#define ActChgDatAdmDocCrs (ActDowShaDeg+ 75)
#define ActDowAdmDocCrs (ActDowShaDeg+ 76)
#define ActAdmDocGrp (ActDowShaDeg+ 76)
#define ActReqRemFilDocGrp (ActDowShaDeg+ 77)
#define ActRemFilDocGrp (ActDowShaDeg+ 78)
#define ActRemFolDocGrp (ActDowShaDeg+ 79)
#define ActCopDocGrp (ActDowShaDeg+ 80)
#define ActPasDocGrp (ActDowShaDeg+ 81)
#define ActRemTreDocGrp (ActDowShaDeg+ 82)
#define ActFrmCreDocGrp (ActDowShaDeg+ 83)
#define ActCreFolDocGrp (ActDowShaDeg+ 84)
#define ActCreLnkDocGrp (ActDowShaDeg+ 85)
#define ActRenFolDocGrp (ActDowShaDeg+ 86)
#define ActRcvFilDocGrpDZ (ActDowShaDeg+ 87)
#define ActRcvFilDocGrpCla (ActDowShaDeg+ 88)
#define ActExpAdmDocGrp (ActDowShaDeg+ 89)
#define ActConAdmDocGrp (ActDowShaDeg+ 90)
#define ActZIPAdmDocGrp (ActDowShaDeg+ 91)
#define ActShoDocGrp (ActDowShaDeg+ 92)
#define ActHidDocGrp (ActDowShaDeg+ 93)
#define ActReqDatAdmDocGrp (ActDowShaDeg+ 94)
#define ActChgDatAdmDocGrp (ActDowShaDeg+ 95)
#define ActDowAdmDocGrp (ActDowShaDeg+ 96)
#define ActAdmDocGrp (ActDowShaDeg+ 77)
#define ActReqRemFilDocGrp (ActDowShaDeg+ 78)
#define ActRemFilDocGrp (ActDowShaDeg+ 79)
#define ActRemFolDocGrp (ActDowShaDeg+ 80)
#define ActCopDocGrp (ActDowShaDeg+ 81)
#define ActPasDocGrp (ActDowShaDeg+ 82)
#define ActRemTreDocGrp (ActDowShaDeg+ 83)
#define ActFrmCreDocGrp (ActDowShaDeg+ 84)
#define ActCreFolDocGrp (ActDowShaDeg+ 85)
#define ActCreLnkDocGrp (ActDowShaDeg+ 86)
#define ActRenFolDocGrp (ActDowShaDeg+ 87)
#define ActRcvFilDocGrpDZ (ActDowShaDeg+ 88)
#define ActRcvFilDocGrpCla (ActDowShaDeg+ 89)
#define ActExpAdmDocGrp (ActDowShaDeg+ 90)
#define ActConAdmDocGrp (ActDowShaDeg+ 91)
#define ActZIPAdmDocGrp (ActDowShaDeg+ 92)
#define ActShoDocGrp (ActDowShaDeg+ 93)
#define ActHidDocGrp (ActDowShaDeg+ 94)
#define ActReqDatAdmDocGrp (ActDowShaDeg+ 95)
#define ActChgDatAdmDocGrp (ActDowShaDeg+ 96)
#define ActDowAdmDocGrp (ActDowShaDeg+ 97)
#define ActChgToAdmTch (ActDowShaDeg+ 97)
#define ActChgToAdmTch (ActDowShaDeg+ 98)
#define ActAdmTchCrs (ActDowShaDeg+ 98)
#define ActReqRemFilTchCrs (ActDowShaDeg+ 99)
#define ActRemFilTchCrs (ActDowShaDeg+100)
#define ActRemFolTchCrs (ActDowShaDeg+101)
#define ActCopTchCrs (ActDowShaDeg+102)
#define ActPasTchCrs (ActDowShaDeg+103)
#define ActRemTreTchCrs (ActDowShaDeg+104)
#define ActFrmCreTchCrs (ActDowShaDeg+105)
#define ActCreFolTchCrs (ActDowShaDeg+106)
#define ActCreLnkTchCrs (ActDowShaDeg+107)
#define ActRenFolTchCrs (ActDowShaDeg+108)
#define ActRcvFilTchCrsDZ (ActDowShaDeg+109)
#define ActRcvFilTchCrsCla (ActDowShaDeg+110)
#define ActExpTchCrs (ActDowShaDeg+111)
#define ActConTchCrs (ActDowShaDeg+112)
#define ActZIPTchCrs (ActDowShaDeg+113)
#define ActReqDatTchCrs (ActDowShaDeg+114)
#define ActChgDatTchCrs (ActDowShaDeg+115)
#define ActDowTchCrs (ActDowShaDeg+116)
#define ActAdmTchCrs (ActDowShaDeg+ 99)
#define ActReqRemFilTchCrs (ActDowShaDeg+100)
#define ActRemFilTchCrs (ActDowShaDeg+101)
#define ActRemFolTchCrs (ActDowShaDeg+102)
#define ActCopTchCrs (ActDowShaDeg+103)
#define ActPasTchCrs (ActDowShaDeg+104)
#define ActRemTreTchCrs (ActDowShaDeg+105)
#define ActFrmCreTchCrs (ActDowShaDeg+106)
#define ActCreFolTchCrs (ActDowShaDeg+107)
#define ActCreLnkTchCrs (ActDowShaDeg+108)
#define ActRenFolTchCrs (ActDowShaDeg+109)
#define ActRcvFilTchCrsDZ (ActDowShaDeg+110)
#define ActRcvFilTchCrsCla (ActDowShaDeg+111)
#define ActExpTchCrs (ActDowShaDeg+112)
#define ActConTchCrs (ActDowShaDeg+113)
#define ActZIPTchCrs (ActDowShaDeg+114)
#define ActReqDatTchCrs (ActDowShaDeg+115)
#define ActChgDatTchCrs (ActDowShaDeg+116)
#define ActDowTchCrs (ActDowShaDeg+117)
#define ActAdmTchGrp (ActDowShaDeg+117)
#define ActReqRemFilTchGrp (ActDowShaDeg+118)
#define ActRemFilTchGrp (ActDowShaDeg+119)
#define ActRemFolTchGrp (ActDowShaDeg+120)
#define ActCopTchGrp (ActDowShaDeg+121)
#define ActPasTchGrp (ActDowShaDeg+122)
#define ActRemTreTchGrp (ActDowShaDeg+123)
#define ActFrmCreTchGrp (ActDowShaDeg+124)
#define ActCreFolTchGrp (ActDowShaDeg+125)
#define ActCreLnkTchGrp (ActDowShaDeg+126)
#define ActRenFolTchGrp (ActDowShaDeg+127)
#define ActRcvFilTchGrpDZ (ActDowShaDeg+128)
#define ActRcvFilTchGrpCla (ActDowShaDeg+129)
#define ActExpTchGrp (ActDowShaDeg+130)
#define ActConTchGrp (ActDowShaDeg+131)
#define ActZIPTchGrp (ActDowShaDeg+132)
#define ActReqDatTchGrp (ActDowShaDeg+133)
#define ActChgDatTchGrp (ActDowShaDeg+134)
#define ActDowTchGrp (ActDowShaDeg+135)
#define ActAdmTchGrp (ActDowShaDeg+118)
#define ActReqRemFilTchGrp (ActDowShaDeg+119)
#define ActRemFilTchGrp (ActDowShaDeg+120)
#define ActRemFolTchGrp (ActDowShaDeg+121)
#define ActCopTchGrp (ActDowShaDeg+122)
#define ActPasTchGrp (ActDowShaDeg+123)
#define ActRemTreTchGrp (ActDowShaDeg+124)
#define ActFrmCreTchGrp (ActDowShaDeg+125)
#define ActCreFolTchGrp (ActDowShaDeg+126)
#define ActCreLnkTchGrp (ActDowShaDeg+127)
#define ActRenFolTchGrp (ActDowShaDeg+128)
#define ActRcvFilTchGrpDZ (ActDowShaDeg+129)
#define ActRcvFilTchGrpCla (ActDowShaDeg+130)
#define ActExpTchGrp (ActDowShaDeg+131)
#define ActConTchGrp (ActDowShaDeg+132)
#define ActZIPTchGrp (ActDowShaDeg+133)
#define ActReqDatTchGrp (ActDowShaDeg+134)
#define ActChgDatTchGrp (ActDowShaDeg+135)
#define ActDowTchGrp (ActDowShaDeg+136)
#define ActChgToAdmSha (ActDowShaDeg+136)
#define ActChgToAdmSha (ActDowShaDeg+137)
#define ActAdmShaCrs (ActDowShaDeg+137)
#define ActReqRemFilShaCrs (ActDowShaDeg+138)
#define ActRemFilShaCrs (ActDowShaDeg+139)
#define ActRemFolShaCrs (ActDowShaDeg+140)
#define ActCopShaCrs (ActDowShaDeg+141)
#define ActPasShaCrs (ActDowShaDeg+142)
#define ActRemTreShaCrs (ActDowShaDeg+143)
#define ActFrmCreShaCrs (ActDowShaDeg+144)
#define ActCreFolShaCrs (ActDowShaDeg+145)
#define ActCreLnkShaCrs (ActDowShaDeg+146)
#define ActRenFolShaCrs (ActDowShaDeg+147)
#define ActRcvFilShaCrsDZ (ActDowShaDeg+148)
#define ActRcvFilShaCrsCla (ActDowShaDeg+149)
#define ActExpShaCrs (ActDowShaDeg+150)
#define ActConShaCrs (ActDowShaDeg+151)
#define ActZIPShaCrs (ActDowShaDeg+152)
#define ActReqDatShaCrs (ActDowShaDeg+153)
#define ActChgDatShaCrs (ActDowShaDeg+154)
#define ActDowShaCrs (ActDowShaDeg+155)
#define ActAdmShaCrs (ActDowShaDeg+138)
#define ActReqRemFilShaCrs (ActDowShaDeg+139)
#define ActRemFilShaCrs (ActDowShaDeg+140)
#define ActRemFolShaCrs (ActDowShaDeg+141)
#define ActCopShaCrs (ActDowShaDeg+142)
#define ActPasShaCrs (ActDowShaDeg+143)
#define ActRemTreShaCrs (ActDowShaDeg+144)
#define ActFrmCreShaCrs (ActDowShaDeg+145)
#define ActCreFolShaCrs (ActDowShaDeg+146)
#define ActCreLnkShaCrs (ActDowShaDeg+147)
#define ActRenFolShaCrs (ActDowShaDeg+148)
#define ActRcvFilShaCrsDZ (ActDowShaDeg+149)
#define ActRcvFilShaCrsCla (ActDowShaDeg+150)
#define ActExpShaCrs (ActDowShaDeg+151)
#define ActConShaCrs (ActDowShaDeg+152)
#define ActZIPShaCrs (ActDowShaDeg+153)
#define ActReqDatShaCrs (ActDowShaDeg+154)
#define ActChgDatShaCrs (ActDowShaDeg+155)
#define ActDowShaCrs (ActDowShaDeg+156)
#define ActAdmShaGrp (ActDowShaDeg+156)
#define ActReqRemFilShaGrp (ActDowShaDeg+157)
#define ActRemFilShaGrp (ActDowShaDeg+158)
#define ActRemFolShaGrp (ActDowShaDeg+159)
#define ActCopShaGrp (ActDowShaDeg+160)
#define ActPasShaGrp (ActDowShaDeg+161)
#define ActRemTreShaGrp (ActDowShaDeg+162)
#define ActFrmCreShaGrp (ActDowShaDeg+163)
#define ActCreFolShaGrp (ActDowShaDeg+164)
#define ActCreLnkShaGrp (ActDowShaDeg+165)
#define ActRenFolShaGrp (ActDowShaDeg+166)
#define ActRcvFilShaGrpDZ (ActDowShaDeg+167)
#define ActRcvFilShaGrpCla (ActDowShaDeg+168)
#define ActExpShaGrp (ActDowShaDeg+169)
#define ActConShaGrp (ActDowShaDeg+170)
#define ActZIPShaGrp (ActDowShaDeg+171)
#define ActReqDatShaGrp (ActDowShaDeg+172)
#define ActChgDatShaGrp (ActDowShaDeg+173)
#define ActDowShaGrp (ActDowShaDeg+174)
#define ActAdmShaGrp (ActDowShaDeg+157)
#define ActReqRemFilShaGrp (ActDowShaDeg+158)
#define ActRemFilShaGrp (ActDowShaDeg+159)
#define ActRemFolShaGrp (ActDowShaDeg+160)
#define ActCopShaGrp (ActDowShaDeg+161)
#define ActPasShaGrp (ActDowShaDeg+162)
#define ActRemTreShaGrp (ActDowShaDeg+163)
#define ActFrmCreShaGrp (ActDowShaDeg+164)
#define ActCreFolShaGrp (ActDowShaDeg+165)
#define ActCreLnkShaGrp (ActDowShaDeg+166)
#define ActRenFolShaGrp (ActDowShaDeg+167)
#define ActRcvFilShaGrpDZ (ActDowShaDeg+168)
#define ActRcvFilShaGrpCla (ActDowShaDeg+169)
#define ActExpShaGrp (ActDowShaDeg+170)
#define ActConShaGrp (ActDowShaDeg+171)
#define ActZIPShaGrp (ActDowShaDeg+172)
#define ActReqDatShaGrp (ActDowShaDeg+173)
#define ActChgDatShaGrp (ActDowShaDeg+174)
#define ActDowShaGrp (ActDowShaDeg+175)
#define ActEdiBib (ActDowShaDeg+175)
#define ActEdiFAQ (ActDowShaDeg+176)
#define ActEdiCrsLnk (ActDowShaDeg+177)
#define ActEdiBib (ActDowShaDeg+176)
#define ActEdiFAQ (ActDowShaDeg+177)
#define ActEdiCrsLnk (ActDowShaDeg+178)
#define ActChgFrcReaCrsInf (ActDowShaDeg+178)
#define ActChgFrcReaTchGui (ActDowShaDeg+179)
#define ActChgFrcReaSylLec (ActDowShaDeg+180)
#define ActChgFrcReaSylPra (ActDowShaDeg+181)
#define ActChgFrcReaBib (ActDowShaDeg+182)
#define ActChgFrcReaFAQ (ActDowShaDeg+183)
#define ActChgFrcReaCrsLnk (ActDowShaDeg+184)
#define ActChgFrcReaCrsInf (ActDowShaDeg+179)
#define ActChgFrcReaTchGui (ActDowShaDeg+180)
#define ActChgFrcReaSylLec (ActDowShaDeg+181)
#define ActChgFrcReaSylPra (ActDowShaDeg+182)
#define ActChgFrcReaBib (ActDowShaDeg+183)
#define ActChgFrcReaFAQ (ActDowShaDeg+184)
#define ActChgFrcReaCrsLnk (ActDowShaDeg+185)
#define ActChgHavReaCrsInf (ActDowShaDeg+185)
#define ActChgHavReaTchGui (ActDowShaDeg+186)
#define ActChgHavReaSylLec (ActDowShaDeg+187)
#define ActChgHavReaSylPra (ActDowShaDeg+188)
#define ActChgHavReaBib (ActDowShaDeg+189)
#define ActChgHavReaFAQ (ActDowShaDeg+190)
#define ActChgHavReaCrsLnk (ActDowShaDeg+191)
#define ActChgHavReaCrsInf (ActDowShaDeg+186)
#define ActChgHavReaTchGui (ActDowShaDeg+187)
#define ActChgHavReaSylLec (ActDowShaDeg+188)
#define ActChgHavReaSylPra (ActDowShaDeg+189)
#define ActChgHavReaBib (ActDowShaDeg+190)
#define ActChgHavReaFAQ (ActDowShaDeg+191)
#define ActChgHavReaCrsLnk (ActDowShaDeg+192)
#define ActSelInfSrcCrsInf (ActDowShaDeg+192)
#define ActSelInfSrcTchGui (ActDowShaDeg+193)
#define ActSelInfSrcSylLec (ActDowShaDeg+194)
#define ActSelInfSrcSylPra (ActDowShaDeg+195)
#define ActSelInfSrcBib (ActDowShaDeg+196)
#define ActSelInfSrcFAQ (ActDowShaDeg+197)
#define ActSelInfSrcCrsLnk (ActDowShaDeg+198)
#define ActRcvURLCrsInf (ActDowShaDeg+199)
#define ActRcvURLTchGui (ActDowShaDeg+200)
#define ActRcvURLSylLec (ActDowShaDeg+201)
#define ActRcvURLSylPra (ActDowShaDeg+202)
#define ActRcvURLBib (ActDowShaDeg+203)
#define ActRcvURLFAQ (ActDowShaDeg+204)
#define ActRcvURLCrsLnk (ActDowShaDeg+205)
#define ActRcvPagCrsInf (ActDowShaDeg+206)
#define ActRcvPagTchGui (ActDowShaDeg+207)
#define ActRcvPagSylLec (ActDowShaDeg+208)
#define ActRcvPagSylPra (ActDowShaDeg+209)
#define ActRcvPagBib (ActDowShaDeg+210)
#define ActRcvPagFAQ (ActDowShaDeg+211)
#define ActRcvPagCrsLnk (ActDowShaDeg+212)
#define ActEditorCrsInf (ActDowShaDeg+213)
#define ActEditorTchGui (ActDowShaDeg+214)
#define ActEditorSylLec (ActDowShaDeg+215)
#define ActEditorSylPra (ActDowShaDeg+216)
#define ActEditorBib (ActDowShaDeg+217)
#define ActEditorFAQ (ActDowShaDeg+218)
#define ActEditorCrsLnk (ActDowShaDeg+219)
#define ActPlaTxtEdiCrsInf (ActDowShaDeg+220)
#define ActPlaTxtEdiTchGui (ActDowShaDeg+221)
#define ActPlaTxtEdiSylLec (ActDowShaDeg+222)
#define ActPlaTxtEdiSylPra (ActDowShaDeg+223)
#define ActPlaTxtEdiBib (ActDowShaDeg+224)
#define ActPlaTxtEdiFAQ (ActDowShaDeg+225)
#define ActPlaTxtEdiCrsLnk (ActDowShaDeg+226)
#define ActRchTxtEdiCrsInf (ActDowShaDeg+227)
#define ActRchTxtEdiTchGui (ActDowShaDeg+228)
#define ActRchTxtEdiSylLec (ActDowShaDeg+229)
#define ActRchTxtEdiSylPra (ActDowShaDeg+230)
#define ActRchTxtEdiBib (ActDowShaDeg+231)
#define ActRchTxtEdiFAQ (ActDowShaDeg+232)
#define ActRchTxtEdiCrsLnk (ActDowShaDeg+233)
#define ActRcvPlaTxtCrsInf (ActDowShaDeg+234)
#define ActRcvPlaTxtTchGui (ActDowShaDeg+235)
#define ActRcvPlaTxtSylLec (ActDowShaDeg+236)
#define ActRcvPlaTxtSylPra (ActDowShaDeg+237)
#define ActRcvPlaTxtBib (ActDowShaDeg+238)
#define ActRcvPlaTxtFAQ (ActDowShaDeg+239)
#define ActRcvPlaTxtCrsLnk (ActDowShaDeg+240)
#define ActRcvRchTxtCrsInf (ActDowShaDeg+241)
#define ActRcvRchTxtTchGui (ActDowShaDeg+242)
#define ActRcvRchTxtSylLec (ActDowShaDeg+243)
#define ActRcvRchTxtSylPra (ActDowShaDeg+244)
#define ActRcvRchTxtBib (ActDowShaDeg+245)
#define ActRcvRchTxtFAQ (ActDowShaDeg+246)
#define ActRcvRchTxtCrsLnk (ActDowShaDeg+247)
#define ActSelInfSrcCrsInf (ActDowShaDeg+193)
#define ActSelInfSrcTchGui (ActDowShaDeg+194)
#define ActSelInfSrcSylLec (ActDowShaDeg+195)
#define ActSelInfSrcSylPra (ActDowShaDeg+196)
#define ActSelInfSrcBib (ActDowShaDeg+197)
#define ActSelInfSrcFAQ (ActDowShaDeg+198)
#define ActSelInfSrcCrsLnk (ActDowShaDeg+199)
#define ActRcvURLCrsInf (ActDowShaDeg+200)
#define ActRcvURLTchGui (ActDowShaDeg+201)
#define ActRcvURLSylLec (ActDowShaDeg+202)
#define ActRcvURLSylPra (ActDowShaDeg+203)
#define ActRcvURLBib (ActDowShaDeg+204)
#define ActRcvURLFAQ (ActDowShaDeg+205)
#define ActRcvURLCrsLnk (ActDowShaDeg+206)
#define ActRcvPagCrsInf (ActDowShaDeg+207)
#define ActRcvPagTchGui (ActDowShaDeg+208)
#define ActRcvPagSylLec (ActDowShaDeg+209)
#define ActRcvPagSylPra (ActDowShaDeg+210)
#define ActRcvPagBib (ActDowShaDeg+211)
#define ActRcvPagFAQ (ActDowShaDeg+212)
#define ActRcvPagCrsLnk (ActDowShaDeg+213)
#define ActEditorCrsInf (ActDowShaDeg+214)
#define ActEditorTchGui (ActDowShaDeg+215)
#define ActEditorSylLec (ActDowShaDeg+216)
#define ActEditorSylPra (ActDowShaDeg+217)
#define ActEditorBib (ActDowShaDeg+218)
#define ActEditorFAQ (ActDowShaDeg+219)
#define ActEditorCrsLnk (ActDowShaDeg+220)
#define ActPlaTxtEdiCrsInf (ActDowShaDeg+221)
#define ActPlaTxtEdiTchGui (ActDowShaDeg+222)
#define ActPlaTxtEdiSylLec (ActDowShaDeg+223)
#define ActPlaTxtEdiSylPra (ActDowShaDeg+224)
#define ActPlaTxtEdiBib (ActDowShaDeg+225)
#define ActPlaTxtEdiFAQ (ActDowShaDeg+226)
#define ActPlaTxtEdiCrsLnk (ActDowShaDeg+227)
#define ActRchTxtEdiCrsInf (ActDowShaDeg+228)
#define ActRchTxtEdiTchGui (ActDowShaDeg+229)
#define ActRchTxtEdiSylLec (ActDowShaDeg+230)
#define ActRchTxtEdiSylPra (ActDowShaDeg+231)
#define ActRchTxtEdiBib (ActDowShaDeg+232)
#define ActRchTxtEdiFAQ (ActDowShaDeg+233)
#define ActRchTxtEdiCrsLnk (ActDowShaDeg+234)
#define ActRcvPlaTxtCrsInf (ActDowShaDeg+235)
#define ActRcvPlaTxtTchGui (ActDowShaDeg+236)
#define ActRcvPlaTxtSylLec (ActDowShaDeg+237)
#define ActRcvPlaTxtSylPra (ActDowShaDeg+238)
#define ActRcvPlaTxtBib (ActDowShaDeg+239)
#define ActRcvPlaTxtFAQ (ActDowShaDeg+240)
#define ActRcvPlaTxtCrsLnk (ActDowShaDeg+241)
#define ActRcvRchTxtCrsInf (ActDowShaDeg+242)
#define ActRcvRchTxtTchGui (ActDowShaDeg+243)
#define ActRcvRchTxtSylLec (ActDowShaDeg+244)
#define ActRcvRchTxtSylPra (ActDowShaDeg+245)
#define ActRcvRchTxtBib (ActDowShaDeg+246)
#define ActRcvRchTxtFAQ (ActDowShaDeg+247)
#define ActRcvRchTxtCrsLnk (ActDowShaDeg+248)
/*****************************************************************************/
/***************************** Assessment tab ********************************/

View File

@ -150,13 +150,17 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 16.39 (2016-10-23)"
#define Log_PLATFORM_VERSION "SWAD 16.40 (2016-10-23)"
#define CSS_FILE "swad16.32.1.css"
#define JS_FILE "swad15.238.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 16.40: Oct 23, 2016 New form in degree configuration to change full name. (205427 lines)
1 change necessary in database:
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1600','es','N','Cambiar nombre completo asig.');
Version 16.39: Oct 23, 2016 New form in degree configuration to change WWW. (205404 lines)
2 changes necessary in database:
UPDATE actions SET Txt='Cambiar web de titulación' WHERE ActCod='554' AND Language='es';

View File

@ -103,7 +103,9 @@ static void Crs_UpdateCrsDegDB (long CrsCod,long DegCod);
static void Crs_UpdateCrsYear (struct Course *Crs,unsigned NewYear);
static void Crs_EmptyCourseCompletely (long CrsCod);
static bool Crs_RenameCourse (struct Course *Crs,Cns_ShortOrFullName_t ShortOrFullName);
static void Crs_GetCrsCodFromForm (void);
static void Crs_RenameCourse (struct Course *Crs,Cns_ShortOrFullName_t ShortOrFullName);
static void Crs_PutButtonToGoToCrs (struct Course *Crs);
static void Crs_PutButtonToRegisterInCrs (struct Course *Crs);
@ -250,16 +252,31 @@ static void Crs_Configuration (bool PrintView)
/***** Course full name *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"DAT_N LEFT_MIDDLE\">"
"%s"
"</td>"
"</tr>",
The_ClassForm[Gbl.Prefs.Theme],
Txt_Course,
Gbl.CurrentCrs.Crs.FullName);
"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"DAT_N LEFT_MIDDLE\">",
The_ClassForm[Gbl.Prefs.Theme],
Txt_Course);
if (!PrintView &&
Gbl.Usrs.Me.LoggedRole >= Rol_DEG_ADM)
// Only degree admins, centre admins, institution admins and system admins can edit course full name
{
/* Form to change course full name */
Act_FormStart (ActRenCrsFulCfg);
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"FullName\""
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_FULL_NAME\""
" onchange=\"document.getElementById('%s').submit();\" />",
Crs_MAX_LENGTH_COURSE_FULL_NAME,
Gbl.CurrentCrs.Crs.FullName,
Gbl.Form.Id);
Act_FormEnd ();
}
else // I can not edit course full name
fprintf (Gbl.F.Out,"%s",Gbl.CurrentCrs.Crs.FullName);
fprintf (Gbl.F.Out,"</td>"
"</tr>");
/***** Course short name *****/
fprintf (Gbl.F.Out,"<tr>"
@ -2622,13 +2639,8 @@ void Crs_UpdateInstitutionalCrsCod (struct Course *Crs,const char *NewInstitutio
void Crs_RenameCourseShort (void)
{
struct Course *Crs;
Crs = &Gbl.Degs.EditingCrs;
if (Crs_RenameCourse (Crs,Cns_SHORT_NAME))
if (Crs->CrsCod == Gbl.CurrentCrs.Crs.CrsCod) // If renaming current course...
strcpy (Gbl.CurrentCrs.Crs.ShortName,Crs->ShortName); // Overwrite current course name in order to show correctly in page title and heading
Crs_GetCrsCodFromForm ();
Crs_RenameCourse (&Gbl.Degs.EditingCrs,Cns_SHORT_NAME);
}
/*****************************************************************************/
@ -2637,22 +2649,31 @@ void Crs_RenameCourseShort (void)
void Crs_RenameCourseFull (void)
{
struct Course *Crs;
Crs_GetCrsCodFromForm ();
Crs_RenameCourse (&Gbl.Degs.EditingCrs,Cns_FULL_NAME);
}
Crs = &Gbl.Degs.EditingCrs;
void Crs_RenameCourseFullInConfig (void)
{
Crs_RenameCourse (&Gbl.CurrentCrs.Crs,Cns_FULL_NAME);
}
if (Crs_RenameCourse (Crs,Cns_FULL_NAME))
if (Crs->CrsCod == Gbl.CurrentCrs.Crs.CrsCod) // If renaming current course...
strcpy (Gbl.CurrentCrs.Crs.FullName,Crs->FullName); // Overwrite current course name in order to show correctly in page title and heading
/*****************************************************************************/
/************************ Get the code of the course *************************/
/*****************************************************************************/
static void Crs_GetCrsCodFromForm (void)
{
/***** Get the code of the course *****/
if ((Gbl.Degs.EditingCrs.CrsCod = Crs_GetParamOtherCrsCod ()) < 0)
Lay_ShowErrorAndExit ("Code of course is missing.");
}
/*****************************************************************************/
/************************ Change the name of a course ************************/
/*****************************************************************************/
// Returns true if the course is renamed
// Returns false if the course is not renamed
static bool Crs_RenameCourse (struct Course *Crs,Cns_ShortOrFullName_t ShortOrFullName)
static void Crs_RenameCourse (struct Course *Crs,Cns_ShortOrFullName_t ShortOrFullName)
{
extern const char *Txt_You_can_not_leave_the_name_of_the_course_X_empty;
extern const char *Txt_The_course_X_already_exists;
@ -2665,7 +2686,6 @@ static bool Crs_RenameCourse (struct Course *Crs,Cns_ShortOrFullName_t ShortOrFu
unsigned MaxLength = 0; // Initialized to avoid warning
char *CurrentCrsName = NULL; // Initialized to avoid warning
char NewCrsName[Crs_MAX_LENGTH_COURSE_FULL_NAME+1];
bool CourseHasBeenRenamed = false;
switch (ShortOrFullName)
{
@ -2684,10 +2704,6 @@ static bool Crs_RenameCourse (struct Course *Crs,Cns_ShortOrFullName_t ShortOrFu
}
/***** Get parameters from form *****/
/* Get the code of the course */
if ((Crs->CrsCod = Crs_GetParamOtherCrsCod ()) == -1L)
Lay_ShowErrorAndExit ("Code of course is missing.");
/* Get the new name for the course */
Par_GetParToText (ParamName,NewCrsName,MaxLength);
@ -2730,8 +2746,6 @@ static bool Crs_RenameCourse (struct Course *Crs,Cns_ShortOrFullName_t ShortOrFu
/* Change current course name in order to display it properly */
strncpy (CurrentCrsName,NewCrsName,MaxLength);
CurrentCrsName[MaxLength] = '\0';
CourseHasBeenRenamed = true;
}
}
else // The same name
@ -2744,8 +2758,6 @@ static bool Crs_RenameCourse (struct Course *Crs,Cns_ShortOrFullName_t ShortOrFu
Gbl.Error = true;
strcpy (Gbl.Message,Txt_You_dont_have_permission_to_edit_this_course);
}
return CourseHasBeenRenamed;
}
/*****************************************************************************/

View File

@ -125,6 +125,7 @@ void Crs_ChangeCrsYear (void);
void Crs_UpdateInstitutionalCrsCod (struct Course *Crs,const char *NewInstitutionalCrsCod);
void Crs_RenameCourseShort (void);
void Crs_RenameCourseFull (void);
void Crs_RenameCourseFullInConfig (void);
void Crs_ChangeCrsStatus (void);
void Crs_ContEditAfterChgCrs (void);