Version19.235.2

This commit is contained in:
acanas 2020-05-17 20:12:37 +02:00
parent b44885a767
commit 7c87e9f456
10 changed files with 149 additions and 122 deletions

View File

@ -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
};

View File

@ -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 **********************************/

View File

@ -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)

View File

@ -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.");
}
/*****************************************************************************/

View File

@ -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;

View File

@ -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);

View File

@ -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);
}

View File

@ -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);

View File

@ -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"

View File

@ -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] =