diff --git a/swad_changelog.h b/swad_changelog.h index 00df5ec2a..abca0c2bd 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -233,13 +233,14 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 16.218 (2017-05-19)" +#define Log_PLATFORM_VERSION "SWAD 16.219 (2017-05-19)" #define CSS_FILE "swad16.209.3.css" #define JS_FILE "swad16.206.3.js" // Number of lines (includes comments but not blank lines) has been got with the following command: // nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*?.h sql/swad*.sql | tail -1 /* + Version 16.219: May 19, 2017 New role: non-editing teacher. Not finished. (219226 lines) Version 16.218: May 19, 2017 Changes in permissions of actions. (218888 lines) Version 16.217: May 18, 2017 Role user is the default when no course is selected. (218887 lines) Version 16.216: May 18, 2017 Role visitor is renamed as role user. (218867 lines) diff --git a/swad_enrolment.c b/swad_enrolment.c index 126d19590..54f057c07 100644 --- a/swad_enrolment.c +++ b/swad_enrolment.c @@ -48,6 +48,20 @@ /***************************** Private constants *****************************/ /*****************************************************************************/ +static const bool Enr_ICanAdminOtherUsrs[Rol_NUM_ROLES] = + { + false, // Rol_UNK + false, // Rol_GST + false, // Rol_USR + false, // Rol_STD + false, // Rol_NED_TCH + true, // Rol_TCH + true, // Rol_DEG_ADM + true, // Rol_CTR_ADM + true, // Rol_INS_ADM + true, // Rol_SYS_ADM + }; + /*****************************************************************************/ /****************************** Internal types *******************************/ /*****************************************************************************/ @@ -110,7 +124,6 @@ static void Enr_RemoveEnrolmentRequest (long CrsCod,long UsrCod); static void Enr_RemoveExpiredEnrolmentRequests (void); static void Enr_ReqRegRemUsr (Rol_Role_t Role); -static bool Enr_ICanAdminOtherUsrs (void); static void Enr_ReqAnotherUsrIDToRegisterRemove (Rol_Role_t Role); static void Enr_AskIfRegRemMe (Rol_Role_t Role); static void Enr_AskIfRegRemAnotherUsr (Rol_Role_t Role); @@ -2891,8 +2904,8 @@ void Enr_PutLinkToAdminOneUsr (Act_Action_t NextAction) { extern const char *Txt_Administer_me; extern const char *Txt_Administer_one_user; - const char *TitleText = Enr_ICanAdminOtherUsrs () ? Txt_Administer_one_user : - Txt_Administer_me; + const char *TitleText = Enr_ICanAdminOtherUsrs[Gbl.Usrs.Me.LoggedRole] ? Txt_Administer_one_user : + Txt_Administer_me; Lay_PutContextualLink (NextAction,NULL,NULL, "config64x64.gif", @@ -2940,38 +2953,12 @@ void Enr_ReqRegRemTch (void) static void Enr_ReqRegRemUsr (Rol_Role_t Role) { - if (Enr_ICanAdminOtherUsrs ()) + if (Enr_ICanAdminOtherUsrs[Gbl.Usrs.Me.LoggedRole]) Enr_ReqAnotherUsrIDToRegisterRemove (Role); else Enr_AskIfRegRemMe (Role); } -/*****************************************************************************/ -/*********** Check If I can admin other users (distinct to me) ***************/ -/*****************************************************************************/ - -static bool Enr_ICanAdminOtherUsrs (void) - { - switch (Gbl.Usrs.Me.LoggedRole) - { - case Rol_UNK: - case Rol_GST: - case Rol_USR: - case Rol_STD: - return false; - case Rol_TCH: - // A teacher can be logged as teacher outside of his/her courses - // TODO: Teachers/students should be teachers/students only inside their courses - return (Gbl.CurrentCrs.Crs.CrsCod > 0); - case Rol_DEG_ADM: - case Rol_CTR_ADM: - case Rol_INS_ADM: - case Rol_SYS_ADM: - return true; - } - return false; - } - /*****************************************************************************/ /****** Write a form to request another user's ID, @nickname or email ********/ /*****************************************************************************/ diff --git a/swad_file_browser.c b/swad_file_browser.c index c08a4903e..e9f6e3ae5 100644 --- a/swad_file_browser.c +++ b/swad_file_browser.c @@ -1115,6 +1115,7 @@ const unsigned long long Brw_MAX_QUOTA_BRIEF[Rol_NUM_ROLES] = // MaxRole is used 0, // Rol_GST 0, // Rol_USR 32ULL*Brw_GiB, // Rol_STD + 32ULL*Brw_GiB, // Rol_NED_TCH 64ULL*Brw_GiB, // Rol_TCH 0, // Rol_DEG_ADM 0, // Rol_CTR_ADM diff --git a/swad_record.c b/swad_record.c index 513be5fca..148bdbd7f 100644 --- a/swad_record.c +++ b/swad_record.c @@ -2210,6 +2210,7 @@ void Rec_ShowSharedUsrRecord (Rec_SharedRecordViewType_t TypeOfView, Hlp_USERS_Guests, // Rol_GST NULL, // Rol_USR Hlp_USERS_Students_shared_record_card, // Rol_STD + Hlp_USERS_Teachers_shared_record_card, // Rol_NED_TCH Hlp_USERS_Teachers_shared_record_card, // Rol_TCH NULL, // Rol_DEG_ADM NULL, // Rol_CTR_ADM diff --git a/swad_role_type.h b/swad_role_type.h index 0894a45f7..dbbfd19d1 100644 --- a/swad_role_type.h +++ b/swad_role_type.h @@ -40,20 +40,21 @@ as user permanent roles in courses, but a user may be logged temporarily as other roles */ -#define Rol_NUM_ROLES 9 +#define Rol_NUM_ROLES 10 typedef enum { Rol_UNK = 0, // User not logged in Rol_GST = 1, // User not belonging to any course - Rol_USR = 2, // Student or teacher in some courses... + Rol_USR = 2, // Student, non-editing teacher or teacher in some courses... // ...but no course selected // ...or not belonging to the current course Rol_STD = 3, // Student in the current course - Rol_TCH = 4, // Teacher in the current course - Rol_DEG_ADM = 5, // Degree administrator - Rol_CTR_ADM = 6, // Centre administrator - Rol_INS_ADM = 7, // Institution administrator - Rol_SYS_ADM = 8, // System administrator (superuser) + Rol_NED_TCH = 4, // Non-editing teacher in the current course + Rol_TCH = 5, // Old 4 // Teacher in the current course + Rol_DEG_ADM = 6, // Old 5 // Degree administrator + Rol_CTR_ADM = 7, // Old 6 // Centre administrator + Rol_INS_ADM = 8, // Old 7 // Institution administrator + Rol_SYS_ADM = 9, // Old 8 // System administrator (superuser) } Rol_Role_t; #endif diff --git a/swad_search.c b/swad_search.c index 0c659a713..317404930 100644 --- a/swad_search.c +++ b/swad_search.c @@ -216,20 +216,20 @@ static void Sch_PutFormToSearchWithWhatToSearchAndScope (Act_Action_t Action,Sco extern const char *Txt_Search; const char *Titles[Sch_NUM_WHAT_TO_SEARCH] = { - "", // Sch_SEARCH_UNKNOWN - Txt_all, // Sch_SEARCH_ALL - Txt_countries, // Sch_SEARCH_COUNTRIES - Txt_institutions, // Sch_SEARCH_INSTITS - Txt_centres, // Sch_SEARCH_CENTRES - Txt_degrees, // Sch_SEARCH_DEGREES - Txt_courses, // Sch_SEARCH_COURSES - Txt_users[Usr_SEX_UNKNOWN], // Sch_SEARCH_USERS + "", // Sch_SEARCH_UNKNOWN + Txt_all, // Sch_SEARCH_ALL + Txt_countries, // Sch_SEARCH_COUNTRIES + Txt_institutions, // Sch_SEARCH_INSTITS + Txt_centres, // Sch_SEARCH_CENTRES + Txt_degrees, // Sch_SEARCH_DEGREES + Txt_courses, // Sch_SEARCH_COURSES + Txt_users[Usr_SEX_UNKNOWN], // Sch_SEARCH_USERS Txt_ROLES_PLURAL_abc[Rol_TCH][Usr_SEX_UNKNOWN], // Sch_SEARCH_TEACHERS Txt_ROLES_PLURAL_abc[Rol_STD][Usr_SEX_UNKNOWN], // Sch_SEARCH_STUDENTS Txt_ROLES_PLURAL_abc[Rol_GST][Usr_SEX_UNKNOWN], // Sch_SEARCH_GUESTS - Txt_open_documents, // Sch_SEARCH_OPEN_DOCUMENTS - Txt_documents_in_my_courses, // Sch_SEARCH_DOCUM_IN_MY_COURSES - Txt_my_documents, // Sch_SEARCH_MY_DOCUMENTS + Txt_open_documents, // Sch_SEARCH_OPEN_DOCUMENTS + Txt_documents_in_my_courses, // Sch_SEARCH_DOCUM_IN_MY_COURSES + Txt_my_documents, // Sch_SEARCH_MY_DOCUMENTS }; Sch_WhatToSearch_t WhatToSearch; diff --git a/swad_survey.c b/swad_survey.c index 845f19ef3..3c198465d 100644 --- a/swad_survey.c +++ b/swad_survey.c @@ -1026,6 +1026,7 @@ static void Svy_SetAllowedAndHiddenScopes (unsigned *ScopesAllowed, } } break; + case Rol_NED_TCH: // Non-editing teacher in current course ************** case Rol_TCH: // Teacher in current course ************************** *ScopesAllowed = 1 << Sco_SCOPE_SYS; *HiddenAllowed = 0; @@ -1044,7 +1045,7 @@ static void Svy_SetAllowedAndHiddenScopes (unsigned *ScopesAllowed, if (Usr_CheckIfIBelongToCurrentCrs ()) { *ScopesAllowed |= 1 << Sco_SCOPE_CRS; - *HiddenAllowed |= 1 << Sco_SCOPE_CRS; // A teacher can view hidden course surveys + *HiddenAllowed |= 1 << Sco_SCOPE_CRS; // A non-editing teacher or teacher can view hidden course surveys } } } diff --git a/swad_text.c b/swad_text.c index c5cf5fa84..e2b7b0bf9 100644 --- a/swad_text.c +++ b/swad_text.c @@ -25494,7 +25494,7 @@ const char *Txt_No_user_to_whom_you_can_follow_Try_again_later = const char *Txt_No_users_found[Rol_NUM_ROLES] = { #if L==1 // Rol_UNK - "No hay usuarios." // Necessita traduccio + "No hi ha usuaris." #elif L==2 "Keine Benutzer gefunden." #elif L==3 @@ -25534,7 +25534,7 @@ const char *Txt_No_users_found[Rol_NUM_ROLES] = #endif , #if L==1 // Rol_USR - "No hay usuarios." // Necessita traduccio + "No hi ha usuaris." #elif L==2 "Keine Benutzer gefunden." #elif L==3 @@ -25548,13 +25548,13 @@ const char *Txt_No_users_found[Rol_NUM_ROLES] = #elif L==7 "Nessun utente trovato." #elif L==8 - "No users found." // Potrzebujesz tlumaczenie + "Nie znaleziono uzytkowników." #elif L==9 "Nenhum utilizador encontrado." #endif , #if L==1 // Rol_STD - "No hay estudiantes." // Necessita traduccio + "No hi ha estudiants." #elif L==2 "Keine Studenten gefunden." #elif L==3 @@ -25568,13 +25568,33 @@ const char *Txt_No_users_found[Rol_NUM_ROLES] = #elif L==7 "Non ci sono studenti." #elif L==8 - "No students found." // Potrzebujesz tlumaczenie + "Nie znaleziono uczniów." #elif L==9 "Nenhum estudante encontrado." #endif , +#if L==1 // Rol_NED_TCH + "No hi ha professors." +#elif L==2 + "Keine Lehrkräften gefunden." +#elif L==3 + "No teachers found." +#elif L==4 + "No hay profesores." +#elif L==5 + "Aucun enseignant trouvé." +#elif L==6 + "No hay profesores." // Okoteve traducción +#elif L==7 + "Non ci sono professori." +#elif L==8 + "Nie znaleziono nauczycieli." +#elif L==9 + "Nenhum professor encontrado." +#endif + , #if L==1 // Rol_TCH - "No hay profesores." // Necessita traduccio + "No hi ha professors." #elif L==2 "Keine Lehrkräften gefunden." #elif L==3 @@ -25594,7 +25614,7 @@ const char *Txt_No_users_found[Rol_NUM_ROLES] = #endif , #if L==1 // Rol_DEG_ADM - "No hay administradores." // Necessita traduccio + "No hi ha administradors." #elif L==2 "Keine Administratoren gefunden." #elif L==3 @@ -25614,7 +25634,7 @@ const char *Txt_No_users_found[Rol_NUM_ROLES] = #endif , #if L==1 // Rol_CTR_ADM - "No hay administradores." // Necessita traduccio + "No hi ha administradors." #elif L==2 "Keine Administratoren gefunden." #elif L==3 @@ -25634,7 +25654,7 @@ const char *Txt_No_users_found[Rol_NUM_ROLES] = #endif , #if L==1 // Rol_INS_ADM - "No hay administradores." // Necessita traduccio + "No hi ha administradors." #elif L==2 "Keine Administratoren gefunden." #elif L==3 @@ -25654,7 +25674,7 @@ const char *Txt_No_users_found[Rol_NUM_ROLES] = #endif , #if L==1 // Rol_SYS_ADM - "No hay superusuarios." // Necessita traduccio + "No hi ha superusuaris." #elif L==2 "Keine Superuser gefunden." #elif L==3 @@ -32020,7 +32040,7 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = { { #if L==1 // Rol_UNK - Usr_SEX_UNKNOWN - "Desconocido/a" // Necessita traduccio + "Desconegut/da" #elif L==2 "Unbekannter/e" #elif L==3 @@ -32040,7 +32060,7 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif , #if L==1 // Rol_UNK - Usr_SEX_FEMALE - "Desconocida" // Necessita traduccio + "Desconeguda" #elif L==2 "Unbekannte" #elif L==3 @@ -32060,7 +32080,7 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif , #if L==1 // Rol_UNK - Usr_SEX_MALE - "Desconocido" // Necessita traduccio + "Desconegut" #elif L==2 "Unbekannter" #elif L==3 @@ -32080,7 +32100,7 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif , #if L==1 // Rol_UNK - Usr_SEX_ALL - "Desconocido/a" // Necessita traduccio + "Desconegut/da" #elif L==2 "Unbekannter/e" #elif L==3 @@ -32101,7 +32121,7 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = }, { #if L==1 // Rol_GST - Usr_SEX_UNKNOWN - "Invitado/a" // Necessita traduccio + "Convidat/da" #elif L==2 "Gast" #elif L==3 @@ -32121,7 +32141,7 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif , #if L==1 // Rol_GST - Usr_SEX_FEMALE - "Invitada" // Necessita traduccio + "Convidada" #elif L==2 "Gast" #elif L==3 @@ -32141,7 +32161,7 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif , #if L==1 // Rol_GST - Usr_SEX_MALE - "Invitado" // Necessita traduccio + "Convidat" #elif L==2 "Gast" #elif L==3 @@ -32161,7 +32181,7 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif , #if L==1 // Rol_GST - Usr_SEX_ALL - "Invitado/a" // Necessita traduccio + "Convidat/da" #elif L==2 "Gast" #elif L==3 @@ -32343,6 +32363,87 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif }, { +#if L==1 // Rol_NED_TCH - Usr_SEX_UNKNOWN + "Professor/a no editor/a" +#elif L==2 + "Nicht bearbeiteter Lehrkraft" +#elif L==3 + "Non-editing teacher" +#elif L==4 + "Profesor/a no editor/a" +#elif L==5 + "Enseignant/e non-éditeur/trice" +#elif L==6 + "Mbo'ehára no editor/a" // Okoteve traducción +#elif L==7 + "Professore/ssa non-editing" +#elif L==8 + "Nauczyciel nie edytujący" +#elif L==9 + "Professor/a não editor/a" +#endif + , +#if L==1 // Rol_NED_TCH - Usr_SEX_FEMALE + "Professora no editora" +#elif L==2 + "Nicht bearbeiteter Lehrkraft" +#elif L==3 + "Non-editing teacher" +#elif L==4 + "Profesora no editora" +#elif L==5 + "Enseignante non-éditrice" +#elif L==6 + "Mbo'ehára no editora" // Okoteve traducción +#elif L==7 + "Professoressa non-editing" +#elif L==8 + "Nauczycielka nie edytujący" +#elif L==9 + "Professora não editora" +#endif + , +#if L==1 // Rol_NED_TCH - Usr_SEX_MALE + "Professor no editor" +#elif L==2 + "Nicht bearbeiteter Lehrkraft" +#elif L==3 + "Non-editing teacher" +#elif L==4 + "Profesor no editor" +#elif L==5 + "Enseignant non-éditeur" +#elif L==6 + "Mbo'ehára no editor" // Okoteve traducción +#elif L==7 + "Professore non-editing" +#elif L==8 + "Nauczyciel nie edytujący" +#elif L==9 + "Professor não editor" +#endif + , +#if L==1 // Rol_NED_TCH - Usr_SEX_ALL + "Professor/a no editor/a" +#elif L==2 + "Nicht bearbeiteter Lehrkraft" +#elif L==3 + "Non-editing teacher" +#elif L==4 + "Profesor/a no editor/a" +#elif L==5 + "Enseignant/e non-éditeur/trice" +#elif L==6 + "Mbo'ehára no editor/a" // Okoteve traducción +#elif L==7 + "Professore/ssa non-editing" +#elif L==8 + "Nauczyciele nie edytujący" +#elif L==9 + "Professor/a não editor/a" +#endif + }, + { #if L==1 // Rol_TCH - Usr_SEX_UNKNOWN "Professor/a" #elif L==2 @@ -32425,7 +32526,7 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = }, { #if L==1 // Rol_DEG_ADM - Usr_SEX_UNKNOWN - "Admin. titulación" // Necessita traduccio + "Admin. titulació" #elif L==2 "Admin. Studiengang" #elif L==3 @@ -32445,7 +32546,7 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif , #if L==1 // Rol_DEG_ADM - Usr_SEX_FEMALE - "Admin. titulación" // Necessita traduccio + "Admin. titulació" #elif L==2 "Admin. Studiengang" #elif L==3 @@ -32465,7 +32566,7 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif , #if L==1 // Rol_DEG_ADM - Usr_SEX_MALE - "Admin. titulación" // Necessita traduccio + "Admin. titulació" #elif L==2 "Admin. Studiengang" #elif L==3 @@ -32485,7 +32586,7 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif , #if L==1 // Rol_DEG_ADM - Usr_SEX_ALL - "Admin. titulación" // Necessita traduccio + "Admin. titulació" #elif L==2 "Admin. Studiengang" #elif L==3 @@ -32506,7 +32607,7 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = }, { #if L==1 // Rol_CTR_ADM - Usr_SEX_UNKNOWN - "Admin. centro" // Necessita traduccio + "Admin. centre" #elif L==2 "Admin. Lehrinstitut" #elif L==3 @@ -32526,7 +32627,7 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif , #if L==1 // Rol_CTR_ADM - Usr_SEX_FEMALE - "Admin. centro" // Necessita traduccio + "Admin. centre" #elif L==2 "Admin. Lehrinstitut" #elif L==3 @@ -32546,7 +32647,7 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif , #if L==1 // Rol_CTR_ADM - Usr_SEX_MALE - "Admin. centro" // Necessita traduccio + "Admin. centre" #elif L==2 "Admin. Lehrinstitut" #elif L==3 @@ -32566,7 +32667,7 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif , #if L==1 // Rol_CTR_ADM - Usr_SEX_ALL - "Admin. centro" // Necessita traduccio + "Admin. centre" #elif L==2 "Admin. Lehrinstitut" #elif L==3 @@ -32587,7 +32688,7 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = }, { #if L==1 // Rol_INS_ADM - Usr_SEX_UNKNOWN - "Admin. institución" // Necessita traduccio + "Admin. institució" #elif L==2 "Admin. Hochschule" #elif L==3 @@ -32607,7 +32708,7 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif , #if L==1 // Rol_INS_ADM - Usr_SEX_FEMALE - "Admin. institución" // Necessita traduccio + "Admin. institució" #elif L==2 "Admin. Hochschule" #elif L==3 @@ -32627,7 +32728,7 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif , #if L==1 // Rol_INS_ADM - Usr_SEX_MALE - "Admin. institución" // Necessita traduccio + "Admin. institució" #elif L==2 "Admin. Hochschule" #elif L==3 @@ -32647,7 +32748,7 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif , #if L==1 // Rol_INS_ADM - Usr_SEX_ALL - "Admin. institución" // Necessita traduccio + "Admin. institució" #elif L==2 "Admin. Hochschule" #elif L==3 @@ -32668,7 +32769,7 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = }, { #if L==1 // Rol_SYS_ADM - Usr_SEX_UNKNOWN - "Superusuari/ària" + "Superusuari/a" #elif L==2 "Superuser" #elif L==3 @@ -32728,7 +32829,7 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif , #if L==1 // Rol_SYS_ADM - Usr_SEX_ALL - "Superusuari/ària" // Necessita traduccio + "Superusuari/a" // Necessita traduccio #elif L==2 "Superuser" #elif L==3 @@ -33074,6 +33175,87 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = "estudante" #endif }, + { +#if L==1 // Rol_NED_TCH - Usr_SEX_UNKNOWN + "professor/a no editor/a" +#elif L==2 + "nicht bearbeiteter Lehrkraft" +#elif L==3 + "non-editing teacher" +#elif L==4 + "profesor/a no editor/a" +#elif L==5 + "enseignant/e non-éditeur/trice" +#elif L==6 + "mbo'ehára no editor/a" // Okoteve traducción +#elif L==7 + "professore/ssa non-editing" +#elif L==8 + "nauczyciel nie edytujący" +#elif L==9 + "professor/a não editor/a" +#endif + , +#if L==1 // Rol_NED_TCH - Usr_SEX_FEMALE + "professora no editora" +#elif L==2 + "nicht bearbeiteter Lehrkraft" +#elif L==3 + "non-editing teacher" +#elif L==4 + "profesora no editora" +#elif L==5 + "enseignante non-éditrice" +#elif L==6 + "mbo'ehára no editora" // Okoteve traducción +#elif L==7 + "professoressa non-editing" +#elif L==8 + "nauczycielka nie edytujący" +#elif L==9 + "professora não editora" +#endif + , +#if L==1 // Rol_NED_TCH - Usr_SEX_MALE + "professor no editor" +#elif L==2 + "nicht bearbeiteter Lehrkraft" +#elif L==3 + "non-editing teacher" +#elif L==4 + "profesor no editor" +#elif L==5 + "enseignant non-éditeur" +#elif L==6 + "mbo'ehára no editor" // Okoteve traducción +#elif L==7 + "professore non-editing" +#elif L==8 + "nauczyciel nie edytujący" +#elif L==9 + "professor não editor" +#endif + , +#if L==1 // Rol_NED_TCH - Usr_SEX_ALL + "professor/a no editor/a" +#elif L==2 + "nicht bearbeiteter Lehrkraft" +#elif L==3 + "non-editing teacher" +#elif L==4 + "profesor/a no editor/a" +#elif L==5 + "enseignant/e non-éditeur/trice" +#elif L==6 + "mbo'ehára no editor/a" // Okoteve traducción +#elif L==7 + "professore/ssa non-editing" +#elif L==8 + "nauczyciele nie edytujący" +#elif L==9 + "professor/a não editor/a" +#endif + }, { #if L==1 // Rol_TCH - Usr_SEX_UNKNOWN "professor/a" @@ -33238,7 +33420,7 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = }, { #if L==1 // Rol_CTR_ADM - Usr_SEX_UNKNOWN - "admin. centro" // Necessita traduccio + "admin. centre" #elif L==2 "Admin. Lehrinstitut" #elif L==3 @@ -33258,7 +33440,7 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif , #if L==1 // Rol_CTR_ADM - Usr_SEX_FEMALE - "admin. centro" // Necessita traduccio + "admin. centre" #elif L==2 "Admin. Lehrinstitut" #elif L==3 @@ -33278,7 +33460,7 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif , #if L==1 // Rol_CTR_ADM - Usr_SEX_MALE - "admin. centro" // Necessita traduccio + "admin. centre" #elif L==2 "Admin. Lehrinstitut" #elif L==3 @@ -33298,7 +33480,7 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif , #if L==1 // Rol_CTR_ADM - Usr_SEX_ALL - "admin. centro" // Necessita traduccio + "admin. centre" #elif L==2 "Admin. Lehrinstitut" #elif L==3 @@ -33319,7 +33501,7 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = }, { #if L==1 // Rol_INS_ADM - Usr_SEX_UNKNOWN - "admin. institución" // Necessita traduccio + "admin. institució" #elif L==2 "Admin. Hochschule" #elif L==3 @@ -33339,7 +33521,7 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif , #if L==1 // Rol_INS_ADM - Usr_SEX_FEMALE - "admin. institución" // Necessita traduccio + "admin. institució" #elif L==2 "Admin. Hochschule" #elif L==3 @@ -33359,27 +33541,7 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif , #if L==1 // Rol_INS_ADM - Usr_SEX_MALE - "administrador de institución" // Necessita traduccio -#elif L==2 - "Admin. Hochschule" -#elif L==3 - "admin. institution" -#elif L==4 - "administrador de institución" -#elif L==5 - "administrateur d'établissement" -#elif L==6 - "administrador de institución" // Okoteve traducción -#elif L==7 - "ammin.istituzione" -#elif L==8 - "administrator instytucji" -#elif L==9 - "administrador de institução" -#endif - , -#if L==1 // Rol_INS_ADM - Usr_SEX_ALL - "admin. institución" // Necessita traduccio + "admin. institució" #elif L==2 "Admin. Hochschule" #elif L==3 @@ -33391,16 +33553,36 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #elif L==6 "admin. institución" // Okoteve traducción #elif L==7 - "ammin.istituzione" + "ammin. istituzione" #elif L==8 - "administratorzy instytucji" + "admin. instytucji" +#elif L==9 + "admin. institução" +#endif + , +#if L==1 // Rol_INS_ADM - Usr_SEX_ALL + "admin. institució" +#elif L==2 + "Admin. Hochschule" +#elif L==3 + "admin. institution" +#elif L==4 + "admin. institución" +#elif L==5 + "admin. établissement" +#elif L==6 + "admin. institución" // Okoteve traducción +#elif L==7 + "ammin. istituzione" +#elif L==8 + "admin. instytucji" #elif L==9 "admin. institução" #endif }, { #if L==1 // Rol_SYS_ADM - Usr_SEX_UNKNOWN - "superusuari/ària" + "superusuari/a" #elif L==2 "Superuser" #elif L==3 @@ -33460,7 +33642,7 @@ const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif , #if L==1 // Rol_SYS_ADM - Usr_SEX_ALL - "superusuari/ària" + "superusuari/a" #elif L==2 "Superuser" #elif L==3 @@ -33485,7 +33667,7 @@ const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = { { #if L==1 // Rol_UNK - Usr_SEX_UNKNOWN - "Desconocidos" // Necessita traduccio + "Desconeguts" #elif L==2 "Unbekannte" #elif L==3 @@ -33505,7 +33687,7 @@ const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif , #if L==1 // Rol_UNK - Usr_SEX_FEMALE - "Desconocidas" // Necessita traduccio + "Desconegudes" #elif L==2 "Unbekannte" #elif L==3 @@ -33525,7 +33707,7 @@ const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif , #if L==1 // Rol_UNK - Usr_SEX_MALE - "Desconocidos" // Necessita traduccio + "Desconeguts" #elif L==2 "Unbekannte" #elif L==3 @@ -33545,7 +33727,7 @@ const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif , #if L==1 // Rol_UNK - Usr_SEX_ALL - "Desconocidos" // Necessita traduccio + "Desconeguts" #elif L==2 "Unbekannte" #elif L==3 @@ -33586,7 +33768,7 @@ const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif , #if L==1 // Rol_GST - Usr_SEX_FEMALE - "Invitadas" // Necessita traduccio + "Convidadas" #elif L==2 "Eingeladen" #elif L==3 @@ -33808,6 +33990,87 @@ const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif }, { +#if L==1 // Rol_NED_TCH - Usr_SEX_UNKNOWN + "Professors no editors" +#elif L==2 + "Nicht bearbeiteter Lehrkraft" +#elif L==3 + "Non-editing teachers" +#elif L==4 + "Profesores no editores" +#elif L==5 + "Enseignants non-éditeurs" +#elif L==6 + "Mbo'ehára no editores" // Okoteve traducción +#elif L==7 + "Professori non-editing" +#elif L==8 + "Nauczyciele nie edytujący" +#elif L==9 + "Professores não editores" +#endif + , +#if L==1 // Rol_NED_TCH - Usr_SEX_FEMALE + "Professores no editores" +#elif L==2 + "Nicht bearbeiteter Lehrkraft" +#elif L==3 + "Non-editing teachers" +#elif L==4 + "Profesoras no editoras" +#elif L==5 + "Enseignantes non-éditrices" +#elif L==6 + "Mbo'ehára no editoras" // Okoteve traducción +#elif L==7 + "Professoresse non-editing" +#elif L==8 + "Nauczycielki nie edytujący" +#elif L==9 + "Professoras não editoras" +#endif + , +#if L==1 // Rol_NED_TCH - Usr_SEX_MALE + "Professors no editors" +#elif L==2 + "Nicht bearbeiteter Lehrkraft" +#elif L==3 + "Non-editing teachers" +#elif L==4 + "Profesores no editores" +#elif L==5 + "Enseignants non-éditeurs" +#elif L==6 + "Mbo'ehára no editores" // Okoteve traducción +#elif L==7 + "Professori non-editing" +#elif L==8 + "Nauczyciele nie edytujący" +#elif L==9 + "Professores não editores" +#endif + , +#if L==1 // Rol_NED_TCH - Usr_SEX_ALL + "Professors no editors" +#elif L==2 + "Nicht bearbeiteter Lehrkraft" +#elif L==3 + "Non-editing teachers" +#elif L==4 + "Profesores no editores" +#elif L==5 + "Enseignants non-éditeurs" +#elif L==6 + "Mbo'ehára no editores" // Okoteve traducción +#elif L==7 + "Professori non-editing" +#elif L==8 + "Nauczyciele nie edytujący" +#elif L==9 + "Professores não editores" +#endif + }, + { #if L==1 // Rol_TCH - Usr_SEX_UNKNOWN "Professors" #elif L==2 @@ -34540,6 +34803,87 @@ const char *Txt_ROLES_PLURAL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif }, { +#if L==1 // Rol_NED_TCH - Usr_SEX_UNKNOWN + "professors no editors" +#elif L==2 + "nicht bearbeiteter Lehrkraft" +#elif L==3 + "non-editing teachers" +#elif L==4 + "profesores no editores" +#elif L==5 + "enseignants non-éditeurs" +#elif L==6 + "mbo'ehára no editores" // Okoteve traducción +#elif L==7 + "professori non-editing" +#elif L==8 + "nauczyciele nie edytujący" +#elif L==9 + "professores não editores" +#endif + , +#if L==1 // Rol_NED_TCH - Usr_SEX_FEMALE + "professores no editores" +#elif L==2 + "nicht bearbeiteter Lehrkraft" +#elif L==3 + "non-editing teachers" +#elif L==4 + "profesoras no editoras" +#elif L==5 + "enseignantes non-éditrices" +#elif L==6 + "mbo'ehára no editoras" // Okoteve traducción +#elif L==7 + "professoresse non-editing" +#elif L==8 + "nauczycielki nie edytujący" +#elif L==9 + "professoras não editoras" +#endif + , +#if L==1 // Rol_NED_TCH - Usr_SEX_MALE + "professors no editors" +#elif L==2 + "nicht bearbeiteter Lehrkraft" +#elif L==3 + "non-editing teachers" +#elif L==4 + "profesores no editores" +#elif L==5 + "enseignants non-éditeurs" +#elif L==6 + "mbo'ehára no editores" // Okoteve traducción +#elif L==7 + "professori non-editing" +#elif L==8 + "nauczyciele nie edytujący" +#elif L==9 + "professores não editores" +#endif + , +#if L==1 // Rol_NED_TCH - Usr_SEX_ALL + "professors no editors" +#elif L==2 + "nicht bearbeiteter Lehrkraft" +#elif L==3 + "non-editing teachers" +#elif L==4 + "profesores no editores" +#elif L==5 + "enseignants non-éditeurs" +#elif L==6 + "mbo'ehára no editores" // Okoteve traducción +#elif L==7 + "professori non-editing" +#elif L==8 + "nauczyciele nie edytujący" +#elif L==9 + "professores não editores" +#endif + }, + { #if L==1 // Rol_TCH - Usr_SEX_UNKNOWN "professors" #elif L==2 diff --git a/swad_web_service.c b/swad_web_service.c index 15953766c..925334134 100644 --- a/swad_web_service.c +++ b/swad_web_service.c @@ -175,7 +175,7 @@ Rol_Role_t Svc_SvcRole_to_RolRole[Svc_NUM_ROLES] = Rol_UNK, // Svc_ROLE_UNKNOWN Rol_GST, // Svc_ROLE__GUEST_ Rol_STD, // Svc_ROLE_STUDENT - Rol_TCH, // Svc_ROLE_TEACHER + Rol_TCH, // Svc_ROLE_TEACHER // TODO: Create new web service role for non-editing teachers }; /* Translation from swad-core-role to service-web-role */ @@ -185,6 +185,7 @@ Svc_Role_t Svc_RolRole_to_SvcRole[Rol_NUM_ROLES] = Svc_ROLE__GUEST_, // Rol_GST Svc_ROLE_UNKNOWN, // Rol_USR Svc_ROLE_STUDENT, // Rol_STD + Svc_ROLE_TEACHER, // Rol_NED_TCH // TODO: Create new web service role for non-editing teachers Svc_ROLE_TEACHER, // Rol_TCH Svc_ROLE_UNKNOWN, // Rol_DEG_ADM Svc_ROLE_UNKNOWN, // Rol_CTR_ADM