diff --git a/icon/iconset/nuvola/house-user.svg b/icon/iconset/nuvola/house-user.svg
index 40af0666..8af6c886 100644
--- a/icon/iconset/nuvola/house-user.svg
+++ b/icon/iconset/nuvola/house-user.svg
@@ -1,183 +1,146 @@
-
+
\ No newline at end of file
diff --git a/icon/iconset/nuvola/tasks.png b/icon/iconset/nuvola/tasks.png
index 6b78c916..f6ebb75b 100644
Binary files a/icon/iconset/nuvola/tasks.png and b/icon/iconset/nuvola/tasks.png differ
diff --git a/swad_changelog.h b/swad_changelog.h
index 794d65d2..d6a395b7 100644
--- a/swad_changelog.h
+++ b/swad_changelog.h
@@ -548,13 +548,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.232 (2020-05-16)"
+#define Log_PLATFORM_VERSION "SWAD 19.232.1 (2020-05-16)"
#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.232.1: May 16, 2020 Changes in contextual icons in bank of questions and test. (301004 lines)
Version 19.232: May 16, 2020 New option to edit questions separated from tests. (301000 lines)
Version 19.231: May 16, 2020 Fixed bugs and code refactoring in exam results. (300956 lines)
Version 19.230.3: May 15, 2020 Update maths in exam prints when user answers. (301037 lines)
diff --git a/swad_test.c b/swad_test.c
index 75049914..5d52a437 100644
--- a/swad_test.c
+++ b/swad_test.c
@@ -154,7 +154,8 @@ static void Tst_ShowFormRequestSelectTestsForSet (struct Exa_Exams *Exams,
static void Tst_ShowFormRequestSelectTestsForGame (struct Gam_Games *Games,
struct Tst_Test *Test);
static bool Tst_CheckIfICanEditTests (void);
-static void Tst_PutIconsTests (void *Test);
+static void Tst_PutIconsBankQsts (void *Test);
+static void Tst_PutIconsTests (__attribute__((unused)) void *Args);
static void Tst_PutButtonToAddQuestion (void);
static long Tst_GetParamTagCode (void);
@@ -359,7 +360,7 @@ static void Tst_FreeTagsList (struct Tst_Tags *Tags)
static void Tst_ShowFormRequestTest (struct Tst_Test *Test)
{
extern const char *Hlp_ASSESSMENT_Tests;
- extern const char *Txt_Take_a_test;
+ extern const char *Txt_Test;
extern const char *Txt_Number_of_questions;
extern const char *Txt_Generate_test;
extern const char *Txt_No_test_questions;
@@ -369,8 +370,8 @@ static void Tst_ShowFormRequestTest (struct Tst_Test *Test)
TstCfg_GetConfigFromDB ();
/***** Begin box *****/
- Box_BoxBegin (NULL,Txt_Take_a_test,
- Tst_PutIconsTests,Test,
+ Box_BoxBegin (NULL,Txt_Test,
+ Tst_PutIconsTests,NULL,
Hlp_ASSESSMENT_Tests,Box_NOT_CLOSABLE);
/***** Get tags *****/
@@ -1213,7 +1214,7 @@ static void Tst_ShowFormRequestEditTests (struct Tst_Test *Test)
{
extern const char *Hlp_ASSESSMENT_Tests_editing_questions;
extern const char *Txt_No_test_questions;
- extern const char *Txt_List_edit_questions;
+ extern const char *Txt_Question_bank;
extern const char *Txt_Show_questions;
MYSQL_RES *mysql_res;
static const Dat_SetHMS SetHMS[Dat_NUM_START_END_TIME] =
@@ -1228,8 +1229,8 @@ static void Tst_ShowFormRequestEditTests (struct Tst_Test *Test)
Mnu_ContextMenuEnd ();
/***** Begin box *****/
- Box_BoxBegin (NULL,Txt_List_edit_questions,
- Tst_PutIconsTests,Test,
+ Box_BoxBegin (NULL,Txt_Question_bank,
+ Tst_PutIconsBankQsts,Test,
Hlp_ASSESSMENT_Tests_editing_questions,Box_NOT_CLOSABLE);
/***** Get tags already present in the table of questions *****/
@@ -1442,43 +1443,48 @@ static bool Tst_CheckIfICanEditTests (void)
/********************* Put contextual icons in tests *************************/
/*****************************************************************************/
-static void Tst_PutIconsTests (void *Test)
+static void Tst_PutIconsBankQsts (void *Test)
{
extern const char *Txt_New_question;
- if (Tst_CheckIfICanEditTests ())
+ /***** Put form to remove selected test questions *****/
+ switch (Gbl.Action.Act)
{
- switch (Gbl.Action.Act)
- {
- case ActLstTstQst: // List selected test questions for edition
- case ActReqRemSevTstQst: // Request removal of selected questions
- case ActReqRemOneTstQst: // Request removal of a question
- case ActRemOneTstQst: // Remove a question
- case ActChgShfTstQst: // Change shuffle of a question
- /***** Put form to remove selected test questions *****/
- Ico_PutContextualIconToRemove (ActReqRemSevTstQst,
- Tst_PutParamsRemoveSelectedQsts,Test);
- break;
- default:
- break;
- }
-
- if (Gbl.Action.Act != ActEdiTstQst)
- /***** Put form to edit existing test questions *****/
- Ico_PutContextualIconToEdit (ActEdiTstQst,NULL,
- NULL,NULL);
-
- if (Gbl.Action.Act != ActEdiOneTstQst)
- /***** Put form to create a new test question *****/
- Ico_PutContextualIconToAdd (ActEdiOneTstQst,NULL,
- NULL,NULL,
- Txt_New_question);
-
- /***** Put form to go to test configuration *****/
- Ico_PutContextualIconToConfigure (ActCfgTst,
- NULL,NULL);
+ case ActLstTstQst: // List selected test questions for edition
+ case ActReqRemSevTstQst: // Request removal of selected questions
+ case ActReqRemOneTstQst: // Request removal of a question
+ case ActRemOneTstQst: // Remove a question
+ case ActChgShfTstQst: // Change shuffle of a question
+ Ico_PutContextualIconToRemove (ActReqRemSevTstQst,
+ Tst_PutParamsRemoveSelectedQsts,Test);
+ break;
+ default:
+ break;
}
+ if (Gbl.Action.Act != ActEdiOneTstQst)
+ /***** Put form to create a new test question *****/
+ Ico_PutContextualIconToAdd (ActEdiOneTstQst,NULL,
+ NULL,NULL,
+ Txt_New_question);
+
+ /***** Put icon to show a figure *****/
+ Fig_PutIconToShowFigure (Fig_TESTS);
+ }
+
+
+/*****************************************************************************/
+/********************* Put contextual icons in tests *************************/
+/*****************************************************************************/
+
+static void Tst_PutIconsTests (__attribute__((unused)) void *Args)
+ {
+ extern const char *Txt_New_question;
+
+ /***** Put form to go to test configuration *****/
+ Ico_PutContextualIconToConfigure (ActCfgTst,
+ NULL,NULL);
+
/***** Put icon to view test exams *****/
switch (Gbl.Usrs.Me.Role.Logged)
{
@@ -2032,7 +2038,7 @@ static void Tst_ShowFormConfigTst (void)
/***** Begin box *****/
Box_BoxBegin (NULL,Txt_Configure_tests,
- Tst_PutIconsTests,&Test,
+ Tst_PutIconsTests,NULL,
Hlp_ASSESSMENT_Tests_configuring_tests,Box_NOT_CLOSABLE);
/***** Begin form *****/
@@ -2758,7 +2764,7 @@ static void Tst_ListOneQstToEdit (struct Tst_Test *Test)
/***** Begin box *****/
Box_BoxBegin (NULL,Txt_Questions,
- Tst_PutIconsTests,Test,
+ Tst_PutIconsBankQsts,Test,
Hlp_ASSESSMENT_Tests,Box_NOT_CLOSABLE);
/***** Write the heading *****/
@@ -2792,7 +2798,7 @@ static void Tst_ListOneOrMoreQuestionsForEdition (struct Tst_Test *Test,
/***** Begin box *****/
Box_BoxBegin (NULL,Txt_Questions,
- Tst_PutIconsTests,Test,
+ Tst_PutIconsBankQsts,Test,
Hlp_ASSESSMENT_Tests,Box_NOT_CLOSABLE);
/***** Write the heading *****/
diff --git a/swad_text.c b/swad_text.c
index 7fdac07b..b709eff5 100644
--- a/swad_text.c
+++ b/swad_text.c
@@ -18226,27 +18226,6 @@ const char *Txt_Link_to_announcement_of_exam =
"Link para chamada para exame";
#endif
-const char *Txt_List_edit_questions =
-#if L==1 // ca
- "Llistar / editar preguntes";
-#elif L==2 // de
- "Liste / bearbeiten Fragen";
-#elif L==3 // en
- "List / edit questions";
-#elif L==4 // es
- "Listar / editar preguntas";
-#elif L==5 // fr
- "Lister / modifier questions";
-#elif L==6 // gn
- "Listar / editar preguntas"; // Okoteve traducción
-#elif L==7 // it
- "Elencare / modificare domande";
-#elif L==8 // pl
- "Wyświetlić / edytować pytania";
-#elif L==9 // pt
- "Listar / editar perguntas";
-#endif
-
const char *Txt_List_of_detailed_clicks =
#if L==1 // ca
"Listado de clics detallados"; // Necessita traduccio
@@ -22038,7 +22017,28 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Testes"
#endif
,
- // 6: ActSeeAllGam
+ // 6: ActSeeAllExa
+#if L==1 // ca
+ "Exàmens"
+#elif L==2 // de
+ "Prüfungen"
+#elif L==3 // en
+ "Exams"
+#elif L==4 // es
+ "Exámenes"
+#elif L==5 // fr
+ "Examens"
+#elif L==6 // gn
+ "Exámenes" // Okoteve traducción
+#elif L==7 // it
+ "Esami"
+#elif L==8 // pl
+ "Egzaminy"
+#elif L==9 // pt
+ "Exames"
+#endif
+ ,
+ // 7: ActSeeAllGam
#if L==1 // ca
"Jocs (comandament a distància)"
#elif L==2 // de
@@ -22059,7 +22059,7 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Jogos (controlo remoto)"
#endif
,
- // 7: ActSeeAllSvy
+ // 8: ActSeeAllSvy
#if L==1 // ca
"Enquestes anònimes"
#elif L==2 // de
@@ -22080,7 +22080,6 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Inquéritos"
#endif
,
- NULL, // 8
NULL, // 9
NULL, // 10
NULL, // 11
@@ -32633,6 +32632,27 @@ const char *Txt_Question =
"Pergunta";
#endif
+const char *Txt_Question_bank =
+#if L==1 // ca
+ "Banc de preguntes";
+#elif L==2 // de
+ "Fragenbank";
+#elif L==3 // en
+ "Question bank";
+#elif L==4 // es
+ "Banco de preguntas";
+#elif L==5 // fr
+ "Banque de questions";
+#elif L==6 // gn
+ "Banco de preguntas"; // Okoteve traducción
+#elif L==7 // it
+ "Banca di domande";
+#elif L==8 // pl
+ "Bank pytań";
+#elif L==9 // pt
+ "Banco de perguntas";
+#endif
+
const char *Txt_Question_code_X = // Warning: it is very important to include %ld in the following sentences
#if L==1 // ca
"Pregunta amb codi %ld";
@@ -45467,27 +45487,6 @@ const char *Txt_Tags = // Tags used in test
"Descritores";
#endif
-const char *Txt_Take_a_test =
-#if L==1 // ca
- "Fer un test";
-#elif L==2 // de
- "Führen Sie einen Test";
-#elif L==3 // en
- "Take a test";
-#elif L==4 // es
- "Hacer un test";
-#elif L==5 // fr
- "Passer un test";
-#elif L==6 // gn
- "Hacer un test"; // Okoteve traducción
-#elif L==7 // it
- "Fare un test";
-#elif L==8 // pl
- "Zrób test";
-#elif L==9 // pt
- "Fazer um teste";
-#endif
-
const char *Txt_teachers_ABBREVIATION = // Abbreviation of "Teachers"
#if L==1 // ca
"prof.";