mirror of https://github.com/acanas/swad-core.git
Version18.109.1
This commit is contained in:
parent
48ba865513
commit
f312766129
2652
swad_action.c
2652
swad_action.c
File diff suppressed because it is too large
Load Diff
|
@ -459,10 +459,11 @@ En OpenSWAD:
|
||||||
ps2pdf source.ps destination.pdf
|
ps2pdf source.ps destination.pdf
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 18.109 (2019-04-09)"
|
#define Log_PLATFORM_VERSION "SWAD 18.109.1 (2019-04-10)"
|
||||||
#define CSS_FILE "swad18.92.css"
|
#define CSS_FILE "swad18.92.css"
|
||||||
#define JS_FILE "swad18.92.js"
|
#define JS_FILE "swad18.92.js"
|
||||||
/*
|
/*
|
||||||
|
Version 18.109.1: Apr 10, 2019 A non-editing teacher can choose students with no groups of a type. (242406 lines)
|
||||||
Version 18.109: Apr 09, 2019 Code refactoring in edition of plugins. (242421 lines)
|
Version 18.109: Apr 09, 2019 Code refactoring in edition of plugins. (242421 lines)
|
||||||
Version 18.108: Apr 09, 2019 Code refactoring in edition of links. (242336 lines)
|
Version 18.108: Apr 09, 2019 Code refactoring in edition of links. (242336 lines)
|
||||||
Version 18.107: Apr 09, 2019 Code refactoring in edition of banners. (242275 lines)
|
Version 18.107: Apr 09, 2019 Code refactoring in edition of banners. (242275 lines)
|
||||||
|
|
104
swad_group.c
104
swad_group.c
|
@ -369,59 +369,59 @@ void Grp_ShowFormToSelectSeveralGroups (Act_Action_t NextAction,
|
||||||
unsigned NumGrpTyp;
|
unsigned NumGrpTyp;
|
||||||
bool ICanEdit;
|
bool ICanEdit;
|
||||||
|
|
||||||
if (Gbl.Crs.Grps.NumGrps)
|
/***** Trivial check: if no groups ==> nothing to do *****/
|
||||||
{
|
if (!Gbl.Crs.Grps.NumGrps)
|
||||||
ICanEdit = !Gbl.Form.Inside &&
|
return;
|
||||||
(Gbl.Usrs.Me.Role.Logged == Rol_TCH ||
|
|
||||||
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM);
|
|
||||||
|
|
||||||
/***** Start box *****/
|
/***** Start box *****/
|
||||||
Box_StartBox (NULL,Txt_Groups,ICanEdit ? Grp_PutIconToEditGroups :
|
ICanEdit = !Gbl.Form.Inside &&
|
||||||
NULL,
|
(Gbl.Usrs.Me.Role.Logged == Rol_TCH ||
|
||||||
Hlp_USERS_Groups,Box_CLOSABLE);
|
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM);
|
||||||
|
Box_StartBox (NULL,Txt_Groups,ICanEdit ? Grp_PutIconToEditGroups :
|
||||||
|
NULL,
|
||||||
|
Hlp_USERS_Groups,Box_CLOSABLE);
|
||||||
|
|
||||||
/***** Start form to update the students listed
|
/***** Start form to update the students listed
|
||||||
depending on the groups selected *****/
|
depending on the groups selected *****/
|
||||||
Frm_StartFormAnchor (NextAction,Usr_USER_LIST_SECTION_ID);
|
Frm_StartFormAnchor (NextAction,Usr_USER_LIST_SECTION_ID);
|
||||||
Usr_PutParamsPrefsAboutUsrList ();
|
Usr_PutParamsPrefsAboutUsrList ();
|
||||||
|
|
||||||
/***** Put parameters needed depending on the action *****/
|
/***** Put parameters needed depending on the action *****/
|
||||||
Usr_PutExtraParamsUsrList (NextAction);
|
Usr_PutExtraParamsUsrList (NextAction);
|
||||||
|
|
||||||
/***** Select all groups *****/
|
/***** Select all groups *****/
|
||||||
Grp_PutCheckboxAllGrps (GroupsSelectableByStdsOrNETs);
|
Grp_PutCheckboxAllGrps (GroupsSelectableByStdsOrNETs);
|
||||||
|
|
||||||
/***** Get list of groups types and groups in this course *****/
|
/***** Get list of groups types and groups in this course *****/
|
||||||
Grp_GetListGrpTypesAndGrpsInThisCrs (Grp_ONLY_GROUP_TYPES_WITH_GROUPS);
|
Grp_GetListGrpTypesAndGrpsInThisCrs (Grp_ONLY_GROUP_TYPES_WITH_GROUPS);
|
||||||
|
|
||||||
/***** List the groups for each group type *****/
|
/***** List the groups for each group type *****/
|
||||||
Tbl_StartTableWide (2);
|
Tbl_StartTableWide (2);
|
||||||
for (NumGrpTyp = 0;
|
for (NumGrpTyp = 0;
|
||||||
NumGrpTyp < Gbl.Crs.Grps.GrpTypes.Num;
|
NumGrpTyp < Gbl.Crs.Grps.GrpTypes.Num;
|
||||||
NumGrpTyp++)
|
NumGrpTyp++)
|
||||||
if (Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].NumGrps)
|
if (Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].NumGrps)
|
||||||
Grp_ListGrpsForMultipleSelection (&Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp],
|
Grp_ListGrpsForMultipleSelection (&Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp],
|
||||||
GroupsSelectableByStdsOrNETs);
|
GroupsSelectableByStdsOrNETs);
|
||||||
Tbl_EndTable ();
|
Tbl_EndTable ();
|
||||||
|
|
||||||
/***** Free list of groups types and groups in this course *****/
|
/***** Free list of groups types and groups in this course *****/
|
||||||
Grp_FreeListGrpTypesAndGrps ();
|
Grp_FreeListGrpTypesAndGrps ();
|
||||||
|
|
||||||
/***** Submit button *****/
|
/***** Submit button *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CENTER_MIDDLE\""
|
fprintf (Gbl.F.Out,"<div class=\"CENTER_MIDDLE\""
|
||||||
" style=\"padding-top:12px;\">");
|
" style=\"padding-top:12px;\">");
|
||||||
Frm_LinkFormSubmitAnimated (Txt_Update_users,
|
Frm_LinkFormSubmitAnimated (Txt_Update_users,
|
||||||
The_ClassFormInBoxBold[Gbl.Prefs.Theme],
|
The_ClassFormInBoxBold[Gbl.Prefs.Theme],
|
||||||
"CopyMessageToHiddenFields();");
|
"CopyMessageToHiddenFields();");
|
||||||
Ico_PutCalculateIconWithText (Txt_Update_users);
|
Ico_PutCalculateIconWithText (Txt_Update_users);
|
||||||
fprintf (Gbl.F.Out,"</div>");
|
fprintf (Gbl.F.Out,"</div>");
|
||||||
|
|
||||||
/***** End form *****/
|
/***** End form *****/
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
|
|
||||||
/***** End box *****/
|
/***** End box *****/
|
||||||
Box_EndBox ();
|
Box_EndBox ();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -2272,23 +2272,7 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp,
|
||||||
/***** Write rows to select the students who don't belong to any group *****/
|
/***** Write rows to select the students who don't belong to any group *****/
|
||||||
/* To get the students who don't belong to a type of group, use group code -(GrpTyp->GrpTypCod) */
|
/* To get the students who don't belong to a type of group, use group code -(GrpTyp->GrpTypCod) */
|
||||||
/* Write checkbox to select the group */
|
/* Write checkbox to select the group */
|
||||||
switch (Gbl.Usrs.Me.Role.Logged)
|
ICanSelUnselGroup = (Gbl.Usrs.Me.Role.Logged >= Rol_STD);
|
||||||
{
|
|
||||||
case Rol_NET:
|
|
||||||
ICanSelUnselGroup = false;
|
|
||||||
break;
|
|
||||||
case Rol_STD:
|
|
||||||
case Rol_TCH:
|
|
||||||
case Rol_DEG_ADM:
|
|
||||||
case Rol_CTR_ADM:
|
|
||||||
case Rol_INS_ADM:
|
|
||||||
case Rol_SYS_ADM:
|
|
||||||
ICanSelUnselGroup = true;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
ICanSelUnselGroup = false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"LEFT_MIDDLE\">"
|
"<td class=\"LEFT_MIDDLE\">"
|
||||||
"<input type=\"checkbox\" id=\"Grp%ld\" name=\"GrpCods\""
|
"<input type=\"checkbox\" id=\"Grp%ld\" name=\"GrpCods\""
|
||||||
|
|
Loading…
Reference in New Issue