Version 16.220.4

This commit is contained in:
Antonio Cañas Vargas 2017-05-21 18:08:35 +02:00
parent 5cc60b192c
commit 03b66d6f49
10 changed files with 232 additions and 158 deletions

View File

@ -11924,4 +11924,3 @@ INSERT INTO timetable_tut_backup SELECT * FROM timetable_tut;

View File

@ -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;
}

View File

@ -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 *********************************/

View File

@ -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)

View File

@ -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,"</td>"

View File

@ -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 *****/

View File

@ -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:

View File

@ -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 */

View File

@ -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 */

View File

@ -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&oacute;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&ccedil;&otilde;es como estudante"
#endif
,
#if L==1 // Ntf_EVENT_ENROLMENT_TEACHER
#if L==1 // Ntf_EVENT_ENROLMENT_NED_TCH
"Novas inscripci&oacute;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-&eacute;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&aogon;cy"
#elif L==9
"Novas inscri&ccedil;&otilde;es como professor/a n&atilde;o editor/a"
#endif
,
#if L==1 // Ntf_EVENT_ENROLMENT_TCH
"Novas inscripci&oacute;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&oacute; com a estudiant"
#elif L==2
"Einschreibung als Student"
@ -26834,7 +26867,27 @@ const char *Txt_NOTIFY_EVENTS_SINGULAR[Ntf_NUM_NOTIFY_EVENTS] =
"Inscri&ccedil;&atilde;o como estudante"
#endif
,
#if L==1 // Ntf_EVENT_ENROLMENT_TEACHER
#if L==1 // Ntf_EVENT_ENROLMENT_NED_TCH
"Novas inscripci&oacute;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-&eacute;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&aogon;cy"
#elif L==9
"Novas inscri&ccedil;&otilde;es como professor/a n&atilde;o editor/a"
#endif
,
#if L==1 // Ntf_EVENT_ENROLMENT_TCH
"Inscripci&oacute; com a professor"
#elif L==2
"Einschreibung als Lehrkraft"