Version 22.107.40:May 10, 2023 Changes in creation of test questions and survey questions.

This commit is contained in:
acanas 2023-05-11 10:21:32 +02:00
parent d7446c3106
commit 1bd200959b
8 changed files with 239 additions and 229 deletions

View File

@ -705,7 +705,8 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActReqImpTstQst ] = {1007,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,QstImp_ShowFormImpQstsFromXML ,NULL},
[ActImpTstQst ] = {1008,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_DATA,Act_BRW_1ST_TAB,NULL ,QstImp_ImpQstsFromXML ,NULL},
[ActLstTstQst ] = { 132,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Qst_ListQuestionsToEdit ,NULL},
[ActRcvTstQst ] = { 126,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_DATA,Act_BRW_1ST_TAB,NULL ,Qst_ReceiveQst ,NULL},
[ActNewTstQst ] = { 126,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_DATA,Act_BRW_1ST_TAB,NULL ,Qst_ReceiveQst ,NULL},
[ActChgTstQst ] = {1975,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_DATA,Act_BRW_1ST_TAB,NULL ,Qst_ReceiveQst ,NULL},
[ActReqRemSevTstQst ] = {1835,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Qst_ReqRemSelectedQsts ,NULL},
[ActRemSevTstQst ] = {1836,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Qst_RemoveSelectedQsts ,NULL},
[ActReqRemOneTstQst ] = {1523,-1,TabUnk,ActEdiTstQst ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Qst_ReqRemOneQst ,NULL},
@ -1792,7 +1793,8 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActUnhSvy ] = { 978,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_UnhideSurvey ,NULL},
[ActReqLnkSvy ] = {1937,-1,TabUnk,ActSeeAllSvy ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,SvyRsc_GetLinkToSurvey ,NULL},
[ActEdiOneSvyQst ] = { 979,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_ReqEditQuestion ,NULL},
[ActRcvSvyQst ] = { 980,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_ReceiveQst ,NULL},
[ActNewSvyQst ] = { 980,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_ReceiveQst ,NULL},
[ActChgSvyQst ] = {1976,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_ReceiveQst ,NULL},
[ActReqRemSvyQst ] = {1524,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_ReqRemQst ,NULL},
[ActRemSvyQst ] = { 981,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_RemoveQst ,NULL},
@ -2018,7 +2020,7 @@ Act_Action_t ActLst_FromActCodToAction[1 + ActLst_MAX_ACTION_COD] = // Do not re
-1, // #123 (obsolete action)
-1, // #124 (obsolete action)
-1, // #125 (obsolete action)
ActRcvTstQst, // #126
ActNewTstQst, // #126
ActPrnRecSevTch, // #127
-1, // #128 (obsolete action)
-1, // #129 (obsolete action)
@ -2872,7 +2874,7 @@ Act_Action_t ActLst_FromActCodToAction[1 + ActLst_MAX_ACTION_COD] = // Do not re
ActHidSvy, // #977
ActUnhSvy, // #978
ActEdiOneSvyQst, // #979
ActRcvSvyQst, // #980
ActNewSvyQst, // #980
ActRemSvyQst, // #981
ActSeeOneSvy, // #982
ActAnsSvy, // #983
@ -3867,4 +3869,6 @@ Act_Action_t ActLst_FromActCodToAction[1 + ActLst_MAX_ACTION_COD] = // Do not re
ActSeeRscCli_InRub, // #1972
ActRemRscCli_InRub, // #1973
ActChgPrjSco, // #1974
ActChgTstQst, // #1975
ActChgSvyQst, // #1976
};

View File

@ -631,158 +631,159 @@
#define ActReqImpTstQst (ActChgCrsTT1stDay + 104)
#define ActImpTstQst (ActChgCrsTT1stDay + 105)
#define ActLstTstQst (ActChgCrsTT1stDay + 106)
#define ActRcvTstQst (ActChgCrsTT1stDay + 107)
#define ActReqRemSevTstQst (ActChgCrsTT1stDay + 108)
#define ActRemSevTstQst (ActChgCrsTT1stDay + 109)
#define ActReqRemOneTstQst (ActChgCrsTT1stDay + 110)
#define ActRemOneTstQst (ActChgCrsTT1stDay + 111)
#define ActChgShfTstQst (ActChgCrsTT1stDay + 112)
#define ActNewTstQst (ActChgCrsTT1stDay + 107)
#define ActChgTstQst (ActChgCrsTT1stDay + 108)
#define ActReqRemSevTstQst (ActChgCrsTT1stDay + 109)
#define ActRemSevTstQst (ActChgCrsTT1stDay + 110)
#define ActReqRemOneTstQst (ActChgCrsTT1stDay + 111)
#define ActRemOneTstQst (ActChgCrsTT1stDay + 112)
#define ActChgShfTstQst (ActChgCrsTT1stDay + 113)
#define ActEdiTag (ActChgCrsTT1stDay + 113)
#define ActEnaTag (ActChgCrsTT1stDay + 114)
#define ActDisTag (ActChgCrsTT1stDay + 115)
#define ActRenTag (ActChgCrsTT1stDay + 116)
#define ActEdiTag (ActChgCrsTT1stDay + 114)
#define ActEnaTag (ActChgCrsTT1stDay + 115)
#define ActDisTag (ActChgCrsTT1stDay + 116)
#define ActRenTag (ActChgCrsTT1stDay + 117)
#define ActSeeTst (ActChgCrsTT1stDay + 117)
#define ActReqAssTst (ActChgCrsTT1stDay + 118)
#define ActAssTst (ActChgCrsTT1stDay + 119)
#define ActCfgTst (ActChgCrsTT1stDay + 120)
#define ActRcvCfgTst (ActChgCrsTT1stDay + 121)
#define ActSeeTst (ActChgCrsTT1stDay + 118)
#define ActReqAssTst (ActChgCrsTT1stDay + 119)
#define ActAssTst (ActChgCrsTT1stDay + 120)
#define ActCfgTst (ActChgCrsTT1stDay + 121)
#define ActRcvCfgTst (ActChgCrsTT1stDay + 122)
#define ActReqSeeMyTstRes (ActChgCrsTT1stDay + 122)
#define ActSeeMyTstResCrs (ActChgCrsTT1stDay + 123)
#define ActSeeOneTstResMe (ActChgCrsTT1stDay + 124)
#define ActReqSeeUsrTstRes (ActChgCrsTT1stDay + 125)
#define ActSeeUsrTstResCrs (ActChgCrsTT1stDay + 126)
#define ActSeeOneTstResOth (ActChgCrsTT1stDay + 127)
#define ActReqSeeMyTstRes (ActChgCrsTT1stDay + 123)
#define ActSeeMyTstResCrs (ActChgCrsTT1stDay + 124)
#define ActSeeOneTstResMe (ActChgCrsTT1stDay + 125)
#define ActReqSeeUsrTstRes (ActChgCrsTT1stDay + 126)
#define ActSeeUsrTstResCrs (ActChgCrsTT1stDay + 127)
#define ActSeeOneTstResOth (ActChgCrsTT1stDay + 128)
#define ActSeeOneExa (ActChgCrsTT1stDay + 128)
#define ActSeeOneExa (ActChgCrsTT1stDay + 129)
#define ActFrmNewExa (ActChgCrsTT1stDay + 129)
#define ActEdiOneExa (ActChgCrsTT1stDay + 130)
#define ActNewExa (ActChgCrsTT1stDay + 131)
#define ActChgExa (ActChgCrsTT1stDay + 132)
#define ActReqRemExa (ActChgCrsTT1stDay + 133)
#define ActRemExa (ActChgCrsTT1stDay + 134)
#define ActHidExa (ActChgCrsTT1stDay + 135)
#define ActUnhExa (ActChgCrsTT1stDay + 136)
#define ActReqLnkExa (ActChgCrsTT1stDay + 137)
#define ActFrmNewExa (ActChgCrsTT1stDay + 130)
#define ActEdiOneExa (ActChgCrsTT1stDay + 131)
#define ActNewExa (ActChgCrsTT1stDay + 132)
#define ActChgExa (ActChgCrsTT1stDay + 133)
#define ActReqRemExa (ActChgCrsTT1stDay + 134)
#define ActRemExa (ActChgCrsTT1stDay + 135)
#define ActHidExa (ActChgCrsTT1stDay + 136)
#define ActUnhExa (ActChgCrsTT1stDay + 137)
#define ActReqLnkExa (ActChgCrsTT1stDay + 138)
#define ActNewExaSet (ActChgCrsTT1stDay + 138)
#define ActReqRemExaSet (ActChgCrsTT1stDay + 139)
#define ActRemExaSet (ActChgCrsTT1stDay + 140)
#define ActUp_ExaSet (ActChgCrsTT1stDay + 141)
#define ActDwnExaSet (ActChgCrsTT1stDay + 142)
#define ActChgTitExaSet (ActChgCrsTT1stDay + 143)
#define ActChgNumQstExaSet (ActChgCrsTT1stDay + 144)
#define ActNewExaSet (ActChgCrsTT1stDay + 139)
#define ActReqRemExaSet (ActChgCrsTT1stDay + 140)
#define ActRemExaSet (ActChgCrsTT1stDay + 141)
#define ActUp_ExaSet (ActChgCrsTT1stDay + 142)
#define ActDwnExaSet (ActChgCrsTT1stDay + 143)
#define ActChgTitExaSet (ActChgCrsTT1stDay + 144)
#define ActChgNumQstExaSet (ActChgCrsTT1stDay + 145)
#define ActReqAddQstExaSet (ActChgCrsTT1stDay + 145)
#define ActLstTstQstForSet (ActChgCrsTT1stDay + 146)
#define ActAddQstToExa (ActChgCrsTT1stDay + 147)
#define ActReqRemSetQst (ActChgCrsTT1stDay + 148)
#define ActRemExaQst (ActChgCrsTT1stDay + 149)
#define ActValSetQst (ActChgCrsTT1stDay + 150)
#define ActInvSetQst (ActChgCrsTT1stDay + 151)
#define ActReqAddQstExaSet (ActChgCrsTT1stDay + 146)
#define ActLstTstQstForSet (ActChgCrsTT1stDay + 147)
#define ActAddQstToExa (ActChgCrsTT1stDay + 148)
#define ActReqRemSetQst (ActChgCrsTT1stDay + 149)
#define ActRemExaQst (ActChgCrsTT1stDay + 150)
#define ActValSetQst (ActChgCrsTT1stDay + 151)
#define ActInvSetQst (ActChgCrsTT1stDay + 152)
#define ActReqNewExaSes (ActChgCrsTT1stDay + 152)
#define ActEdiOneExaSes (ActChgCrsTT1stDay + 153)
#define ActNewExaSes (ActChgCrsTT1stDay + 154)
#define ActChgExaSes (ActChgCrsTT1stDay + 155)
#define ActReqRemExaSes (ActChgCrsTT1stDay + 156)
#define ActRemExaSes (ActChgCrsTT1stDay + 157)
#define ActHidExaSes (ActChgCrsTT1stDay + 158)
#define ActUnhExaSes (ActChgCrsTT1stDay + 159)
#define ActReqNewExaSes (ActChgCrsTT1stDay + 153)
#define ActEdiOneExaSes (ActChgCrsTT1stDay + 154)
#define ActNewExaSes (ActChgCrsTT1stDay + 155)
#define ActChgExaSes (ActChgCrsTT1stDay + 156)
#define ActReqRemExaSes (ActChgCrsTT1stDay + 157)
#define ActRemExaSes (ActChgCrsTT1stDay + 158)
#define ActHidExaSes (ActChgCrsTT1stDay + 159)
#define ActUnhExaSes (ActChgCrsTT1stDay + 160)
#define ActSeeExaPrn (ActChgCrsTT1stDay + 160)
#define ActAnsExaPrn (ActChgCrsTT1stDay + 161)
#define ActEndExaPrn (ActChgCrsTT1stDay + 162)
#define ActSeeExaPrn (ActChgCrsTT1stDay + 161)
#define ActAnsExaPrn (ActChgCrsTT1stDay + 162)
#define ActEndExaPrn (ActChgCrsTT1stDay + 163)
#define ActSeeMyExaResCrs (ActChgCrsTT1stDay + 163)
#define ActSeeMyExaResExa (ActChgCrsTT1stDay + 164)
#define ActSeeMyExaResSes (ActChgCrsTT1stDay + 165)
#define ActSeeOneExaResMe (ActChgCrsTT1stDay + 166)
#define ActReqSeeUsrExaRes (ActChgCrsTT1stDay + 167)
#define ActSeeUsrExaResCrs (ActChgCrsTT1stDay + 168)
#define ActSeeUsrExaResExa (ActChgCrsTT1stDay + 169)
#define ActSeeUsrExaResSes (ActChgCrsTT1stDay + 170)
#define ActSeeOneExaResOth (ActChgCrsTT1stDay + 171)
#define ActChgVisExaRes (ActChgCrsTT1stDay + 172)
#define ActSeeMyExaResCrs (ActChgCrsTT1stDay + 164)
#define ActSeeMyExaResExa (ActChgCrsTT1stDay + 165)
#define ActSeeMyExaResSes (ActChgCrsTT1stDay + 166)
#define ActSeeOneExaResMe (ActChgCrsTT1stDay + 167)
#define ActReqSeeUsrExaRes (ActChgCrsTT1stDay + 168)
#define ActSeeUsrExaResCrs (ActChgCrsTT1stDay + 169)
#define ActSeeUsrExaResExa (ActChgCrsTT1stDay + 170)
#define ActSeeUsrExaResSes (ActChgCrsTT1stDay + 171)
#define ActSeeOneExaResOth (ActChgCrsTT1stDay + 172)
#define ActChgVisExaRes (ActChgCrsTT1stDay + 173)
#define ActSeeOneGam (ActChgCrsTT1stDay + 173)
#define ActReqRemMch (ActChgCrsTT1stDay + 174)
#define ActRemMch (ActChgCrsTT1stDay + 175)
#define ActEdiMch (ActChgCrsTT1stDay + 176)
#define ActChgMch (ActChgCrsTT1stDay + 177)
#define ActReqNewMch (ActChgCrsTT1stDay + 178)
#define ActNewMch (ActChgCrsTT1stDay + 179)
#define ActResMch (ActChgCrsTT1stDay + 180)
#define ActBckMch (ActChgCrsTT1stDay + 181)
#define ActPlyPauMch (ActChgCrsTT1stDay + 182)
#define ActFwdMch (ActChgCrsTT1stDay + 183)
#define ActChgNumColMch (ActChgCrsTT1stDay + 184)
#define ActChgVisResMchQst (ActChgCrsTT1stDay + 185)
#define ActMchCntDwn (ActChgCrsTT1stDay + 186)
#define ActRefMchTch (ActChgCrsTT1stDay + 187)
#define ActSeeOneGam (ActChgCrsTT1stDay + 174)
#define ActReqRemMch (ActChgCrsTT1stDay + 175)
#define ActRemMch (ActChgCrsTT1stDay + 176)
#define ActEdiMch (ActChgCrsTT1stDay + 177)
#define ActChgMch (ActChgCrsTT1stDay + 178)
#define ActReqNewMch (ActChgCrsTT1stDay + 179)
#define ActNewMch (ActChgCrsTT1stDay + 180)
#define ActResMch (ActChgCrsTT1stDay + 181)
#define ActBckMch (ActChgCrsTT1stDay + 182)
#define ActPlyPauMch (ActChgCrsTT1stDay + 183)
#define ActFwdMch (ActChgCrsTT1stDay + 184)
#define ActChgNumColMch (ActChgCrsTT1stDay + 185)
#define ActChgVisResMchQst (ActChgCrsTT1stDay + 186)
#define ActMchCntDwn (ActChgCrsTT1stDay + 187)
#define ActRefMchTch (ActChgCrsTT1stDay + 188)
#define ActJoiMch (ActChgCrsTT1stDay + 188)
#define ActSeeMchAnsQstStd (ActChgCrsTT1stDay + 189)
#define ActRemMchAnsQstStd (ActChgCrsTT1stDay + 190)
#define ActAnsMchQstStd (ActChgCrsTT1stDay + 191)
#define ActRefMchStd (ActChgCrsTT1stDay + 192)
#define ActJoiMch (ActChgCrsTT1stDay + 189)
#define ActSeeMchAnsQstStd (ActChgCrsTT1stDay + 190)
#define ActRemMchAnsQstStd (ActChgCrsTT1stDay + 191)
#define ActAnsMchQstStd (ActChgCrsTT1stDay + 192)
#define ActRefMchStd (ActChgCrsTT1stDay + 193)
#define ActSeeMyMchResCrs (ActChgCrsTT1stDay + 193)
#define ActSeeMyMchResGam (ActChgCrsTT1stDay + 194)
#define ActSeeMyMchResMch (ActChgCrsTT1stDay + 195)
#define ActSeeOneMchResMe (ActChgCrsTT1stDay + 196)
#define ActSeeMyMchResCrs (ActChgCrsTT1stDay + 194)
#define ActSeeMyMchResGam (ActChgCrsTT1stDay + 195)
#define ActSeeMyMchResMch (ActChgCrsTT1stDay + 196)
#define ActSeeOneMchResMe (ActChgCrsTT1stDay + 197)
#define ActReqSeeUsrMchRes (ActChgCrsTT1stDay + 197)
#define ActSeeUsrMchResCrs (ActChgCrsTT1stDay + 198)
#define ActSeeUsrMchResGam (ActChgCrsTT1stDay + 199)
#define ActSeeUsrMchResMch (ActChgCrsTT1stDay + 200)
#define ActSeeOneMchResOth (ActChgCrsTT1stDay + 201)
#define ActReqSeeUsrMchRes (ActChgCrsTT1stDay + 198)
#define ActSeeUsrMchResCrs (ActChgCrsTT1stDay + 199)
#define ActSeeUsrMchResGam (ActChgCrsTT1stDay + 200)
#define ActSeeUsrMchResMch (ActChgCrsTT1stDay + 201)
#define ActSeeOneMchResOth (ActChgCrsTT1stDay + 202)
#define ActChgVisResMchUsr (ActChgCrsTT1stDay + 202)
#define ActChgVisResMchUsr (ActChgCrsTT1stDay + 203)
#define ActLstOneGam (ActChgCrsTT1stDay + 203)
#define ActLstOneGam (ActChgCrsTT1stDay + 204)
#define ActFrmNewGam (ActChgCrsTT1stDay + 204)
#define ActEdiOneGam (ActChgCrsTT1stDay + 205)
#define ActNewGam (ActChgCrsTT1stDay + 206)
#define ActChgGam (ActChgCrsTT1stDay + 207)
#define ActReqRemGam (ActChgCrsTT1stDay + 208)
#define ActRemGam (ActChgCrsTT1stDay + 209)
#define ActHidGam (ActChgCrsTT1stDay + 210)
#define ActUnhGam (ActChgCrsTT1stDay + 211)
#define ActAddOneGamQst (ActChgCrsTT1stDay + 212)
#define ActGamLstTstQst (ActChgCrsTT1stDay + 213)
#define ActAddTstQstToGam (ActChgCrsTT1stDay + 214)
#define ActReqRemGamQst (ActChgCrsTT1stDay + 215)
#define ActRemGamQst (ActChgCrsTT1stDay + 216)
#define ActUp_GamQst (ActChgCrsTT1stDay + 217)
#define ActDwnGamQst (ActChgCrsTT1stDay + 218)
#define ActReqLnkGam (ActChgCrsTT1stDay + 219)
#define ActFrmNewGam (ActChgCrsTT1stDay + 205)
#define ActEdiOneGam (ActChgCrsTT1stDay + 206)
#define ActNewGam (ActChgCrsTT1stDay + 207)
#define ActChgGam (ActChgCrsTT1stDay + 208)
#define ActReqRemGam (ActChgCrsTT1stDay + 209)
#define ActRemGam (ActChgCrsTT1stDay + 210)
#define ActHidGam (ActChgCrsTT1stDay + 211)
#define ActUnhGam (ActChgCrsTT1stDay + 212)
#define ActAddOneGamQst (ActChgCrsTT1stDay + 213)
#define ActGamLstTstQst (ActChgCrsTT1stDay + 214)
#define ActAddTstQstToGam (ActChgCrsTT1stDay + 215)
#define ActReqRemGamQst (ActChgCrsTT1stDay + 216)
#define ActRemGamQst (ActChgCrsTT1stDay + 217)
#define ActUp_GamQst (ActChgCrsTT1stDay + 218)
#define ActDwnGamQst (ActChgCrsTT1stDay + 219)
#define ActReqLnkGam (ActChgCrsTT1stDay + 220)
#define ActSeeOneRub (ActChgCrsTT1stDay + 220)
#define ActFrmNewRub (ActChgCrsTT1stDay + 221)
#define ActEdiOneRub (ActChgCrsTT1stDay + 222)
#define ActNewRub (ActChgCrsTT1stDay + 223)
#define ActChgRub (ActChgCrsTT1stDay + 224)
#define ActReqRemRub (ActChgCrsTT1stDay + 225)
#define ActRemRub (ActChgCrsTT1stDay + 226)
#define ActReqLnkRub (ActChgCrsTT1stDay + 227)
#define ActSeeOneRub (ActChgCrsTT1stDay + 221)
#define ActFrmNewRub (ActChgCrsTT1stDay + 222)
#define ActEdiOneRub (ActChgCrsTT1stDay + 223)
#define ActNewRub (ActChgCrsTT1stDay + 224)
#define ActChgRub (ActChgCrsTT1stDay + 225)
#define ActReqRemRub (ActChgCrsTT1stDay + 226)
#define ActRemRub (ActChgCrsTT1stDay + 227)
#define ActReqLnkRub (ActChgCrsTT1stDay + 228)
#define ActSeeRscCli_InRub (ActChgCrsTT1stDay + 228)
#define ActRemRscCli_InRub (ActChgCrsTT1stDay + 229)
#define ActNewRubCri (ActChgCrsTT1stDay + 230)
#define ActReqRemRubCri (ActChgCrsTT1stDay + 231)
#define ActRemRubCri (ActChgCrsTT1stDay + 232)
#define ActUp_RubCri (ActChgCrsTT1stDay + 233)
#define ActDwnRubCri (ActChgCrsTT1stDay + 234)
#define ActChgTitRubCri (ActChgCrsTT1stDay + 235)
#define ActChgLnkRubCri (ActChgCrsTT1stDay + 236)
#define ActChgMinRubCri (ActChgCrsTT1stDay + 237)
#define ActChgMaxRubCri (ActChgCrsTT1stDay + 238)
#define ActChgWeiRubCri (ActChgCrsTT1stDay + 239)
#define ActSeeRscCli_InRub (ActChgCrsTT1stDay + 229)
#define ActRemRscCli_InRub (ActChgCrsTT1stDay + 230)
#define ActNewRubCri (ActChgCrsTT1stDay + 231)
#define ActReqRemRubCri (ActChgCrsTT1stDay + 232)
#define ActRemRubCri (ActChgCrsTT1stDay + 233)
#define ActUp_RubCri (ActChgCrsTT1stDay + 234)
#define ActDwnRubCri (ActChgCrsTT1stDay + 235)
#define ActChgTitRubCri (ActChgCrsTT1stDay + 236)
#define ActChgLnkRubCri (ActChgCrsTT1stDay + 237)
#define ActChgMinRubCri (ActChgCrsTT1stDay + 238)
#define ActChgMaxRubCri (ActChgCrsTT1stDay + 239)
#define ActChgWeiRubCri (ActChgCrsTT1stDay + 240)
/*****************************************************************************/
/******************************** Files tab **********************************/
@ -1682,18 +1683,19 @@
#define ActReqLnkSvy (ActMaiUsr + 24)
#define ActEdiOneSvyQst (ActMaiUsr + 25)
#define ActRcvSvyQst (ActMaiUsr + 26)
#define ActReqRemSvyQst (ActMaiUsr + 27)
#define ActRemSvyQst (ActMaiUsr + 28)
#define ActNewSvyQst (ActMaiUsr + 26)
#define ActChgSvyQst (ActMaiUsr + 27)
#define ActReqRemSvyQst (ActMaiUsr + 28)
#define ActRemSvyQst (ActMaiUsr + 29)
#define ActSeeAccGbl (ActMaiUsr + 29)
#define ActReqAccCrs (ActMaiUsr + 30)
#define ActSeeAccCrs (ActMaiUsr + 31)
#define ActSeeAccGbl (ActMaiUsr + 30)
#define ActReqAccCrs (ActMaiUsr + 31)
#define ActSeeAccCrs (ActMaiUsr + 32)
#define ActLstClk (ActMaiUsr + 32)
#define ActRefLstClk (ActMaiUsr + 33)
#define ActLstClk (ActMaiUsr + 33)
#define ActRefLstClk (ActMaiUsr + 34)
#define ActSeeMyUsgRep (ActMaiUsr + 34)
#define ActSeeMyUsgRep (ActMaiUsr + 35)
/*****************************************************************************/
/******************************** Profile tab ********************************/
@ -1778,7 +1780,7 @@
#define ActLst_NUM_ACTIONS (ActChgMyTT1stDay + 1)
#define ActLst_MAX_ACTION_COD 1974
#define ActLst_MAX_ACTION_COD 1976
#define ActLst_DEFAULT_ACTION_AFTER_LOGIN ActSeeGblTL

View File

@ -3398,8 +3398,8 @@ static void Brw_WriteTopBeforeShowingFileBrowser (void)
else if (Brw_GetIfCrsAssigWorksFileBrowser ())
{
if (!Gbl.FileBrowser.ZIP.CreateZIP)
ZIP_PutLinkToCreateZIPAsgWrk (); // Create a zip file with the
// works of the selected users
ZIP_PutLinkToCreateZIPAsgWrk (); // Create a zip file with the...
//... works of the selected users
}
Mnu_ContextMenuEnd ();

View File

@ -629,10 +629,11 @@ TODO: Emilce Barrera Mesa: Podr
TODO: Emilce Barrera Mesa: Mis estudiantes presentan muchas dificultades a la hora de poner la foto porque la plataforma es muy exigente respecto al fondo de la imagen.
*/
#define Log_PLATFORM_VERSION "SWAD 22.107.39 (2023-05-10)"
#define Log_PLATFORM_VERSION "SWAD 22.107.40 (2023-05-10)"
#define CSS_FILE "swad22.107.36.css"
#define JS_FILE "swad22.49.js"
/*
Version 22.107.40:May 10, 2023 Changes in creation of test questions and survey questions. (? lines)
Version 22.107.39:May 10, 2023 Changes in creation of user account. (337435 lines)
Version 22.107.38:May 10, 2023 Changes in edition of mail domains. (337455 lines)
Version 22.107.37:May 10, 2023 Changes in edition of attendance events and agenda events. (337484 lines)

View File

@ -1806,7 +1806,7 @@ void Qst_PutFormEditOneQst (struct Qst_Question *Question)
extern const char *Txt_Expand;
extern const char *Txt_Contract;
extern const char *Txt_Save_changes;
extern const char *Txt_Create_question;
extern const char *Txt_Create;
MYSQL_RES *mysql_res;
MYSQL_ROW row;
unsigned NumTags;
@ -1823,9 +1823,10 @@ void Qst_PutFormEditOneQst (struct Qst_Question *Question)
char StrInteger[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
char *Title;
char *FuncOnChange;
bool NewQuestion = (Question->QstCod > 0);
/***** Begin box *****/
if (Question->QstCod > 0) // The question already has assigned a code
if (NewQuestion) // The question already has assigned a code
{
if (asprintf (&Title,Txt_Question_code_X,Question->QstCod) < 0)
Err_NotEnoughMemoryExit ();
@ -1839,7 +1840,8 @@ void Qst_PutFormEditOneQst (struct Qst_Question *Question)
Hlp_ASSESSMENT_Questions_writing_a_question,Box_NOT_CLOSABLE);
/***** Begin form *****/
Frm_BeginForm (ActRcvTstQst);
Frm_BeginForm (NewQuestion ? ActNewTstQst :
ActChgTstQst);
ParCod_PutPar (ParCod_Qst,Question->QstCod);
/***** Begin table *****/
@ -2212,7 +2214,7 @@ void Qst_PutFormEditOneQst (struct Qst_Question *Question)
if (Question->QstCod > 0) // The question already has assigned a code
Btn_PutConfirmButton (Txt_Save_changes);
else
Btn_PutCreateButton (Txt_Create_question);
Btn_PutCreateButton (Txt_Create);
/***** End form *****/
Frm_EndForm ();
@ -2737,7 +2739,7 @@ void Qst_GetQstFromForm (struct Qst_Question *Question)
Ale_ShowAlertsAndExit ();
Par_GetParText ("AnsInt",Question->Answer.Options[0].Text,
Cns_MAX_DECIMAL_DIGITS_LONG);
Cns_MAX_DECIMAL_DIGITS_LONG);
break;
case Qst_ANS_FLOAT:
if (!Qst_AllocateTextChoiceAnswer (Question,0))
@ -2745,14 +2747,14 @@ void Qst_GetQstFromForm (struct Qst_Question *Question)
Ale_ShowAlertsAndExit ();
Par_GetParText ("AnsFloatMin",Question->Answer.Options[0].Text,
Qst_MAX_BYTES_FLOAT_ANSWER);
Qst_MAX_BYTES_FLOAT_ANSWER);
if (!Qst_AllocateTextChoiceAnswer (Question,1))
/* Abort on error */
Ale_ShowAlertsAndExit ();
Par_GetParText ("AnsFloatMax",Question->Answer.Options[1].Text,
Qst_MAX_BYTES_FLOAT_ANSWER);
Qst_MAX_BYTES_FLOAT_ANSWER);
break;
case Qst_ANS_TRUE_FALSE:
Par_GetParText ("AnsTF",TF,1);

View File

@ -2268,17 +2268,17 @@ static void Svy_ShowFormEditOneQst (struct Svy_Surveys *Surveys,
extern const char *Txt_Type;
extern const char *Txt_SURVEY_STR_ANSWER_TYPES[Svy_NUM_ANS_TYPES];
extern const char *Txt_Save_changes;
extern const char *Txt_Create_question;
extern const char *Txt_Create;
MYSQL_RES *mysql_res;
MYSQL_ROW row;
unsigned NumAns;
unsigned NumAnswers = 0;
char *Title;
Svy_AnswerType_t AnsType;
bool NewQuestion = (SvyQst->QstCod <= 0);
if (Gbl.Action.Act == ActEdiOneSvyQst) // If no receiving the question, but editing a new or existing question
{
if ((SvyQst->QstCod > 0)) // If parameter QstCod received ==> question already exists in the database
if (!NewQuestion)
{
/***** Get question data from database *****/
if (Svy_DB_GetQstDataByCod (&mysql_res,SvyQst->QstCod,Surveys->Svy.SvyCod))
@ -2308,10 +2308,13 @@ static void Svy_ShowFormEditOneQst (struct Svy_Surveys *Surveys,
/* Free structure that stores the query result */
DB_FreeMySQLResult (&mysql_res);
}
}
/***** Begin box *****/
if (SvyQst->QstCod > 0) // If the question already has assigned a code
if (NewQuestion)
Box_BoxBegin (NULL,Txt_Question,
NULL,NULL,
Hlp_ANALYTICS_Surveys_questions,Box_NOT_CLOSABLE);
else
{
/* Parameters for contextual icon */
Surveys->QstCod = SvyQst->QstCod;
@ -2323,13 +2326,10 @@ static void Svy_ShowFormEditOneQst (struct Svy_Surveys *Surveys,
NULL,Box_NOT_CLOSABLE);
free (Title);
}
else
Box_BoxBegin (NULL,Txt_Question,
NULL,NULL,
Hlp_ANALYTICS_Surveys_questions,Box_NOT_CLOSABLE);
/***** Begin form *****/
Frm_BeginForm (ActRcvSvyQst);
Frm_BeginForm (NewQuestion ? ActNewSvyQst :
ActChgSvyQst);
ParCod_PutPar (ParCod_Svy,Surveys->Svy.SvyCod);
ParCod_PutPar (ParCod_Qst,SvyQst->QstCod);
@ -2421,10 +2421,10 @@ static void Svy_ShowFormEditOneQst (struct Svy_Surveys *Surveys,
HTM_TABLE_End ();
/***** Send button *****/
if (SvyQst->QstCod > 0) // If the question already has assigned a code
Btn_PutConfirmButton (Txt_Save_changes);
if (NewQuestion) // If the question already has assigned a code
Btn_PutCreateButton (Txt_Create);
else
Btn_PutCreateButton (Txt_Create_question);
Btn_PutConfirmButton (Txt_Save_changes);
/***** End form *****/
Frm_EndForm ();
@ -2690,7 +2690,8 @@ static void Svy_ListSvyQuestions (struct Svy_Surveys *Surveys)
char Stem[Cns_MAX_BYTES_TEXT + 1];
bool Editing = (Gbl.Action.Act == ActEdiOneSvy ||
Gbl.Action.Act == ActEdiOneSvyQst ||
Gbl.Action.Act == ActRcvSvyQst);
Gbl.Action.Act == ActNewSvyQst ||
Gbl.Action.Act == ActChgSvyQst);
bool PutFormAnswerSurvey = Surveys->Svy.Status.ICanAnswer && !Editing;
/***** Begin box *****/

View File

@ -6664,52 +6664,6 @@ const char *Txt_Create_BR_notification =
"Create<br />notification"; // Çeviri lazim!
#endif
const char *Txt_Create_password =
#if L==1 // ca
"Crear contrasenya";
#elif L==2 // de
"Passwort erstellen";
#elif L==3 // en
"Crear password";
#elif L==4 // es
"Cambiar contrase&ntilde;a";
#elif L==5 // fr
"Cr&eacute;er le mot de passe";
#elif L==6 // gn
"Crear contrase&ntilde;a"; // Okoteve traducción
#elif L==7 // it
"Cambiare password";
#elif L==8 // pl
"Utw&oacute;rz has&lstrok;o";
#elif L==9 // pt
"Criar senha";
#elif L==10 // tr
"&Scedil;ifre olu&scedil;tur";
#endif
const char *Txt_Create_question =
#if L==1 // ca
"Crear pregunta";
#elif L==2 // de
"Frage erstellen";
#elif L==3 // en
"Create question";
#elif L==4 // es
"Crear pregunta";
#elif L==5 // fr
"Cr&eacute;er question";
#elif L==6 // gn
"Crear pregunta"; // Okoteve traducción
#elif L==7 // it
"Crea domanda";
#elif L==8 // pl
"Utw&oacute;rz pytanie";
#elif L==9 // pt
"Criar pergunta";
#elif L==10 // tr
"Create question"; // Çeviri lazim!
#endif
const char *Txt_Create_ZIP_file =
#if L==1 // ca
"Crear arxiu ZIP";

View File

@ -11355,27 +11355,50 @@ const char *Txt_Actions[ActLst_NUM_ACTIONS] =
"List test questions for edition" // Çeviri lazim!
#endif
,
[ActRcvTstQst] =
[ActNewTstQst] =
#if L==1 // ca
"Create/Change test question" // Necessita traducció
"Crear pregunta"
#elif L==2 // de
"Create/Change test question" // Need Übersetzung
"Frage erstellen"
#elif L==3 // en
"Create/Change test question"
"Create question"
#elif L==4 // es
"Crear/Cambiar pregunta de test"
"Crear pregunta"
#elif L==5 // fr
"Create/Change test question" // Besoin de traduction
"Cr&eacute;er question"
#elif L==6 // gn
"Crear/Cambiar pregunta de test" // Okoteve traducción
"Crear pregunta" // Okoteve traducción
#elif L==7 // it
"Create/Change test question" // Bisogno di traduzione
"Crea domanda"
#elif L==8 // pl
"Create/Change test question" // Potrzebujesz tlumaczenie
"Utw&oacute;rz pytanie"
#elif L==9 // pt
"Create/Change test question" // Precisa de tradução
"Criar pergunta"
#elif L==10 // tr
"Create/Change test question" // Çeviri lazim!
"Create question" // Çeviri lazim!
#endif
,
[ActChgTstQst] =
#if L==1 // ca
"Change test question" // Necessita traducció
#elif L==2 // de
"Change test question" // Need Übersetzung
#elif L==3 // en
"Change test question"
#elif L==4 // es
"Cambiar pregunta de test"
#elif L==5 // fr
"Change test question" // Besoin de traduction
#elif L==6 // gn
"Cambiar pregunta de test" // Okoteve traducción
#elif L==7 // it
"Change test question" // Bisogno di traduzione
#elif L==8 // pl
"Change test question" // Potrzebujesz tlumaczenie
#elif L==9 // pt
"Change test question" // Precisa de tradução
#elif L==10 // tr
"Change test question" // Çeviri lazim!
#endif
,
[ActReqRemSevTstQst] =
@ -33067,7 +33090,7 @@ const char *Txt_Actions[ActLst_NUM_ACTIONS] =
"Edit new survey question" // Çeviri lazim!
#endif
,
[ActRcvSvyQst] =
[ActNewSvyQst] =
#if L==1 // ca
"Create survey question" // Necessita traducció
#elif L==2 // de
@ -33088,6 +33111,29 @@ const char *Txt_Actions[ActLst_NUM_ACTIONS] =
"Create survey question" // Precisa de tradução
#elif L==10 // tr
"Create survey question" // Çeviri lazim!
#endif
,
[ActChgSvyQst] =
#if L==1 // ca
"Change survey question" // Necessita traducció
#elif L==2 // de
"Change survey question" // Need Übersetzung
#elif L==3 // en
"Change survey question"
#elif L==4 // es
"Cambiar pregunta de encuesta"
#elif L==5 // fr
"Change survey question" // Besoin de traduction
#elif L==6 // gn
"Cambiar pregunta de encuesta" // Okoteve traducción
#elif L==7 // it
"Change survey question" // Bisogno di traduzione
#elif L==8 // pl
"Change survey question" // Potrzebujesz tlumaczenie
#elif L==9 // pt
"Change survey question" // Precisa de tradução
#elif L==10 // tr
"Change survey question" // Çeviri lazim!
#endif
,
[ActReqRemSvyQst] =