diff --git a/swad_action.c b/swad_action.c index 479744146..a68870758 100644 --- a/swad_action.c +++ b/swad_action.c @@ -848,7 +848,6 @@ Users: 696. ActLstAdm List main data of degree administrators 697. ActReqSignUp Apply for my enrollment 698. ActSeeSignUpReq Show pending requests for inscription in the current course - 699. ActReqMdfSevUsr Request the enrollment/removing of several students to / from current course 700. ActLstCon List connected users 701. ActReqPubPrf Request @nickname to show a public user's profile @@ -897,6 +896,9 @@ Users: 743. ActChgVisFie Request change in visibility of a record field 744. ActRcvRecCrs Receive and update fields of my record in this course + 699b. ActReqMdfSevStd Request the enrollment/removing of several users to / from current course + 699c. ActReqMdfSevTch Request the enrollment/removing of several users to / from current course + 745. ActReqLstAttStd Request listing of attendance of several students to several events 746. ActSeeLstAttStd List attendance of several students to several events 747. ActPrnLstAttStd Print attendance of several students to several events @@ -1359,8 +1361,8 @@ const struct Act_Menu Act_Menu[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = {ActLstAdm ,true }, {ActReqSignUp ,false}, - {ActSeeSignUpReq ,false}, - {ActReqMdfSevUsr ,true }, + {ActSeeSignUpReq ,true }, + // {ActReqMdfSevUsr ,true }, {ActLstCon ,false}, {ActReqPubPrf ,true }, @@ -2229,9 +2231,8 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = /* ActLstAdm */{ 587, 5,TabUsr,ActLstAdm ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Usr_ListDataAdms ,"adm" }, /* ActReqSignUp */{1054, 6,TabUsr,ActReqSignUp ,0x000,0x006,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ReqSignUpInCrs ,"enrollmentrequest" }, /* ActSeeSignUpReq */{1057, 7,TabUsr,ActSeeSignUpReq ,0x1F0,0x1F0,0x1F0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ShowEnrollmentRequests ,"enrollmentrequest" }, - /* ActReqMdfSevUsr */{ 797, 8,TabUsr,ActReqMdfSevUsr ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ReqAdminUsrs ,"configs" }, - /* ActLstCon */{ 995, 9,TabUsr,ActLstCon ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Con_ShowConnectedUsrs ,"userplugged" }, - /* ActReqPubPrf */{1401,10,TabUsr,ActReqPubPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Prf_RequestUserProfile ,"prf" }, + /* ActLstCon */{ 995, 8,TabUsr,ActLstCon ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Con_ShowConnectedUsrs ,"userplugged" }, + /* ActReqPubPrf */{1401, 9,TabUsr,ActReqPubPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Prf_RequestUserProfile ,"prf" }, // Actions not in menu: /* ActChgGrp */{ 118,-1,TabUsr,ActReqSelGrp ,0x118,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Grp_ChangeMyGrpsAndShowChanges ,NULL}, @@ -2284,6 +2285,9 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = /* ActChgVisFie */{ 297,-1,TabUsr,ActLstStd ,0x110,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Rec_ChangeVisibilityField ,NULL}, /* ActRcvRecCrs */{ 301,-1,TabUsr,ActLstStd ,0x108,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Rec_UpdateAndShowMyCrsRecord ,NULL}, + /* ActReqMdfSevStd */{1426,-1,TabUsr,ActLstStd ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ReqAdminUsrs ,NULL}, + /* ActReqMdfSevTch */{1427,-1,TabUsr,ActLstTch ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ReqAdminUsrs ,NULL}, + /* ActReqLstAttStd */{1073,-1,TabUsr,ActSeeAtt ,0x110,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Usr_ReqListAttendanceStdsCrs ,NULL}, /* ActSeeLstAttStd */{1074,-1,TabUsr,ActSeeAtt ,0x110,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Usr_ListAttendanceStdsCrs ,NULL}, /* ActPrnLstAttStd */{1075,-1,TabUsr,ActSeeAtt ,0x110,0x100,0x000,Act_CONTENT_NORM,Act_NEW_WINDOW ,NULL ,Usr_ListAttendanceStdsCrs ,NULL}, @@ -2313,46 +2317,46 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = /* ActReqMdfUsr */{1420,-1,TabUsr,ActLstTch ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_AskIfRegRemAnotherTch ,NULL}, /* ActReqMdfUsr */{1421,-1,TabUsr,ActLstAdm ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_AskIfRegRemAnotherAdm ,NULL}, - /* ActReqUsrPho */{ 375,-1,TabUsr,ActReqMdfSevUsr ,0x1F0,0x1E0,0x1E0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Pho_SendPhotoUsr ,NULL}, - /* ActDetUsrPho */{ 695,-1,TabUsr,ActReqMdfSevUsr ,0x1F0,0x1E0,0x1E0,Act_CONTENT_DATA,Act_MAIN_WINDOW,NULL ,Pho_RecUsrPhotoDetFaces ,NULL}, - /* ActUpdUsrPho */{ 374,-1,TabUsr,ActReqMdfSevUsr ,0x1F0,0x1E0,0x1E0,Act_CONTENT_NORM,Act_MAIN_WINDOW,Pho_UpdateUsrPhoto1 ,Pho_UpdateUsrPhoto2 ,NULL}, - /* ActRemUsrPho */{ 429,-1,TabUsr,ActReqMdfSevUsr ,0x1F0,0x1E0,0x1E0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Pho_RemoveUsrPhoto ,NULL}, + /* ActReqUsrPho */{ 375,-1,TabUsr,ActLstStd ,0x1F0,0x1E0,0x1E0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Pho_SendPhotoUsr ,NULL}, + /* ActDetUsrPho */{ 695,-1,TabUsr,ActLstStd ,0x1F0,0x1E0,0x1E0,Act_CONTENT_DATA,Act_MAIN_WINDOW,NULL ,Pho_RecUsrPhotoDetFaces ,NULL}, + /* ActUpdUsrPho */{ 374,-1,TabUsr,ActLstStd ,0x1F0,0x1E0,0x1E0,Act_CONTENT_NORM,Act_MAIN_WINDOW,Pho_UpdateUsrPhoto1 ,Pho_UpdateUsrPhoto2 ,NULL}, + /* ActRemUsrPho */{ 429,-1,TabUsr,ActLstStd ,0x1F0,0x1E0,0x1E0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Pho_RemoveUsrPhoto ,NULL}, - /* ActCreOthUsrDat */{ 440,-1,TabUsr,ActReqMdfSevUsr ,0x1F0,0x1E0,0x1E0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_CreateNewUsr ,NULL}, + /* ActCreOthUsrDat */{ 440,-1,TabUsr,ActLstStd ,0x1F0,0x1E0,0x1E0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_CreateNewUsr ,NULL}, /* ActUpdOthGst */{1422,-1,TabUsr,ActLstInv ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ModifyUsr ,NULL}, /* ActUpdOthStd */{1423,-1,TabUsr,ActLstStd ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ModifyUsr ,NULL}, /* ActUpdOthTch */{1424,-1,TabUsr,ActLstTch ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ModifyUsr ,NULL}, /* ActUpdOthAdm */{1425,-1,TabUsr,ActLstAdm ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ModifyUsr ,NULL}, - /* ActReqAccEnrCrs */{ 592,-1,TabUsr,ActReqMdfSevUsr ,0x1F8,0x000,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ReqAcceptRegisterInCrs ,NULL}, - /* ActAccEnrCrs */{ 558,-1,TabUsr,ActReqMdfSevUsr ,0x1F8,0x000,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_AcceptRegisterMeInCrs ,NULL}, - /* ActRemMeCrs */{ 559,-1,TabUsr,ActReqMdfSevUsr ,0x1F8,0x000,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ReqRemMeFromCrs ,NULL}, + /* ActReqAccEnrCrs */{ 592,-1,TabUsr,ActLstStd ,0x1F8,0x000,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ReqAcceptRegisterInCrs ,NULL}, + /* ActAccEnrCrs */{ 558,-1,TabUsr,ActLstStd ,0x1F8,0x000,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_AcceptRegisterMeInCrs ,NULL}, + /* ActRemMeCrs */{ 559,-1,TabUsr,ActLstStd ,0x1F8,0x000,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ReqRemMeFromCrs ,NULL}, - /* ActNewAdmIns */{1337,-1,TabUsr,ActReqMdfSevUsr ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_AddAdmToIns ,NULL}, - /* ActRemAdmIns */{1338,-1,TabUsr,ActReqMdfSevUsr ,0x180,0x180,0x180,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_RemAdmIns ,NULL}, + /* ActNewAdmIns */{1337,-1,TabUsr,ActLstAdm ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_AddAdmToIns ,NULL}, + /* ActRemAdmIns */{1338,-1,TabUsr,ActLstAdm ,0x180,0x180,0x180,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_RemAdmIns ,NULL}, - /* ActNewAdmCtr */{1339,-1,TabUsr,ActReqMdfSevUsr ,0x180,0x180,0x180,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_AddAdmToCtr ,NULL}, - /* ActRemAdmCtr */{1340,-1,TabUsr,ActReqMdfSevUsr ,0x1C0,0x1C0,0x1C0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_RemAdmCtr ,NULL}, + /* ActNewAdmCtr */{1339,-1,TabUsr,ActLstAdm ,0x180,0x180,0x180,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_AddAdmToCtr ,NULL}, + /* ActRemAdmCtr */{1340,-1,TabUsr,ActLstAdm ,0x1C0,0x1C0,0x1C0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_RemAdmCtr ,NULL}, - /* ActNewAdmDeg */{ 586,-1,TabUsr,ActReqMdfSevUsr ,0x1C0,0x1C0,0x1C0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_AddAdmToDeg ,NULL}, - /* ActRemAdmDeg */{ 584,-1,TabUsr,ActReqMdfSevUsr ,0x1E0,0x1E0,0x1E0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_RemAdmDeg ,NULL}, + /* ActNewAdmDeg */{ 586,-1,TabUsr,ActLstAdm ,0x1C0,0x1C0,0x1C0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_AddAdmToDeg ,NULL}, + /* ActRemAdmDeg */{ 584,-1,TabUsr,ActLstAdm ,0x1E0,0x1E0,0x1E0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_RemAdmDeg ,NULL}, - /* ActRcvFrmMdfUsrCrs*/{ 799,-1,TabUsr,ActReqMdfSevUsr ,0x1F0,0x1E0,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ReceiveFormUsrsCrs ,NULL}, + /* ActRcvFrmMdfUsrCrs*/{ 799,-1,TabUsr,ActLstStd ,0x1F0,0x1E0,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ReceiveFormUsrsCrs ,NULL}, - /* ActFrmIDsOthUsr */{1239,-1,TabUsr,ActReqMdfSevUsr ,0x1E0,0x1E0,0x1E0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,ID_ShowFormOthIDs ,NULL}, - /* ActRemIDOth */{1240,-1,TabUsr,ActReqMdfSevUsr ,0x1E0,0x1E0,0x1E0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,ID_RemoveOtherUsrID ,NULL}, - /* ActNewIDOth */{1241,-1,TabUsr,ActReqMdfSevUsr ,0x1E0,0x1E0,0x1E0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,ID_NewOtherUsrID ,NULL}, - /* ActFrmPwdOthUsr */{ 598,-1,TabUsr,ActReqMdfSevUsr ,0x1E0,0x1E0,0x1E0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Pwd_ShowFormOthPwd ,NULL}, - /* ActChgPwdOthUsr */{ 82,-1,TabUsr,ActReqMdfSevUsr ,0x1E0,0x1E0,0x1E0,Act_CONTENT_NORM,Act_MAIN_WINDOW,Pwd_UpdateOtherPwd1 ,Pwd_UpdateOtherPwd2 ,NULL}, + /* ActFrmIDsOthUsr */{1239,-1,TabUsr,ActLstStd ,0x1E0,0x1E0,0x1E0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,ID_ShowFormOthIDs ,NULL}, + /* ActRemIDOth */{1240,-1,TabUsr,ActLstStd ,0x1E0,0x1E0,0x1E0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,ID_RemoveOtherUsrID ,NULL}, + /* ActNewIDOth */{1241,-1,TabUsr,ActLstStd ,0x1E0,0x1E0,0x1E0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,ID_NewOtherUsrID ,NULL}, + /* ActFrmPwdOthUsr */{ 598,-1,TabUsr,ActLstStd ,0x1E0,0x1E0,0x1E0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Pwd_ShowFormOthPwd ,NULL}, + /* ActChgPwdOthUsr */{ 82,-1,TabUsr,ActLstStd ,0x1E0,0x1E0,0x1E0,Act_CONTENT_NORM,Act_MAIN_WINDOW,Pwd_UpdateOtherPwd1 ,Pwd_UpdateOtherPwd2 ,NULL}, - /* ActRemUsrCrs */{ 58,-1,TabUsr,ActReqMdfSevUsr ,0x1F8,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_RemUsrFromCrs ,NULL}, - /* ActRemUsrGbl */{ 62,-1,TabUsr,ActReqMdfSevUsr ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Acc_RemUsrGbl ,NULL}, + /* ActRemUsrCrs */{ 58,-1,TabUsr,ActLstStd ,0x1F8,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_RemUsrFromCrs ,NULL}, + /* ActRemUsrGbl */{ 62,-1,TabUsr,ActLstStd ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Acc_RemUsrGbl ,NULL}, - /* ActReqRemAllStdCrs*/{ 88,-1,TabUsr,ActReqMdfSevUsr ,0x110,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_AskRemAllStdsThisCrs ,NULL}, - /* ActRemAllStdCrs */{ 87,-1,TabUsr,ActReqMdfSevUsr ,0x110,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_RemAllStdsThisCrs ,NULL}, + /* ActReqRemAllStdCrs*/{ 88,-1,TabUsr,ActLstStd ,0x110,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_AskRemAllStdsThisCrs ,NULL}, + /* ActRemAllStdCrs */{ 87,-1,TabUsr,ActLstStd ,0x110,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_RemAllStdsThisCrs ,NULL}, - /* ActReqRemOldUsr */{ 590,-1,TabUsr,ActReqMdfSevUsr ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_AskRemoveOldUsrs ,NULL}, - /* ActRemOldUsr */{ 773,-1,TabUsr,ActReqMdfSevUsr ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_RemoveOldUsrs ,NULL}, + /* ActReqRemOldUsr */{ 590,-1,TabUsr,ActLstStd ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_AskRemoveOldUsrs ,NULL}, + /* ActRemOldUsr */{ 773,-1,TabUsr,ActLstStd ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_RemoveOldUsrs ,NULL}, /* ActSeePubPrf */{1402,-1,TabUsr,ActReqPubPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Prf_GetUsrCodAndShowUserProfile,NULL}, /* ActCal1stClkTim */{1405,-1,TabUsr,ActReqPubPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Prf_CalculateFirstClickTime ,NULL}, @@ -3488,7 +3492,7 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq ActAutUsrExt, // #794 -1, // #795 (obsolete action) ActGetExtLstStd, // #796 - ActReqMdfSevUsr, // #797 + -1, // #797 (obsolete action) -1, // #798 (obsolete action) ActRcvFrmMdfUsrCrs, // #799 -1, // #800 (obsolete action) @@ -4120,6 +4124,8 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq ActUpdOthStd, // #1423 ActUpdOthTch, // #1424 ActUpdOthAdm, // #1425 + ActReqMdfSevStd, // #1426 + ActReqMdfSevTch, // #1427 }; /*****************************************************************************/ diff --git a/swad_action.h b/swad_action.h index f34c2160d..4e80ec013 100644 --- a/swad_action.h +++ b/swad_action.h @@ -69,9 +69,9 @@ typedef enum typedef int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action -#define Act_NUM_ACTIONS (7+52+15+90+73+68+204+182+119+168+28+77) +#define Act_NUM_ACTIONS (7+52+15+90+73+68+204+182+120+168+28+77) -#define Act_MAX_ACTION_COD 1425 +#define Act_MAX_ACTION_COD 1427 #define Act_MAX_OPTIONS_IN_MENU_PER_TAB 20 @@ -873,132 +873,134 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica #define ActLstAdm (ActChgNumRowFooGrp+ 6) #define ActReqSignUp (ActChgNumRowFooGrp+ 7) #define ActSeeSignUpReq (ActChgNumRowFooGrp+ 8) -#define ActReqMdfSevUsr (ActChgNumRowFooGrp+ 9) -#define ActLstCon (ActChgNumRowFooGrp+ 10) -#define ActReqPubPrf (ActChgNumRowFooGrp+ 11) +#define ActLstCon (ActChgNumRowFooGrp+ 9) +#define ActReqPubPrf (ActChgNumRowFooGrp+ 10) // Secondary actions -#define ActChgGrp (ActChgNumRowFooGrp+ 12) -#define ActReqEdiGrp (ActChgNumRowFooGrp+ 13) -#define ActNewGrpTyp (ActChgNumRowFooGrp+ 14) -#define ActReqRemGrpTyp (ActChgNumRowFooGrp+ 15) -#define ActRemGrpTyp (ActChgNumRowFooGrp+ 16) -#define ActRenGrpTyp (ActChgNumRowFooGrp+ 17) -#define ActChgMdtGrpTyp (ActChgNumRowFooGrp+ 18) -#define ActChgMulGrpTyp (ActChgNumRowFooGrp+ 19) -#define ActChgTimGrpTyp (ActChgNumRowFooGrp+ 20) -#define ActNewGrp (ActChgNumRowFooGrp+ 21) -#define ActReqRemGrp (ActChgNumRowFooGrp+ 22) -#define ActRemGrp (ActChgNumRowFooGrp+ 23) -#define ActOpeGrp (ActChgNumRowFooGrp+ 24) -#define ActCloGrp (ActChgNumRowFooGrp+ 25) -#define ActEnaFilZonGrp (ActChgNumRowFooGrp+ 26) -#define ActDisFilZonGrp (ActChgNumRowFooGrp+ 27) -#define ActChgGrpTyp (ActChgNumRowFooGrp+ 28) -#define ActRenGrp (ActChgNumRowFooGrp+ 29) -#define ActChgMaxStdGrp (ActChgNumRowFooGrp+ 30) +#define ActChgGrp (ActChgNumRowFooGrp+ 11) +#define ActReqEdiGrp (ActChgNumRowFooGrp+ 12) +#define ActNewGrpTyp (ActChgNumRowFooGrp+ 13) +#define ActReqRemGrpTyp (ActChgNumRowFooGrp+ 14) +#define ActRemGrpTyp (ActChgNumRowFooGrp+ 15) +#define ActRenGrpTyp (ActChgNumRowFooGrp+ 16) +#define ActChgMdtGrpTyp (ActChgNumRowFooGrp+ 17) +#define ActChgMulGrpTyp (ActChgNumRowFooGrp+ 18) +#define ActChgTimGrpTyp (ActChgNumRowFooGrp+ 19) +#define ActNewGrp (ActChgNumRowFooGrp+ 20) +#define ActReqRemGrp (ActChgNumRowFooGrp+ 21) +#define ActRemGrp (ActChgNumRowFooGrp+ 22) +#define ActOpeGrp (ActChgNumRowFooGrp+ 23) +#define ActCloGrp (ActChgNumRowFooGrp+ 24) +#define ActEnaFilZonGrp (ActChgNumRowFooGrp+ 25) +#define ActDisFilZonGrp (ActChgNumRowFooGrp+ 26) +#define ActChgGrpTyp (ActChgNumRowFooGrp+ 27) +#define ActRenGrp (ActChgNumRowFooGrp+ 28) +#define ActChgMaxStdGrp (ActChgNumRowFooGrp+ 29) -#define ActGetExtLstStd (ActChgNumRowFooGrp+ 31) -#define ActPrnInvPho (ActChgNumRowFooGrp+ 32) -#define ActPrnStdPho (ActChgNumRowFooGrp+ 33) -#define ActPrnTchPho (ActChgNumRowFooGrp+ 34) -#define ActLstInvAll (ActChgNumRowFooGrp+ 35) -#define ActLstStdAll (ActChgNumRowFooGrp+ 36) -#define ActLstTchAll (ActChgNumRowFooGrp+ 37) -#define ActSeeRecOneStd (ActChgNumRowFooGrp+ 38) -#define ActSeeRecOneTch (ActChgNumRowFooGrp+ 39) -#define ActSeeRecSevInv (ActChgNumRowFooGrp+ 40) -#define ActSeeRecSevStd (ActChgNumRowFooGrp+ 41) -#define ActSeeRecSevTch (ActChgNumRowFooGrp+ 42) -#define ActPrnRecSevInv (ActChgNumRowFooGrp+ 43) -#define ActPrnRecSevStd (ActChgNumRowFooGrp+ 44) -#define ActPrnRecSevTch (ActChgNumRowFooGrp+ 45) -#define ActRcvRecOthUsr (ActChgNumRowFooGrp+ 46) -#define ActEdiRecFie (ActChgNumRowFooGrp+ 47) -#define ActNewFie (ActChgNumRowFooGrp+ 48) -#define ActReqRemFie (ActChgNumRowFooGrp+ 49) -#define ActRemFie (ActChgNumRowFooGrp+ 50) -#define ActRenFie (ActChgNumRowFooGrp+ 51) -#define ActChgRowFie (ActChgNumRowFooGrp+ 52) -#define ActChgVisFie (ActChgNumRowFooGrp+ 53) -#define ActRcvRecCrs (ActChgNumRowFooGrp+ 54) +#define ActGetExtLstStd (ActChgNumRowFooGrp+ 30) +#define ActPrnInvPho (ActChgNumRowFooGrp+ 31) +#define ActPrnStdPho (ActChgNumRowFooGrp+ 32) +#define ActPrnTchPho (ActChgNumRowFooGrp+ 33) +#define ActLstInvAll (ActChgNumRowFooGrp+ 34) +#define ActLstStdAll (ActChgNumRowFooGrp+ 35) +#define ActLstTchAll (ActChgNumRowFooGrp+ 36) +#define ActSeeRecOneStd (ActChgNumRowFooGrp+ 37) +#define ActSeeRecOneTch (ActChgNumRowFooGrp+ 38) +#define ActSeeRecSevInv (ActChgNumRowFooGrp+ 39) +#define ActSeeRecSevStd (ActChgNumRowFooGrp+ 40) +#define ActSeeRecSevTch (ActChgNumRowFooGrp+ 41) +#define ActPrnRecSevInv (ActChgNumRowFooGrp+ 42) +#define ActPrnRecSevStd (ActChgNumRowFooGrp+ 43) +#define ActPrnRecSevTch (ActChgNumRowFooGrp+ 44) +#define ActRcvRecOthUsr (ActChgNumRowFooGrp+ 45) +#define ActEdiRecFie (ActChgNumRowFooGrp+ 46) +#define ActNewFie (ActChgNumRowFooGrp+ 47) +#define ActReqRemFie (ActChgNumRowFooGrp+ 48) +#define ActRemFie (ActChgNumRowFooGrp+ 49) +#define ActRenFie (ActChgNumRowFooGrp+ 50) +#define ActChgRowFie (ActChgNumRowFooGrp+ 51) +#define ActChgVisFie (ActChgNumRowFooGrp+ 52) +#define ActRcvRecCrs (ActChgNumRowFooGrp+ 53) -#define ActReqLstAttStd (ActChgNumRowFooGrp+ 55) -#define ActSeeLstAttStd (ActChgNumRowFooGrp+ 56) -#define ActPrnLstAttStd (ActChgNumRowFooGrp+ 57) -#define ActFrmNewAtt (ActChgNumRowFooGrp+ 58) -#define ActEdiOneAtt (ActChgNumRowFooGrp+ 59) -#define ActNewAtt (ActChgNumRowFooGrp+ 60) -#define ActChgAtt (ActChgNumRowFooGrp+ 61) -#define ActReqRemAtt (ActChgNumRowFooGrp+ 62) -#define ActRemAtt (ActChgNumRowFooGrp+ 63) -#define ActHidAtt (ActChgNumRowFooGrp+ 64) -#define ActShoAtt (ActChgNumRowFooGrp+ 65) -#define ActSeeOneAtt (ActChgNumRowFooGrp+ 66) -#define ActRecAttStd (ActChgNumRowFooGrp+ 67) -#define ActRecAttMe (ActChgNumRowFooGrp+ 68) +#define ActReqMdfSevStd (ActChgNumRowFooGrp+ 54) +#define ActReqMdfSevTch (ActChgNumRowFooGrp+ 55) -#define ActSignUp (ActChgNumRowFooGrp+ 69) -#define ActReqRejSignUp (ActChgNumRowFooGrp+ 70) -#define ActRejSignUp (ActChgNumRowFooGrp+ 71) +#define ActReqLstAttStd (ActChgNumRowFooGrp+ 56) +#define ActSeeLstAttStd (ActChgNumRowFooGrp+ 57) +#define ActPrnLstAttStd (ActChgNumRowFooGrp+ 58) +#define ActFrmNewAtt (ActChgNumRowFooGrp+ 59) +#define ActEdiOneAtt (ActChgNumRowFooGrp+ 60) +#define ActNewAtt (ActChgNumRowFooGrp+ 61) +#define ActChgAtt (ActChgNumRowFooGrp+ 62) +#define ActReqRemAtt (ActChgNumRowFooGrp+ 63) +#define ActRemAtt (ActChgNumRowFooGrp+ 64) +#define ActHidAtt (ActChgNumRowFooGrp+ 65) +#define ActShoAtt (ActChgNumRowFooGrp+ 66) +#define ActSeeOneAtt (ActChgNumRowFooGrp+ 67) +#define ActRecAttStd (ActChgNumRowFooGrp+ 68) +#define ActRecAttMe (ActChgNumRowFooGrp+ 69) -#define ActReqMdfOneGst (ActChgNumRowFooGrp+ 72) -#define ActReqMdfOneStd (ActChgNumRowFooGrp+ 73) -#define ActReqMdfOneTch (ActChgNumRowFooGrp+ 74) -#define ActReqMdfOneAdm (ActChgNumRowFooGrp+ 75) +#define ActSignUp (ActChgNumRowFooGrp+ 70) +#define ActReqRejSignUp (ActChgNumRowFooGrp+ 71) +#define ActRejSignUp (ActChgNumRowFooGrp+ 72) -#define ActReqMdfGst (ActChgNumRowFooGrp+ 76) -#define ActReqMdfStd (ActChgNumRowFooGrp+ 77) -#define ActReqMdfTch (ActChgNumRowFooGrp+ 78) -#define ActReqMdfAdm (ActChgNumRowFooGrp+ 79) +#define ActReqMdfOneGst (ActChgNumRowFooGrp+ 73) +#define ActReqMdfOneStd (ActChgNumRowFooGrp+ 74) +#define ActReqMdfOneTch (ActChgNumRowFooGrp+ 75) +#define ActReqMdfOneAdm (ActChgNumRowFooGrp+ 76) -#define ActReqUsrPho (ActChgNumRowFooGrp+ 80) -#define ActDetUsrPho (ActChgNumRowFooGrp+ 81) -#define ActUpdUsrPho (ActChgNumRowFooGrp+ 82) -#define ActRemUsrPho (ActChgNumRowFooGrp+ 83) -#define ActCreOthUsrDat (ActChgNumRowFooGrp+ 84) -#define ActUpdOthGst (ActChgNumRowFooGrp+ 85) -#define ActUpdOthStd (ActChgNumRowFooGrp+ 86) -#define ActUpdOthTch (ActChgNumRowFooGrp+ 87) -#define ActUpdOthAdm (ActChgNumRowFooGrp+ 88) +#define ActReqMdfGst (ActChgNumRowFooGrp+ 77) +#define ActReqMdfStd (ActChgNumRowFooGrp+ 78) +#define ActReqMdfTch (ActChgNumRowFooGrp+ 79) +#define ActReqMdfAdm (ActChgNumRowFooGrp+ 80) -#define ActReqAccEnrCrs (ActChgNumRowFooGrp+ 89) -#define ActAccEnrCrs (ActChgNumRowFooGrp+ 90) -#define ActRemMeCrs (ActChgNumRowFooGrp+ 91) +#define ActReqUsrPho (ActChgNumRowFooGrp+ 81) +#define ActDetUsrPho (ActChgNumRowFooGrp+ 82) +#define ActUpdUsrPho (ActChgNumRowFooGrp+ 83) +#define ActRemUsrPho (ActChgNumRowFooGrp+ 84) +#define ActCreOthUsrDat (ActChgNumRowFooGrp+ 85) +#define ActUpdOthGst (ActChgNumRowFooGrp+ 86) +#define ActUpdOthStd (ActChgNumRowFooGrp+ 87) +#define ActUpdOthTch (ActChgNumRowFooGrp+ 88) +#define ActUpdOthAdm (ActChgNumRowFooGrp+ 89) -#define ActNewAdmIns (ActChgNumRowFooGrp+ 92) -#define ActRemAdmIns (ActChgNumRowFooGrp+ 93) -#define ActNewAdmCtr (ActChgNumRowFooGrp+ 94) -#define ActRemAdmCtr (ActChgNumRowFooGrp+ 95) -#define ActNewAdmDeg (ActChgNumRowFooGrp+ 96) -#define ActRemAdmDeg (ActChgNumRowFooGrp+ 97) +#define ActReqAccEnrCrs (ActChgNumRowFooGrp+ 90) +#define ActAccEnrCrs (ActChgNumRowFooGrp+ 91) +#define ActRemMeCrs (ActChgNumRowFooGrp+ 92) -#define ActRcvFrmMdfUsrCrs (ActChgNumRowFooGrp+ 98) -#define ActFrmIDsOthUsr (ActChgNumRowFooGrp+ 99) -#define ActRemIDOth (ActChgNumRowFooGrp+100) -#define ActNewIDOth (ActChgNumRowFooGrp+101) -#define ActFrmPwdOthUsr (ActChgNumRowFooGrp+102) -#define ActChgPwdOthUsr (ActChgNumRowFooGrp+103) -#define ActRemUsrCrs (ActChgNumRowFooGrp+104) -#define ActRemUsrGbl (ActChgNumRowFooGrp+105) +#define ActNewAdmIns (ActChgNumRowFooGrp+ 93) +#define ActRemAdmIns (ActChgNumRowFooGrp+ 94) +#define ActNewAdmCtr (ActChgNumRowFooGrp+ 95) +#define ActRemAdmCtr (ActChgNumRowFooGrp+ 96) +#define ActNewAdmDeg (ActChgNumRowFooGrp+ 97) +#define ActRemAdmDeg (ActChgNumRowFooGrp+ 98) -#define ActReqRemAllStdCrs (ActChgNumRowFooGrp+106) -#define ActRemAllStdCrs (ActChgNumRowFooGrp+107) +#define ActRcvFrmMdfUsrCrs (ActChgNumRowFooGrp+ 99) +#define ActFrmIDsOthUsr (ActChgNumRowFooGrp+100) +#define ActRemIDOth (ActChgNumRowFooGrp+101) +#define ActNewIDOth (ActChgNumRowFooGrp+102) +#define ActFrmPwdOthUsr (ActChgNumRowFooGrp+103) +#define ActChgPwdOthUsr (ActChgNumRowFooGrp+104) +#define ActRemUsrCrs (ActChgNumRowFooGrp+105) +#define ActRemUsrGbl (ActChgNumRowFooGrp+106) -#define ActReqRemOldUsr (ActChgNumRowFooGrp+108) -#define ActRemOldUsr (ActChgNumRowFooGrp+109) +#define ActReqRemAllStdCrs (ActChgNumRowFooGrp+107) +#define ActRemAllStdCrs (ActChgNumRowFooGrp+108) -#define ActSeePubPrf (ActChgNumRowFooGrp+110) -#define ActCal1stClkTim (ActChgNumRowFooGrp+111) -#define ActCalNumClk (ActChgNumRowFooGrp+112) -#define ActCalNumFilVie (ActChgNumRowFooGrp+113) -#define ActCalNumForPst (ActChgNumRowFooGrp+114) -#define ActCalNumMsgSnt (ActChgNumRowFooGrp+115) +#define ActReqRemOldUsr (ActChgNumRowFooGrp+109) +#define ActRemOldUsr (ActChgNumRowFooGrp+110) -#define ActFolUsr (ActChgNumRowFooGrp+116) -#define ActUnfUsr (ActChgNumRowFooGrp+117) -#define ActSeeFlg (ActChgNumRowFooGrp+118) -#define ActSeeFlr (ActChgNumRowFooGrp+119) +#define ActSeePubPrf (ActChgNumRowFooGrp+111) +#define ActCal1stClkTim (ActChgNumRowFooGrp+112) +#define ActCalNumClk (ActChgNumRowFooGrp+113) +#define ActCalNumFilVie (ActChgNumRowFooGrp+114) +#define ActCalNumForPst (ActChgNumRowFooGrp+115) +#define ActCalNumMsgSnt (ActChgNumRowFooGrp+116) + +#define ActFolUsr (ActChgNumRowFooGrp+117) +#define ActUnfUsr (ActChgNumRowFooGrp+118) +#define ActSeeFlg (ActChgNumRowFooGrp+119) +#define ActSeeFlr (ActChgNumRowFooGrp+120) /*****************************************************************************/ /******************************* Messages tab ********************************/ diff --git a/swad_changelog.h b/swad_changelog.h index 1a6525429..dbadb222a 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -93,24 +93,26 @@ ----------------Examen Tema 2 ----------Otros ....Etc..... - -========================================================== -7 @@ INSTALACIÓN DE EDITOR DE TEXTO ENRIQUECIDO -========================================================== - # Completar el proyecto que empezó el antiguo alumno. */ /*****************************************************************************/ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 14.129 (2015/09/11)" +#define Log_PLATFORM_VERSION "SWAD 14.130 (2015/09/13)" // 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 14.129: Sep 11, 2015 New links to admin a user in list of students. + Version 14.130: Sep 13, 2015 Changes in user enrollment. (184379 lines) + 15 changes necessary in database: +UPDATE actions SET Obsolete='Y' WHERE ActCod='797'; +INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1426','es','N','Administrar varios estudiantes'); +INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1427','es','N','Administrar varios profesores'); + + Version 14.129: Sep 12, 2015 New links to admin a user in list of students. Changes in user enrollment. Fixed bug in user enrollment. (184411 lines) + 15 changes necessary in database: UPDATE actions SET Obsolete='Y' WHERE ActCod='177'; INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1414','es','N','Solicitar ID modif. invitado'); INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1415','es','N','Solicitar ID modif. estudiante'); diff --git a/swad_enrollment.c b/swad_enrollment.c index a088e6bd2..4771da8b2 100644 --- a/swad_enrollment.c +++ b/swad_enrollment.c @@ -86,7 +86,7 @@ extern struct Globals Gbl; /***************************** Private prototypes ****************************/ /*****************************************************************************/ -static void Enr_ShowFormRegRemSeveralUsrs (void); +static void Enr_ShowFormRegRemSeveralUsrs (Rol_Role_t Role); static void Enr_PutAreaToEnterUsrsIDs (void); static void Enr_PutActionsRegRemSeveralUsrs (void); @@ -452,7 +452,7 @@ void Enr_ReqAdminUsrs (void) break; case Rol_TEACHER: if (Gbl.CurrentCrs.Crs.CrsCod > 0) - Enr_ShowFormRegRemSeveralUsrs (); + Enr_ShowFormRegRemSeveralUsrs (Role); else Enr_AskIfRegRemMe (Rol_TEACHER); break; @@ -463,7 +463,7 @@ void Enr_ReqAdminUsrs (void) break; case Rol_SYS_ADM: if (Gbl.CurrentCrs.Crs.CrsCod > 0) - Enr_ShowFormRegRemSeveralUsrs (); + Enr_ShowFormRegRemSeveralUsrs (Role); else Enr_ReqAnotherUsrIDToRegisterRemove (Rol_TEACHER); // TODO: Change this line to the following // Enr_ReqAnotherUsrIDToRegisterRemove (Role); @@ -478,7 +478,7 @@ void Enr_ReqAdminUsrs (void) /***** Register/remove users (taken from a list) in/from current course ******/ /*****************************************************************************/ -static void Enr_ShowFormRegRemSeveralUsrs (void) +static void Enr_ShowFormRegRemSeveralUsrs (Rol_Role_t Role) { extern const char *The_ClassTitle[The_NUM_THEMES]; extern const char *Txt_Admin_several_users; @@ -1081,7 +1081,7 @@ static void Enr_PutActionsRegRemSeveralUsrs (void) /******* Receive the list of users of the course to register/remove **********/ /*****************************************************************************/ -void Enr_ReceiveFormUsrsCrs (void) +void Enr_ReceiveFormUsrsCrs (Rol_Role_t Role) { extern const char *Txt_You_must_specify_in_step_3_the_action_to_perform; extern const char *Txt_In_a_type_of_group_with_single_enrollment_students_can_not_be_registered_in_more_than_one_group; @@ -1208,7 +1208,7 @@ void Enr_ReceiveFormUsrsCrs (void) Lay_ShowAlert (Lay_WARNING,Txt_You_must_specify_in_step_3_the_action_to_perform); /* Show form again */ - Enr_ShowFormRegRemSeveralUsrs (); + Enr_ShowFormRegRemSeveralUsrs (Role); ErrorInForm = true; } @@ -2551,12 +2551,13 @@ void Enr_PutLinkToAdminOneUsr (Act_Action_t NextAction) /******************* Write a form to admin several users *********************/ /*****************************************************************************/ -void Enr_PutLinkToAdminSeveralUsrs (void) +void Enr_PutLinkToAdminSeveralUsrs (Rol_Role_t Role) { extern const char *Txt_Admin_several_users; - Act_PutContextualLink (ActReqMdfSevUsr,NULL, - "configtest",Txt_Admin_several_users); + Act_PutContextualLink (Role == Rol_STUDENT ? ActReqMdfSevStd : + ActReqMdfSevTch, + NULL,"configtest",Txt_Admin_several_users); } /*****************************************************************************/ @@ -2644,7 +2645,7 @@ static void Enr_ReqAnotherUsrIDToRegisterRemove (Rol_Role_t Role) if (Gbl.CurrentCrs.Crs.CrsCod > 0) /* Put link to go to admin several users */ - Enr_PutLinkToAdminSeveralUsrs (); + Enr_PutLinkToAdminSeveralUsrs (Role); else if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) /* Put link to remove old users */ Enr_PutLinkToRemOldUsrs (); diff --git a/swad_enrollment.h b/swad_enrollment.h index 7462b5598..5d0f7eceb 100644 --- a/swad_enrollment.h +++ b/swad_enrollment.h @@ -96,7 +96,7 @@ bool Enr_PutActionsRegRemOneUsr (bool ItsMe); void Enr_ReceiveFormUsrsCrs (void); void Enr_PutLinkToRemAllStdsThisCrs (void); void Enr_PutLinkToRemOldUsrs (void); -void Enr_PutLinkToAdminSeveralUsrs (void); +void Enr_PutLinkToAdminSeveralUsrs (Rol_Role_t Role); void Enr_AskRemAllStdsThisCrs (void); void Enr_RemAllStdsThisCrs (void); unsigned Enr_RemAllStdsInCrs (struct Course *Crs); diff --git a/swad_text.c b/swad_text.c index 5fd4e9bc9..75563a5da 100644 --- a/swad_text.c +++ b/swad_text.c @@ -17676,27 +17676,6 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = "Upraszanie" #elif L==8 "Solicitações" -#endif - , - // ActReqMdfSevUsr -#if L==0 - "Administrar" -#elif L==1 - "Verwalten" -#elif L==2 - "Administer" -#elif L==3 - "Administrar" -#elif L==4 - "Gérer" -#elif L==5 - "Administrar" // Okoteve traducción -#elif L==6 - "Gestire" -#elif L==7 - "Zarządzaj" -#elif L==8 - "Gerenciar" #endif , // ActLstCon @@ -17750,6 +17729,7 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = NULL, NULL, NULL, + NULL, }, { // TabMsg ***************************************************** @@ -19655,27 +19635,6 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = "Żądania rejestrowania" #elif L==8 "Solicitações de inscrição" -#endif - , - // ActReqMdfSevUsr -#if L==0 - "Inscripció / eliminación de usuaris" -#elif L==1 - "Anmeldung / Entfernen von Benutzern" -#elif L==2 - "Enrollment / removing of users" -#elif L==3 - "Inscripción / eliminación de usuarios" -#elif L==4 - "Inscription / suppression de utilisateurs" -#elif L==5 - "Inscripción / eliminación de usuario"// Okoteve traducción -#elif L==6 - "Iscrizione / rimozione di utenti" -#elif L==7 - "Rekrutacja / usunięcie użytkowników" -#elif L==8 - "Inscrição / remoção de utilizadores" #endif , // ActLstCon @@ -19729,6 +19688,7 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = NULL, NULL, NULL, + NULL, }, { // TabMsg ***************************************************** diff --git a/swad_user.c b/swad_user.c index 1b1305c0b..6df87686f 100644 --- a/swad_user.c +++ b/swad_user.c @@ -6434,7 +6434,7 @@ void Usr_SeeStudents (void) Enr_PutLinkToAdminOneUsr (ActReqMdfOneStd); /* Put link to go to admin several users */ - Enr_PutLinkToAdminSeveralUsrs (); + Enr_PutLinkToAdminSeveralUsrs (Rol_STUDENT); /* Put link to list official students */ Usr_PutLinkToListOfficialStudents (); @@ -6613,7 +6613,7 @@ void Usr_SeeTeachers (void) Enr_PutLinkToAdminOneUsr (ActReqMdfOneTch); /* Put link to go to admin several users */ - Enr_PutLinkToAdminSeveralUsrs (); + Enr_PutLinkToAdminSeveralUsrs (Rol_TEACHER); fprintf (Gbl.F.Out,""); }