mirror of https://github.com/acanas/swad-core.git
Version19.235.2
This commit is contained in:
parent
b44885a767
commit
7c87e9f456
|
@ -693,13 +693,13 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
|||
|
||||
[ActSeeMyExaEvtResCrs] = {1867,-1,TabUnk,ActSeeAllExa ,0x208,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaRes_ShowMyExaResultsInCrs ,NULL},
|
||||
[ActSeeMyExaEvtResExa] = {1868,-1,TabUnk,ActSeeAllExa ,0x208,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaRes_ShowMyExaResultsInExa ,NULL},
|
||||
[ActSeeMyExaEvtResEvt] = {1869,-1,TabUnk,ActSeeAllExa ,0x208,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaRes_ShowMyExaResultsInEvt ,NULL},
|
||||
[ActSeeMyExaEvtResEvt] = {1869,-1,TabUnk,ActSeeAllExa ,0x208,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaRes_ShowMyExaResultsInSes ,NULL},
|
||||
[ActSeeOneExaEvtResMe] = {1870,-1,TabUnk,ActSeeAllExa ,0x208,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaRes_ShowOneExaResult ,NULL},
|
||||
|
||||
[ActReqSeeAllExaEvtRes] = {1871,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaRes_SelUsrsToViewExaResults ,NULL},
|
||||
[ActSeeAllExaEvtResCrs] = {1872,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaRes_ShowAllExaResultsInCrs ,NULL},
|
||||
[ActSeeAllExaEvtResExa] = {1873,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaRes_ShowAllExaResultsInExa ,NULL},
|
||||
[ActSeeAllExaEvtResEvt] = {1874,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaRes_ShowAllExaResultsInEvt ,NULL},
|
||||
[ActSeeAllExaEvtResEvt] = {1874,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaRes_ShowAllExaResultsInSes ,NULL},
|
||||
[ActSeeOneExaEvtResOth] = {1875,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaRes_ShowOneExaResult ,NULL},
|
||||
|
||||
[ActChgVisResExaEvtUsr] = {1876,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_ToggleVisResultsSesUsr ,NULL},
|
||||
|
@ -730,7 +730,6 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
|||
|
||||
[ActSeeExaPrn ] = {1904,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaPrn_ShowExamPrint ,NULL},
|
||||
[ActAnsExaPrn ] = {1906,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_AJAX_RFRESH,NULL ,ExaPrn_ReceivePrintAnswer ,NULL},
|
||||
[ActEndExaPrn ] = {1905,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaPrn_EndPrintAnswer ,NULL},
|
||||
|
||||
[ActSeeGam ] = {1650,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_SeeOneGame ,NULL},
|
||||
|
||||
|
@ -3714,7 +3713,7 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un
|
|||
ActEdiOneExaEvt, // #1902
|
||||
ActChgExaEvt, // #1903
|
||||
ActSeeExaPrn, // #1904
|
||||
ActEndExaPrn, // #1905
|
||||
-1, // #1905 (obsolete action)
|
||||
ActAnsExaPrn, // #1906
|
||||
ActEdiTag, // #1907
|
||||
};
|
||||
|
|
137
swad_action.h
137
swad_action.h
|
@ -695,83 +695,82 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to
|
|||
|
||||
#define ActSeeExaPrn (ActChgCrsTT1stDay + 164)
|
||||
#define ActAnsExaPrn (ActChgCrsTT1stDay + 165)
|
||||
#define ActEndExaPrn (ActChgCrsTT1stDay + 166)
|
||||
|
||||
#define ActSeeGam (ActChgCrsTT1stDay + 167)
|
||||
#define ActReqRemMch (ActChgCrsTT1stDay + 168)
|
||||
#define ActRemMch (ActChgCrsTT1stDay + 169)
|
||||
#define ActReqNewMch (ActChgCrsTT1stDay + 170)
|
||||
#define ActNewMch (ActChgCrsTT1stDay + 171)
|
||||
#define ActResMch (ActChgCrsTT1stDay + 172)
|
||||
#define ActBckMch (ActChgCrsTT1stDay + 173)
|
||||
#define ActPlyPauMch (ActChgCrsTT1stDay + 174)
|
||||
#define ActFwdMch (ActChgCrsTT1stDay + 175)
|
||||
#define ActChgNumColMch (ActChgCrsTT1stDay + 176)
|
||||
#define ActChgVisResMchQst (ActChgCrsTT1stDay + 177)
|
||||
#define ActMchCntDwn (ActChgCrsTT1stDay + 178)
|
||||
#define ActRefMchTch (ActChgCrsTT1stDay + 179)
|
||||
#define ActSeeGam (ActChgCrsTT1stDay + 166)
|
||||
#define ActReqRemMch (ActChgCrsTT1stDay + 167)
|
||||
#define ActRemMch (ActChgCrsTT1stDay + 168)
|
||||
#define ActReqNewMch (ActChgCrsTT1stDay + 169)
|
||||
#define ActNewMch (ActChgCrsTT1stDay + 170)
|
||||
#define ActResMch (ActChgCrsTT1stDay + 171)
|
||||
#define ActBckMch (ActChgCrsTT1stDay + 172)
|
||||
#define ActPlyPauMch (ActChgCrsTT1stDay + 173)
|
||||
#define ActFwdMch (ActChgCrsTT1stDay + 174)
|
||||
#define ActChgNumColMch (ActChgCrsTT1stDay + 175)
|
||||
#define ActChgVisResMchQst (ActChgCrsTT1stDay + 176)
|
||||
#define ActMchCntDwn (ActChgCrsTT1stDay + 177)
|
||||
#define ActRefMchTch (ActChgCrsTT1stDay + 178)
|
||||
|
||||
#define ActJoiMch (ActChgCrsTT1stDay + 180)
|
||||
#define ActSeeMchAnsQstStd (ActChgCrsTT1stDay + 181)
|
||||
#define ActRemMchAnsQstStd (ActChgCrsTT1stDay + 182)
|
||||
#define ActAnsMchQstStd (ActChgCrsTT1stDay + 183)
|
||||
#define ActRefMchStd (ActChgCrsTT1stDay + 184)
|
||||
#define ActJoiMch (ActChgCrsTT1stDay + 179)
|
||||
#define ActSeeMchAnsQstStd (ActChgCrsTT1stDay + 180)
|
||||
#define ActRemMchAnsQstStd (ActChgCrsTT1stDay + 181)
|
||||
#define ActAnsMchQstStd (ActChgCrsTT1stDay + 182)
|
||||
#define ActRefMchStd (ActChgCrsTT1stDay + 183)
|
||||
|
||||
#define ActSeeMyMchResCrs (ActChgCrsTT1stDay + 185)
|
||||
#define ActSeeMyMchResGam (ActChgCrsTT1stDay + 186)
|
||||
#define ActSeeMyMchResMch (ActChgCrsTT1stDay + 187)
|
||||
#define ActSeeOneMchResMe (ActChgCrsTT1stDay + 188)
|
||||
#define ActSeeMyMchResCrs (ActChgCrsTT1stDay + 184)
|
||||
#define ActSeeMyMchResGam (ActChgCrsTT1stDay + 185)
|
||||
#define ActSeeMyMchResMch (ActChgCrsTT1stDay + 186)
|
||||
#define ActSeeOneMchResMe (ActChgCrsTT1stDay + 187)
|
||||
|
||||
#define ActReqSeeAllMchRes (ActChgCrsTT1stDay + 189)
|
||||
#define ActSeeAllMchResCrs (ActChgCrsTT1stDay + 190)
|
||||
#define ActSeeAllMchResGam (ActChgCrsTT1stDay + 191)
|
||||
#define ActSeeAllMchResMch (ActChgCrsTT1stDay + 192)
|
||||
#define ActSeeOneMchResOth (ActChgCrsTT1stDay + 193)
|
||||
#define ActReqSeeAllMchRes (ActChgCrsTT1stDay + 188)
|
||||
#define ActSeeAllMchResCrs (ActChgCrsTT1stDay + 189)
|
||||
#define ActSeeAllMchResGam (ActChgCrsTT1stDay + 190)
|
||||
#define ActSeeAllMchResMch (ActChgCrsTT1stDay + 191)
|
||||
#define ActSeeOneMchResOth (ActChgCrsTT1stDay + 192)
|
||||
|
||||
#define ActChgVisResMchUsr (ActChgCrsTT1stDay + 194)
|
||||
#define ActChgVisResMchUsr (ActChgCrsTT1stDay + 193)
|
||||
|
||||
#define ActFrmNewGam (ActChgCrsTT1stDay + 195)
|
||||
#define ActEdiOneGam (ActChgCrsTT1stDay + 196)
|
||||
#define ActNewGam (ActChgCrsTT1stDay + 197)
|
||||
#define ActChgGam (ActChgCrsTT1stDay + 198)
|
||||
#define ActReqRemGam (ActChgCrsTT1stDay + 199)
|
||||
#define ActRemGam (ActChgCrsTT1stDay + 200)
|
||||
#define ActHidGam (ActChgCrsTT1stDay + 201)
|
||||
#define ActShoGam (ActChgCrsTT1stDay + 202)
|
||||
#define ActAddOneGamQst (ActChgCrsTT1stDay + 203)
|
||||
#define ActGamLstTstQst (ActChgCrsTT1stDay + 204)
|
||||
#define ActAddTstQstToGam (ActChgCrsTT1stDay + 205)
|
||||
#define ActReqRemGamQst (ActChgCrsTT1stDay + 206)
|
||||
#define ActRemGamQst (ActChgCrsTT1stDay + 207)
|
||||
#define ActUp_GamQst (ActChgCrsTT1stDay + 208)
|
||||
#define ActDwnGamQst (ActChgCrsTT1stDay + 209)
|
||||
#define ActFrmNewGam (ActChgCrsTT1stDay + 194)
|
||||
#define ActEdiOneGam (ActChgCrsTT1stDay + 195)
|
||||
#define ActNewGam (ActChgCrsTT1stDay + 196)
|
||||
#define ActChgGam (ActChgCrsTT1stDay + 197)
|
||||
#define ActReqRemGam (ActChgCrsTT1stDay + 198)
|
||||
#define ActRemGam (ActChgCrsTT1stDay + 199)
|
||||
#define ActHidGam (ActChgCrsTT1stDay + 200)
|
||||
#define ActShoGam (ActChgCrsTT1stDay + 201)
|
||||
#define ActAddOneGamQst (ActChgCrsTT1stDay + 202)
|
||||
#define ActGamLstTstQst (ActChgCrsTT1stDay + 203)
|
||||
#define ActAddTstQstToGam (ActChgCrsTT1stDay + 204)
|
||||
#define ActReqRemGamQst (ActChgCrsTT1stDay + 205)
|
||||
#define ActRemGamQst (ActChgCrsTT1stDay + 206)
|
||||
#define ActUp_GamQst (ActChgCrsTT1stDay + 207)
|
||||
#define ActDwnGamQst (ActChgCrsTT1stDay + 208)
|
||||
|
||||
#define ActSeeSvy (ActChgCrsTT1stDay + 210)
|
||||
#define ActAnsSvy (ActChgCrsTT1stDay + 211)
|
||||
#define ActFrmNewSvy (ActChgCrsTT1stDay + 212)
|
||||
#define ActEdiOneSvy (ActChgCrsTT1stDay + 213)
|
||||
#define ActNewSvy (ActChgCrsTT1stDay + 214)
|
||||
#define ActChgSvy (ActChgCrsTT1stDay + 215)
|
||||
#define ActReqRemSvy (ActChgCrsTT1stDay + 216)
|
||||
#define ActRemSvy (ActChgCrsTT1stDay + 217)
|
||||
#define ActReqRstSvy (ActChgCrsTT1stDay + 218)
|
||||
#define ActRstSvy (ActChgCrsTT1stDay + 219)
|
||||
#define ActHidSvy (ActChgCrsTT1stDay + 220)
|
||||
#define ActShoSvy (ActChgCrsTT1stDay + 221)
|
||||
#define ActEdiOneSvyQst (ActChgCrsTT1stDay + 222)
|
||||
#define ActRcvSvyQst (ActChgCrsTT1stDay + 223)
|
||||
#define ActReqRemSvyQst (ActChgCrsTT1stDay + 224)
|
||||
#define ActRemSvyQst (ActChgCrsTT1stDay + 225)
|
||||
#define ActSeeSvy (ActChgCrsTT1stDay + 209)
|
||||
#define ActAnsSvy (ActChgCrsTT1stDay + 210)
|
||||
#define ActFrmNewSvy (ActChgCrsTT1stDay + 211)
|
||||
#define ActEdiOneSvy (ActChgCrsTT1stDay + 212)
|
||||
#define ActNewSvy (ActChgCrsTT1stDay + 213)
|
||||
#define ActChgSvy (ActChgCrsTT1stDay + 214)
|
||||
#define ActReqRemSvy (ActChgCrsTT1stDay + 215)
|
||||
#define ActRemSvy (ActChgCrsTT1stDay + 216)
|
||||
#define ActReqRstSvy (ActChgCrsTT1stDay + 217)
|
||||
#define ActRstSvy (ActChgCrsTT1stDay + 218)
|
||||
#define ActHidSvy (ActChgCrsTT1stDay + 219)
|
||||
#define ActShoSvy (ActChgCrsTT1stDay + 220)
|
||||
#define ActEdiOneSvyQst (ActChgCrsTT1stDay + 221)
|
||||
#define ActRcvSvyQst (ActChgCrsTT1stDay + 222)
|
||||
#define ActReqRemSvyQst (ActChgCrsTT1stDay + 223)
|
||||
#define ActRemSvyQst (ActChgCrsTT1stDay + 224)
|
||||
|
||||
#define ActSeeOneExaAnn (ActChgCrsTT1stDay + 226)
|
||||
#define ActSeeDatExaAnn (ActChgCrsTT1stDay + 227)
|
||||
#define ActEdiExaAnn (ActChgCrsTT1stDay + 228)
|
||||
#define ActRcvExaAnn (ActChgCrsTT1stDay + 229)
|
||||
#define ActPrnExaAnn (ActChgCrsTT1stDay + 230)
|
||||
#define ActReqRemExaAnn (ActChgCrsTT1stDay + 231)
|
||||
#define ActRemExaAnn (ActChgCrsTT1stDay + 232)
|
||||
#define ActHidExaAnn (ActChgCrsTT1stDay + 233)
|
||||
#define ActShoExaAnn (ActChgCrsTT1stDay + 234)
|
||||
#define ActSeeOneExaAnn (ActChgCrsTT1stDay + 225)
|
||||
#define ActSeeDatExaAnn (ActChgCrsTT1stDay + 226)
|
||||
#define ActEdiExaAnn (ActChgCrsTT1stDay + 227)
|
||||
#define ActRcvExaAnn (ActChgCrsTT1stDay + 228)
|
||||
#define ActPrnExaAnn (ActChgCrsTT1stDay + 229)
|
||||
#define ActReqRemExaAnn (ActChgCrsTT1stDay + 230)
|
||||
#define ActRemExaAnn (ActChgCrsTT1stDay + 231)
|
||||
#define ActHidExaAnn (ActChgCrsTT1stDay + 232)
|
||||
#define ActShoExaAnn (ActChgCrsTT1stDay + 233)
|
||||
|
||||
/*****************************************************************************/
|
||||
/******************************** Files tab **********************************/
|
||||
|
|
|
@ -557,13 +557,14 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
|
|||
En OpenSWAD:
|
||||
ps2pdf source.ps destination.pdf
|
||||
*/
|
||||
#define Log_PLATFORM_VERSION "SWAD 19.235.1 (2020-05-17)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 19.235.2 (2020-05-17)"
|
||||
#define CSS_FILE "swad19.230.1.css"
|
||||
#define JS_FILE "swad19.230.3.js"
|
||||
/*
|
||||
TODO: Comprobar si el directorio público que devuelve Ses_GetPublicDirFromCache sigue existiendo.
|
||||
// Si no existe, hay que crear un nuevo directorio y meterlo en cache
|
||||
|
||||
Version 19.235.2: May 17, 2020 Changes in exam prints. (301216 lines)
|
||||
Version 19.235.1: May 17, 2020 Changes in edition of bank of questions. (301193 lines)
|
||||
Version 19.235: May 17, 2020 New module swad_tag for question tags. (301147 lines)
|
||||
Version 19.234: May 17, 2020 Option to edit tags in bank of questions. (301061 lines)
|
||||
|
|
|
@ -75,13 +75,14 @@ static void ExaPrn_GenerateChoiceIndexes (struct TstPrn_PrintedQuestion *Printed
|
|||
bool Shuffle);
|
||||
static void ExaPrn_CreatePrintInDB (struct ExaPrn_Print *Print);
|
||||
|
||||
static void ExaPrn_ShowExamPrintToFillIt (const char *Title,
|
||||
struct ExaPrn_Print *Print);
|
||||
static void ExaPrn_ShowTableWithQstsToFill (struct ExaPrn_Print *Print);
|
||||
static void ExaPrn_WriteQstAndAnsToFill (struct ExaPrn_Print *Print,
|
||||
static void ExaPrn_ShowExamPrintToFillIt (struct Exa_Exams *Exams,
|
||||
const struct Exa_Exam *Exam,
|
||||
const struct ExaPrn_Print *Print);
|
||||
static void ExaPrn_ShowTableWithQstsToFill (const struct ExaPrn_Print *Print);
|
||||
static void ExaPrn_WriteQstAndAnsToFill (const struct ExaPrn_Print *Print,
|
||||
unsigned NumQst,
|
||||
const struct Tst_Question *Question);
|
||||
static void ExaPrn_WriteAnswersToFill (struct ExaPrn_Print *Print,
|
||||
static void ExaPrn_WriteAnswersToFill (const struct ExaPrn_Print *Print,
|
||||
unsigned NumQst,
|
||||
const struct Tst_Question *Question);
|
||||
static void ExaPrn_WriteIntAnsToFill (const struct ExaPrn_Print *Print,
|
||||
|
@ -90,7 +91,7 @@ static void ExaPrn_WriteFloatAnsToFill (const struct ExaPrn_Print *Print,
|
|||
unsigned NumQst);
|
||||
static void ExaPrn_WriteTFAnsToFill (const struct ExaPrn_Print *Print,
|
||||
unsigned NumQst);
|
||||
static void ExaPrn_WriteChoiceAnsToFill (struct ExaPrn_Print *Print,
|
||||
static void ExaPrn_WriteChoiceAnsToFill (const struct ExaPrn_Print *Print,
|
||||
unsigned NumQst,
|
||||
const struct Tst_Question *Question);
|
||||
static void ExaPrn_WriteTextAnsToFill (const struct ExaPrn_Print *Print,
|
||||
|
@ -162,6 +163,7 @@ static void ExaPrn_ResetPrintExceptEvtCodAndUsrCod (struct ExaPrn_Print *Print)
|
|||
|
||||
void ExaPrn_ShowExamPrint (void)
|
||||
{
|
||||
extern const char *Txt_You_dont_have_access_to_the_exam;
|
||||
struct Exa_Exams Exams;
|
||||
struct Exa_Exam Exam;
|
||||
struct ExaSes_Session Session;
|
||||
|
@ -201,10 +203,10 @@ void ExaPrn_ShowExamPrint (void)
|
|||
}
|
||||
|
||||
/***** Show test exam to be answered *****/
|
||||
ExaPrn_ShowExamPrintToFillIt (Exam.Title,&Print);
|
||||
ExaPrn_ShowExamPrintToFillIt (&Exams,&Exam,&Print);
|
||||
}
|
||||
else
|
||||
Ale_ShowAlert (Ale_INFO,"Usted no tiene acceso al examen."); // TODO: Need translation!!!!
|
||||
Ale_ShowAlert (Ale_INFO,Txt_You_dont_have_access_to_the_exam);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -564,13 +566,15 @@ void ExaPrn_GetPrintQuestionsFromDB (struct ExaPrn_Print *Print)
|
|||
/******************** Show an exam print to be answered **********************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void ExaPrn_ShowExamPrintToFillIt (const char *Title,
|
||||
struct ExaPrn_Print *Print)
|
||||
static void ExaPrn_ShowExamPrintToFillIt (struct Exa_Exams *Exams,
|
||||
const struct Exa_Exam *Exam,
|
||||
const struct ExaPrn_Print *Print)
|
||||
{
|
||||
extern const char *Hlp_ASSESSMENT_Exams;
|
||||
extern const char *Txt_I_have_finished;
|
||||
|
||||
/***** Begin box *****/
|
||||
Box_BoxBegin (NULL,Title,
|
||||
Box_BoxBegin (NULL,Exam->Title,
|
||||
NULL,NULL,
|
||||
Hlp_ASSESSMENT_Exams,Box_NOT_CLOSABLE);
|
||||
Lay_WriteHeaderClassPhoto (false,false,
|
||||
|
@ -586,9 +590,9 @@ static void ExaPrn_ShowExamPrintToFillIt (const char *Title,
|
|||
HTM_DIV_End (); // Used for AJAX based refresh
|
||||
|
||||
/***** Form to end/close this exam print *****/
|
||||
Frm_StartForm (ActEndExaPrn);
|
||||
// ExaSes_PutParamSesCod (Print->SesCod);
|
||||
Btn_PutCreateButton ("He terminado"); // TODO: Need translations!!!
|
||||
Frm_StartForm (ActSeeOneExaEvtResMe);
|
||||
ExaSes_PutParamsEdit (Exams);
|
||||
Btn_PutCreateButton (Txt_I_have_finished);
|
||||
Frm_EndForm ();
|
||||
}
|
||||
|
||||
|
@ -600,7 +604,7 @@ static void ExaPrn_ShowExamPrintToFillIt (const char *Title,
|
|||
/********* Show the main part (table) of an exam print to be answered ********/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void ExaPrn_ShowTableWithQstsToFill (struct ExaPrn_Print *Print)
|
||||
static void ExaPrn_ShowTableWithQstsToFill (const struct ExaPrn_Print *Print)
|
||||
{
|
||||
unsigned NumQst;
|
||||
struct Tst_Question Question;
|
||||
|
@ -635,7 +639,7 @@ static void ExaPrn_ShowTableWithQstsToFill (struct ExaPrn_Print *Print)
|
|||
/********** Write a row of a test, with one question and its answer **********/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void ExaPrn_WriteQstAndAnsToFill (struct ExaPrn_Print *Print,
|
||||
static void ExaPrn_WriteQstAndAnsToFill (const struct ExaPrn_Print *Print,
|
||||
unsigned NumQst,
|
||||
const struct Tst_Question *Question)
|
||||
{
|
||||
|
@ -697,7 +701,7 @@ static void ExaPrn_WriteQstAndAnsToFill (struct ExaPrn_Print *Print,
|
|||
/***************** Write answers of a question to fill them ******************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void ExaPrn_WriteAnswersToFill (struct ExaPrn_Print *Print,
|
||||
static void ExaPrn_WriteAnswersToFill (const struct ExaPrn_Print *Print,
|
||||
unsigned NumQst,
|
||||
const struct Tst_Question *Question)
|
||||
{
|
||||
|
@ -807,7 +811,7 @@ static void ExaPrn_WriteTFAnsToFill (const struct ExaPrn_Print *Print,
|
|||
/******** Write single or multiple choice answer when seeing a test **********/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void ExaPrn_WriteChoiceAnsToFill (struct ExaPrn_Print *Print,
|
||||
static void ExaPrn_WriteChoiceAnsToFill (const struct ExaPrn_Print *Print,
|
||||
unsigned NumQst,
|
||||
const struct Tst_Question *Question)
|
||||
{
|
||||
|
@ -908,6 +912,7 @@ static void ExaPrn_WriteTextAnsToFill (const struct ExaPrn_Print *Print,
|
|||
|
||||
void ExaPrn_ReceivePrintAnswer (void)
|
||||
{
|
||||
extern const char *Txt_You_dont_have_access_to_the_exam;
|
||||
struct ExaPrn_Print Print;
|
||||
unsigned NumQst;
|
||||
|
||||
|
@ -945,7 +950,7 @@ void ExaPrn_ReceivePrintAnswer (void)
|
|||
ExaPrn_ShowTableWithQstsToFill (&Print);
|
||||
}
|
||||
else
|
||||
Ale_ShowAlert (Ale_INFO,"Usted no tiene acceso al examen."); // TODO: Need translation!!!!
|
||||
Ale_ShowAlert (Ale_INFO,Txt_You_dont_have_access_to_the_exam);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -1404,6 +1409,9 @@ static void ExaPrn_UpdatePrintInDB (const struct ExaPrn_Print *Print)
|
|||
void ExaPrn_EndPrintAnswer (void)
|
||||
{
|
||||
Ale_ShowAlert (Ale_INFO,"Terminar de contestar el examen.");
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -211,10 +211,10 @@ static void ExaRes_ListMySesResultsInExa (struct Exa_Exams *Exams,long ExaCod)
|
|||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/***************** Show my sessions results in a given session ******************/
|
||||
/****************** Show my exam results in a given session ******************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void ExaRes_ShowMyExaResultsInEvt (void)
|
||||
void ExaRes_ShowMyExaResultsInSes (void)
|
||||
{
|
||||
extern const char *Txt_Results_of_session_X;
|
||||
struct Exa_Exams Exams;
|
||||
|
@ -459,7 +459,7 @@ static void ExaRes_ListAllSesResultsInExa (struct Exa_Exams *Exams,long ExaCod)
|
|||
/** Show sessions results of a session for the users who answered in that session */
|
||||
/*****************************************************************************/
|
||||
|
||||
void ExaRes_ShowAllExaResultsInEvt (void)
|
||||
void ExaRes_ShowAllExaResultsInSes (void)
|
||||
{
|
||||
extern const char *Txt_Results_of_session_X;
|
||||
struct Exa_Exams Exams;
|
||||
|
|
|
@ -42,12 +42,12 @@
|
|||
|
||||
void ExaRes_ShowMyExaResultsInCrs (void);
|
||||
void ExaRes_ShowMyExaResultsInExa (void);
|
||||
void ExaRes_ShowMyExaResultsInEvt (void);
|
||||
void ExaRes_ShowMyExaResultsInSes (void);
|
||||
|
||||
void ExaRes_ShowAllExaResultsInCrs (void);
|
||||
void ExaRes_SelUsrsToViewExaResults (void);
|
||||
void ExaRes_ShowAllExaResultsInExa (void);
|
||||
void ExaRes_ShowAllExaResultsInEvt (void);
|
||||
void ExaRes_ShowAllExaResultsInSes (void);
|
||||
|
||||
void ExaRes_ShowOneExaResult (void);
|
||||
|
||||
|
|
|
@ -110,8 +110,6 @@ static void ExaSes_RemoveSessionsInExamFromTable (long ExaCod,const char *TableN
|
|||
static void ExaSes_RemoveSessionInCourseFromTable (long CrsCod,const char *TableName);
|
||||
static void ExaSes_RemoveUsrSesResultsInCrs (long UsrCod,long CrsCod,const char *TableName);
|
||||
|
||||
static void ExaSes_PutParamSesCod (long SesCod);
|
||||
|
||||
static void ExaSes_PutFormSession (const struct ExaSes_Session *Session);
|
||||
static void ExaSes_ShowLstGrpsToCreateSession (long SesCod);
|
||||
|
||||
|
@ -1154,7 +1152,7 @@ void ExaSes_PutParamsEdit (void *Exams)
|
|||
/**************** Write parameter with code of exam session ******************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void ExaSes_PutParamSesCod (long SesCod)
|
||||
void ExaSes_PutParamSesCod (long SesCod)
|
||||
{
|
||||
Par_PutHiddenParamLong (NULL,"SesCod",SesCod);
|
||||
}
|
||||
|
|
|
@ -70,6 +70,7 @@ void ExaSes_HideSession (void);
|
|||
void ExaSes_UnhideSession (void);
|
||||
|
||||
void ExaSes_PutParamsEdit (void *Exams);
|
||||
void ExaSes_PutParamSesCod (long SesCod);
|
||||
void ExaSes_GetAndCheckParameters (struct Exa_Exams *Exams,
|
||||
struct Exa_Exam *Exam,
|
||||
struct ExaSes_Session *Session);
|
||||
|
|
42
swad_text.c
42
swad_text.c
|
@ -15813,6 +15813,27 @@ const char *Txt_I_understand_that_this_action_can_not_be_undone =
|
|||
"Eu entendo que esta ação não pode ser desfeita.";
|
||||
#endif
|
||||
|
||||
const char *Txt_I_have_finished =
|
||||
#if L==1 // ca
|
||||
"He acabat";
|
||||
#elif L==2 // de
|
||||
"Ich bin fertig";
|
||||
#elif L==3 // en
|
||||
"I have finished";
|
||||
#elif L==4 // es
|
||||
"He terminado";
|
||||
#elif L==5 // fr
|
||||
"J'ai fini";
|
||||
#elif L==6 // gn
|
||||
"He terminado"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Ho finito";
|
||||
#elif L==8 // pl
|
||||
"Skończyłem";
|
||||
#elif L==9 // pt
|
||||
"Acabei";
|
||||
#endif
|
||||
|
||||
const char *Txt_Icons =
|
||||
#if L==1 // ca
|
||||
"Icones";
|
||||
|
@ -57866,6 +57887,27 @@ const char *Txt_You_dont_follow_any_user =
|
|||
"Você não segue nenhum usuário.";
|
||||
#endif
|
||||
|
||||
const char *Txt_You_dont_have_access_to_the_exam =
|
||||
#if L==1 // ca
|
||||
"No té accés a l'examen.";
|
||||
#elif L==2 // de
|
||||
"Sie haben keinen Zugang zur Prüfung.";
|
||||
#elif L==3 // en
|
||||
"You don't have access to the exam.";
|
||||
#elif L==4 // es
|
||||
"No tiene acceso al examen.";
|
||||
#elif L==5 // fr
|
||||
"Vous n'avez pas accès à l'examen.";
|
||||
#elif L==6 // gn
|
||||
"No tiene acceso al examen."; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Non hai accesso all'esame.";
|
||||
#elif L==8 // pl
|
||||
"Nie masz dostępu do egzaminu.";
|
||||
#elif L==9 // pt
|
||||
"Você não tem acesso ao exame.";
|
||||
#endif
|
||||
|
||||
const char *Txt_You_dont_have_permission_to_perform_this_action =
|
||||
#if L==1 // ca
|
||||
"Vostè no té permís"
|
||||
|
|
|
@ -10959,27 +10959,6 @@ const char *Txt_Actions[Act_NUM_ACTIONS] =
|
|||
"" // Potrzebujesz tlumaczenie
|
||||
#elif L==9 // pt
|
||||
"" // Precisa de tradução
|
||||
#endif
|
||||
,
|
||||
[ActEndExaPrn] =
|
||||
#if L==1 // ca
|
||||
"" // Necessita traducció
|
||||
#elif L==2 // de
|
||||
"" // Need Übersetzung
|
||||
#elif L==3 // en
|
||||
"End exam print"
|
||||
#elif L==4 // es
|
||||
"Finalizar impresión de examen"
|
||||
#elif L==5 // fr
|
||||
"" // Besoin de traduction
|
||||
#elif L==6 // gn
|
||||
"" // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"" // Bisogno di traduzione
|
||||
#elif L==8 // pl
|
||||
"" // Potrzebujesz tlumaczenie
|
||||
#elif L==9 // pt
|
||||
"" // Precisa de tradução
|
||||
#endif
|
||||
,
|
||||
[ActSeeGam] =
|
||||
|
|
Loading…
Reference in New Issue