diff --git a/sql/cambios.sql b/sql/cambios.sql index 9ab6cd96..d8ad2b1e 100644 --- a/sql/cambios.sql +++ b/sql/cambios.sql @@ -11924,4 +11924,3 @@ INSERT INTO timetable_tut_backup SELECT * FROM timetable_tut; - diff --git a/swad_action.c b/swad_action.c index b141c4d0..a60e2cd8 100644 --- a/swad_action.c +++ b/swad_action.c @@ -1063,6 +1063,7 @@ Users: 870. ActUpdStd Update another user's data and groups 871. ActUpdTch Update another user's data and groups 872. ActReqAccEnrStd Confirm acceptation / refusion of enrolment as student in current course + NEW. ActReqAccEnrNEdTch Confirm acceptation / refusion of enrolment as non-editing teacher in current course 873. ActReqAccEnrTch Confirm acceptation / refusion of enrolment as teacher in current course 874. ActAccEnrStd Accept enrolment as student in current course 875. ActAccEnrTch Accept enrolment as teacher in current course @@ -2533,6 +2534,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = /* ActUpdTch */{1424,-1,TabUnk,ActLstTch ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_THIS_WINDOW,Enr_ModifyUsr1 ,Enr_ModifyUsr2 ,NULL}, /* ActReqAccEnrStd */{1456,-1,TabUnk,ActLstStd ,0x3C8, 0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_ReqAcceptRegisterInCrs ,NULL}, + /* ActReqAccEnrNEdTch*/{1639,-1,TabUnk,ActLstTch ,0x3D0, 0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_ReqAcceptRegisterInCrs ,NULL}, /* ActReqAccEnrTch */{1457,-1,TabUnk,ActLstTch ,0x3E0, 0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_ReqAcceptRegisterInCrs ,NULL}, /* ActAccEnrStd */{1458,-1,TabUnk,ActLstStd ,0x3C8, 0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_AcceptRegisterMeInCrs ,NULL}, /* ActAccEnrTch */{1459,-1,TabUnk,ActLstTch ,0x3E0, 0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_AcceptRegisterMeInCrs ,NULL}, @@ -4623,6 +4625,7 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un ActChgCalDeg1stDay, // #1636 ActPrnOneAsg, // #1637 ActChgDatFmt, // #1638 + ActReqAccEnrNEdTch, // #1639 }; /*****************************************************************************/ @@ -5115,16 +5118,17 @@ void Act_AdjustCurrentAction (void) { case Rol_STD: Gbl.Action.Act = ActReqAccEnrStd; - Tab_SetCurrentTab (); break; case Rol_NED_TCH: + Gbl.Action.Act = ActReqAccEnrNEdTch; + break; case Rol_TCH: Gbl.Action.Act = ActReqAccEnrTch; - Tab_SetCurrentTab (); break; default: - break; + return; } + Tab_SetCurrentTab (); return; } diff --git a/swad_action.h b/swad_action.h index d74b0513..f73d867d 100644 --- a/swad_action.h +++ b/swad_action.h @@ -57,9 +57,9 @@ typedef enum typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action -#define Act_NUM_ACTIONS (1 + 9 + 43 + 17 + 47 + 32 + 24 + 115 + 72 + 416 + 156 + 172 + 42 + 14 + 97) +#define Act_NUM_ACTIONS (1 + 9 + 43 + 17 + 47 + 32 + 24 + 115 + 72 + 416 + 157 + 172 + 42 + 14 + 97) -#define Act_MAX_ACTION_COD 1638 +#define Act_MAX_ACTION_COD 1639 #define Act_MAX_OPTIONS_IN_MENU_PER_TAB 12 @@ -1080,66 +1080,67 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to #define ActUpdTch (ActChgNumRowFooGrp + 104) #define ActReqAccEnrStd (ActChgNumRowFooGrp + 105) -#define ActReqAccEnrTch (ActChgNumRowFooGrp + 106) -#define ActAccEnrStd (ActChgNumRowFooGrp + 107) -#define ActAccEnrTch (ActChgNumRowFooGrp + 108) -#define ActRemMe_Std (ActChgNumRowFooGrp + 109) -#define ActRemMe_Tch (ActChgNumRowFooGrp + 110) +#define ActReqAccEnrNEdTch (ActChgNumRowFooGrp + 106) +#define ActReqAccEnrTch (ActChgNumRowFooGrp + 107) +#define ActAccEnrStd (ActChgNumRowFooGrp + 108) +#define ActAccEnrTch (ActChgNumRowFooGrp + 109) +#define ActRemMe_Std (ActChgNumRowFooGrp + 110) +#define ActRemMe_Tch (ActChgNumRowFooGrp + 111) -#define ActNewAdmIns (ActChgNumRowFooGrp + 111) -#define ActRemAdmIns (ActChgNumRowFooGrp + 112) -#define ActNewAdmCtr (ActChgNumRowFooGrp + 113) -#define ActRemAdmCtr (ActChgNumRowFooGrp + 114) -#define ActNewAdmDeg (ActChgNumRowFooGrp + 115) -#define ActRemAdmDeg (ActChgNumRowFooGrp + 116) +#define ActNewAdmIns (ActChgNumRowFooGrp + 112) +#define ActRemAdmIns (ActChgNumRowFooGrp + 113) +#define ActNewAdmCtr (ActChgNumRowFooGrp + 114) +#define ActRemAdmCtr (ActChgNumRowFooGrp + 115) +#define ActNewAdmDeg (ActChgNumRowFooGrp + 116) +#define ActRemAdmDeg (ActChgNumRowFooGrp + 117) -#define ActRcvFrmEnrSevStd (ActChgNumRowFooGrp + 117) -#define ActRcvFrmEnrSevTch (ActChgNumRowFooGrp + 118) +#define ActRcvFrmEnrSevStd (ActChgNumRowFooGrp + 118) +#define ActRcvFrmEnrSevTch (ActChgNumRowFooGrp + 119) -#define ActCnfID_Oth (ActChgNumRowFooGrp + 119) -#define ActCnfID_Std (ActChgNumRowFooGrp + 120) -#define ActCnfID_Tch (ActChgNumRowFooGrp + 121) +#define ActCnfID_Oth (ActChgNumRowFooGrp + 120) +#define ActCnfID_Std (ActChgNumRowFooGrp + 121) +#define ActCnfID_Tch (ActChgNumRowFooGrp + 122) -#define ActFrmIDsOth (ActChgNumRowFooGrp + 122) -#define ActFrmIDsStd (ActChgNumRowFooGrp + 123) -#define ActFrmIDsTch (ActChgNumRowFooGrp + 124) -#define ActRemID_Oth (ActChgNumRowFooGrp + 125) -#define ActRemID_Std (ActChgNumRowFooGrp + 126) -#define ActRemID_Tch (ActChgNumRowFooGrp + 127) -#define ActNewID_Oth (ActChgNumRowFooGrp + 128) -#define ActNewID_Std (ActChgNumRowFooGrp + 129) -#define ActNewID_Tch (ActChgNumRowFooGrp + 130) -#define ActFrmPwdOth (ActChgNumRowFooGrp + 131) -#define ActFrmPwdStd (ActChgNumRowFooGrp + 132) -#define ActFrmPwdTch (ActChgNumRowFooGrp + 133) -#define ActChgPwdOth (ActChgNumRowFooGrp + 134) -#define ActChgPwdStd (ActChgNumRowFooGrp + 135) -#define ActChgPwdTch (ActChgNumRowFooGrp + 136) -#define ActFrmMaiOth (ActChgNumRowFooGrp + 137) -#define ActFrmMaiStd (ActChgNumRowFooGrp + 138) -#define ActFrmMaiTch (ActChgNumRowFooGrp + 139) -#define ActRemMaiOth (ActChgNumRowFooGrp + 140) -#define ActRemMaiStd (ActChgNumRowFooGrp + 141) -#define ActRemMaiTch (ActChgNumRowFooGrp + 142) -#define ActNewMaiOth (ActChgNumRowFooGrp + 143) -#define ActNewMaiStd (ActChgNumRowFooGrp + 144) -#define ActNewMaiTch (ActChgNumRowFooGrp + 145) +#define ActFrmIDsOth (ActChgNumRowFooGrp + 123) +#define ActFrmIDsStd (ActChgNumRowFooGrp + 124) +#define ActFrmIDsTch (ActChgNumRowFooGrp + 125) +#define ActRemID_Oth (ActChgNumRowFooGrp + 126) +#define ActRemID_Std (ActChgNumRowFooGrp + 127) +#define ActRemID_Tch (ActChgNumRowFooGrp + 128) +#define ActNewID_Oth (ActChgNumRowFooGrp + 129) +#define ActNewID_Std (ActChgNumRowFooGrp + 130) +#define ActNewID_Tch (ActChgNumRowFooGrp + 131) +#define ActFrmPwdOth (ActChgNumRowFooGrp + 132) +#define ActFrmPwdStd (ActChgNumRowFooGrp + 133) +#define ActFrmPwdTch (ActChgNumRowFooGrp + 134) +#define ActChgPwdOth (ActChgNumRowFooGrp + 135) +#define ActChgPwdStd (ActChgNumRowFooGrp + 136) +#define ActChgPwdTch (ActChgNumRowFooGrp + 137) +#define ActFrmMaiOth (ActChgNumRowFooGrp + 138) +#define ActFrmMaiStd (ActChgNumRowFooGrp + 139) +#define ActFrmMaiTch (ActChgNumRowFooGrp + 140) +#define ActRemMaiOth (ActChgNumRowFooGrp + 141) +#define ActRemMaiStd (ActChgNumRowFooGrp + 142) +#define ActRemMaiTch (ActChgNumRowFooGrp + 143) +#define ActNewMaiOth (ActChgNumRowFooGrp + 144) +#define ActNewMaiStd (ActChgNumRowFooGrp + 145) +#define ActNewMaiTch (ActChgNumRowFooGrp + 146) -#define ActRemStdCrs (ActChgNumRowFooGrp + 146) -#define ActRemTchCrs (ActChgNumRowFooGrp + 147) -#define ActRemUsrGbl (ActChgNumRowFooGrp + 148) +#define ActRemStdCrs (ActChgNumRowFooGrp + 147) +#define ActRemTchCrs (ActChgNumRowFooGrp + 148) +#define ActRemUsrGbl (ActChgNumRowFooGrp + 149) -#define ActReqRemAllStdCrs (ActChgNumRowFooGrp + 149) -#define ActRemAllStdCrs (ActChgNumRowFooGrp + 150) +#define ActReqRemAllStdCrs (ActChgNumRowFooGrp + 150) +#define ActRemAllStdCrs (ActChgNumRowFooGrp + 151) -#define ActReqRemOldUsr (ActChgNumRowFooGrp + 151) -#define ActRemOldUsr (ActChgNumRowFooGrp + 152) +#define ActReqRemOldUsr (ActChgNumRowFooGrp + 152) +#define ActRemOldUsr (ActChgNumRowFooGrp + 153) -#define ActLstDupUsr (ActChgNumRowFooGrp + 153) -#define ActLstSimUsr (ActChgNumRowFooGrp + 154) -#define ActRemDupUsr (ActChgNumRowFooGrp + 155) +#define ActLstDupUsr (ActChgNumRowFooGrp + 154) +#define ActLstSimUsr (ActChgNumRowFooGrp + 155) +#define ActRemDupUsr (ActChgNumRowFooGrp + 156) -#define ActLstClk (ActChgNumRowFooGrp + 156) +#define ActLstClk (ActChgNumRowFooGrp + 157) /*****************************************************************************/ /******************************** Social tab *********************************/ diff --git a/swad_changelog.h b/swad_changelog.h index 25e40721..374aa20c 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -233,13 +233,14 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 16.220.3 (2017-05-21)" +#define Log_PLATFORM_VERSION "SWAD 16.220.4 (2017-05-21)" #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.220.4: May 21, 2017 Changes related with new role. Not finished. (219401 lines) Version 16.220.3: May 21, 2017 Changes related with new role. Not finished. (219327 lines) Version 16.220.2: May 21, 2017 Changes related with new role. Not finished. (219319 lines) Version 16.220.1: May 20, 2017 Changes related with new role. Not finished. (219332 lines) diff --git a/swad_duplicate.c b/swad_duplicate.c index 0010ffba..17ec8eaa 100644 --- a/swad_duplicate.c +++ b/swad_duplicate.c @@ -329,6 +329,7 @@ static void Dup_ListSimilarUsrs (void) /* Write all the courses this user belongs to */ Crs_GetAndWriteCrssOfAUsr (&UsrDat,Rol_TCH); + Crs_GetAndWriteCrssOfAUsr (&UsrDat,Rol_NED_TCH); Crs_GetAndWriteCrssOfAUsr (&UsrDat,Rol_STD); fprintf (Gbl.F.Out,"" diff --git a/swad_enrolment.c b/swad_enrolment.c index 5a059fc6..e521e697 100644 --- a/swad_enrolment.c +++ b/swad_enrolment.c @@ -50,11 +50,14 @@ static const bool Enr_ICanAdminOtherUsrs[Rol_NUM_ROLES] = { + /* Users who can not admin */ false, // Rol_UNK false, // Rol_GST false, // Rol_USR false, // Rol_STD false, // Rol_NED_TCH + + /* Users who can admin */ true, // Rol_TCH true, // Rol_DEG_ADM true, // Rol_CTR_ADM @@ -211,6 +214,7 @@ void Enr_ModifyRoleInCurrentCrs (struct UsrData *UsrDat,Rol_Role_t NewRole) switch (NewRole) { case Rol_STD: + case Rol_NED_TCH: case Rol_TCH: break; default: @@ -249,6 +253,7 @@ void Enr_RegisterUsrInCurrentCrs (struct UsrData *UsrDat,Rol_Role_t NewRole, switch (NewRole) { case Rol_STD: + case Rol_NED_TCH: case Rol_TCH: break; default: @@ -299,10 +304,10 @@ static void Enr_NotifyAfterEnrolment (struct UsrData *UsrDat,Rol_Role_t NewRole) switch (NewRole) { case Rol_STD: - NotifyEvent = Ntf_EVENT_ENROLMENT_STUDENT; + NotifyEvent = Ntf_EVENT_ENROLMENT_STD; break; case Rol_TCH: - NotifyEvent = Ntf_EVENT_ENROLMENT_TEACHER; + NotifyEvent = Ntf_EVENT_ENROLMENT_TCH; break; default: NotifyEvent = Ntf_EVENT_UNKNOWN; @@ -313,8 +318,8 @@ static void Enr_NotifyAfterEnrolment (struct UsrData *UsrDat,Rol_Role_t NewRole) Enr_RemoveEnrolmentRequest (Gbl.CurrentCrs.Crs.CrsCod,UsrDat->UsrCod); /***** Remove old enrolment notifications before inserting the new one ******/ - Ntf_MarkNotifToOneUsrAsRemoved (Ntf_EVENT_ENROLMENT_STUDENT,-1,UsrDat->UsrCod); - Ntf_MarkNotifToOneUsrAsRemoved (Ntf_EVENT_ENROLMENT_TEACHER,-1,UsrDat->UsrCod); + Ntf_MarkNotifToOneUsrAsRemoved (Ntf_EVENT_ENROLMENT_STD,-1,UsrDat->UsrCod); + Ntf_MarkNotifToOneUsrAsRemoved (Ntf_EVENT_ENROLMENT_TCH,-1,UsrDat->UsrCod); /***** Create new notification ******/ CreateNotif = (UsrDat->Prefs.NotifNtfEvents & (1 << NotifyEvent)); @@ -393,8 +398,8 @@ void Enr_ReqAcceptRegisterInCrs (void) Lay_EndRoundFrame (); /***** Mark possible notification as seen *****/ - Ntf_MarkNotifAsSeen (Gbl.Usrs.Me.UsrDat.RoleInCurrentCrsDB == Rol_STD ? Ntf_EVENT_ENROLMENT_STUDENT : - Ntf_EVENT_ENROLMENT_TEACHER, + Ntf_MarkNotifAsSeen (Gbl.Usrs.Me.UsrDat.RoleInCurrentCrsDB == Rol_STD ? Ntf_EVENT_ENROLMENT_STD : + Ntf_EVENT_ENROLMENT_TCH, -1L,Gbl.CurrentCrs.Crs.CrsCod, Gbl.Usrs.Me.UsrDat.UsrCod); } @@ -3521,9 +3526,9 @@ void Enr_AcceptRegisterMeInCrs (void) /***** Mark all notifications about enrolment (as student or as teacher) in current course as removed *****/ - Ntf_MarkNotifToOneUsrAsRemoved (Ntf_EVENT_ENROLMENT_STUDENT,-1L, + Ntf_MarkNotifToOneUsrAsRemoved (Ntf_EVENT_ENROLMENT_STD,-1L, Gbl.Usrs.Me.UsrDat.UsrCod); - Ntf_MarkNotifToOneUsrAsRemoved (Ntf_EVENT_ENROLMENT_TEACHER,-1L, + Ntf_MarkNotifToOneUsrAsRemoved (Ntf_EVENT_ENROLMENT_TCH,-1L, Gbl.Usrs.Me.UsrDat.UsrCod); /***** Confirmation message *****/ diff --git a/swad_notification.c b/swad_notification.c index 739308e3..aba0ac13 100644 --- a/swad_notification.c +++ b/swad_notification.c @@ -59,38 +59,39 @@ extern struct Globals Gbl; const char *Ntf_WSNotifyEvents[Ntf_NUM_NOTIFY_EVENTS] = { - "unknown", // Ntf_EVENT_UNKNOWN + "unknown", // Ntf_EVENT_UNKNOWN /* Course tab */ - "documentFile", // Ntf_EVENT_DOCUMENT_FILE - "teachersFile", // Ntf_EVENT_TEACHERS_FILE - "sharedFile", // Ntf_EVENT_SHARED_FILE + "documentFile", // Ntf_EVENT_DOCUMENT_FILE + "teachersFile", // Ntf_EVENT_TEACHERS_FILE + "sharedFile", // Ntf_EVENT_SHARED_FILE /* Assessment tab */ - "assignment", // Ntf_EVENT_ASSIGNMENT - "examAnnouncement", // Ntf_EVENT_EXAM_ANNOUNCEMENT - "marksFile", // Ntf_EVENT_MARKS_FILE + "assignment", // Ntf_EVENT_ASSIGNMENT + "examAnnouncement", // Ntf_EVENT_EXAM_ANNOUNCEMENT + "marksFile", // Ntf_EVENT_MARKS_FILE /* Users tab */ - "enrollmentStudent", // Ntf_EVENT_ENROLMENT_STUDENT // TODO: Change to "enrolmentStudent" carefully in future versions - "enrollmentTeacher", // Ntf_EVENT_ENROLMENT_TEACHER // TODO: Change to "enrolmentTeacher" carefully in future versions - "enrollmentRequest", // Ntf_EVENT_ENROLMENT_REQUEST // TODO: Change to "enrolmentRequest" carefully in future versions + "enrollmentStudent", // Ntf_EVENT_ENROLMENT_STD // TODO: Change to "enrolmentStudent" carefully in future versions + "enrollmentNonEditingTeacher", // Ntf_EVENT_ENROLMENT_NED_TCH // TODO: Change to "enrolmentTeacher" carefully in future versions + "enrollmentTeacher", // Ntf_EVENT_ENROLMENT_TCH // TODO: Change to "enrolmentTeacher" carefully in future versions + "enrollmentRequest", // Ntf_EVENT_ENROLMENT_REQUEST // TODO: Change to "enrolmentRequest" carefully in future versions /* Social tab */ - "timelineComment", // Ntf_EVENT_TIMELINE_COMMENT - "timelineFav", // Ntf_EVENT_TIMELINE_FAV - "timelineShare", // Ntf_EVENT_TIMELINE_SHARE - "timelineMention", // Ntf_EVENT_TIMELINE_MENTION - "follower", // Ntf_EVENT_FOLLOWER - "forumPostCourse", // Ntf_EVENT_FORUM_POST_COURSE - "forumReply", // Ntf_EVENT_FORUM_REPLY + "timelineComment", // Ntf_EVENT_TIMELINE_COMMENT + "timelineFav", // Ntf_EVENT_TIMELINE_FAV + "timelineShare", // Ntf_EVENT_TIMELINE_SHARE + "timelineMention", // Ntf_EVENT_TIMELINE_MENTION + "follower", // Ntf_EVENT_FOLLOWER + "forumPostCourse", // Ntf_EVENT_FORUM_POST_COURSE + "forumReply", // Ntf_EVENT_FORUM_REPLY /* Messages tab */ - "notice", // Ntf_EVENT_NOTICE - "message", // Ntf_EVENT_MESSAGE + "notice", // Ntf_EVENT_NOTICE + "message", // Ntf_EVENT_MESSAGE /* Statistics tab */ - "survey", // Ntf_EVENT_SURVEY + "survey", // Ntf_EVENT_SURVEY /* Profile tab */ }; @@ -110,8 +111,9 @@ static const Act_Action_t Ntf_DefaultActions[Ntf_NUM_NOTIFY_EVENTS] = ActSeeAdmMrk, // Ntf_EVENT_MARKS_FILE /* Users tab */ - ActReqAccEnrStd, // Ntf_EVENT_ENROLMENT_STUDENT - ActReqAccEnrTch, // Ntf_EVENT_ENROLMENT_TEACHER + ActReqAccEnrStd, // Ntf_EVENT_ENROLMENT_STD + ActReqAccEnrNEdTch, // Ntf_EVENT_ENROLMENT_NED_TCH + ActReqAccEnrTch, // Ntf_EVENT_ENROLMENT_TCH ActSeeSignUpReq, // Ntf_EVENT_ENROLMENT_REQUEST /* Social tab */ @@ -140,38 +142,39 @@ static const Act_Action_t Ntf_DefaultActions[Ntf_NUM_NOTIFY_EVENTS] = // Notify me notification events static const char *Ntf_ParamNotifMeAboutNotifyEvents[Ntf_NUM_NOTIFY_EVENTS] = { - "NotifyNtfEventUnknown", // Ntf_EVENT_UNKNOWN + "NotifyNtfEventUnknown", // Ntf_EVENT_UNKNOWN /* Course tab */ - "NotifyNtfEventDocumentFile", // Ntf_EVENT_DOCUMENT_FILE - "NotifyNtfEventTeachersFile", // Ntf_EVENT_TEACHERS_FILE - "NotifyNtfEventSharedFile", // Ntf_EVENT_SHARED_FILE + "NotifyNtfEventDocumentFile", // Ntf_EVENT_DOCUMENT_FILE + "NotifyNtfEventTeachersFile", // Ntf_EVENT_TEACHERS_FILE + "NotifyNtfEventSharedFile", // Ntf_EVENT_SHARED_FILE /* Assessment tab */ - "NotifyNtfEventAssignment", // Ntf_EVENT_ASSIGNMENT - "NotifyNtfEventExamAnnouncement", // Ntf_EVENT_EXAM_ANNOUNCEMENT - "NotifyNtfEventMarksFile", // Ntf_EVENT_MARKS_FILE + "NotifyNtfEventAssignment", // Ntf_EVENT_ASSIGNMENT + "NotifyNtfEventExamAnnouncement", // Ntf_EVENT_EXAM_ANNOUNCEMENT + "NotifyNtfEventMarksFile", // Ntf_EVENT_MARKS_FILE /* Users tab */ - "NotifyNtfEventEnrolmentStudent", // Ntf_EVENT_ENROLMENT_STUDENT - "NotifyNtfEventEnrolmentTeacher", // Ntf_EVENT_ENROLMENT_TEACHER - "NotifyNtfEventEnrolmentRequest", // Ntf_EVENT_ENROLMENT_REQUEST + "NotifyNtfEventEnrolmentStudent", // Ntf_EVENT_ENROLMENT_STD + "NotifyNtfEventEnrolmentNonEditingTeacher", // Ntf_EVENT_ENROLMENT_NED_TCH + "NotifyNtfEventEnrolmentTeacher", // Ntf_EVENT_ENROLMENT_TCH + "NotifyNtfEventEnrolmentRequest", // Ntf_EVENT_ENROLMENT_REQUEST /* Social tab */ - "NotifyNtfEventTimelineComment", // Ntf_EVENT_TIMELINE_COMMENT - "NotifyNtfEventTimelineFav", // Ntf_EVENT_TIMELINE_FAV - "NotifyNtfEventTimelineShare", // Ntf_EVENT_TIMELINE_SHARE - "NotifyNtfEventTimelineMention", // Ntf_EVENT_TIMELINE_MENTION - "NotifyNtfEventFollower", // Ntf_EVENT_FOLLOWER - "NotifyNtfEventForumPostCourse", // Ntf_EVENT_FORUM_POST_COURSE - "NotifyNtfEventForumReply", // Ntf_EVENT_FORUM_REPLY + "NotifyNtfEventTimelineComment", // Ntf_EVENT_TIMELINE_COMMENT + "NotifyNtfEventTimelineFav", // Ntf_EVENT_TIMELINE_FAV + "NotifyNtfEventTimelineShare", // Ntf_EVENT_TIMELINE_SHARE + "NotifyNtfEventTimelineMention", // Ntf_EVENT_TIMELINE_MENTION + "NotifyNtfEventFollower", // Ntf_EVENT_FOLLOWER + "NotifyNtfEventForumPostCourse", // Ntf_EVENT_FORUM_POST_COURSE + "NotifyNtfEventForumReply", // Ntf_EVENT_FORUM_REPLY /* Messages tab */ - "NotifyNtfEventNotice", // Ntf_EVENT_NOTICE - "NotifyNtfEventMessage", // Ntf_EVENT_MESSAGE + "NotifyNtfEventNotice", // Ntf_EVENT_NOTICE + "NotifyNtfEventMessage", // Ntf_EVENT_MESSAGE /* Statistics tab */ - "NotifyNtfEventSurvey", // Ntf_EVENT_SURVEY + "NotifyNtfEventSurvey", // Ntf_EVENT_SURVEY /* Profile tab */ }; @@ -179,38 +182,39 @@ static const char *Ntf_ParamNotifMeAboutNotifyEvents[Ntf_NUM_NOTIFY_EVENTS] = // Email me about notification events static const char *Ntf_ParamEmailMeAboutNotifyEvents[Ntf_NUM_NOTIFY_EVENTS] = { - "EmailNtfEventUnknown", // Ntf_EVENT_UNKNOWN + "EmailNtfEventUnknown", // Ntf_EVENT_UNKNOWN /* Course tab */ - "EmailNtfEventDocumentFile", // Ntf_EVENT_DOCUMENT_FILE - "EmailNtfEventTeachersFile", // Ntf_EVENT_TEACHERS_FILE - "EmailNtfEventSharedFile", // Ntf_EVENT_SHARED_FILE + "EmailNtfEventDocumentFile", // Ntf_EVENT_DOCUMENT_FILE + "EmailNtfEventTeachersFile", // Ntf_EVENT_TEACHERS_FILE + "EmailNtfEventSharedFile", // Ntf_EVENT_SHARED_FILE /* Assessment tab */ - "EmailNtfEventAssignment", // Ntf_EVENT_ASSIGNMENT - "EmailNtfEventExamAnnouncement", // Ntf_EVENT_EXAM_ANNOUNCEMENT - "EmailNtfEventMarksFile", // Ntf_EVENT_MARKS_FILE + "EmailNtfEventAssignment", // Ntf_EVENT_ASSIGNMENT + "EmailNtfEventExamAnnouncement", // Ntf_EVENT_EXAM_ANNOUNCEMENT + "EmailNtfEventMarksFile", // Ntf_EVENT_MARKS_FILE /* Users tab */ - "EmailNtfEventEnrolmentStudent", // Ntf_EVENT_ENROLMENT_STUDENT - "EmailNtfEventEnrolmentTeacher", // Ntf_EVENT_ENROLMENT_TEACHER - "EmailNtfEventEnrolmentRequest", // Ntf_EVENT_ENROLMENT_REQUEST + "EmailNtfEventEnrolmentStudent", // Ntf_EVENT_ENROLMENT_STD + "EmailNtfEventEnrolmentNonEditingTeacher", // Ntf_EVENT_ENROLMENT_NED_TCH + "EmailNtfEventEnrolmentTeacher", // Ntf_EVENT_ENROLMENT_TCH + "EmailNtfEventEnrolmentRequest", // Ntf_EVENT_ENROLMENT_REQUEST /* Social tab */ - "EmailNtfEventTimelineComment", // Ntf_EVENT_TIMELINE_COMMENT - "EmailNtfEventTimelineFav", // Ntf_EVENT_TIMELINE_FAV - "EmailNtfEventTimelineShare", // Ntf_EVENT_TIMELINE_SHARE - "EmailNtfEventTimelineMention", // Ntf_EVENT_TIMELINE_MENTION - "EmailNtfEventSocialFollower", // Ntf_EVENT_FOLLOWER - "EmailNtfEventForumPostCourse", // Ntf_EVENT_FORUM_POST_COURSE - "EmailNtfEventForumReply", // Ntf_EVENT_FORUM_REPLY + "EmailNtfEventTimelineComment", // Ntf_EVENT_TIMELINE_COMMENT + "EmailNtfEventTimelineFav", // Ntf_EVENT_TIMELINE_FAV + "EmailNtfEventTimelineShare", // Ntf_EVENT_TIMELINE_SHARE + "EmailNtfEventTimelineMention", // Ntf_EVENT_TIMELINE_MENTION + "EmailNtfEventSocialFollower", // Ntf_EVENT_FOLLOWER + "EmailNtfEventForumPostCourse", // Ntf_EVENT_FORUM_POST_COURSE + "EmailNtfEventForumReply", // Ntf_EVENT_FORUM_REPLY /* Messages tab */ - "EmailNtfEventNotice", // Ntf_EVENT_NOTICE - "EmailNtfEventMessage", // Ntf_EVENT_MESSAGE + "EmailNtfEventNotice", // Ntf_EVENT_NOTICE + "EmailNtfEventMessage", // Ntf_EVENT_MESSAGE /* Statistics tab */ - "EmailNtfEventSurvey", // Ntf_EVENT_SURVEY + "EmailNtfEventSurvey", // Ntf_EVENT_SURVEY /* Profile tab */ }; @@ -231,8 +235,9 @@ static const char *Ntf_Icons[Ntf_NUM_NOTIFY_EVENTS] = "grades16x16.gif", // Ntf_EVENT_MARKS_FILE /* Users tab */ - "adduser16x16.gif", // Ntf_EVENT_ENROLMENT_STUDENT - "adduser16x16.gif", // Ntf_EVENT_ENROLMENT_TEACHER + "adduser16x16.gif", // Ntf_EVENT_ENROLMENT_STD + "adduser16x16.gif", // Ntf_EVENT_ENROLMENT_NED_TCH + "adduser16x16.gif", // Ntf_EVENT_ENROLMENT_TCH "enrollmentrequest16x16.gif", // Ntf_EVENT_ENROLMENT_REQUEST /* Social tab */ @@ -887,8 +892,9 @@ void Ntf_GetNotifSummaryAndContent (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1], case Ntf_EVENT_MARKS_FILE: Mrk_GetNotifMyMarks (SummaryStr,ContentStr,Cod,UsrCod,GetContent); break; - case Ntf_EVENT_ENROLMENT_STUDENT: - case Ntf_EVENT_ENROLMENT_TEACHER: + case Ntf_EVENT_ENROLMENT_STD: + case Ntf_EVENT_ENROLMENT_NED_TCH: + case Ntf_EVENT_ENROLMENT_TCH: Enr_GetNotifEnrolment (SummaryStr,CrsCod,UsrCod); break; case Ntf_EVENT_ENROLMENT_REQUEST: @@ -1263,8 +1269,9 @@ unsigned Ntf_StoreNotifyEventsToAllUsrs (Ntf_NotifyEvent_t NotifyEvent,long Cod) Gbl.CurrentCrs.Crs.CrsCod, Gbl.Usrs.Me.UsrDat.UsrCod); break; - case Ntf_EVENT_ENROLMENT_STUDENT: // This function should not be called in this case - case Ntf_EVENT_ENROLMENT_TEACHER: // This function should not be called in this case + case Ntf_EVENT_ENROLMENT_STD: // This function should not be called in this case + case Ntf_EVENT_ENROLMENT_NED_TCH: // This function should not be called in this case + case Ntf_EVENT_ENROLMENT_TCH: // This function should not be called in this case return 0; case Ntf_EVENT_ENROLMENT_REQUEST: if (Gbl.CurrentCrs.Crs.NumUsrs[Rol_TCH]) @@ -1681,8 +1688,9 @@ static void Ntf_SendPendingNotifByEMailToOneUsr (struct UsrData *ToUsrDat,unsign case Ntf_EVENT_ASSIGNMENT: case Ntf_EVENT_EXAM_ANNOUNCEMENT: case Ntf_EVENT_MARKS_FILE: - case Ntf_EVENT_ENROLMENT_STUDENT: - case Ntf_EVENT_ENROLMENT_TEACHER: + case Ntf_EVENT_ENROLMENT_STD: + case Ntf_EVENT_ENROLMENT_NED_TCH: + case Ntf_EVENT_ENROLMENT_TCH: case Ntf_EVENT_ENROLMENT_REQUEST: case Ntf_EVENT_NOTICE: case Ntf_EVENT_MESSAGE: diff --git a/swad_notification.h b/swad_notification.h index e8030277..85105cf2 100644 --- a/swad_notification.h +++ b/swad_notification.h @@ -45,11 +45,11 @@ /******************************** Public types *******************************/ /*****************************************************************************/ -#define Ntf_NUM_NOTIFY_EVENTS (1 + 19) +#define Ntf_NUM_NOTIFY_EVENTS (1 + 20) // If the numbers assigned to each event type change, // it is necessary to change old numbers to new ones // in database tables notif, sta_notif and usr_data -typedef enum +typedef enum // TODO: Change numbers (also in database)!!!!!!!!!!!!!! { Ntf_EVENT_UNKNOWN = 0, @@ -57,18 +57,19 @@ typedef enum /* Assessment tab */ Ntf_EVENT_ASSIGNMENT = 4, - Ntf_EVENT_SURVEY = 19, // TODO: Change numbers (also in database)!!!!!!!!!!!!!! + Ntf_EVENT_SURVEY = 19, Ntf_EVENT_EXAM_ANNOUNCEMENT = 5, /* Files tab */ - Ntf_EVENT_DOCUMENT_FILE = 1, // TODO: Change numbers (also in database)!!!!!!!!!!!!!! - Ntf_EVENT_TEACHERS_FILE = 2, // TODO: Change numbers (also in database)!!!!!!!!!!!!!! - Ntf_EVENT_SHARED_FILE = 3, // TODO: Change numbers (also in database)!!!!!!!!!!!!!! - Ntf_EVENT_MARKS_FILE = 6, // TODO: Change numbers (also in database)!!!!!!!!!!!!!! + Ntf_EVENT_DOCUMENT_FILE = 1, + Ntf_EVENT_TEACHERS_FILE = 2, + Ntf_EVENT_SHARED_FILE = 3, + Ntf_EVENT_MARKS_FILE = 6, /* Users tab */ - Ntf_EVENT_ENROLMENT_STUDENT = 7, - Ntf_EVENT_ENROLMENT_TEACHER = 8, + Ntf_EVENT_ENROLMENT_STD = 7, + Ntf_EVENT_ENROLMENT_NED_TCH = 20, + Ntf_EVENT_ENROLMENT_TCH = 8, Ntf_EVENT_ENROLMENT_REQUEST = 9, /* Social tab */ diff --git a/swad_social.c b/swad_social.c index c8ee4e53..c6908528 100644 --- a/swad_social.c +++ b/swad_social.c @@ -303,8 +303,9 @@ void Soc_ShowTimelineGbl2 (void) Soc_TOP_MESSAGE_NONE, // Ntf_EVENT_MARKS_FILE /* Users tab */ - Soc_TOP_MESSAGE_NONE, // Ntf_EVENT_ENROLMENT_STUDENT - Soc_TOP_MESSAGE_NONE, // Ntf_EVENT_ENROLMENT_TEACHER + Soc_TOP_MESSAGE_NONE, // Ntf_EVENT_ENROLMENT_STD + Soc_TOP_MESSAGE_NONE, // Ntf_EVENT_ENROLMENT_NED_TCH + Soc_TOP_MESSAGE_NONE, // Ntf_EVENT_ENROLMENT_TCH Soc_TOP_MESSAGE_NONE, // Ntf_EVENT_ENROLMENT_REQUEST /* Social tab */ diff --git a/swad_text.c b/swad_text.c index 69350b47..a32353fb 100644 --- a/swad_text.c +++ b/swad_text.c @@ -645,7 +645,7 @@ const char *Txt_NOTIFY_EVENTS_SINGULAR_NO_HTML[Ntf_NUM_NOTIFY_EVENTS][1 + Txt_NU "Novo arquivo de notas", }, { - // Ntf_EVENT_ENROLMENT_STUDENT + // Ntf_EVENT_ENROLMENT_STD "", "Nova inscripció com a estudiant", "New Einschreibung als Student", @@ -658,17 +658,30 @@ const char *Txt_NOTIFY_EVENTS_SINGULAR_NO_HTML[Ntf_NUM_NOTIFY_EVENTS][1 + Txt_NU "Nova inscrição como estudante", }, { - // Ntf_EVENT_ENROLMENT_TEACHER + // Ntf_EVENT_ENROLMENT_NED_TCH "", - "Nova inscripció com a professor", + "Nova inscripció com a professor/a no editor/a", + "New Einschreibung als nicht bearbeiteter Lehrkraft", + "New enrolment as a non-editing teacher", + "Nueva inscripción como profesor/a no editor/a", + "Nouvelle inscription en tant qu'enseignant/e non-éditeur/trice", + "Nueva inscripción como profesor/a no editor/a", // Okoteve traducción + "Nuova iscrizione come professore/ssa non-editing", + "Nowe zapisy jako nauczyciel nie edytujacy", + "Nova inscrição como professor/a não editor/a", + }, + { + // Ntf_EVENT_ENROLMENT_TCH + "", + "Nova inscripció com a professor/a", "New Einschreibung als Lehrkraft", "New enrolment as a teacher", - "Nueva inscripción como profesor", + "Nueva inscripción como profesor/a", "Nouvelle inscription en tant qu'enseignant", - "Nueva inscripción como profesor", // Okoteve traducción - "Nuova iscrizione come professore", + "Nueva inscripción como profesor/a", // Okoteve traducción + "Nuova iscrizione come professore/ssa", "Nowe zapisy jako nauczyciel", - "Nova inscrição como professor", + "Nova inscrição como professor/a", }, { // Ntf_EVENT_ENROLMENT_REQUEST @@ -26411,7 +26424,7 @@ const char *Txt_NOTIFY_EVENTS_PLURAL[Ntf_NUM_NOTIFY_EVENTS] = "Novos arquivos de notas" #endif , -#if L==1 // Ntf_EVENT_ENROLMENT_STUDENT +#if L==1 // Ntf_EVENT_ENROLMENT_STD "Novas inscripciós com a estudiant" #elif L==2 "New Einschreibungen als Student" @@ -26431,7 +26444,27 @@ const char *Txt_NOTIFY_EVENTS_PLURAL[Ntf_NUM_NOTIFY_EVENTS] = "Novas inscrições como estudante" #endif , -#if L==1 // Ntf_EVENT_ENROLMENT_TEACHER +#if L==1 // Ntf_EVENT_ENROLMENT_NED_TCH + "Novas inscripciós com a professor/a no editor/a" +#elif L==2 + "New Einschreibungen als nicht bearbeiteter Lehrkraft" +#elif L==3 + "New enrolments as a non-editing teacher" +#elif L==4 + "Nuevas inscripciones como profesor/a/a no editor/a" +#elif L==5 + "Nouvelles inscriptions en tant qu'enseignant/e non-éditeur/trice" +#elif L==6 + "Nuevas inscripciones como profesor/a no editor/a" // Okoteve traducción +#elif L==7 + "Nuova iscrizione come professore/ssa non-editing" +#elif L==8 + "Nowe zapisy jako nauczyciel nie edytujący" +#elif L==9 + "Novas inscrições como professor/a não editor/a" +#endif + , +#if L==1 // Ntf_EVENT_ENROLMENT_TCH "Novas inscripciós com a professor" #elif L==2 "New Einschreibungen als Lehrkraft" @@ -26814,7 +26847,7 @@ const char *Txt_NOTIFY_EVENTS_SINGULAR[Ntf_NUM_NOTIFY_EVENTS] = "Arquivo de notas" #endif , -#if L==1 // Ntf_EVENT_ENROLMENT_STUDENT +#if L==1 // Ntf_EVENT_ENROLMENT_STD "Inscripció com a estudiant" #elif L==2 "Einschreibung als Student" @@ -26834,7 +26867,27 @@ const char *Txt_NOTIFY_EVENTS_SINGULAR[Ntf_NUM_NOTIFY_EVENTS] = "Inscrição como estudante" #endif , -#if L==1 // Ntf_EVENT_ENROLMENT_TEACHER +#if L==1 // Ntf_EVENT_ENROLMENT_NED_TCH + "Novas inscripciós com a professor/a no editor/a" +#elif L==2 + "New Einschreibungen als nicht bearbeiteter Lehrkraft" +#elif L==3 + "New enrolments as a non-editing teacher" +#elif L==4 + "Nuevas inscripciones como profesor/a/a no editor/a" +#elif L==5 + "Nouvelles inscriptions en tant qu'enseignant/e non-éditeur/trice" +#elif L==6 + "Nuevas inscripciones como profesor/a no editor/a" // Okoteve traducción +#elif L==7 + "Nuova iscrizione come professore/ssa non-editing" +#elif L==8 + "Nowe zapisy jako nauczyciel nie edytujący" +#elif L==9 + "Novas inscrições como professor/a não editor/a" +#endif + , +#if L==1 // Ntf_EVENT_ENROLMENT_TCH "Inscripció com a professor" #elif L==2 "Einschreibung als Lehrkraft"