diff --git a/swad_action.c b/swad_action.c index 1b20df020..2fdd2dbf4 100644 --- a/swad_action.c +++ b/swad_action.c @@ -2482,7 +2482,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = /* 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 ,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}, + /* ActReqEnrSevNET */{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}, diff --git a/swad_changelog.h b/swad_changelog.h index f1c0d3d73..2d594bd9e 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -235,13 +235,14 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 16.226 (2017-05-29)" +#define Log_PLATFORM_VERSION "SWAD 16.226.1 (2017-05-29)" #define CSS_FILE "swad16.226.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.226.1: May 29, 2017 Changes in contextual links related to users enrolment. (220637 lines) Version 16.226: May 29, 2017 Code refactoring in buttons. (220607 lines) Version 16.225.12:May 29, 2017 Button to register students in connected and requests. (220587 lines) Version 16.225.11:May 29, 2017 Button to register students everytime an alert with no students in course is displayed. (220581 lines) diff --git a/swad_enrolment.c b/swad_enrolment.c index af8db626f..ad3063485 100644 --- a/swad_enrolment.c +++ b/swad_enrolment.c @@ -643,14 +643,34 @@ static void Enr_ShowFormRegRemSeveralUsrs (Rol_Role_t Role) const char *Title; /***** Put contextual links *****/ - if (Role == Rol_STD && // Users to admin: students - Gbl.CurrentCrs.Crs.CrsCod > 0 && // Course selected - Gbl.CurrentCrs.Crs.NumUsrs[Rol_STD]) // This course has students + if (Gbl.CurrentCrs.Crs.CrsCod > 0) // Course selected { fprintf (Gbl.F.Out,"
"); - /* Put link to remove all the students in the current course */ - Enr_PutLinkToRemAllStdsThisCrs (); + switch (Role) + { + case Rol_STD: + /* Put link to go to admin student */ + Enr_PutLinkToAdminOneUsr (ActReqMdfOneStd); + + /* Put link to remove all the students in the current course */ + if (Gbl.CurrentCrs.Crs.NumUsrs[Rol_STD]) // This course has students + Enr_PutLinkToRemAllStdsThisCrs (); + break; + case Rol_NET: + /* Put link to go to admin teacher */ + Enr_PutLinkToAdminOneUsr (ActReqMdfOneTch); + break; + case Rol_TCH: + /* Put link to go to admin teacher */ + Enr_PutLinkToAdminOneUsr (ActReqMdfOneTch); + break; + default: + NextAction = ActUnk; + Title = NULL; + Lay_ShowErrorAndExit ("Wrong role."); + break; + } fprintf (Gbl.F.Out,"
"); } @@ -3020,6 +3040,7 @@ void Enr_PutLinkToAdminOneUsr (Act_Action_t NextAction) void Enr_PutLinkToAdminSeveralUsrs (Rol_Role_t Role) { extern const char *Txt_Administer_multiple_students; + extern const char *Txt_Administer_multiple_non_editing_teachers; extern const char *Txt_Administer_multiple_teachers; Act_Action_t NextAction; const char *TitleText; @@ -3032,7 +3053,7 @@ void Enr_PutLinkToAdminSeveralUsrs (Rol_Role_t Role) break; case Rol_NET: NextAction = ActReqEnrSevNET; - TitleText = Txt_Administer_multiple_teachers; + TitleText = Txt_Administer_multiple_non_editing_teachers; break; case Rol_TCH: NextAction = ActReqEnrSevTch; @@ -3055,24 +3076,37 @@ void Enr_PutLinkToAdminSeveralUsrs (Rol_Role_t Role) void Enr_ReqRegRemOth (void) { + /***** Form to request user to be administered *****/ Enr_ReqRegRemUsr (Rol_GST); } void Enr_ReqRegRemStd (void) { + /***** Put contextual links *****/ + fprintf (Gbl.F.Out,"
"); + + /* Put link to go to admin several students */ + Enr_PutLinkToAdminSeveralUsrs (Rol_STD); + + fprintf (Gbl.F.Out,"
"); + + /***** Form to request user to be administered *****/ Enr_ReqRegRemUsr (Rol_STD); } void Enr_ReqRegRemTch (void) { + /***** Form to request user to be administered *****/ Enr_ReqRegRemUsr (Rol_TCH); } static void Enr_ReqRegRemUsr (Rol_Role_t Role) { if (Enr_ICanAdminOtherUsrs[Gbl.Usrs.Me.LoggedRole]) + /***** Form to request the user's ID of another user *****/ Enr_ReqAnotherUsrIDToRegisterRemove (Role); else + /***** Form to request if register/remove me *****/ Enr_AskIfRegRemMe (Role); } diff --git a/swad_user.c b/swad_user.c index 3703614bf..1a4ff2ce4 100644 --- a/swad_user.c +++ b/swad_user.c @@ -7349,22 +7349,17 @@ void Usr_SeeStudents (void) case Rol_SYS_ADM: fprintf (Gbl.F.Out,"
"); - if (Gbl.Usrs.Me.LoggedRole == Rol_STD) - /* Put link to go to admin me */ - Enr_PutLinkToAdminOneUsr (ActReqMdfOneStd); - else + /* Put link to go to admin student */ + Enr_PutLinkToAdminOneUsr (ActReqMdfOneStd); + + if (Gbl.Usrs.Me.LoggedRole != Rol_STD && // Teacher or admin + Gbl.CurrentCrs.Crs.CrsCod > 0) // Course selected { - /* Put link to go to admin one user */ - Enr_PutLinkToAdminOneUsr (ActReqMdfOneStd); + /* Put link to go to admin several students */ + Enr_PutLinkToAdminSeveralUsrs (Rol_STD); - if (Gbl.CurrentCrs.Crs.CrsCod > 0) // Course selected - { - /* Put link to go to admin several users */ - Enr_PutLinkToAdminSeveralUsrs (Rol_STD); - - /* Put link to edit record fields */ - Rec_PutLinkToEditRecordFields (); - } + /* Put link to edit record fields */ + Rec_PutLinkToEditRecordFields (); } fprintf (Gbl.F.Out,"
"); @@ -7525,6 +7520,7 @@ void Usr_SeeTeachers (void) case Rol_DEG_ADM: case Rol_CTR_ADM: case Rol_INS_ADM: + case Rol_SYS_ADM: fprintf (Gbl.F.Out,"
"); /* Put link to go to admin one user */ @@ -7533,7 +7529,10 @@ void Usr_SeeTeachers (void) /* Put link to go to admin several users */ if (Gbl.CurrentCrs.Crs.CrsCod > 0 && // Course selected Gbl.Usrs.Me.LoggedRole >= Rol_DEG_ADM) // I am logged as admin + { + Enr_PutLinkToAdminSeveralUsrs (Rol_NET); Enr_PutLinkToAdminSeveralUsrs (Rol_TCH); + } fprintf (Gbl.F.Out,"
");