Version 16.220.8

This commit is contained in:
Antonio Cañas Vargas 2017-05-22 00:51:45 +02:00
parent 4878eccedc
commit 094932ead5
6 changed files with 255 additions and 126 deletions

View File

@ -1011,7 +1011,7 @@ Users:
822. ActSeeUsrAgd Show another user's public agenda
823. ActReqEnrSevStd Request the enrolment/removing of several students to / from current course
NEW. ActReqEnrSevTch Request the enrolment/removing of several non-editing teachers to / from current course
NEW. ActReqEnrSevNET Request the enrolment/removing of several non-editing teachers to / from current course
824. ActReqEnrSevTch Request the enrolment/removing of several teachers to / from current course
825. ActReqLstStdAtt Request listing of attendance of several students to several events
@ -1037,11 +1037,12 @@ Users:
844. ActRejSignUp Reject the enrolment of a user in a course
845. ActReqMdfOneOth Request a user's ID for enrolment/removing
846. ActReqMdfOneStd Request a user's ID for enrolment/removing
847. ActReqMdfOneTch Request a user's ID for enrolment/removing
846. ActReqMdfOneStd Request a student's ID for enrolment/removing
847. ActReqMdfOneTch Request a teacher's ID for enrolment/removing
848. ActReqMdfOth Request enrolment/removing of a user
849. ActReqMdfStd Request enrolment/removing of a user
850. ActReqMdfTch Request enrolment/removing of a user
849. ActReqMdfStd Request enrolment/removing of a student
NEW. ActReqMdfNET Request enrolment/removing of a non-editing teacher
850. ActReqMdfTch Request enrolment/removing of a teacher
851. ActReqOthPho Show form to send the photo of another user
852. ActReqStdPho Show form to send the photo of another user
853. ActReqTchPho Show form to send the photo of another user
@ -1057,20 +1058,22 @@ Users:
863. ActRemOthPho Remove other user's photo
864. ActRemStdPho Remove student's photo
865. ActRemTchPho Remove teacher's photo
866. ActCreOth Create a new user
867. ActCreStd Create a new user
868. ActCreTch Create a new user
866. ActCreOth Create a new guest
867. ActCreStd Create a new student
NEW. ActCreNET Create a new non.editing teacher
868. ActCreTch Create a new teacher
869. ActUpdOth Update another user's data and groups
870. ActUpdStd Update another user's data and groups
871. ActUpdTch Update another user's data and groups
870. ActUpdStd Update another student's data and groups
NEW. ActUpdNET Update another non-editing teacher's data and groups
871. ActUpdTch Update another teacher'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
NEW. ActReqAccEnrNET 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
NEW. ActAccEnrNEdTch Accept enrolment as non-editing teacher in current course
NEW. ActAccEnrNET Accept enrolment as non-editing teacher in current course
875. ActAccEnrTch Accept enrolment as teacher in current course
876. ActRemMe_Std Reject enrolment as student in current course
NEW. ActRemMe_NEdTch Reject enrolment as non-editing teacher in current course
NEW. ActRemMe_NET Reject enrolment as non-editing teacher in current course
877. ActRemMe_Tch Reject enrolment as teacher in current course
878. ActNewAdmIns Register an administrador in this institution
@ -1116,6 +1119,7 @@ Users:
915. ActNewMaiTch Create a new user's email for another user
916. ActRemStdCrs Remove a student from the current course
NEW. ActRemNETCrs Remove a non-editing teacher from the current course
917. ActRemTchCrs Remove a teacher from the current course
918. ActRemUsrGbl Eliminate completely a user from the platform
919. ActReqRemAllStdCrs Request the removal of all the students from the current course
@ -2509,6 +2513,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActReqMdfOth */{1418,-1,TabUnk,ActLstOth ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_AskIfRegRemAnotherOth ,NULL},
/* ActReqMdfStd */{1419,-1,TabUnk,ActLstStd ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_AskIfRegRemAnotherStd ,NULL},
/* ActReqMdfNET */{1644,-1,TabUnk,ActLstTch ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_AskIfRegRemAnotherTch ,NULL},
/* ActReqMdfTch */{1420,-1,TabUnk,ActLstTch ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_AskIfRegRemAnotherTch ,NULL},
/* ActReqOthPho */{1432,-1,TabUnk,ActLstOth ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Pho_SendPhotoUsr ,NULL},
@ -2532,10 +2537,12 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActCreOth */{1444,-1,TabUnk,ActLstOth ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_THIS_WINDOW,Enr_CreateNewUsr1 ,Enr_CreateNewUsr2 ,NULL},
/* ActCreStd */{1445,-1,TabUnk,ActLstStd ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_THIS_WINDOW,Enr_CreateNewUsr1 ,Enr_CreateNewUsr2 ,NULL},
/* ActCreNET */{1645,-1,TabUnk,ActLstTch ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_THIS_WINDOW,Enr_CreateNewUsr1 ,Enr_CreateNewUsr2 ,NULL},
/* ActCreTch */{1446,-1,TabUnk,ActLstTch ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_THIS_WINDOW,Enr_CreateNewUsr1 ,Enr_CreateNewUsr2 ,NULL},
/* ActUpdOth */{1422,-1,TabUnk,ActLstOth ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_THIS_WINDOW,Enr_ModifyUsr1 ,Enr_ModifyUsr2 ,NULL},
/* ActUpdStd */{1423,-1,TabUnk,ActLstStd ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_THIS_WINDOW,Enr_ModifyUsr1 ,Enr_ModifyUsr2 ,NULL},
/* ActUpdNET */{1646,-1,TabUnk,ActLstTch ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_THIS_WINDOW,Enr_ModifyUsr1 ,Enr_ModifyUsr2 ,NULL},
/* 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},
@ -2593,6 +2600,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActNewMaiTch */{1483,-1,TabUnk,ActLstTch ,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Mai_NewOtherUsrEmail ,NULL},
/* ActRemStdCrs */{1462,-1,TabUnk,ActLstStd ,0x3F8,0x3C0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_RemUsrFromCrs ,NULL},
/* ActRemNETCrs */{1647,-1,TabUnk,ActLstTch ,0x3F0,0x3C0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_RemUsrFromCrs ,NULL},
/* ActRemTchCrs */{1463,-1,TabUnk,ActLstTch ,0x3E0,0x3C0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_RemUsrFromCrs ,NULL},
/* ActRemUsrGbl */{ 62,-1,TabUnk,ActLstOth ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Acc_GetUsrCodAndRemUsrGbl ,NULL},
@ -4633,11 +4641,15 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un
ActChgCalDeg1stDay, // #1636
ActPrnOneAsg, // #1637
ActChgDatFmt, // #1638
ActReqAccEnrNEdTch, // #1639
ActAccEnrNEdTch, // #1640
ActRemMe_NEdTch, // #1641
ActReqEnrSevNEdTch, // #1642
ActReqAccEnrNET, // #1639
ActAccEnrNET, // #1640
ActRemMe_NET, // #1641
ActReqEnrSevNET, // #1642
ActRcvFrmEnrSevNET, // #1643
ActReqMdfNET, // #1644
ActCreNET, // #1645
ActUpdNET, // #1646
ActRemNETCrs, // #1647
};
/*****************************************************************************/
@ -5132,7 +5144,7 @@ void Act_AdjustCurrentAction (void)
Gbl.Action.Act = ActReqAccEnrStd;
break;
case Rol_NET:
Gbl.Action.Act = ActReqAccEnrNEdTch;
Gbl.Action.Act = ActReqAccEnrNET;
break;
case Rol_TCH:
Gbl.Action.Act = ActReqAccEnrTch;

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 + 161 + 172 + 42 + 14 + 97)
#define Act_NUM_ACTIONS (1 + 9 + 43 + 17 + 47 + 32 + 24 + 115 + 72 + 416 + 165 + 172 + 42 + 14 + 97)
#define Act_MAX_ACTION_COD 1643
#define Act_MAX_ACTION_COD 1647
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 12
@ -1025,7 +1025,7 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to
#define ActSeeUsrAgd (ActChgNumRowFooGrp + 55)
#define ActReqEnrSevStd (ActChgNumRowFooGrp + 56)
#define ActReqEnrSevNEdTch (ActChgNumRowFooGrp + 57)
#define ActReqEnrSevNET (ActChgNumRowFooGrp + 57)
#define ActReqEnrSevTch (ActChgNumRowFooGrp + 58)
#define ActReqLstStdAtt (ActChgNumRowFooGrp + 59)
@ -1056,95 +1056,99 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to
#define ActReqMdfOth (ActChgNumRowFooGrp + 82)
#define ActReqMdfStd (ActChgNumRowFooGrp + 83)
#define ActReqMdfTch (ActChgNumRowFooGrp + 84)
#define ActReqMdfNET (ActChgNumRowFooGrp + 84)
#define ActReqMdfTch (ActChgNumRowFooGrp + 85)
#define ActReqOthPho (ActChgNumRowFooGrp + 85)
#define ActReqStdPho (ActChgNumRowFooGrp + 86)
#define ActReqTchPho (ActChgNumRowFooGrp + 87)
#define ActDetOthPho (ActChgNumRowFooGrp + 88)
#define ActDetStdPho (ActChgNumRowFooGrp + 89)
#define ActDetTchPho (ActChgNumRowFooGrp + 90)
#define ActUpdOthPho (ActChgNumRowFooGrp + 91)
#define ActUpdStdPho (ActChgNumRowFooGrp + 92)
#define ActUpdTchPho (ActChgNumRowFooGrp + 93)
#define ActReqRemOthPho (ActChgNumRowFooGrp + 94)
#define ActReqRemStdPho (ActChgNumRowFooGrp + 95)
#define ActReqRemTchPho (ActChgNumRowFooGrp + 96)
#define ActRemOthPho (ActChgNumRowFooGrp + 97)
#define ActRemStdPho (ActChgNumRowFooGrp + 98)
#define ActRemTchPho (ActChgNumRowFooGrp + 99)
#define ActCreOth (ActChgNumRowFooGrp + 100)
#define ActCreStd (ActChgNumRowFooGrp + 101)
#define ActCreTch (ActChgNumRowFooGrp + 102)
#define ActUpdOth (ActChgNumRowFooGrp + 103)
#define ActUpdStd (ActChgNumRowFooGrp + 104)
#define ActUpdTch (ActChgNumRowFooGrp + 105)
#define ActReqOthPho (ActChgNumRowFooGrp + 86)
#define ActReqStdPho (ActChgNumRowFooGrp + 87)
#define ActReqTchPho (ActChgNumRowFooGrp + 88)
#define ActDetOthPho (ActChgNumRowFooGrp + 89)
#define ActDetStdPho (ActChgNumRowFooGrp + 90)
#define ActDetTchPho (ActChgNumRowFooGrp + 91)
#define ActUpdOthPho (ActChgNumRowFooGrp + 92)
#define ActUpdStdPho (ActChgNumRowFooGrp + 93)
#define ActUpdTchPho (ActChgNumRowFooGrp + 94)
#define ActReqRemOthPho (ActChgNumRowFooGrp + 95)
#define ActReqRemStdPho (ActChgNumRowFooGrp + 96)
#define ActReqRemTchPho (ActChgNumRowFooGrp + 97)
#define ActRemOthPho (ActChgNumRowFooGrp + 98)
#define ActRemStdPho (ActChgNumRowFooGrp + 99)
#define ActRemTchPho (ActChgNumRowFooGrp + 100)
#define ActCreOth (ActChgNumRowFooGrp + 101)
#define ActCreStd (ActChgNumRowFooGrp + 102)
#define ActCreNET (ActChgNumRowFooGrp + 103)
#define ActCreTch (ActChgNumRowFooGrp + 104)
#define ActUpdOth (ActChgNumRowFooGrp + 105)
#define ActUpdStd (ActChgNumRowFooGrp + 106)
#define ActUpdNET (ActChgNumRowFooGrp + 107)
#define ActUpdTch (ActChgNumRowFooGrp + 108)
#define ActReqAccEnrStd (ActChgNumRowFooGrp + 106)
#define ActReqAccEnrNEdTch (ActChgNumRowFooGrp + 107)
#define ActReqAccEnrTch (ActChgNumRowFooGrp + 108)
#define ActAccEnrStd (ActChgNumRowFooGrp + 109)
#define ActAccEnrNEdTch (ActChgNumRowFooGrp + 110)
#define ActAccEnrTch (ActChgNumRowFooGrp + 111)
#define ActRemMe_Std (ActChgNumRowFooGrp + 112)
#define ActRemMe_NEdTch (ActChgNumRowFooGrp + 113)
#define ActRemMe_Tch (ActChgNumRowFooGrp + 114)
#define ActReqAccEnrStd (ActChgNumRowFooGrp + 109)
#define ActReqAccEnrNET (ActChgNumRowFooGrp + 110)
#define ActReqAccEnrTch (ActChgNumRowFooGrp + 111)
#define ActAccEnrStd (ActChgNumRowFooGrp + 112)
#define ActAccEnrNET (ActChgNumRowFooGrp + 113)
#define ActAccEnrTch (ActChgNumRowFooGrp + 114)
#define ActRemMe_Std (ActChgNumRowFooGrp + 115)
#define ActRemMe_NET (ActChgNumRowFooGrp + 116)
#define ActRemMe_Tch (ActChgNumRowFooGrp + 117)
#define ActNewAdmIns (ActChgNumRowFooGrp + 115)
#define ActRemAdmIns (ActChgNumRowFooGrp + 116)
#define ActNewAdmCtr (ActChgNumRowFooGrp + 117)
#define ActRemAdmCtr (ActChgNumRowFooGrp + 118)
#define ActNewAdmDeg (ActChgNumRowFooGrp + 119)
#define ActRemAdmDeg (ActChgNumRowFooGrp + 120)
#define ActNewAdmIns (ActChgNumRowFooGrp + 118)
#define ActRemAdmIns (ActChgNumRowFooGrp + 119)
#define ActNewAdmCtr (ActChgNumRowFooGrp + 120)
#define ActRemAdmCtr (ActChgNumRowFooGrp + 121)
#define ActNewAdmDeg (ActChgNumRowFooGrp + 122)
#define ActRemAdmDeg (ActChgNumRowFooGrp + 123)
#define ActRcvFrmEnrSevStd (ActChgNumRowFooGrp + 121)
#define ActRcvFrmEnrSevNET (ActChgNumRowFooGrp + 122)
#define ActRcvFrmEnrSevTch (ActChgNumRowFooGrp + 123)
#define ActRcvFrmEnrSevStd (ActChgNumRowFooGrp + 124)
#define ActRcvFrmEnrSevNET (ActChgNumRowFooGrp + 125)
#define ActRcvFrmEnrSevTch (ActChgNumRowFooGrp + 126)
#define ActCnfID_Oth (ActChgNumRowFooGrp + 124)
#define ActCnfID_Std (ActChgNumRowFooGrp + 125)
#define ActCnfID_Tch (ActChgNumRowFooGrp + 126)
#define ActCnfID_Oth (ActChgNumRowFooGrp + 127)
#define ActCnfID_Std (ActChgNumRowFooGrp + 128)
#define ActCnfID_Tch (ActChgNumRowFooGrp + 129)
#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 ActFrmIDsOth (ActChgNumRowFooGrp + 130)
#define ActFrmIDsStd (ActChgNumRowFooGrp + 131)
#define ActFrmIDsTch (ActChgNumRowFooGrp + 132)
#define ActRemID_Oth (ActChgNumRowFooGrp + 133)
#define ActRemID_Std (ActChgNumRowFooGrp + 134)
#define ActRemID_Tch (ActChgNumRowFooGrp + 135)
#define ActNewID_Oth (ActChgNumRowFooGrp + 136)
#define ActNewID_Std (ActChgNumRowFooGrp + 137)
#define ActNewID_Tch (ActChgNumRowFooGrp + 138)
#define ActFrmPwdOth (ActChgNumRowFooGrp + 139)
#define ActFrmPwdStd (ActChgNumRowFooGrp + 140)
#define ActFrmPwdTch (ActChgNumRowFooGrp + 141)
#define ActChgPwdOth (ActChgNumRowFooGrp + 142)
#define ActChgPwdStd (ActChgNumRowFooGrp + 143)
#define ActChgPwdTch (ActChgNumRowFooGrp + 144)
#define ActFrmMaiOth (ActChgNumRowFooGrp + 145)
#define ActFrmMaiStd (ActChgNumRowFooGrp + 146)
#define ActFrmMaiTch (ActChgNumRowFooGrp + 147)
#define ActRemMaiOth (ActChgNumRowFooGrp + 148)
#define ActRemMaiStd (ActChgNumRowFooGrp + 149)
#define ActRemMaiTch (ActChgNumRowFooGrp + 150)
#define ActNewMaiOth (ActChgNumRowFooGrp + 151)
#define ActNewMaiStd (ActChgNumRowFooGrp + 152)
#define ActNewMaiTch (ActChgNumRowFooGrp + 153)
#define ActRemStdCrs (ActChgNumRowFooGrp + 151)
#define ActRemTchCrs (ActChgNumRowFooGrp + 152)
#define ActRemUsrGbl (ActChgNumRowFooGrp + 153)
#define ActRemStdCrs (ActChgNumRowFooGrp + 154)
#define ActRemNETCrs (ActChgNumRowFooGrp + 155)
#define ActRemTchCrs (ActChgNumRowFooGrp + 156)
#define ActRemUsrGbl (ActChgNumRowFooGrp + 157)
#define ActReqRemAllStdCrs (ActChgNumRowFooGrp + 154)
#define ActRemAllStdCrs (ActChgNumRowFooGrp + 155)
#define ActReqRemAllStdCrs (ActChgNumRowFooGrp + 158)
#define ActRemAllStdCrs (ActChgNumRowFooGrp + 159)
#define ActReqRemOldUsr (ActChgNumRowFooGrp + 156)
#define ActRemOldUsr (ActChgNumRowFooGrp + 157)
#define ActReqRemOldUsr (ActChgNumRowFooGrp + 160)
#define ActRemOldUsr (ActChgNumRowFooGrp + 161)
#define ActLstDupUsr (ActChgNumRowFooGrp + 158)
#define ActLstSimUsr (ActChgNumRowFooGrp + 159)
#define ActRemDupUsr (ActChgNumRowFooGrp + 160)
#define ActLstDupUsr (ActChgNumRowFooGrp + 162)
#define ActLstSimUsr (ActChgNumRowFooGrp + 163)
#define ActRemDupUsr (ActChgNumRowFooGrp + 164)
#define ActLstClk (ActChgNumRowFooGrp + 161)
#define ActLstClk (ActChgNumRowFooGrp + 165)
/*****************************************************************************/
/******************************** Social tab *********************************/

View File

@ -233,13 +233,20 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 16.220.7 (2017-05-21)"
#define Log_PLATFORM_VERSION "SWAD 16.220.8 (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.8: May 21, 2017 Changes related with new role. Not finished. (219663 lines)
4 changes necessary in database:
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1644','es','N','Confirmar modif. profesor no editor');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1645','es','N','Crear usuario como profesor no editor');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1646','es','N','Modificar datos profesor no editor');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1647','es','N','Eliminar profesor no editor asignatura');
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');

View File

@ -393,7 +393,7 @@ void Enr_ReqAcceptRegisterInCrs (void)
Act_FormStart (ActAccEnrStd);
break;
case Rol_NET:
Act_FormStart (ActAccEnrNEdTch);
Act_FormStart (ActAccEnrNET);
break;
case Rol_TCH:
Act_FormStart (ActAccEnrTch);
@ -411,7 +411,7 @@ void Enr_ReqAcceptRegisterInCrs (void)
Act_FormStart (ActRemMe_Std);
break;
case Rol_NET:
Act_FormStart (ActRemMe_NEdTch);
Act_FormStart (ActRemMe_NET);
break;
case Rol_TCH:
Act_FormStart (ActRemMe_Tch);
@ -1374,10 +1374,14 @@ static void Enr_ReceiveFormUsrsCrs (Rol_Role_t Role)
switch (Role)
{
case Rol_STD:
if (Gbl.Usrs.Me.LoggedRole < Rol_TCH) // Can I register/remove students?
// No, I can not
Lay_ShowErrorAndExit ("You are not allowed to perform this action.");
break;
case Rol_NET:
case Rol_TCH:
if (Gbl.Usrs.Me.LoggedRole < Rol_DEG_ADM) // Can I register/remove teachers?
// No, I can not (TODO: teachers should be able to register/remove existing teachers)
if (Gbl.Usrs.Me.LoggedRole < Rol_DEG_ADM) // Can I register/remove teachers?
// No, I can not
Lay_ShowErrorAndExit ("You are not allowed to perform this action.");
break;
default:
@ -1454,7 +1458,8 @@ static void Enr_ReceiveFormUsrsCrs (Rol_Role_t Role)
LstGrps.NumGrps = 0; // Initialized to avoid bug reported by Coverity
Grp_GetLstCodsGrpWanted (&LstGrps);
/***** A student can't belong to more than one group when the type of group only allows to register in one group *****/
/***** A student can't belong to more than one group
when the type of group only allows to register in one group *****/
if (WhatToDo.RegisterUsrs &&
Role == Rol_STD &&
LstGrps.NumGrps >= 2)
@ -1483,7 +1488,7 @@ static void Enr_ReceiveFormUsrsCrs (Rol_Role_t Role)
if (WhatToDo.RemoveUsrs)
{
/***** Get list of users in current course *****/
Usr_GetListUsrs (Rol_STD,Sco_SCOPE_CRS);
Usr_GetListUsrs (Role,Sco_SCOPE_CRS);
if (Gbl.Usrs.LstUsrs[Role].NumUsrs)
{
@ -1972,6 +1977,7 @@ void Enr_SignUpInCrs (void)
/* Check if role is correct */
if (!(RoleFromForm == Rol_STD ||
RoleFromForm == Rol_NET ||
RoleFromForm == Rol_TCH))
Lay_ShowErrorAndExit ("Wrong role.");
@ -2122,6 +2128,7 @@ void Enr_AskIfRejectSignUp (void)
{
Role = Rol_GetRequestedRole (Gbl.Usrs.Other.UsrDat.UsrCod);
if (Role == Rol_STD ||
Role == Rol_NET ||
Role == Rol_TCH)
{
/***** Show question and button to reject user's enrolment request *****/
@ -2200,13 +2207,15 @@ void Enr_ShowEnrolmentRequests (void)
{
case Rol_TCH:
Enr_ShowEnrolmentRequestsGivenRoles ((1 << Rol_STD) |
(1 << Rol_TCH));
(1 << Rol_NET) |
(1 << Rol_TCH));
break;
case Rol_DEG_ADM:
case Rol_CTR_ADM:
case Rol_INS_ADM:
case Rol_SYS_ADM:
Enr_ShowEnrolmentRequestsGivenRoles (1 << Rol_TCH);
Enr_ShowEnrolmentRequestsGivenRoles ((1 << Rol_NET) |
(1 << Rol_TCH));
break;
default:
Lay_ShowErrorAndExit ("You don't have permission to list requesters.");
@ -2265,6 +2274,7 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
bool ShowPhoto = false;
char PhotoURL[PATH_MAX + 1];
Rol_Role_t DesiredRole;
Act_Action_t NextAction;
/***** Remove expired enrolment requests *****/
Enr_RemoveExpiredEnrolmentRequests ();
@ -2306,6 +2316,7 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
"<td class=\"DAT LEFT_MIDDLE\">",
The_ClassForm[Gbl.Prefs.Theme],Txt_Users);
Rol_WriteSelectorRoles (1 << Rol_STD |
1 << Rol_NET |
1 << Rol_TCH,
RolesSelected,
false,true);
@ -2812,6 +2823,7 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
if (UsrExists &&
!UsrBelongsToCrs &&
(DesiredRole == Rol_STD ||
DesiredRole == Rol_NET ||
DesiredRole == Rol_TCH))
{
/***** Number *****/
@ -2869,8 +2881,23 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
/***** Button to confirm the request *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">");
Act_FormStart (DesiredRole == Rol_STD ? ActReqMdfStd :
ActReqMdfTch);
switch (DesiredRole)
{
case Rol_STD:
NextAction = ActReqMdfStd;
break;
case Rol_NET:
NextAction = ActReqMdfNET;
break;
case Rol_TCH:
NextAction = ActReqMdfTch;
break;
default:
NextAction = ActUnk;
Lay_ShowErrorAndExit ("Wrong role.");
break;
}
Act_FormStart (NextAction);
Crs_PutParamCrsCod (Crs.CrsCod);
Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod);
Lay_PutCreateButtonInline (Txt_Register);
@ -3007,7 +3034,7 @@ void Enr_PutLinkToAdminSeveralUsrs (Rol_Role_t Role)
TitleText = Txt_Administer_multiple_students;
break;
case Rol_NET:
NextAction = ActReqEnrSevNEdTch;
NextAction = ActReqEnrSevNET;
TitleText = Txt_Administer_multiple_teachers;
break;
case Rol_TCH:
@ -3060,15 +3087,33 @@ static void Enr_ReqAnotherUsrIDToRegisterRemove (Rol_Role_t Role)
{
extern const char *Hlp_USERS_Administration_administer_one_user;
extern const char *Txt_Administer_one_user;
Act_Action_t NextAction;
/***** Start frame *****/
Lay_StartRoundFrame (NULL,Txt_Administer_one_user,NULL,
Hlp_USERS_Administration_administer_one_user);
/***** Write form to request another user's ID *****/
Enr_WriteFormToReqAnotherUsrID ( Role == Rol_STD ? ActReqMdfStd :
(Role == Rol_TCH ? ActReqMdfTch :
ActReqMdfOth));
switch (Role)
{
case Rol_GST:
NextAction = ActReqMdfOth;
break;
case Rol_STD:
NextAction = ActReqMdfStd;
break;
case Rol_NET:
NextAction = ActReqMdfNET;
break;
case Rol_TCH:
NextAction = ActReqMdfTch;
break;
default:
NextAction = ActUnk;
Lay_ShowErrorAndExit ("Wrong role.");
break;
}
Enr_WriteFormToReqAnotherUsrID (NextAction);
/***** End frame *****/
Lay_EndRoundFrame ();
@ -3401,8 +3446,23 @@ static void Enr_ReqRemOrRemUsrFromCrs (Enr_ReqDelOrDelUsr_t ReqDelOrDelUsr)
// A teacher can remove a student or himself
// An administrator can remove anyone
ItsMe = (Gbl.Usrs.Me.UsrDat.UsrCod == Gbl.Usrs.Other.UsrDat.UsrCod);
ICanRemove = (Gbl.Usrs.Me.LoggedRole == Rol_STD ? ItsMe :
(Gbl.Usrs.Me.LoggedRole >= Gbl.Usrs.Other.UsrDat.RoleInCurrentCrsDB));
switch (Gbl.Usrs.Me.LoggedRole)
{
case Rol_STD:
case Rol_NET:
ICanRemove = ItsMe;
break;
case Rol_TCH:
case Rol_DEG_ADM:
case Rol_CTR_ADM:
case Rol_INS_ADM:
case Rol_SYS_ADM:
ICanRemove = true;
break;
default:
ICanRemove = false;
break;
}
if (ICanRemove)
switch (ReqDelOrDelUsr)
{
@ -3693,9 +3753,24 @@ void Enr_CreateNewUsr1 (void)
}
/***** Change current action *****/
Gbl.Action.Act = (NewRole == Rol_STD) ? ActCreStd :
((NewRole == Rol_TCH) ? ActCreTch :
ActCreOth);
switch (NewRole)
{
case Rol_GST:
Gbl.Action.Act = ActCreOth;
break;
case Rol_STD:
Gbl.Action.Act = ActCreStd;
break;
case Rol_NET:
Gbl.Action.Act = ActCreNET;
break;
case Rol_TCH:
Gbl.Action.Act = ActCreTch;
break;
default:
Lay_ShowErrorAndExit ("Wrong role.");
break;
}
Tab_SetCurrentTab ();
}
else // User's ID not valid
@ -3804,9 +3879,24 @@ void Enr_ModifyUsr1 (void)
}
/***** Change current action *****/
Gbl.Action.Act = (NewRole == Rol_STD) ? ActUpdStd :
((NewRole == Rol_TCH) ? ActUpdTch :
ActUpdOth);
switch (NewRole)
{
case Rol_GST:
Gbl.Action.Act = ActUpdOth;
break;
case Rol_STD:
Gbl.Action.Act = ActUpdStd;
break;
case Rol_NET:
Gbl.Action.Act = ActUpdNET;
break;
case Rol_TCH:
Gbl.Action.Act = ActUpdTch;
break;
default:
Lay_ShowErrorAndExit ("Wrong role.");
break;
}
Tab_SetCurrentTab ();
}
}
@ -3947,6 +4037,7 @@ static void Enr_AskIfRemoveUsrFromCrs (struct UsrData *UsrDat,bool ItsMe)
extern const char *Txt_Remove_me_from_this_course;
extern const char *Txt_Remove_user_from_this_course;
extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
Act_Action_t NextAction;
if (Usr_CheckIfUsrBelongsToCrs (UsrDat->UsrCod,
Gbl.CurrentCrs.Crs.CrsCod,
@ -3964,8 +4055,23 @@ static void Enr_AskIfRemoveUsrFromCrs (struct UsrData *UsrDat,bool ItsMe)
Rec_ShowSharedRecordUnmodifiable (UsrDat);
/* Show form to request confirmation */
Act_FormStart (UsrDat->RoleInCurrentCrsDB == Rol_STD ? ActRemStdCrs :
ActRemTchCrs);
switch (UsrDat->RoleInCurrentCrsDB)
{
case Rol_STD:
NextAction = ActRemStdCrs;
break;
case Rol_NET:
NextAction = ActRemNETCrs;
break;
case Rol_TCH:
NextAction = ActRemTchCrs;
break;
default:
NextAction = ActUnk;
Lay_ShowErrorAndExit ("Wrong role.");
break;
}
Act_FormStart (NextAction);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Pwd_AskForConfirmationOnDangerousAction ();
Lay_PutRemoveButton (ItsMe ? Txt_Remove_me_from_this_course :

View File

@ -112,7 +112,7 @@ static const Act_Action_t Ntf_DefaultActions[Ntf_NUM_NOTIFY_EVENTS] =
/* Users tab */
ActReqAccEnrStd, // Ntf_EVENT_ENROLMENT_STD
ActReqAccEnrNEdTch, // Ntf_EVENT_ENROLMENT_NED_TCH
ActReqAccEnrNET, // Ntf_EVENT_ENROLMENT_NED_TCH
ActReqAccEnrTch, // Ntf_EVENT_ENROLMENT_TCH
ActSeeSignUpReq, // Ntf_EVENT_ENROLMENT_REQUEST

View File

@ -2364,7 +2364,7 @@ void Rec_ShowSharedUsrRecord (Rec_SharedRecordViewType_t TypeOfView,
case Rec_SHA_OTHER_EXISTING_USR_FORM:
Act_FormStart ( UsrDat->RoleInCurrentCrsDB == Rol_STD ? ActUpdStd :
(UsrDat->RoleInCurrentCrsDB == Rol_TCH ? ActUpdTch :
ActUpdOth));
ActUpdOth));
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); // Existing user
break;
default: