mirror of https://github.com/acanas/swad-core.git
Version 23.55.1: Jan 17, 2024 Responsive design in groups.
This commit is contained in:
parent
3a5446a560
commit
8de317f691
|
@ -633,10 +633,11 @@ Me sale este error, no s
|
||||||
"can npt create received message (duplicated entry '243218-2160773' for key 'UsrCod_MsgCod')
|
"can npt create received message (duplicated entry '243218-2160773' for key 'UsrCod_MsgCod')
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 23.55 (2024-01-16)"
|
#define Log_PLATFORM_VERSION "SWAD 23.55.1 (2024-01-17)"
|
||||||
#define CSS_FILE "swad23.55.css"
|
#define CSS_FILE "swad23.55.css"
|
||||||
#define JS_FILE "swad23.53.6.js"
|
#define JS_FILE "swad23.53.6.js"
|
||||||
/*
|
/*
|
||||||
|
Version 23.55.1: Jan 17, 2024 Responsive design in groups. (335787 lines)
|
||||||
Version 23.55: Jan 16, 2024 Responsive design in exams. Changes in exam sessions and matches. (335819 lines)
|
Version 23.55: Jan 16, 2024 Responsive design in exams. Changes in exam sessions and matches. (335819 lines)
|
||||||
Version 23.54: Dec 20, 2023 Responsive design in games and matches. (335906 lines)
|
Version 23.54: Dec 20, 2023 Responsive design in games and matches. (335906 lines)
|
||||||
Version 23.53.7: Dec 20, 2023 Layout changes in hierarchy edition. (335883 lines)
|
Version 23.53.7: Dec 20, 2023 Layout changes in hierarchy edition. (335883 lines)
|
||||||
|
|
64
swad_group.c
64
swad_group.c
|
@ -356,47 +356,43 @@ void Grp_ShowFormToSelectSeveralGroups (void (*FuncPars) (void *Args),void *Args
|
||||||
ICanEdit = !Frm_CheckIfInside () &&
|
ICanEdit = !Frm_CheckIfInside () &&
|
||||||
(Gbl.Usrs.Me.Role.Logged == Rol_TCH ||
|
(Gbl.Usrs.Me.Role.Logged == Rol_TCH ||
|
||||||
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM);
|
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM);
|
||||||
if (ICanEdit)
|
Box_BoxBegin (NULL,Txt_Groups,
|
||||||
Box_BoxBegin (NULL,Txt_Groups,
|
ICanEdit ? Grp_PutIconToEditGroups :
|
||||||
Grp_PutIconToEditGroups,NULL,
|
NULL,NULL,
|
||||||
Hlp_USERS_Groups,Box_CLOSABLE);
|
Hlp_USERS_Groups,Box_CLOSABLE);
|
||||||
else
|
|
||||||
Box_BoxBegin (NULL,Txt_Groups,
|
|
||||||
NULL,NULL,
|
|
||||||
Hlp_USERS_Groups,Box_CLOSABLE);
|
|
||||||
|
|
||||||
/***** Begin form to update the students listed
|
/***** Begin form to update the students listed
|
||||||
depending on the groups selected *****/
|
depending on the groups selected *****/
|
||||||
Frm_BeginFormAnchor (Gbl.Action.Act, // Repeat current action
|
Frm_BeginFormAnchor (Gbl.Action.Act, // Repeat current action
|
||||||
Usr_USER_LIST_SECTION_ID);
|
Usr_USER_LIST_SECTION_ID);
|
||||||
Set_PutParsPrefsAboutUsrList ();
|
Set_PutParsPrefsAboutUsrList ();
|
||||||
if (FuncPars)
|
if (FuncPars)
|
||||||
FuncPars (Args);
|
FuncPars (Args);
|
||||||
|
|
||||||
/***** 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 *****/
|
||||||
HTM_TABLE_BeginWidePadding (2);
|
HTM_TABLE_Begin ("TBL_SCROLL");
|
||||||
for (NumGrpTyp = 0;
|
for (NumGrpTyp = 0;
|
||||||
NumGrpTyp < Gbl.Crs.Grps.GrpTypes.NumGrpTypes;
|
NumGrpTyp < Gbl.Crs.Grps.GrpTypes.NumGrpTypes;
|
||||||
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);
|
||||||
HTM_TABLE_End ();
|
HTM_TABLE_End ();
|
||||||
|
|
||||||
/***** 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 *****/
|
||||||
Lay_WriteLinkToUpdate (Txt_Update_users);
|
Lay_WriteLinkToUpdate (Txt_Update_users);
|
||||||
|
|
||||||
/***** End form *****/
|
/***** End form *****/
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
|
|
||||||
/***** End box *****/
|
/***** End box *****/
|
||||||
Box_BoxEnd ();
|
Box_BoxEnd ();
|
||||||
|
|
27
swad_text.c
27
swad_text.c
|
@ -1523,7 +1523,7 @@ const char *Txt_All_groups =
|
||||||
#elif L==5 // fr
|
#elif L==5 // fr
|
||||||
"Tous les groupes";
|
"Tous les groupes";
|
||||||
#elif L==6 // gn
|
#elif L==6 // gn
|
||||||
"Todos los grupos"; // Okoteve traducción
|
"Mayma aty";
|
||||||
#elif L==7 // it
|
#elif L==7 // it
|
||||||
"Tutti i gruppi";
|
"Tutti i gruppi";
|
||||||
#elif L==8 // pl
|
#elif L==8 // pl
|
||||||
|
@ -1531,7 +1531,7 @@ const char *Txt_All_groups =
|
||||||
#elif L==9 // pt
|
#elif L==9 // pt
|
||||||
"Todos os grupos";
|
"Todos os grupos";
|
||||||
#elif L==10 // tr
|
#elif L==10 // tr
|
||||||
"All groups"; // Çeviri lazim!
|
"Tüm gruplar";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_All_places =
|
const char *Txt_All_places =
|
||||||
|
@ -41306,29 +41306,6 @@ const char *Txt_Select_the_groups_in_from_which_you_want_to_register_remove_user
|
||||||
" or removed from the course and from all groups."; // Çeviri lazim!
|
" or removed from the course and from all groups."; // Çeviri lazim!
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_Select_users =
|
|
||||||
#if L==1 // ca
|
|
||||||
"Seleccioneu usuaris";
|
|
||||||
#elif L==2 // de
|
|
||||||
"Wählen Sie Benutzer aus";
|
|
||||||
#elif L==3 // en
|
|
||||||
"Select users";
|
|
||||||
#elif L==4 // es
|
|
||||||
"Seleccione usuarios";
|
|
||||||
#elif L==5 // fr
|
|
||||||
"Sélectionnez des utilisateurs";
|
|
||||||
#elif L==6 // gn
|
|
||||||
"Seleccione usuarios"; // Okoteve traducción
|
|
||||||
#elif L==7 // it
|
|
||||||
"Seleziona utenti";
|
|
||||||
#elif L==8 // pl
|
|
||||||
"Wybierz użytkowników";
|
|
||||||
#elif L==9 // pt
|
|
||||||
"Selecione usuários";
|
|
||||||
#elif L==10 // tr
|
|
||||||
"Select users"; // Çeviri lazim!
|
|
||||||
#endif
|
|
||||||
|
|
||||||
const char *Txt_Selected_users_X_Followed_Y_Not_followed_Z = // Warning: it is very important to include three %u in the following sentences
|
const char *Txt_Selected_users_X_Followed_Y_Not_followed_Z = // Warning: it is very important to include three %u in the following sentences
|
||||||
#if L==1 // ca
|
#if L==1 // ca
|
||||||
"Usuaris seleccionats: %u<br />"
|
"Usuaris seleccionats: %u<br />"
|
||||||
|
|
115
swad_user.c
115
swad_user.c
|
@ -3690,7 +3690,6 @@ void Usr_PutFormToSelectUsrsToGoToAct (struct Usr_SelectedUsrs *SelectedUsrs,
|
||||||
const char *TxtButton,
|
const char *TxtButton,
|
||||||
Frm_PutForm_t PutFormDateRange)
|
Frm_PutForm_t PutFormDateRange)
|
||||||
{
|
{
|
||||||
extern const char *Txt_Select_users;
|
|
||||||
extern const char *Txt_Users;
|
extern const char *Txt_Users;
|
||||||
unsigned NumTotalUsrs;
|
unsigned NumTotalUsrs;
|
||||||
static const Dat_SetHMS SetHMS[Dat_NUM_START_END_TIME] =
|
static const Dat_SetHMS SetHMS[Dat_NUM_START_END_TIME] =
|
||||||
|
@ -3720,81 +3719,73 @@ void Usr_PutFormToSelectUsrsToGoToAct (struct Usr_SelectedUsrs *SelectedUsrs,
|
||||||
Gbl.Usrs.LstUsrs[Rol_NET].NumUsrs +
|
Gbl.Usrs.LstUsrs[Rol_NET].NumUsrs +
|
||||||
Gbl.Usrs.LstUsrs[Rol_TCH].NumUsrs;
|
Gbl.Usrs.LstUsrs[Rol_TCH].NumUsrs;
|
||||||
|
|
||||||
/***** Draw class photos to select users *****/
|
/***** Show form to select the groups *****/
|
||||||
Box_BoxBegin (NULL,Txt_Select_users,
|
Grp_ShowFormToSelectSeveralGroups (FuncPars,Args,
|
||||||
NULL,NULL,
|
Grp_MY_GROUPS);
|
||||||
NULL,Box_NOT_CLOSABLE);
|
|
||||||
|
|
||||||
/***** Show form to select the groups *****/
|
/***** Begin section with user list *****/
|
||||||
Grp_ShowFormToSelectSeveralGroups (FuncPars,Args,
|
HTM_SECTION_Begin (Usr_USER_LIST_SECTION_ID);
|
||||||
Grp_MY_GROUPS);
|
|
||||||
|
|
||||||
/***** Begin section with user list *****/
|
if (NumTotalUsrs)
|
||||||
HTM_SECTION_Begin (Usr_USER_LIST_SECTION_ID);
|
{
|
||||||
|
if (Usr_GetIfShowBigList (NumTotalUsrs,
|
||||||
if (NumTotalUsrs)
|
FuncPars,Args,
|
||||||
|
NULL))
|
||||||
{
|
{
|
||||||
if (Usr_GetIfShowBigList (NumTotalUsrs,
|
/***** Form to select type of list used for select several users *****/
|
||||||
FuncPars,Args,
|
Usr_ShowFormsToSelectUsrListType (FuncPars,Args);
|
||||||
NULL))
|
|
||||||
{
|
|
||||||
/***** Form to select type of list used for select several users *****/
|
|
||||||
Usr_ShowFormsToSelectUsrListType (FuncPars,Args);
|
|
||||||
|
|
||||||
/***** Link to register students *****/
|
/***** Link to register students *****/
|
||||||
Enr_CheckStdsAndPutButtonToRegisterStdsInCurrentCrs ();
|
Enr_CheckStdsAndPutButtonToRegisterStdsInCurrentCrs ();
|
||||||
|
|
||||||
/***** Form to select users and select date range ****/
|
/***** Form to select users and select date range ****/
|
||||||
/* Begin form */
|
/* Begin form */
|
||||||
Frm_BeginForm (NextAction);
|
Frm_BeginForm (NextAction);
|
||||||
|
|
||||||
/* Hidden parameters */
|
/* Hidden parameters */
|
||||||
Grp_PutParsCodGrps ();
|
Grp_PutParsCodGrps ();
|
||||||
if (NextAction == ActAdmAsgWrkCrs)
|
if (NextAction == ActAdmAsgWrkCrs)
|
||||||
{
|
{
|
||||||
Gbl.FileBrowser.FullTree = true; // By default, show all files
|
Gbl.FileBrowser.FullTree = true; // By default, show all files
|
||||||
Brw_PutParFullTreeIfSelected (&Gbl.FileBrowser.FullTree);
|
Brw_PutParFullTreeIfSelected (&Gbl.FileBrowser.FullTree);
|
||||||
}
|
}
|
||||||
if (FuncPars)
|
if (FuncPars)
|
||||||
FuncPars (Args);
|
FuncPars (Args);
|
||||||
|
|
||||||
HTM_TABLE_BeginCenterPadding (2);
|
HTM_TABLE_BeginCenterPadding (2);
|
||||||
|
|
||||||
/* Put list of users to select some of them */
|
/* Put list of users to select some of them */
|
||||||
HTM_TR_Begin (NULL);
|
HTM_TR_Begin (NULL);
|
||||||
HTM_TD_TxtColon (Txt_Users);
|
HTM_TD_TxtColon (Txt_Users);
|
||||||
HTM_TD_Begin ("class=\"LT FORM_IN_%s\"",
|
HTM_TD_Begin ("class=\"LT FORM_IN_%s\"",
|
||||||
The_GetSuffix ());
|
The_GetSuffix ());
|
||||||
HTM_TABLE_BeginCenterPadding (2);
|
HTM_TABLE_BeginCenterPadding (2);
|
||||||
Usr_ListUsersToSelect (Rol_TCH,SelectedUsrs);
|
Usr_ListUsersToSelect (Rol_TCH,SelectedUsrs);
|
||||||
Usr_ListUsersToSelect (Rol_NET,SelectedUsrs);
|
Usr_ListUsersToSelect (Rol_NET,SelectedUsrs);
|
||||||
Usr_ListUsersToSelect (Rol_STD,SelectedUsrs);
|
Usr_ListUsersToSelect (Rol_STD,SelectedUsrs);
|
||||||
HTM_TABLE_End ();
|
HTM_TABLE_End ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
HTM_TR_End ();
|
HTM_TR_End ();
|
||||||
|
|
||||||
/* Starting and ending dates in the search */
|
/* Starting and ending dates in the search */
|
||||||
if (PutFormDateRange == Frm_PUT_FORM)
|
if (PutFormDateRange == Frm_PUT_FORM)
|
||||||
Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (SetHMS);
|
Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (SetHMS);
|
||||||
|
|
||||||
HTM_TABLE_End ();
|
HTM_TABLE_End ();
|
||||||
|
|
||||||
/***** Send button *****/
|
/***** Send button *****/
|
||||||
Btn_PutConfirmButton (TxtButton);
|
Btn_PutConfirmButton (TxtButton);
|
||||||
|
|
||||||
/***** End form *****/
|
/***** End form *****/
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else // NumTotalUsrs == 0
|
}
|
||||||
/***** Show warning indicating no users found *****/
|
else // NumTotalUsrs == 0
|
||||||
Usr_ShowWarningNoUsersFound (Rol_UNK);
|
/***** Show warning indicating no users found *****/
|
||||||
|
Usr_ShowWarningNoUsersFound (Rol_UNK);
|
||||||
|
|
||||||
/***** End section with user list *****/
|
/***** End section with user list *****/
|
||||||
HTM_SECTION_End ();
|
HTM_SECTION_End ();
|
||||||
|
|
||||||
/***** End box *****/
|
|
||||||
Box_BoxEnd ();
|
|
||||||
|
|
||||||
/***** Free memory for users' list *****/
|
/***** Free memory for users' list *****/
|
||||||
Usr_FreeUsrsList (Rol_TCH);
|
Usr_FreeUsrsList (Rol_TCH);
|
||||||
|
|
Loading…
Reference in New Issue