diff --git a/swad_action.c b/swad_action.c index 134e6d2c5..68899d83e 100644 --- a/swad_action.c +++ b/swad_action.c @@ -94,55 +94,7 @@ extern struct Globals Gbl; /************************* Private global variables **************************/ /*****************************************************************************/ /* - Files: - 517. ActSeeAdmDocIns Documents zone of the institution (see or admin) - 518. ActAdmShaIns Admin the shared files zone of the institution - 519. ActSeeAdmDocCtr Documents zone of the centre (see or admin) - 520. ActAdmShaCtr Admin the shared files zone of the centre - 521. ActSeeAdmDocDeg Documents zone of the degree (see or admin) - 522. ActAdmShaDeg Admin the shared files zone of the degree - 523. ActSeeAdmDocCrsGrp Documents zone of the course (see or admin) - 524. ActAdmTchCrsGrp Request the administration of the files of the teachers' zone of the course or of a group - 525. ActAdmShaCrsGrp Request the administration of the files of the shared zone of the course or of a group - 526. ActAdmAsgWrkUsr One user sends works of the course - 527. ActReqAsgWrkCrs A teacher requests edition of works sent to the course - 528. ActSeeAdmMrk Marks zone (see or admin) - 529. ActAdmBrf Show the briefcase of private archives - - 530. ActChgToSeeDocIns Change to see institution documents - - 531. ActSeeDocIns See the files of the documents zone of the institution - 532. ActExpSeeDocIns Expand a folder in institution documents - 533. ActConSeeDocIns Contract a folder in institution documents - 534. ActZIPSeeDocIns Compress a folder in institution documents - 535. ActReqDatSeeDocIns Ask for metadata of a file of the documents zone of the institution - 536. ActDowSeeDocIns Download a file in documents zone of the institution - - 537. ActChgToAdmDocIns Change to administrate institution documents - - 538. ActAdmDocIns Admin the files of the documents zone of the institution - 539. ActReqRemFilDocIns Request removal of a file in the documents zone of the institution - 540. ActRemFilDocIns Remove a file in the documents zone of the institution - 541. ActRemFolDocIns Remove a folder empty the documents zone of the institution - 542. ActCopDocIns Set source of copy in the documents zone of the institution - 543. ActPasDocIns Paste a folder or file in the documents zone of the institution - 544. ActRemTreDocIns Remove a folder no empty in the documents zone of the institution - 545. ActFrmCreDocIns Form to crear a folder or file in the documents zone of the institution - 546. ActCreFolDocIns Create a new folder in the documents zone of the institution - 547. ActCreLnkDocIns Create a new link in the documents zone of the institution - 548. ActRenFolDocIns Rename a folder in the documents zone of the institution - 549. ActRcvFilDocInsDZ Receive a file in the documents zone of the institution using Dropzone.js - 550. ActRcvFilDocInsCla Receive a file in the documents zone of the institution using the classic way - 551. ActExpAdmDocIns Expand a folder when administrating the documents zone of the institution - 552. ActConAdmDocIns Contract a folder when administrating the documents zone of the institution - 553. ActZIPAdmDocIns Compress a folder when administrating the documents zone of the institution - 554. ActShoDocIns Show hidden folder or file of the documents zone of the institution - 555. ActHidDocIns Hide folder or file of the documents zone of the institution - 556. ActReqDatAdmDocIns Ask for metadata of a file of the documents zone of the institution - 557. ActChgDatAdmDocIns Change metadata of a file of the documents zone of the institution - 558. ActDowAdmDocIns Download a file of the documents zone of the institution - 559. ActReqRemFilShaIns Request removal of a shared file of the institution 560. ActRemFilShaIns Remove a shared file of the institution 561. ActRemFolShaIns Remove an empty shared folder of the institution diff --git a/swad_changelog.h b/swad_changelog.h index 73564a44c..62e4a29bf 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -492,14 +492,17 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - * En OpenSWAD: ps2pdf source.ps destination.pdf */ -#define Log_PLATFORM_VERSION "SWAD 19.112.1 (2020-01-03)" +#define Log_PLATFORM_VERSION "SWAD 19.112.3 (2020-01-04)" #define CSS_FILE "swad19.112.css" #define JS_FILE "swad19.91.1.js" /* // TODO: Hacer un nuevo rol en los TFG: tutor externo (profesor de áreas no vinculadas con el centro, profesionales de empresas, etc.) // TODO: Impedir la creación y edición de proyectos si no son editables. // TODO: No se puede entrar con DNI '1' suponiendo que no tenga password ¿por qué? +// TODO: Mapas más estrechos en móvil + Version 19.112.3: Jan 04, 2020 Fixed bug in hierarchy. (278357 lines) + Version 19.112.2: Jan 04, 2020 Changing action descriptions from database to swad-core. Not finished. (278351 lines) Version 19.112.1: Jan 03, 2020 Code refactoring in maps. (278391 lines) Version 19.112: Jan 03, 2020 Map in country information. (278380 lines) Version 19.111.3: Jan 03, 2020 Code refactoring in maps. (278251 lines) diff --git a/swad_hierarchy.c b/swad_hierarchy.c index d23982924..29f7d885e 100644 --- a/swad_hierarchy.c +++ b/swad_hierarchy.c @@ -525,7 +525,8 @@ void Hie_InitHierarchy (void) /***** If course code is available, get course data *****/ if (Gbl.Hierarchy.Crs.CrsCod > 0) { - if (Crs_GetDataOfCourseByCod (&Gbl.Hierarchy.Crs,Crs_GET_BASIC_DATA)) // Course found + if (Crs_GetDataOfCourseByCod (&Gbl.Hierarchy.Crs, // Course found + Crs_GET_EXTRA_DATA)) // Get extra data because they may be needed later Gbl.Hierarchy.Deg.DegCod = Gbl.Hierarchy.Crs.DegCod; else Hie_ResetHierarchy (); @@ -534,7 +535,8 @@ void Hie_InitHierarchy (void) /***** If degree code is available, get degree data *****/ if (Gbl.Hierarchy.Deg.DegCod > 0) { - if (Deg_GetDataOfDegreeByCod (&Gbl.Hierarchy.Deg,Deg_GET_BASIC_DATA)) // Degree found + if (Deg_GetDataOfDegreeByCod (&Gbl.Hierarchy.Deg, // Degree found + Deg_GET_EXTRA_DATA)) // Get extra data because they may be needed later { Gbl.Hierarchy.Ctr.CtrCod = Gbl.Hierarchy.Deg.CtrCod; Gbl.Hierarchy.Ins.InsCod = Deg_GetInsCodOfDegreeByCod (Gbl.Hierarchy.Deg.DegCod); @@ -546,7 +548,8 @@ void Hie_InitHierarchy (void) /***** If centre code is available, get centre data *****/ if (Gbl.Hierarchy.Ctr.CtrCod > 0) { - if (Ctr_GetDataOfCentreByCod (&Gbl.Hierarchy.Ctr,Ctr_GET_BASIC_DATA)) // Centre found + if (Ctr_GetDataOfCentreByCod (&Gbl.Hierarchy.Ctr, // Degree found + Ctr_GET_EXTRA_DATA)) // Get extra data because they may be needed later Gbl.Hierarchy.Ins.InsCod = Gbl.Hierarchy.Ctr.InsCod; else Hie_ResetHierarchy (); @@ -555,7 +558,8 @@ void Hie_InitHierarchy (void) /***** If institution code is available, get institution data *****/ if (Gbl.Hierarchy.Ins.InsCod > 0) { - if (Ins_GetDataOfInstitutionByCod (&Gbl.Hierarchy.Ins,Ins_GET_BASIC_DATA)) // Institution found + if (Ins_GetDataOfInstitutionByCod (&Gbl.Hierarchy.Ins, // Institution found + Ins_GET_EXTRA_DATA)) // Get extra data because they may be needed later Gbl.Hierarchy.Cty.CtyCod = Gbl.Hierarchy.Ins.CtyCod; else Hie_ResetHierarchy (); diff --git a/swad_mark.c b/swad_mark.c index f07c46c07..dea75e3b9 100644 --- a/swad_mark.c +++ b/swad_mark.c @@ -613,7 +613,7 @@ void Mrk_ShowMyMarks (void) /* Select a random student from the course */ if (Gbl.Crs.Grps.GrpCod > 0) // Group zone { - if (Grp_CountNumUsrsInGrp (Rol_STD,Gbl.Crs.Grps.GrpCod)) + if (Grp_CountNumUsrsInGrp (Rol_STD,Gbl.Crs.Grps.GrpCod)) // If there are students in this group { Gbl.Usrs.Other.UsrDat.UsrCod = Usr_GetRamdomStdFromGrp (Gbl.Crs.Grps.GrpCod); UsrDat = &Gbl.Usrs.Other.UsrDat; @@ -623,7 +623,8 @@ void Mrk_ShowMyMarks (void) } else // Course zone { - if (Gbl.Hierarchy.Crs.NumUsrs[Rol_STD]) // If there are students in this course + // if (Usr_GetNumUsrsInCrs (Rol_STD,Gbl.Hierarchy.Crs.CrsCod)) // If there are students in this course + if (Gbl.Hierarchy.Crs.NumUsrs[Rol_STD]) { Gbl.Usrs.Other.UsrDat.UsrCod = Usr_GetRamdomStdFromCrs (Gbl.Hierarchy.Crs.CrsCod); UsrDat = &Gbl.Usrs.Other.UsrDat; diff --git a/swad_text_action.c b/swad_text_action.c index 995558478..57bc7bef3 100644 --- a/swad_text_action.c +++ b/swad_text_action.c @@ -10904,7 +10904,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Documents zone of the institution (see or admin)" #elif L==4 // es "" #elif L==5 // fr @@ -10925,7 +10925,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Admin the shared files zone of the institution" #elif L==4 // es "" #elif L==5 // fr @@ -10946,7 +10946,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Documents zone of the centre (see or admin)" #elif L==4 // es "" #elif L==5 // fr @@ -10967,7 +10967,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Admin the shared files zone of the centre" #elif L==4 // es "" #elif L==5 // fr @@ -10988,7 +10988,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Documents zone of the degree (see or admin)" #elif L==4 // es "" #elif L==5 // fr @@ -11009,7 +11009,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Admin the shared files zone of the degree" #elif L==4 // es "" #elif L==5 // fr @@ -11030,7 +11030,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Documents zone of the course (see or admin)" #elif L==4 // es "" #elif L==5 // fr @@ -11051,7 +11051,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Request the administration of the files of the teachers' zone of the course or of a group" #elif L==4 // es "" #elif L==5 // fr @@ -11072,7 +11072,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Request the administration of the files of the shared zone of the course or of a group" #elif L==4 // es "" #elif L==5 // fr @@ -11093,7 +11093,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "One user sends works of the course" #elif L==4 // es "" #elif L==5 // fr @@ -11114,7 +11114,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "A teacher requests edition of works sent to the course" #elif L==4 // es "" #elif L==5 // fr @@ -11135,7 +11135,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Marks zone (see or admin)" #elif L==4 // es "" #elif L==5 // fr @@ -11156,7 +11156,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Show the briefcase of private archives" #elif L==4 // es "" #elif L==5 // fr @@ -11177,7 +11177,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Change to see institution documents" #elif L==4 // es "" #elif L==5 // fr @@ -11198,7 +11198,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "See the files of the documents zone of the institution" #elif L==4 // es "" #elif L==5 // fr @@ -11219,7 +11219,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Expand a folder in institution documents" #elif L==4 // es "" #elif L==5 // fr @@ -11240,7 +11240,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Contract a folder in institution documents" #elif L==4 // es "" #elif L==5 // fr @@ -11261,7 +11261,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Compress a folder in institution documents" #elif L==4 // es "" #elif L==5 // fr @@ -11282,7 +11282,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Ask for metadata of a file of the documents zone of the institution" #elif L==4 // es "" #elif L==5 // fr @@ -11303,7 +11303,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Download a file in documents zone of the institution" #elif L==4 // es "" #elif L==5 // fr @@ -11324,7 +11324,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Change to administrate institution documents" #elif L==4 // es "" #elif L==5 // fr @@ -11345,7 +11345,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Admin the files of the documents zone of the institution" #elif L==4 // es "" #elif L==5 // fr @@ -11366,7 +11366,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Request removal of a file in the documents zone of the institution" #elif L==4 // es "" #elif L==5 // fr @@ -11387,7 +11387,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Remove a file in the documents zone of the institution" #elif L==4 // es "" #elif L==5 // fr @@ -11408,7 +11408,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Remove a folder empty the documents zone of the institution" #elif L==4 // es "" #elif L==5 // fr @@ -11429,7 +11429,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Set source of copy in the documents zone of the institution" #elif L==4 // es "" #elif L==5 // fr @@ -11450,7 +11450,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Paste a folder or file in the documents zone of the institution" #elif L==4 // es "" #elif L==5 // fr @@ -11471,7 +11471,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Remove a folder no empty in the documents zone of the institution" #elif L==4 // es "" #elif L==5 // fr @@ -11492,7 +11492,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Form to crear a folder or file in the documents zone of the institution" #elif L==4 // es "" #elif L==5 // fr @@ -11513,7 +11513,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Create a new folder in the documents zone of the institution" #elif L==4 // es "" #elif L==5 // fr @@ -11534,7 +11534,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Create a new link in the documents zone of the institution" #elif L==4 // es "" #elif L==5 // fr @@ -11555,7 +11555,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Rename a folder in the documents zone of the institution" #elif L==4 // es "" #elif L==5 // fr @@ -11576,7 +11576,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Receive a file in the documents zone of the institution using Dropzone.js" #elif L==4 // es "" #elif L==5 // fr @@ -11597,7 +11597,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Receive a file in the documents zone of the institution using the classic way" #elif L==4 // es "" #elif L==5 // fr @@ -11618,7 +11618,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Expand a folder when administrating the documents zone of the institution" #elif L==4 // es "" #elif L==5 // fr @@ -11639,7 +11639,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Contract a folder when administrating the documents zone of the institution" #elif L==4 // es "" #elif L==5 // fr @@ -11660,7 +11660,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Compress a folder when administrating the documents zone of the institution" #elif L==4 // es "" #elif L==5 // fr @@ -11681,7 +11681,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Show hidden folder or file of the documents zone of the institution" #elif L==4 // es "" #elif L==5 // fr @@ -11702,7 +11702,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Hide folder or file of the documents zone of the institution" #elif L==4 // es "" #elif L==5 // fr @@ -11723,7 +11723,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Ask for metadata of a file of the documents zone of the institution" #elif L==4 // es "" #elif L==5 // fr @@ -11744,7 +11744,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Change metadata of a file of the documents zone of the institution" #elif L==4 // es "" #elif L==5 // fr @@ -11765,7 +11765,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = #elif L==2 // de "" // Need Übersetzung #elif L==3 // en - "" + "Download a file of the documents zone of the institution" #elif L==4 // es "" #elif L==5 // fr