From 1bd200959b7264720e226270ff56c275e309ee84 Mon Sep 17 00:00:00 2001 From: acanas Date: Thu, 11 May 2023 10:21:32 +0200 Subject: [PATCH] Version 22.107.40:May 10, 2023 Changes in creation of test questions and survey questions. --- swad_action_list.c | 12 +- swad_action_list.h | 288 +++++++++++++++++++++++---------------------- swad_browser.c | 4 +- swad_changelog.h | 3 +- swad_question.c | 16 +-- swad_survey.c | 29 ++--- swad_text.c | 46 -------- swad_text_action.c | 70 +++++++++-- 8 files changed, 239 insertions(+), 229 deletions(-) diff --git a/swad_action_list.c b/swad_action_list.c index 6166704b..4c35b477 100644 --- a/swad_action_list.c +++ b/swad_action_list.c @@ -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 }; diff --git a/swad_action_list.h b/swad_action_list.h index f7508ed3..ca46c7be 100644 --- a/swad_action_list.h +++ b/swad_action_list.h @@ -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 diff --git a/swad_browser.c b/swad_browser.c index 1efaa390..6031f9ba 100644 --- a/swad_browser.c +++ b/swad_browser.c @@ -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 (); diff --git a/swad_changelog.h b/swad_changelog.h index d1960ebc..eafbf08e 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -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) diff --git a/swad_question.c b/swad_question.c index 070249e9..25773918 100644 --- a/swad_question.c +++ b/swad_question.c @@ -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); diff --git a/swad_survey.c b/swad_survey.c index eaaba10d..2446baa9 100644 --- a/swad_survey.c +++ b/swad_survey.c @@ -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 *****/ diff --git a/swad_text.c b/swad_text.c index 8d994b06..13de0f85 100644 --- a/swad_text.c +++ b/swad_text.c @@ -6664,52 +6664,6 @@ const char *Txt_Create_BR_notification = "Create
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ña"; -#elif L==5 // fr - "Créer le mot de passe"; -#elif L==6 // gn - "Crear contraseña"; // Okoteve traducción -#elif L==7 // it - "Cambiare password"; -#elif L==8 // pl - "Utwórz hasło"; -#elif L==9 // pt - "Criar senha"; -#elif L==10 // tr - "Şifre oluş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éer question"; -#elif L==6 // gn - "Crear pregunta"; // Okoteve traducción -#elif L==7 // it - "Crea domanda"; -#elif L==8 // pl - "Utwó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"; diff --git a/swad_text_action.c b/swad_text_action.c index ef01539b..1144a218 100644 --- a/swad_text_action.c +++ b/swad_text_action.c @@ -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é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ó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] =