mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-02 14:55:23 +02:00
Version19.31.37
This commit is contained in:
parent
2194047dbf
commit
e99957efd5
|
@ -487,14 +487,16 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
|
||||||
En OpenSWAD:
|
En OpenSWAD:
|
||||||
ps2pdf source.ps destination.pdf
|
ps2pdf source.ps destination.pdf
|
||||||
*/
|
*/
|
||||||
#define Log_PLATFORM_VERSION "SWAD 19.31.36 (2019-10-10)"
|
#define Log_PLATFORM_VERSION "SWAD 19.31.37 (2019-10-10)"
|
||||||
#define CSS_FILE "swad19.29.css"
|
#define CSS_FILE "swad19.29.css"
|
||||||
#define JS_FILE "swad19.30.js"
|
#define JS_FILE "swad19.30.js"
|
||||||
/*
|
/*
|
||||||
// TODO: Perico: poner un candado de bloqueo de creación/edición de proyectos (por ejemplo en asignaturas obsoletas)
|
// TODO: Perico: poner un candado de bloqueo de creación/edición de proyectos (por ejemplo en asignaturas obsoletas)
|
||||||
// TODO: Un TFG preasignado sin estudiante tiene que salir un triángulo amarillo
|
// TODO: En un TFG preasignado sin estudiante tiene que salir un triángulo amarillo
|
||||||
|
// TODO: En un TFG no preasignado con estudiante tiene que salir un triángulo amarillo
|
||||||
// TODO: Hacer un nuevo rol en los TFG: tutor externo (profesor de áreas no vinculadas con el centro, profesionales de empresas, etc.)
|
// TODO: Hacer un nuevo rol en los TFG: tutor externo (profesor de áreas no vinculadas con el centro, profesionales de empresas, etc.)
|
||||||
|
|
||||||
|
Version 19.31.37: Oct 10, 2019 Code refactoring in HTML tables. (246626 lines)
|
||||||
Version 19.31.36: Oct 10, 2019 Code refactoring in HTML tables. (246620 lines)
|
Version 19.31.36: Oct 10, 2019 Code refactoring in HTML tables. (246620 lines)
|
||||||
Version 19.31.35: Oct 10, 2019 Code refactoring in HTML tables. (246629 lines)
|
Version 19.31.35: Oct 10, 2019 Code refactoring in HTML tables. (246629 lines)
|
||||||
Version 19.31.34: Oct 10, 2019 Code refactoring in HTML tables. (246628 lines)
|
Version 19.31.34: Oct 10, 2019 Code refactoring in HTML tables. (246628 lines)
|
||||||
|
|
34
swad_test.c
34
swad_test.c
|
@ -4345,7 +4345,6 @@ static void Tst_WriteTextAnsAssessTest (struct UsrData *UsrDat,
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
/***** Write the user answer *****/
|
/***** Write the user answer *****/
|
||||||
fprintf (Gbl.F.Out,"<td");
|
|
||||||
if (Gbl.Test.StrAnswersOneQst[NumQst][0]) // If user has answered the question
|
if (Gbl.Test.StrAnswersOneQst[NumQst][0]) // If user has answered the question
|
||||||
{
|
{
|
||||||
/* Filter the user answer */
|
/* Filter the user answer */
|
||||||
|
@ -4374,17 +4373,16 @@ static void Tst_WriteTextAnsAssessTest (struct UsrData *UsrDat,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fprintf (Gbl.F.Out," class=\"%s CENTER_TOP\">"
|
Tbl_StartCellAttr ("class=\"%s CENTER_TOP\"",
|
||||||
"%s",
|
(Gbl.Test.Config.Feedback == Tst_FEEDBACK_EACH_GOOD_BAD ||
|
||||||
(Gbl.Test.Config.Feedback == Tst_FEEDBACK_EACH_GOOD_BAD ||
|
Gbl.Test.Config.Feedback == Tst_FEEDBACK_FULL_FEEDBACK) ?
|
||||||
Gbl.Test.Config.Feedback == Tst_FEEDBACK_FULL_FEEDBACK) ?
|
(Correct ? "ANS_OK" :
|
||||||
(Correct ? "ANS_OK" :
|
"ANS_BAD") :
|
||||||
"ANS_BAD") :
|
"ANS_0");
|
||||||
"ANS_0",
|
fprintf (Gbl.F.Out,"%s",Gbl.Test.StrAnswersOneQst[NumQst]);
|
||||||
Gbl.Test.StrAnswersOneQst[NumQst]);
|
|
||||||
}
|
}
|
||||||
else // If user has omitted the answer
|
else // If user has omitted the answer
|
||||||
fprintf (Gbl.F.Out,">");
|
Tbl_StartCell ();
|
||||||
Tbl_EndCell ();
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/***** Write the correct answers *****/
|
/***** Write the correct answers *****/
|
||||||
|
@ -4641,24 +4639,28 @@ static void Tst_WriteFloatAnsAssessTest (struct UsrData *UsrDat,
|
||||||
Tbl_StartRow ();
|
Tbl_StartRow ();
|
||||||
|
|
||||||
/***** Write the user answer *****/
|
/***** Write the user answer *****/
|
||||||
fprintf (Gbl.F.Out,"<td");
|
|
||||||
if (Gbl.Test.StrAnswersOneQst[NumQst][0]) // If user has answered the question
|
if (Gbl.Test.StrAnswersOneQst[NumQst][0]) // If user has answered the question
|
||||||
{
|
{
|
||||||
FloatAnsUsr = Tst_GetFloatAnsFromStr (Gbl.Test.StrAnswersOneQst[NumQst]);
|
FloatAnsUsr = Tst_GetFloatAnsFromStr (Gbl.Test.StrAnswersOneQst[NumQst]);
|
||||||
if (Gbl.Test.StrAnswersOneQst[NumQst][0]) // It's a correct floating point number
|
if (Gbl.Test.StrAnswersOneQst[NumQst][0]) // It's a correct floating point number
|
||||||
fprintf (Gbl.F.Out," class=\"%s CENTER_MIDDLE\">%lg",
|
{
|
||||||
|
Tbl_StartCellAttr ("class=\"%s CENTER_MIDDLE\"",
|
||||||
(Gbl.Test.Config.Feedback == Tst_FEEDBACK_EACH_GOOD_BAD ||
|
(Gbl.Test.Config.Feedback == Tst_FEEDBACK_EACH_GOOD_BAD ||
|
||||||
Gbl.Test.Config.Feedback == Tst_FEEDBACK_FULL_FEEDBACK) ?
|
Gbl.Test.Config.Feedback == Tst_FEEDBACK_FULL_FEEDBACK) ?
|
||||||
((FloatAnsUsr >= FloatAnsCorr[0] &&
|
((FloatAnsUsr >= FloatAnsCorr[0] &&
|
||||||
FloatAnsUsr <= FloatAnsCorr[1]) ? "ANS_OK" :
|
FloatAnsUsr <= FloatAnsCorr[1]) ? "ANS_OK" :
|
||||||
"ANS_BAD") :
|
"ANS_BAD") :
|
||||||
"ANS_0",
|
"ANS_0");
|
||||||
FloatAnsUsr);
|
fprintf (Gbl.F.Out,"%lg",FloatAnsUsr);
|
||||||
|
}
|
||||||
else // Not a floating point number
|
else // Not a floating point number
|
||||||
fprintf (Gbl.F.Out," class=\"ANS_0 CENTER_MIDDLE\">?");
|
{
|
||||||
|
Tbl_StartCellAttr ("class=\"ANS_0 CENTER_MIDDLE\"");
|
||||||
|
fprintf (Gbl.F.Out,"?");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else // If user has omitted the answer
|
else // If user has omitted the answer
|
||||||
fprintf (Gbl.F.Out,">");
|
Tbl_StartCell ();
|
||||||
Tbl_EndCell ();
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/***** Write the correct answer *****/
|
/***** Write the correct answer *****/
|
||||||
|
|
24
swad_user.c
24
swad_user.c
|
@ -3651,19 +3651,21 @@ void Usr_WriteRowUsrMainData (unsigned NumUsr,struct UsrData *UsrDat,
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** User has accepted enrolment? *****/
|
/***** User has accepted enrolment? *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"");
|
|
||||||
if (UsrIsTheMsgSender)
|
if (UsrIsTheMsgSender)
|
||||||
fprintf (Gbl.F.Out,"BM_SEL");
|
Tbl_StartCellAttr ("class=\"BM_SEL %s\" title=\"%s\"",
|
||||||
|
UsrDat->Accepted ? "USR_LIST_NUM_N" :
|
||||||
|
"USR_LIST_NUM",
|
||||||
|
UsrDat->Accepted ? Txt_Enrolment_confirmed :
|
||||||
|
Txt_Enrolment_not_confirmed);
|
||||||
else
|
else
|
||||||
fprintf (Gbl.F.Out,"BM%u",Gbl.RowEvenOdd);
|
Tbl_StartCellAttr ("class=\"BM%u %s\" title=\"%s\"",
|
||||||
fprintf (Gbl.F.Out," %s\" title=\"%s\">"
|
Gbl.RowEvenOdd,
|
||||||
"%s",
|
UsrDat->Accepted ? "USR_LIST_NUM_N" :
|
||||||
UsrDat->Accepted ? "USR_LIST_NUM_N" :
|
"USR_LIST_NUM",
|
||||||
"USR_LIST_NUM",
|
UsrDat->Accepted ? Txt_Enrolment_confirmed :
|
||||||
UsrDat->Accepted ? Txt_Enrolment_confirmed :
|
Txt_Enrolment_not_confirmed);
|
||||||
Txt_Enrolment_not_confirmed,
|
fprintf (Gbl.F.Out,"%s",UsrDat->Accepted ? "✓" :
|
||||||
UsrDat->Accepted ? "✓" :
|
"✗");
|
||||||
"✗");
|
|
||||||
Tbl_EndCell ();
|
Tbl_EndCell ();
|
||||||
|
|
||||||
/***** Write number of user in the list *****/
|
/***** Write number of user in the list *****/
|
||||||
|
|
Loading…
Reference in New Issue
Block a user