Version 16.220.7

This commit is contained in:
Antonio Cañas Vargas 2017-05-21 21:23:13 +02:00
parent f66b93cf7f
commit 4878eccedc
19 changed files with 151 additions and 98 deletions

View File

@ -313,7 +313,7 @@ static void Acc_WriteRowEmptyAccount (unsigned NumUsr,const char *ID,struct UsrD
Gbl.RowEvenOdd);
UsrDat->Sex = Usr_SEX_UNKNOWN;
Crs_GetAndWriteCrssOfAUsr (UsrDat,Rol_TCH);
Crs_GetAndWriteCrssOfAUsr (UsrDat,Rol_NED_TCH);
Crs_GetAndWriteCrssOfAUsr (UsrDat,Rol_NET);
Crs_GetAndWriteCrssOfAUsr (UsrDat,Rol_STD);
fprintf (Gbl.F.Out,"</td>"
"</tr>");

View File

@ -1080,8 +1080,9 @@ Users:
882. ActNewAdmDeg Register an administrador in this degree
883. ActRemAdmDeg Remove an administrador of this degree
884. ActRcvFrmEnrSevStd Receive a form with IDs of users to be registeres/removed to/from current course
885. ActRcvFrmEnrSevTch Receive a form with IDs of users to be registeres/removed to/from current course
884. ActRcvFrmEnrSevStd Receive a form with IDs of students to be registered/removed to/from current course
NEW. ActRcvFrmEnrSevNET Receive a form with IDs of non-editing teachers to be registered/removed to/from current course
885. ActRcvFrmEnrSevTch Receive a form with IDs of teachers to be registered/removed to/from current course
889. ActCnfID_Oth Confirm another user's ID
890. ActCnfID_Std Confirm another user's ID
@ -2476,9 +2477,9 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActLogInUsrAgdLan */{1616,-1,TabUnk,ActLstTch ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Agd_ShowOtherAgendaAfterLogIn ,NULL},
/* ActSeeUsrAgd */{1611,-1,TabUnk,ActLstTch ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Agd_ShowUsrAgenda ,NULL},
/* ActReqEnrSevStd */{1426,-1,TabUnk,ActLstStd ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_ReqAdminStds ,NULL},
/* ActReqEnrSevNEdTch*/{1642,-1,TabUnk,ActLstTch ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_ReqAdminNonEditingTchs ,NULL},
/* ActReqEnrSevTch */{1427,-1,TabUnk,ActLstTch ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_ReqAdminTchs ,NULL},
/* ActReqEnrSevStd */{1426,-1,TabUnk,ActLstStd ,0x3E0,0x3C0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_ReqAdminStds ,NULL},
/* ActReqEnrSevNEdTch*/{1642,-1,TabUnk,ActLstTch ,0x3C0,0x3C0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_ReqAdminNonEditingTchs ,NULL},
/* ActReqEnrSevTch */{1427,-1,TabUnk,ActLstTch ,0x3C0,0x3C0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_ReqAdminTchs ,NULL},
/* ActReqLstStdAtt */{1073,-1,TabUnk,ActSeeAtt ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Usr_ReqListStdsAttendanceCrs ,NULL},
/* ActSeeLstMyAtt */{1473,-1,TabUnk,ActSeeAtt ,0x008, 0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Usr_ListMyAttendanceCrs ,NULL},
@ -2556,8 +2557,9 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActNewAdmDeg */{ 586,-1,TabUnk,ActLstOth ,0x380,0x380,0x380,0x380,0x380,0x380,0x380,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_AddAdmToDeg ,NULL},
/* ActRemAdmDeg */{ 584,-1,TabUnk,ActLstOth ,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_RemAdmDeg ,NULL},
/* ActRcvFrmEnrSevStd*/{1428,-1,TabUnk,ActLstStd ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_ReceiveFormAdminStds ,NULL},
/* ActRcvFrmEnrSevTch*/{1429,-1,TabUnk,ActLstTch ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_ReceiveFormAdminTchs ,NULL},
/* ActRcvFrmEnrSevStd*/{1428,-1,TabUnk,ActLstStd ,0x3E0,0x3C0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_ReceiveFormAdminStds ,NULL},
/* ActRcvFrmEnrSevNET*/{1643,-1,TabUnk,ActLstTch ,0x3C0,0x3C0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_ReceiveFormAdminNonEditTchs,NULL},
/* ActRcvFrmEnrSevTch*/{1429,-1,TabUnk,ActLstTch ,0x3C0,0x3C0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_ReceiveFormAdminTchs ,NULL},
/* ActCnfID_Oth */{1568,-1,TabUnk,ActLstOth ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,ID_ConfirmOtherUsrID ,NULL},
/* ActCnfID_Std */{1569,-1,TabUnk,ActLstStd ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,ID_ConfirmOtherUsrID ,NULL},
@ -4635,6 +4637,7 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un
ActAccEnrNEdTch, // #1640
ActRemMe_NEdTch, // #1641
ActReqEnrSevNEdTch, // #1642
ActRcvFrmEnrSevNET, // #1643
};
/*****************************************************************************/
@ -5128,7 +5131,7 @@ void Act_AdjustCurrentAction (void)
case Rol_STD:
Gbl.Action.Act = ActReqAccEnrStd;
break;
case Rol_NED_TCH:
case Rol_NET:
Gbl.Action.Act = ActReqAccEnrNEdTch;
break;
case Rol_TCH:
@ -5195,7 +5198,7 @@ void Act_AdjustCurrentAction (void)
if (Gbl.Action.Act == ActMnu) // Do the following check sometimes, for example when the user changes the current tab
Gbl.CurrentCrs.Info.ShowMsgMustBeRead = Inf_GetIfIMustReadAnyCrsInfoInThisCrs ();
break;
case Rol_NED_TCH:
case Rol_NET:
break;
case Rol_TCH:
if (Gbl.Action.Act == ActReqTst ||

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 + 160 + 172 + 42 + 14 + 97)
#define Act_NUM_ACTIONS (1 + 9 + 43 + 17 + 47 + 32 + 24 + 115 + 72 + 416 + 161 + 172 + 42 + 14 + 97)
#define Act_MAX_ACTION_COD 1642
#define Act_MAX_ACTION_COD 1643
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 12
@ -1098,52 +1098,53 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to
#define ActRemAdmDeg (ActChgNumRowFooGrp + 120)
#define ActRcvFrmEnrSevStd (ActChgNumRowFooGrp + 121)
#define ActRcvFrmEnrSevTch (ActChgNumRowFooGrp + 122)
#define ActRcvFrmEnrSevNET (ActChgNumRowFooGrp + 122)
#define ActRcvFrmEnrSevTch (ActChgNumRowFooGrp + 123)
#define ActCnfID_Oth (ActChgNumRowFooGrp + 123)
#define ActCnfID_Std (ActChgNumRowFooGrp + 124)
#define ActCnfID_Tch (ActChgNumRowFooGrp + 125)
#define ActCnfID_Oth (ActChgNumRowFooGrp + 124)
#define ActCnfID_Std (ActChgNumRowFooGrp + 125)
#define ActCnfID_Tch (ActChgNumRowFooGrp + 126)
#define ActFrmIDsOth (ActChgNumRowFooGrp + 126)
#define ActFrmIDsStd (ActChgNumRowFooGrp + 127)
#define ActFrmIDsTch (ActChgNumRowFooGrp + 128)
#define ActRemID_Oth (ActChgNumRowFooGrp + 129)
#define ActRemID_Std (ActChgNumRowFooGrp + 130)
#define ActRemID_Tch (ActChgNumRowFooGrp + 131)
#define ActNewID_Oth (ActChgNumRowFooGrp + 132)
#define ActNewID_Std (ActChgNumRowFooGrp + 133)
#define ActNewID_Tch (ActChgNumRowFooGrp + 134)
#define ActFrmPwdOth (ActChgNumRowFooGrp + 135)
#define ActFrmPwdStd (ActChgNumRowFooGrp + 136)
#define ActFrmPwdTch (ActChgNumRowFooGrp + 137)
#define ActChgPwdOth (ActChgNumRowFooGrp + 138)
#define ActChgPwdStd (ActChgNumRowFooGrp + 139)
#define ActChgPwdTch (ActChgNumRowFooGrp + 140)
#define ActFrmMaiOth (ActChgNumRowFooGrp + 141)
#define ActFrmMaiStd (ActChgNumRowFooGrp + 142)
#define ActFrmMaiTch (ActChgNumRowFooGrp + 143)
#define ActRemMaiOth (ActChgNumRowFooGrp + 144)
#define ActRemMaiStd (ActChgNumRowFooGrp + 145)
#define ActRemMaiTch (ActChgNumRowFooGrp + 146)
#define ActNewMaiOth (ActChgNumRowFooGrp + 147)
#define ActNewMaiStd (ActChgNumRowFooGrp + 148)
#define ActNewMaiTch (ActChgNumRowFooGrp + 149)
#define ActFrmIDsOth (ActChgNumRowFooGrp + 127)
#define ActFrmIDsStd (ActChgNumRowFooGrp + 128)
#define ActFrmIDsTch (ActChgNumRowFooGrp + 129)
#define ActRemID_Oth (ActChgNumRowFooGrp + 130)
#define ActRemID_Std (ActChgNumRowFooGrp + 131)
#define ActRemID_Tch (ActChgNumRowFooGrp + 132)
#define ActNewID_Oth (ActChgNumRowFooGrp + 133)
#define ActNewID_Std (ActChgNumRowFooGrp + 134)
#define ActNewID_Tch (ActChgNumRowFooGrp + 135)
#define ActFrmPwdOth (ActChgNumRowFooGrp + 136)
#define ActFrmPwdStd (ActChgNumRowFooGrp + 137)
#define ActFrmPwdTch (ActChgNumRowFooGrp + 138)
#define ActChgPwdOth (ActChgNumRowFooGrp + 139)
#define ActChgPwdStd (ActChgNumRowFooGrp + 140)
#define ActChgPwdTch (ActChgNumRowFooGrp + 141)
#define ActFrmMaiOth (ActChgNumRowFooGrp + 142)
#define ActFrmMaiStd (ActChgNumRowFooGrp + 143)
#define ActFrmMaiTch (ActChgNumRowFooGrp + 144)
#define ActRemMaiOth (ActChgNumRowFooGrp + 145)
#define ActRemMaiStd (ActChgNumRowFooGrp + 146)
#define ActRemMaiTch (ActChgNumRowFooGrp + 147)
#define ActNewMaiOth (ActChgNumRowFooGrp + 148)
#define ActNewMaiStd (ActChgNumRowFooGrp + 149)
#define ActNewMaiTch (ActChgNumRowFooGrp + 150)
#define ActRemStdCrs (ActChgNumRowFooGrp + 150)
#define ActRemTchCrs (ActChgNumRowFooGrp + 151)
#define ActRemUsrGbl (ActChgNumRowFooGrp + 152)
#define ActRemStdCrs (ActChgNumRowFooGrp + 151)
#define ActRemTchCrs (ActChgNumRowFooGrp + 152)
#define ActRemUsrGbl (ActChgNumRowFooGrp + 153)
#define ActReqRemAllStdCrs (ActChgNumRowFooGrp + 153)
#define ActRemAllStdCrs (ActChgNumRowFooGrp + 154)
#define ActReqRemAllStdCrs (ActChgNumRowFooGrp + 154)
#define ActRemAllStdCrs (ActChgNumRowFooGrp + 155)
#define ActReqRemOldUsr (ActChgNumRowFooGrp + 155)
#define ActRemOldUsr (ActChgNumRowFooGrp + 156)
#define ActReqRemOldUsr (ActChgNumRowFooGrp + 156)
#define ActRemOldUsr (ActChgNumRowFooGrp + 157)
#define ActLstDupUsr (ActChgNumRowFooGrp + 157)
#define ActLstSimUsr (ActChgNumRowFooGrp + 158)
#define ActRemDupUsr (ActChgNumRowFooGrp + 159)
#define ActLstDupUsr (ActChgNumRowFooGrp + 158)
#define ActLstSimUsr (ActChgNumRowFooGrp + 159)
#define ActRemDupUsr (ActChgNumRowFooGrp + 160)
#define ActLstClk (ActChgNumRowFooGrp + 160)
#define ActLstClk (ActChgNumRowFooGrp + 161)
/*****************************************************************************/
/******************************** Social tab *********************************/

View File

@ -428,12 +428,12 @@ void Ann_ShowFormAnnouncement (void)
Rol_WriteSelectorRoles (1 << Rol_UNK |
1 << Rol_GST |
1 << Rol_STD |
1 << Rol_NED_TCH |
1 << Rol_NET |
1 << Rol_TCH,
1 << Rol_UNK |
1 << Rol_GST |
1 << Rol_STD |
1 << Rol_NED_TCH |
1 << Rol_NET |
1 << Rol_TCH,
false,false);
fprintf (Gbl.F.Out,"</td>"

View File

@ -589,7 +589,7 @@ static void Asg_PutFormsToRemEditOneAsg (long AsgCod,bool Hidden)
Lay_PutContextualIconToEdit (ActEdiOneAsg,Asg_PutParams);
// no break
case Rol_STD:
case Rol_NED_TCH:
case Rol_NET:
/***** Put form to print assignment *****/
Lay_PutContextualIconToPrint (ActPrnOneAsg,Asg_PutParams);
break;
@ -1717,7 +1717,7 @@ static bool Asg_CheckIfIBelongToCrsOrGrpsThisAssignment (long AsgCod)
switch (Gbl.Usrs.Me.LoggedRole)
{
case Rol_STD:
case Rol_NED_TCH:
case Rol_NET:
case Rol_TCH:
// Students and teachers can do assignments depending on groups
/***** Get if I can do an assignment from database *****/

View File

@ -168,7 +168,7 @@ void Att_SeeAttEvents (void)
case Rol_STD:
Att_PutFormToListMyAttendance ();
break;
case Rol_NED_TCH:
case Rol_NET:
case Rol_TCH:
case Rol_SYS_ADM:
Att_PutFormToListStdsAttendance ();
@ -1825,7 +1825,7 @@ void Att_SeeOneAttEvent (void)
case Rol_STD:
Att_ListAttOnlyMeAsStudent (&Att);
break;
case Rol_NED_TCH:
case Rol_NET:
case Rol_TCH:
case Rol_SYS_ADM:
/***** Show list of students *****/

View File

@ -620,7 +620,7 @@ static void Ctr_Configuration (bool PrintView)
/***** Number of users in courses of this centre *****/
Ctr_ShowNumUsrsInCrssOfCtr (Rol_TCH);
Ctr_ShowNumUsrsInCrssOfCtr (Rol_NED_TCH);
Ctr_ShowNumUsrsInCrssOfCtr (Rol_NET);
Ctr_ShowNumUsrsInCrssOfCtr (Rol_STD);
Ctr_ShowNumUsrsInCrssOfCtr (Rol_UNK);
}

View File

@ -233,13 +233,17 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 16.220.6 (2017-05-21)"
#define Log_PLATFORM_VERSION "SWAD 16.220.7 (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.7: May 21, 2017 Changes related with new role. Not finished. (219535 lines)
1 change necessary in database:
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1643','es','N','Inscribir/eliminar varios profesores no editores');
Version 16.220.6: May 21, 2017 Changes related with new role. Not finished. (219485 lines)
1 change necessary in database:
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1642','es','N','Administrar varios profesores no editores');

View File

@ -166,7 +166,7 @@ void Cht_ShowListOfAvailableChatRooms (void)
ThisRoomFullName,ThisRoomFullName);
Cht_WriteLinkToChat2 ("GBL_STD",ThisRoomFullName);
break;
case Rol_NED_TCH:
case Rol_NET:
case Rol_TCH:
sprintf (ThisRoomFullName,"%s (%s)",
Txt_General,Txt_ROLES_PLURAL_abc[Rol_TCH][Usr_SEX_ALL]);
@ -481,7 +481,7 @@ void Cht_OpenChatWindow (void)
Cht_MAX_BYTES_ROOM_FULL_NAMES);
}
if (Gbl.Usrs.Me.LoggedRole == Rol_NED_TCH ||
if (Gbl.Usrs.Me.LoggedRole == Rol_NET ||
Gbl.Usrs.Me.LoggedRole == Rol_TCH)
if (strcmp (RoomCode,"GBL_TCH"))
{

View File

@ -436,7 +436,7 @@ void Con_ComputeConnectedUsrsBelongingToCurrentCrs (void)
Con_ComputeConnectedUsrsWithARoleBelongingToCurrentCrs (Rol_TCH);
/***** Number of non-editing teachers *****/
Con_ComputeConnectedUsrsWithARoleBelongingToCurrentCrs (Rol_NED_TCH);
Con_ComputeConnectedUsrsWithARoleBelongingToCurrentCrs (Rol_NET);
/***** Number of students *****/
Con_ComputeConnectedUsrsWithARoleBelongingToCurrentCrs (Rol_STD);
@ -485,7 +485,7 @@ static void Con_ShowConnectedUsrsBelongingToLocation (void)
/***** Number of teachers and students *****/
fprintf (Gbl.F.Out,"<table class=\"CONNECTED_LIST\">");
Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnMainZone (Rol_TCH);
Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnMainZone (Rol_NED_TCH);
Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnMainZone (Rol_NET);
Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnMainZone (Rol_STD);
if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM)
Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnMainZone (Rol_GST);
@ -532,7 +532,7 @@ void Con_ShowConnectedUsrsBelongingToCurrentCrs (void)
Gbl.Usrs.Connected.NumUsrs = 0;
Gbl.Usrs.Connected.NumUsrsToList = 0;
Con_ShowConnectedUsrsWithARoleBelongingToCurrentCrsOnRightColumn (Rol_TCH);
Con_ShowConnectedUsrsWithARoleBelongingToCurrentCrsOnRightColumn (Rol_NED_TCH);
Con_ShowConnectedUsrsWithARoleBelongingToCurrentCrsOnRightColumn (Rol_NET);
Con_ShowConnectedUsrsWithARoleBelongingToCurrentCrsOnRightColumn (Rol_STD);
fprintf (Gbl.F.Out,"</table>");
@ -767,7 +767,7 @@ static void Con_GetNumConnectedUsrsWithARoleBelongingCurrentLocation (Rol_Role_t
" AND connected.UsrCod=usr_data.UsrCod");
break;
case Rol_STD:
case Rol_NED_TCH:
case Rol_NET:
case Rol_TCH:
switch (Gbl.Scope.Current)
{
@ -1002,7 +1002,7 @@ static void Con_WriteRowConnectedUsrOnRightColumn (Rol_Role_t Role)
case Rol_STD:
Act_FormStartUnique (ActSeeRecOneStd);
break;
case Rol_NED_TCH:
case Rol_NET:
case Rol_TCH:
Act_FormStartUnique (ActSeeRecOneTch);
break;
@ -1069,7 +1069,7 @@ static void Con_ShowConnectedUsrsCurrentLocationOneByOneOnMainZone (Rol_Role_t R
" ORDER BY Dif");
break;
case Rol_STD:
case Rol_NED_TCH:
case Rol_NET:
case Rol_TCH:
switch (Gbl.Scope.Current)
{
@ -1205,7 +1205,7 @@ static void Con_ShowConnectedUsrsCurrentLocationOneByOneOnMainZone (Rol_Role_t R
case Rol_STD:
Act_FormStart (ActSeeRecOneStd);
break;
case Rol_NED_TCH:
case Rol_NET:
case Rol_TCH:
Act_FormStart (ActSeeRecOneTch);
break;

View File

@ -430,7 +430,7 @@ static void Cty_Configuration (bool PrintView)
/***** Number of users in courses of this country *****/
Cty_ShowNumUsrsInCrssOfCty (Rol_TCH);
Cty_ShowNumUsrsInCrssOfCty (Rol_NED_TCH);
Cty_ShowNumUsrsInCrssOfCty (Rol_NET);
Cty_ShowNumUsrsInCrssOfCty (Rol_STD);
Cty_ShowNumUsrsInCrssOfCty (Rol_UNK);
}

View File

@ -429,7 +429,7 @@ static void Crs_Configuration (bool PrintView)
{
/***** Number of users *****/
Crs_ShowNumUsrsInCrs (Rol_TCH);
Crs_ShowNumUsrsInCrs (Rol_NED_TCH);
Crs_ShowNumUsrsInCrs (Rol_NET);
Crs_ShowNumUsrsInCrs (Rol_STD);
/***** Indicators *****/
@ -1287,7 +1287,7 @@ static bool Crs_ListCoursesOfAYearForSeeing (unsigned Year)
"</td>",
TxtClassNormal,BgColor,
Crs->NumUsrs[Rol_TCH] +
Crs->NumUsrs[Rol_NED_TCH]);
Crs->NumUsrs[Rol_NET]);
/* Current number of students in this course */
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">"
@ -1513,7 +1513,7 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
"%u"
"</td>",
Crs->NumUsrs[Rol_TCH] +
Crs->NumUsrs[Rol_NED_TCH]);
Crs->NumUsrs[Rol_NET]);
/* Current number of students in this course */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
@ -1993,7 +1993,7 @@ bool Crs_GetDataOfCourseByCod (struct Course *Crs)
Crs->FullName[0] = '\0';
Crs->NumUsrs[Rol_UNK ] =
Crs->NumUsrs[Rol_STD ] =
Crs->NumUsrs[Rol_NED_TCH] =
Crs->NumUsrs[Rol_NET] =
Crs->NumUsrs[Rol_TCH ] = 0;
/***** Check if course code is correct *****/
@ -2057,10 +2057,10 @@ static void Crs_GetDataOfCourseFromRow (struct Course *Crs,MYSQL_ROW row)
/***** Get number of users *****/
Crs->NumUsrs[Rol_STD ] = Usr_GetNumUsrsInCrs (Rol_STD ,Crs->CrsCod);
Crs->NumUsrs[Rol_NED_TCH] = Usr_GetNumUsrsInCrs (Rol_NED_TCH,Crs->CrsCod);
Crs->NumUsrs[Rol_NET] = Usr_GetNumUsrsInCrs (Rol_NET,Crs->CrsCod);
Crs->NumUsrs[Rol_TCH ] = Usr_GetNumUsrsInCrs (Rol_TCH ,Crs->CrsCod);
Crs->NumUsrs[Rol_UNK ] = Crs->NumUsrs[Rol_STD ] +
Crs->NumUsrs[Rol_NED_TCH] +
Crs->NumUsrs[Rol_NET] +
Crs->NumUsrs[Rol_TCH ];
}
@ -2786,7 +2786,7 @@ void Crs_ContEditAfterChgCrs (void)
false);
break;
case Rol_STD:
case Rol_NED_TCH:
case Rol_NET:
case Rol_TCH:
if (Gbl.Degs.EditingCrs.CrsCod != Gbl.CurrentCrs.Crs.CrsCod)
PutButtonToRequestRegistration = !Usr_CheckIfUsrBelongsToCrs (Gbl.Usrs.Me.UsrDat.UsrCod,
@ -3163,7 +3163,7 @@ static void Crs_WriteRowCrsData (unsigned NumCrs,MYSQL_ROW row,bool WriteColumnA
/***** Get number of teachers and students in this course *****/
NumTchs = Usr_GetNumUsrsInCrs (Rol_TCH ,CrsCod) +
Usr_GetNumUsrsInCrs (Rol_NED_TCH,CrsCod);
Usr_GetNumUsrsInCrs (Rol_NET,CrsCod);
NumStds = Usr_GetNumUsrsInCrs (Rol_STD ,CrsCod);
if (NumTchs + NumStds)
{

View File

@ -516,7 +516,7 @@ static void Deg_Configuration (bool PrintView)
/***** Number of users *****/
Deg_ShowNumUsrsInCrssOfDeg (Rol_TCH);
Deg_ShowNumUsrsInCrssOfDeg (Rol_NED_TCH);
Deg_ShowNumUsrsInCrssOfDeg (Rol_NET);
Deg_ShowNumUsrsInCrssOfDeg (Rol_STD);
Deg_ShowNumUsrsInCrssOfDeg (Rol_UNK);
}

View File

@ -329,7 +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_NET);
Crs_GetAndWriteCrssOfAUsr (&UsrDat,Rol_STD);
fprintf (Gbl.F.Out,"</td>"

View File

@ -214,7 +214,7 @@ void Enr_ModifyRoleInCurrentCrs (struct UsrData *UsrDat,Rol_Role_t NewRole)
switch (NewRole)
{
case Rol_STD:
case Rol_NED_TCH:
case Rol_NET:
case Rol_TCH:
break;
default:
@ -253,7 +253,7 @@ void Enr_RegisterUsrInCurrentCrs (struct UsrData *UsrDat,Rol_Role_t NewRole,
switch (NewRole)
{
case Rol_STD:
case Rol_NED_TCH:
case Rol_NET:
case Rol_TCH:
break;
default:
@ -306,7 +306,7 @@ static void Enr_NotifyAfterEnrolment (struct UsrData *UsrDat,Rol_Role_t NewRole)
case Rol_STD:
NotifyEvent = Ntf_EVENT_ENROLMENT_STD;
break;
case Rol_NED_TCH:
case Rol_NET:
NotifyEvent = Ntf_EVENT_ENROLMENT_NED_TCH;
break;
case Rol_TCH:
@ -392,7 +392,7 @@ void Enr_ReqAcceptRegisterInCrs (void)
case Rol_STD:
Act_FormStart (ActAccEnrStd);
break;
case Rol_NED_TCH:
case Rol_NET:
Act_FormStart (ActAccEnrNEdTch);
break;
case Rol_TCH:
@ -410,7 +410,7 @@ void Enr_ReqAcceptRegisterInCrs (void)
case Rol_STD:
Act_FormStart (ActRemMe_Std);
break;
case Rol_NED_TCH:
case Rol_NET:
Act_FormStart (ActRemMe_NEdTch);
break;
case Rol_TCH:
@ -431,7 +431,7 @@ void Enr_ReqAcceptRegisterInCrs (void)
case Rol_STD:
NotifyEvent = Ntf_EVENT_ENROLMENT_STD;
break;
case Rol_NED_TCH:
case Rol_NET:
NotifyEvent = Ntf_EVENT_ENROLMENT_NED_TCH;
break;
case Rol_TCH:
@ -585,7 +585,7 @@ void Enr_ReqAdminStds (void)
void Enr_ReqAdminNonEditingTchs (void)
{
Enr_ReqAdminUsrs (Rol_NED_TCH);
Enr_ReqAdminUsrs (Rol_NET);
}
void Enr_ReqAdminTchs (void)
@ -600,10 +600,9 @@ static void Enr_ReqAdminUsrs (Rol_Role_t Role)
switch (Gbl.Usrs.Me.LoggedRole)
{
case Rol_GST:
Enr_AskIfRegRemMe (Rol_GST);
break;
case Rol_STD:
Enr_AskIfRegRemMe (Rol_STD);
case Rol_NET:
Enr_AskIfRegRemMe (Role);
break;
case Rol_TCH:
if (Gbl.CurrentCrs.Crs.CrsCod > 0 &&
@ -636,6 +635,7 @@ static void Enr_ShowFormRegRemSeveralUsrs (Rol_Role_t Role)
extern const char *Hlp_USERS_Administration_administer_multiple_users;
extern const char *The_ClassTitle[The_NUM_THEMES];
extern const char *Txt_Administer_multiple_students;
extern const char *Txt_Administer_multiple_non_editing_teachers;
extern const char *Txt_Administer_multiple_teachers;
extern const char *Txt_Step_1_Provide_a_list_of_users;
extern const char *Txt_Type_or_paste_a_list_of_IDs_nicks_or_emails_;
@ -645,6 +645,8 @@ static void Enr_ShowFormRegRemSeveralUsrs (Rol_Role_t Role)
extern const char *Txt_No_groups_have_been_created_in_the_course_X_Therefore_;
extern const char *Txt_Step_4_Confirm_the_enrolment_removing;
extern const char *Txt_Confirm;
Act_Action_t NextAction;
const char *Title;
/***** Put contextual links *****/
if (Role == Rol_STD && // Users to admin: students
@ -660,14 +662,30 @@ static void Enr_ShowFormRegRemSeveralUsrs (Rol_Role_t Role)
}
/***** Form to send students to be enroled / removed *****/
Act_FormStart (Role == Rol_STD ? ActRcvFrmEnrSevStd :
ActRcvFrmEnrSevTch);
switch (Role)
{
case Rol_STD:
NextAction = ActRcvFrmEnrSevStd;
Title = Txt_Administer_multiple_students;
break;
case Rol_NET:
NextAction = ActRcvFrmEnrSevNET;
Title = Txt_Administer_multiple_non_editing_teachers;
break;
case Rol_TCH:
NextAction = ActRcvFrmEnrSevTch;
Title = Txt_Administer_multiple_teachers;
break;
default:
NextAction = ActUnk;
Title = NULL;
Lay_ShowErrorAndExit ("Wrong role.");
break;
}
Act_FormStart (NextAction);
/***** Start frame *****/
Lay_StartRoundFrame (NULL,
Role == Rol_STD ? Txt_Administer_multiple_students :
Txt_Administer_multiple_teachers,
NULL,
Lay_StartRoundFrame (NULL,Title,NULL,
Hlp_USERS_Administration_administer_multiple_users);
/***** Step 1: List of students to be enroled / removed *****/
@ -1310,6 +1328,11 @@ void Enr_ReceiveFormAdminStds (void)
Enr_ReceiveFormUsrsCrs (Rol_STD);
}
void Enr_ReceiveFormAdminNonEditTchs (void)
{
Enr_ReceiveFormUsrsCrs (Rol_NET);
}
void Enr_ReceiveFormAdminTchs (void)
{
Enr_ReceiveFormUsrsCrs (Rol_TCH);
@ -2983,7 +3006,7 @@ void Enr_PutLinkToAdminSeveralUsrs (Rol_Role_t Role)
NextAction = ActReqEnrSevStd;
TitleText = Txt_Administer_multiple_students;
break;
case Rol_NED_TCH:
case Rol_NET:
NextAction = ActReqEnrSevNEdTch;
TitleText = Txt_Administer_multiple_teachers;
break;

View File

@ -99,6 +99,7 @@ void Enr_RemoveOldUsrs (void);
bool Enr_PutActionsRegRemOneUsr (bool ItsMe);
void Enr_ReceiveFormAdminStds (void);
void Enr_ReceiveFormAdminNonEditTchs (void);
void Enr_ReceiveFormAdminTchs (void);
void Enr_PutLinkToAdminSeveralUsrs (Rol_Role_t Role);

View File

@ -49,7 +49,7 @@ typedef enum
// ...but no course selected
// ...or not belonging to the current course
Rol_STD = 3, // Student in the current course
Rol_NED_TCH = 4, // Non-editing teacher in the current course
Rol_NET = 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

View File

@ -1026,7 +1026,7 @@ static void Svy_SetAllowedAndHiddenScopes (unsigned *ScopesAllowed,
}
}
break;
case Rol_NED_TCH: // Non-editing teacher in current course **************
case Rol_NET: // Non-editing teacher in current course **************
case Rol_TCH: // Teacher in current course **************************
*ScopesAllowed = 1 << Sco_SCOPE_SYS;
*HiddenAllowed = 0;

View File

@ -2058,6 +2058,27 @@ const char *Txt_Administer_multiple_students =
"Gerenciar v&aacute;rios estudantes";
#endif
const char *Txt_Administer_multiple_non_editing_teachers =
#if L==1
"Administrar diversos professors no editors";
#elif L==2
"Verwalten Sie mehrere nicht bearbeiteter Lehrkr&auml;fte";
#elif L==3
"Administer multiple non-editing teachers";
#elif L==4
"Administrar varios profesores no editores";
#elif L==5
"G&eacute;rer plusieurs enseignants non-&eacute;diteurs";
#elif L==6
"Administrar varios profesores no editores"; // Okoteve traducción
#elif L==7
"Gestire pi&ugrave; professori non-editing";
#elif L==8
"Zarz&aogon;dzaj wielu nauczycieli nie edytuj&aogon;cy";
#elif L==9
"Gerenciar v&aacute;rios professores n&atilde;o editores";
#endif
const char *Txt_Administer_multiple_teachers =
#if L==1
"Administrar diversos professors";