diff --git a/swad_action.c b/swad_action.c index cb05d5429..838416204 100644 --- a/swad_action.c +++ b/swad_action.c @@ -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; diff --git a/swad_action.h b/swad_action.h index 4ff56957a..294d1a312 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 + 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 *********************************/ diff --git a/swad_changelog.h b/swad_changelog.h index ed9917d12..9c2360710 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -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'); diff --git a/swad_enrolment.c b/swad_enrolment.c index 4e3e84cbd..1036dc0bc 100644 --- a/swad_enrolment.c +++ b/swad_enrolment.c @@ -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) "", 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,""); - 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 : diff --git a/swad_notification.c b/swad_notification.c index aba0ac130..19084a21b 100644 --- a/swad_notification.c +++ b/swad_notification.c @@ -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 diff --git a/swad_record.c b/swad_record.c index 148bdbd7f..3082f5b53 100644 --- a/swad_record.c +++ b/swad_record.c @@ -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: