mirror of https://github.com/acanas/swad-core.git
Version 22.107.34:May 10, 2023 Changes in edition of groups.
This commit is contained in:
parent
8e7541d531
commit
065b45c057
|
@ -629,10 +629,11 @@ TODO: Emilce Barrera Mesa: Podr
|
||||||
TODO: Emilce Barrera Mesa: Mis estudiantes presentan muchas dificultades a la hora de poner la foto porque la plataforma es muy exigente respecto al fondo de la imagen.
|
TODO: Emilce Barrera Mesa: Mis estudiantes presentan muchas dificultades a la hora de poner la foto porque la plataforma es muy exigente respecto al fondo de la imagen.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
#define Log_PLATFORM_VERSION "SWAD 22.107.33 (2023-05-09)"
|
#define Log_PLATFORM_VERSION "SWAD 22.107.34 (2023-05-10)"
|
||||||
#define CSS_FILE "swad22.107.17.css"
|
#define CSS_FILE "swad22.107.17.css"
|
||||||
#define JS_FILE "swad22.49.js"
|
#define JS_FILE "swad22.49.js"
|
||||||
/*
|
/*
|
||||||
|
Version 22.107.34:May 10, 2023 Changes in edition of groups. (337543 lines)
|
||||||
Version 22.107.33:May 09, 2023 Changes in edition of degree types. (337591 lines)
|
Version 22.107.33:May 09, 2023 Changes in edition of degree types. (337591 lines)
|
||||||
Version 22.107.32:May 09, 2023 Changes in edition of rooms. (337639 lines)
|
Version 22.107.32:May 09, 2023 Changes in edition of rooms. (337639 lines)
|
||||||
Version 22.107.31:May 09, 2023 Changes in edition of record fields. (337655 lines)
|
Version 22.107.31:May 09, 2023 Changes in edition of record fields. (337655 lines)
|
||||||
|
|
437
swad_group.c
437
swad_group.c
|
@ -101,7 +101,6 @@ static void Grp_ReqEditGroupsInternal2 (Ale_AlertType_t AlertTypeGroups,
|
||||||
static void Grp_EditGroupTypes (void);
|
static void Grp_EditGroupTypes (void);
|
||||||
static void Grp_EditGroups (const struct Roo_Rooms *Rooms);
|
static void Grp_EditGroups (const struct Roo_Rooms *Rooms);
|
||||||
static void Grp_PutIconsEditingGroups (__attribute__((unused)) void *Args);
|
static void Grp_PutIconsEditingGroups (__attribute__((unused)) void *Args);
|
||||||
static void Grp_PutIconToCreateNewGroup (void);
|
|
||||||
|
|
||||||
static void Grp_PutCheckboxAllGrps (Grp_WhichGroups_t GroupsSelectableByStdsOrNETs);
|
static void Grp_PutCheckboxAllGrps (Grp_WhichGroups_t GroupsSelectableByStdsOrNETs);
|
||||||
|
|
||||||
|
@ -112,7 +111,6 @@ static void Grp_RemoveUsrFromGroup (long UsrCod,long GrpCod);
|
||||||
static void Grp_ListGroupTypesForEdition (void);
|
static void Grp_ListGroupTypesForEdition (void);
|
||||||
static void Grp_PutIconsEditingGroupTypes (__attribute__((unused)) void *Args);
|
static void Grp_PutIconsEditingGroupTypes (__attribute__((unused)) void *Args);
|
||||||
static void Grp_PutIconToViewGroups (void);
|
static void Grp_PutIconToViewGroups (void);
|
||||||
static void Grp_PutIconToCreateNewGroupType (void);
|
|
||||||
static void Grp_WriteHeadingGroupTypes (void);
|
static void Grp_WriteHeadingGroupTypes (void);
|
||||||
|
|
||||||
static void Grp_ListGroupsForEdition (const struct Roo_Rooms *Rooms);
|
static void Grp_ListGroupsForEdition (const struct Roo_Rooms *Rooms);
|
||||||
|
@ -335,14 +333,6 @@ static void Grp_PutIconsEditingGroups (__attribute__((unused)) void *Args)
|
||||||
{
|
{
|
||||||
/***** Put icon to view groups *****/
|
/***** Put icon to view groups *****/
|
||||||
Grp_PutIconToViewGroups ();
|
Grp_PutIconToViewGroups ();
|
||||||
|
|
||||||
/***** Put icon to create a new group *****/
|
|
||||||
Grp_PutIconToCreateNewGroup ();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void Grp_PutIconToCreateNewGroup (void)
|
|
||||||
{
|
|
||||||
Ico_PutContextualIconToAdd (ActReqEdiGrp,Grp_NEW_GROUP_SECTION_ID,NULL,NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -1350,9 +1340,6 @@ static void Grp_PutIconsEditingGroupTypes (__attribute__((unused)) void *Args)
|
||||||
{
|
{
|
||||||
/***** Put icon to view groups *****/
|
/***** Put icon to view groups *****/
|
||||||
Grp_PutIconToViewGroups ();
|
Grp_PutIconToViewGroups ();
|
||||||
|
|
||||||
/***** Put icon to create a new type of group *****/
|
|
||||||
Grp_PutIconToCreateNewGroupType ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Grp_PutIconToViewGroups (void)
|
static void Grp_PutIconToViewGroups (void)
|
||||||
|
@ -1361,12 +1348,6 @@ static void Grp_PutIconToViewGroups (void)
|
||||||
NULL,NULL);
|
NULL,NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Grp_PutIconToCreateNewGroupType (void)
|
|
||||||
{
|
|
||||||
Ico_PutContextualIconToAdd (ActReqEdiGrp,Grp_NEW_GROUP_TYPE_SECTION_ID,
|
|
||||||
NULL,NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*********************** Write heading of group types ************************/
|
/*********************** Write heading of group types ************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -2392,6 +2373,7 @@ static void Grp_WriteRowGrp (struct Group *Grp,bool Highlight)
|
||||||
|
|
||||||
static void Grp_PutFormToCreateGroupType (void)
|
static void Grp_PutFormToCreateGroupType (void)
|
||||||
{
|
{
|
||||||
|
extern const char *Txt_Actions[ActLst_NUM_ACTIONS];
|
||||||
extern const char *Txt_Type_of_group;
|
extern const char *Txt_Type_of_group;
|
||||||
extern const char *Txt_It_is_optional_to_choose_a_group;
|
extern const char *Txt_It_is_optional_to_choose_a_group;
|
||||||
extern const char *Txt_It_is_mandatory_to_choose_a_group;
|
extern const char *Txt_It_is_mandatory_to_choose_a_group;
|
||||||
|
@ -2399,114 +2381,120 @@ static void Grp_PutFormToCreateGroupType (void)
|
||||||
extern const char *Txt_A_student_can_only_belong_to_one_group;
|
extern const char *Txt_A_student_can_only_belong_to_one_group;
|
||||||
extern const char *Txt_The_groups_will_automatically_open;
|
extern const char *Txt_The_groups_will_automatically_open;
|
||||||
extern const char *Txt_The_groups_will_not_automatically_open;
|
extern const char *Txt_The_groups_will_not_automatically_open;
|
||||||
extern const char *Txt_Create_type_of_group;
|
extern const char *Txt_Create;
|
||||||
unsigned CurrentYear = Dat_GetCurrentYear ();
|
unsigned CurrentYear = Dat_GetCurrentYear ();
|
||||||
|
|
||||||
/***** Begin section *****/
|
/***** Begin section *****/
|
||||||
HTM_SECTION_Begin (Grp_NEW_GROUP_TYPE_SECTION_ID);
|
HTM_SECTION_Begin (Grp_NEW_GROUP_TYPE_SECTION_ID);
|
||||||
|
|
||||||
/***** Begin form *****/
|
/***** Begin fieldset *****/
|
||||||
Frm_BeginFormAnchor (ActNewGrpTyp,Grp_GROUP_TYPES_SECTION_ID);
|
HTM_FIELDSET_Begin (NULL);
|
||||||
|
HTM_LEGEND (Txt_Actions[ActNewGrpTyp]);
|
||||||
|
|
||||||
/***** Begin box *****/
|
/***** Begin form *****/
|
||||||
Box_BoxTableBegin (NULL,Txt_Type_of_group,
|
Frm_BeginFormAnchor (ActNewGrpTyp,Grp_NEW_GROUP_TYPE_SECTION_ID);
|
||||||
NULL,NULL,
|
|
||||||
NULL,Box_NOT_CLOSABLE,2);
|
|
||||||
|
|
||||||
/***** Write heading *****/
|
/***** Begin table *****/
|
||||||
Grp_WriteHeadingGroupTypes ();
|
HTM_TABLE_BeginWidePadding (2);
|
||||||
|
|
||||||
HTM_TR_Begin (NULL);
|
/***** Write heading *****/
|
||||||
|
Grp_WriteHeadingGroupTypes ();
|
||||||
|
|
||||||
/***** Column to remove group type, disabled here *****/
|
HTM_TR_Begin (NULL);
|
||||||
HTM_TD_Begin ("class=\"BM\"");
|
|
||||||
HTM_TD_End ();
|
|
||||||
|
|
||||||
/***** Name of group type *****/
|
/***** Column to remove group type, disabled here *****/
|
||||||
HTM_TD_Begin ("class=\"LM\"");
|
HTM_TD_Begin ("class=\"BM\"");
|
||||||
HTM_INPUT_TEXT ("GrpTypName",Grp_MAX_CHARS_GROUP_TYPE_NAME,
|
HTM_TD_End ();
|
||||||
Gbl.Crs.Grps.GrpTyp.GrpTypName,HTM_DONT_SUBMIT_ON_CHANGE,
|
|
||||||
"size=\"12\" class=\"INPUT_%s\""
|
|
||||||
" required=\"required\"",
|
|
||||||
The_GetSuffix ());
|
|
||||||
HTM_TD_End ();
|
|
||||||
|
|
||||||
/***** Is it mandatory to register in any groups of this type? *****/
|
/***** Name of group type *****/
|
||||||
HTM_TD_Begin ("class=\"CM\"");
|
HTM_TD_Begin ("class=\"LM\"");
|
||||||
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
|
HTM_INPUT_TEXT ("GrpTypName",Grp_MAX_CHARS_GROUP_TYPE_NAME,
|
||||||
"name=\"MandatoryEnrolment\""
|
Gbl.Crs.Grps.GrpTyp.GrpTypName,HTM_DONT_SUBMIT_ON_CHANGE,
|
||||||
" class=\"INPUT_%s\" style=\"width:150px;\"",
|
"size=\"12\" class=\"INPUT_%s\""
|
||||||
The_GetSuffix ());
|
" required=\"required\"",
|
||||||
HTM_OPTION (HTM_Type_STRING,"N",
|
The_GetSuffix ());
|
||||||
!Gbl.Crs.Grps.GrpTyp.MandatoryEnrolment, // Selected?
|
HTM_TD_End ();
|
||||||
HTM_OPTION_ENABLED,
|
|
||||||
"%s",Txt_It_is_optional_to_choose_a_group);
|
|
||||||
HTM_OPTION (HTM_Type_STRING,"Y",
|
|
||||||
Gbl.Crs.Grps.GrpTyp.MandatoryEnrolment, // Selected?
|
|
||||||
HTM_OPTION_ENABLED,
|
|
||||||
"%s",Txt_It_is_mandatory_to_choose_a_group);
|
|
||||||
HTM_SELECT_End ();
|
|
||||||
HTM_TD_End ();
|
|
||||||
|
|
||||||
/***** Is it possible to register in multiple groups of this type? *****/
|
/***** Is it mandatory to register in any groups of this type? *****/
|
||||||
HTM_TD_Begin ("class=\"CM\"");
|
HTM_TD_Begin ("class=\"CM\"");
|
||||||
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
|
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
|
||||||
"name=\"MultipleEnrolment\""
|
"name=\"MandatoryEnrolment\""
|
||||||
" class=\"INPUT_%s\" style=\"width:150px;\"",
|
" class=\"INPUT_%s\" style=\"width:150px;\"",
|
||||||
The_GetSuffix ());
|
The_GetSuffix ());
|
||||||
HTM_OPTION (HTM_Type_STRING,"N",
|
HTM_OPTION (HTM_Type_STRING,"N",
|
||||||
!Gbl.Crs.Grps.GrpTyp.MultipleEnrolment, // Selected?
|
!Gbl.Crs.Grps.GrpTyp.MandatoryEnrolment, // Selected?
|
||||||
HTM_OPTION_ENABLED,
|
HTM_OPTION_ENABLED,
|
||||||
"%s",Txt_A_student_can_only_belong_to_one_group);
|
"%s",Txt_It_is_optional_to_choose_a_group);
|
||||||
HTM_OPTION (HTM_Type_STRING,"Y",
|
HTM_OPTION (HTM_Type_STRING,"Y",
|
||||||
Gbl.Crs.Grps.GrpTyp.MultipleEnrolment, // Selected?
|
Gbl.Crs.Grps.GrpTyp.MandatoryEnrolment, // Selected?
|
||||||
HTM_OPTION_ENABLED,
|
HTM_OPTION_ENABLED,
|
||||||
"%s",Txt_A_student_can_belong_to_several_groups);
|
"%s",Txt_It_is_mandatory_to_choose_a_group);
|
||||||
HTM_SELECT_End ();
|
HTM_SELECT_End ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
/***** Open time *****/
|
/***** Is it possible to register in multiple groups of this type? *****/
|
||||||
HTM_TD_Begin ("class=\"LM\"");
|
HTM_TD_Begin ("class=\"CM\"");
|
||||||
HTM_TABLE_BeginPadding (2);
|
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
|
||||||
HTM_TR_Begin (NULL);
|
"name=\"MultipleEnrolment\""
|
||||||
|
" class=\"INPUT_%s\" style=\"width:150px;\"",
|
||||||
|
The_GetSuffix ());
|
||||||
|
HTM_OPTION (HTM_Type_STRING,"N",
|
||||||
|
!Gbl.Crs.Grps.GrpTyp.MultipleEnrolment, // Selected?
|
||||||
|
HTM_OPTION_ENABLED,
|
||||||
|
"%s",Txt_A_student_can_only_belong_to_one_group);
|
||||||
|
HTM_OPTION (HTM_Type_STRING,"Y",
|
||||||
|
Gbl.Crs.Grps.GrpTyp.MultipleEnrolment, // Selected?
|
||||||
|
HTM_OPTION_ENABLED,
|
||||||
|
"%s",Txt_A_student_can_belong_to_several_groups);
|
||||||
|
HTM_SELECT_End ();
|
||||||
|
HTM_TD_End ();
|
||||||
|
|
||||||
HTM_TD_Begin ("class=\"LM\" style=\"width:20px;\"");
|
/***** Open time *****/
|
||||||
if (Gbl.Crs.Grps.GrpTyp.MustBeOpened)
|
HTM_TD_Begin ("class=\"LM\"");
|
||||||
Ico_PutIconOn ("clock.svg",Ico_BLACK,
|
HTM_TABLE_BeginPadding (2);
|
||||||
Txt_The_groups_will_automatically_open);
|
HTM_TR_Begin (NULL);
|
||||||
else
|
|
||||||
Ico_PutIconOff ("clock.svg",Ico_BLACK,
|
|
||||||
Txt_The_groups_will_not_automatically_open);
|
|
||||||
HTM_TD_End ();
|
|
||||||
|
|
||||||
HTM_TD_Begin ("class=\"LM\"");
|
HTM_TD_Begin ("class=\"LM\" style=\"width:20px;\"");
|
||||||
Dat_WriteFormClientLocalDateTimeFromTimeUTC ("open_time",
|
if (Gbl.Crs.Grps.GrpTyp.MustBeOpened)
|
||||||
Dat_STR_TIME,
|
Ico_PutIconOn ("clock.svg",Ico_BLACK,
|
||||||
Gbl.Crs.Grps.GrpTyp.OpenTimeUTC,
|
Txt_The_groups_will_automatically_open);
|
||||||
CurrentYear,
|
else
|
||||||
CurrentYear + 1,
|
Ico_PutIconOff ("clock.svg",Ico_BLACK,
|
||||||
Dat_FORM_SECONDS_ON,
|
Txt_The_groups_will_not_automatically_open);
|
||||||
Dat_HMS_DO_NOT_SET, // Don't set hour, minute and second
|
HTM_TD_End ();
|
||||||
HTM_DONT_SUBMIT_ON_CHANGE);
|
|
||||||
HTM_TD_End ();
|
|
||||||
|
|
||||||
HTM_TR_End ();
|
HTM_TD_Begin ("class=\"LM\"");
|
||||||
HTM_TABLE_End ();
|
Dat_WriteFormClientLocalDateTimeFromTimeUTC ("open_time",
|
||||||
HTM_TD_End ();
|
Dat_STR_TIME,
|
||||||
|
Gbl.Crs.Grps.GrpTyp.OpenTimeUTC,
|
||||||
|
CurrentYear,
|
||||||
|
CurrentYear + 1,
|
||||||
|
Dat_FORM_SECONDS_ON,
|
||||||
|
Dat_HMS_DO_NOT_SET, // Don't set hour, minute and second
|
||||||
|
HTM_DONT_SUBMIT_ON_CHANGE);
|
||||||
|
HTM_TD_End ();
|
||||||
|
|
||||||
/***** Number of groups of this type *****/
|
HTM_TR_End ();
|
||||||
HTM_TD_Begin ("class=\"CM DAT_%s\"",
|
HTM_TABLE_End ();
|
||||||
The_GetSuffix ());
|
HTM_TD_End ();
|
||||||
HTM_Unsigned (0); // It's a new group type ==> 0 groups
|
|
||||||
HTM_TD_End ();
|
|
||||||
|
|
||||||
HTM_TR_End ();
|
/***** Number of groups of this type *****/
|
||||||
|
HTM_TD_Begin ("class=\"CM DAT_%s\"",
|
||||||
|
The_GetSuffix ());
|
||||||
|
HTM_Unsigned (0); // It's a new group type ==> 0 groups
|
||||||
|
HTM_TD_End ();
|
||||||
|
|
||||||
/***** End table, send button and end box *****/
|
HTM_TR_End ();
|
||||||
Box_BoxTableWithButtonEnd (Btn_CREATE_BUTTON,Txt_Create_type_of_group);
|
|
||||||
|
|
||||||
/***** End form *****/
|
/***** End table and send button *****/
|
||||||
Frm_EndForm ();
|
HTM_TABLE_End ();
|
||||||
|
Btn_PutButton (Btn_CREATE_BUTTON,Txt_Create);
|
||||||
|
|
||||||
|
/***** End form *****/
|
||||||
|
Frm_EndForm ();
|
||||||
|
|
||||||
|
/***** End fieldset *****/
|
||||||
|
HTM_FIELDSET_End ();
|
||||||
|
|
||||||
/***** End section *****/
|
/***** End section *****/
|
||||||
HTM_SECTION_End ();
|
HTM_SECTION_End ();
|
||||||
|
@ -2518,12 +2506,13 @@ static void Grp_PutFormToCreateGroupType (void)
|
||||||
|
|
||||||
static void Grp_PutFormToCreateGroup (const struct Roo_Rooms *Rooms)
|
static void Grp_PutFormToCreateGroup (const struct Roo_Rooms *Rooms)
|
||||||
{
|
{
|
||||||
|
extern const char *Txt_Actions[ActLst_NUM_ACTIONS];
|
||||||
extern const char *Txt_Group;
|
extern const char *Txt_Group;
|
||||||
extern const char *Txt_Group_closed;
|
extern const char *Txt_Group_closed;
|
||||||
extern const char *Txt_File_zones_disabled;
|
extern const char *Txt_File_zones_disabled;
|
||||||
extern const char *Txt_No_assigned_room;
|
extern const char *Txt_No_assigned_room;
|
||||||
extern const char *Txt_Another_room;
|
extern const char *Txt_Another_room;
|
||||||
extern const char *Txt_Create_group;
|
extern const char *Txt_Create;
|
||||||
unsigned NumGrpTyp;
|
unsigned NumGrpTyp;
|
||||||
const struct GroupType *GrpTypInLst;
|
const struct GroupType *GrpTypInLst;
|
||||||
unsigned NumRoo;
|
unsigned NumRoo;
|
||||||
|
@ -2534,129 +2523,135 @@ static void Grp_PutFormToCreateGroup (const struct Roo_Rooms *Rooms)
|
||||||
/***** Begin section *****/
|
/***** Begin section *****/
|
||||||
HTM_SECTION_Begin (Grp_NEW_GROUP_SECTION_ID);
|
HTM_SECTION_Begin (Grp_NEW_GROUP_SECTION_ID);
|
||||||
|
|
||||||
/***** Begin form *****/
|
/***** Begin fieldset *****/
|
||||||
Frm_BeginFormAnchor (ActNewGrp,Grp_GROUPS_SECTION_ID);
|
HTM_FIELDSET_Begin (NULL);
|
||||||
|
HTM_LEGEND (Txt_Actions[ActNewGrp]);
|
||||||
|
|
||||||
/***** Begin box and table *****/
|
/***** Begin form *****/
|
||||||
Box_BoxTableBegin (NULL,Txt_Group,
|
Frm_BeginFormAnchor (ActNewGrp,Grp_GROUPS_SECTION_ID);
|
||||||
NULL,NULL,
|
|
||||||
NULL,Box_NOT_CLOSABLE,2);
|
|
||||||
|
|
||||||
/***** Write heading *****/
|
/***** Begin table *****/
|
||||||
Grp_WriteHeadingGroups ();
|
HTM_TABLE_BeginWidePadding (2);
|
||||||
|
|
||||||
HTM_TR_Begin (NULL);
|
/***** Write heading *****/
|
||||||
|
Grp_WriteHeadingGroups ();
|
||||||
|
|
||||||
/***** Empty column to remove *****/
|
HTM_TR_Begin (NULL);
|
||||||
HTM_TD_Begin ("class=\"BM\"");
|
|
||||||
HTM_TD_End ();
|
|
||||||
|
|
||||||
/***** Disabled icon to open group *****/
|
/***** Empty column to remove *****/
|
||||||
HTM_TD_Begin ("class=\"BM\"");
|
HTM_TD_Begin ("class=\"BM\"");
|
||||||
Ico_PutIconOff ("lock.svg",Ico_RED,Txt_Group_closed);
|
|
||||||
HTM_TD_End ();
|
|
||||||
|
|
||||||
/***** Disabled icon for archive zone *****/
|
|
||||||
HTM_TD_Begin ("class=\"BM\"");
|
|
||||||
Ico_PutIconOff ("folder.svg",Ico_RED,Txt_File_zones_disabled);
|
|
||||||
HTM_TD_End ();
|
|
||||||
|
|
||||||
/***** Group type *****/
|
|
||||||
/* Begin selector */
|
|
||||||
HTM_TD_Begin ("class=\"CM\"");
|
|
||||||
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
|
|
||||||
"name=\"GrpTypCod\""
|
|
||||||
" class=\"INPUT_%s\" style=\"width:100px;\"",
|
|
||||||
The_GetSuffix ());
|
|
||||||
|
|
||||||
/* Options for group types */
|
|
||||||
for (NumGrpTyp = 0;
|
|
||||||
NumGrpTyp < Gbl.Crs.Grps.GrpTypes.NumGrpTypes;
|
|
||||||
NumGrpTyp++)
|
|
||||||
{
|
|
||||||
GrpTypInLst = &Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp];
|
|
||||||
HTM_OPTION (HTM_Type_LONG,&GrpTypInLst->GrpTypCod,
|
|
||||||
GrpTypInLst->GrpTypCod == Gbl.Crs.Grps.GrpTyp.GrpTypCod, // Selected?
|
|
||||||
HTM_OPTION_ENABLED,
|
|
||||||
"%s",GrpTypInLst->GrpTypName);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* End selector */
|
|
||||||
HTM_SELECT_End ();
|
|
||||||
HTM_TD_End ();
|
|
||||||
|
|
||||||
/***** Group name *****/
|
|
||||||
HTM_TD_Begin ("class=\"CM\"");
|
|
||||||
HTM_INPUT_TEXT ("GrpName",Grp_MAX_CHARS_GROUP_NAME,Gbl.Crs.Grps.GrpName,
|
|
||||||
HTM_DONT_SUBMIT_ON_CHANGE,
|
|
||||||
"size=\"20\" class=\"INPUT_%s\""
|
|
||||||
" required=\"required\"",
|
|
||||||
The_GetSuffix ());
|
|
||||||
HTM_TD_End ();
|
|
||||||
|
|
||||||
/***** Room *****/
|
|
||||||
/* Begin selector */
|
|
||||||
HTM_TD_Begin ("class=\"CM\"");
|
|
||||||
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
|
|
||||||
"name=\"RooCod\""
|
|
||||||
" class=\"INPUT_%s\" style=\"width:100px;\"",
|
|
||||||
The_GetSuffix ());
|
|
||||||
|
|
||||||
/* Option for no assigned room */
|
|
||||||
HTM_OPTION (HTM_Type_STRING,"-1",
|
|
||||||
Gbl.Crs.Grps.RooCod < 0, // Selected?
|
|
||||||
HTM_OPTION_ENABLED,
|
|
||||||
"%s",Txt_No_assigned_room);
|
|
||||||
|
|
||||||
/* Option for another room */
|
|
||||||
HTM_OPTION (HTM_Type_STRING,"0",
|
|
||||||
Gbl.Crs.Grps.RooCod == 0, // Selected?
|
|
||||||
HTM_OPTION_ENABLED,
|
|
||||||
"%s",Txt_Another_room);
|
|
||||||
|
|
||||||
/* Options for rooms */
|
|
||||||
for (NumRoo = 0;
|
|
||||||
NumRoo < Rooms->Num;
|
|
||||||
NumRoo++)
|
|
||||||
{
|
|
||||||
RooInLst = &Rooms->Lst[NumRoo];
|
|
||||||
HTM_OPTION (HTM_Type_LONG,&RooInLst->RooCod,
|
|
||||||
RooInLst->RooCod == Gbl.Crs.Grps.RooCod, // Selected?
|
|
||||||
HTM_OPTION_ENABLED,
|
|
||||||
"%s",RooInLst->ShrtName);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* End selector */
|
|
||||||
HTM_SELECT_End ();
|
|
||||||
HTM_TD_End ();
|
|
||||||
|
|
||||||
/***** Current number of users in this group *****/
|
|
||||||
for (Role = Rol_TCH;
|
|
||||||
Role >= Rol_STD;
|
|
||||||
Role--)
|
|
||||||
{
|
|
||||||
HTM_TD_Begin ("class=\"CM DAT_%s\"",
|
|
||||||
The_GetSuffix ());
|
|
||||||
HTM_Unsigned (0);
|
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
}
|
|
||||||
|
|
||||||
/***** Maximum number of students *****/
|
/***** Disabled icon to open group *****/
|
||||||
HTM_TD_Begin ("class=\"CM\"");
|
HTM_TD_Begin ("class=\"BM\"");
|
||||||
Grp_WriteMaxStds (StrMaxStudents,Gbl.Crs.Grps.MaxStudents);
|
Ico_PutIconOff ("lock.svg",Ico_RED,Txt_Group_closed);
|
||||||
HTM_INPUT_TEXT ("MaxStudents",Cns_MAX_DECIMAL_DIGITS_UINT,StrMaxStudents,
|
HTM_TD_End ();
|
||||||
HTM_DONT_SUBMIT_ON_CHANGE,
|
|
||||||
"size=\"3\" class=\"INPUT_%s\"",
|
|
||||||
The_GetSuffix ());
|
|
||||||
HTM_TD_End ();
|
|
||||||
|
|
||||||
HTM_TR_End ();
|
/***** Disabled icon for archive zone *****/
|
||||||
|
HTM_TD_Begin ("class=\"BM\"");
|
||||||
|
Ico_PutIconOff ("folder.svg",Ico_RED,Txt_File_zones_disabled);
|
||||||
|
HTM_TD_End ();
|
||||||
|
|
||||||
/***** End table, send button and end box *****/
|
/***** Group type *****/
|
||||||
Box_BoxTableWithButtonEnd (Btn_CREATE_BUTTON,Txt_Create_group);
|
/* Begin selector */
|
||||||
|
HTM_TD_Begin ("class=\"CM\"");
|
||||||
|
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
|
||||||
|
"name=\"GrpTypCod\""
|
||||||
|
" class=\"INPUT_%s\" style=\"width:100px;\"",
|
||||||
|
The_GetSuffix ());
|
||||||
|
|
||||||
/***** End form *****/
|
/* Options for group types */
|
||||||
Frm_EndForm ();
|
for (NumGrpTyp = 0;
|
||||||
|
NumGrpTyp < Gbl.Crs.Grps.GrpTypes.NumGrpTypes;
|
||||||
|
NumGrpTyp++)
|
||||||
|
{
|
||||||
|
GrpTypInLst = &Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp];
|
||||||
|
HTM_OPTION (HTM_Type_LONG,&GrpTypInLst->GrpTypCod,
|
||||||
|
GrpTypInLst->GrpTypCod == Gbl.Crs.Grps.GrpTyp.GrpTypCod, // Selected?
|
||||||
|
HTM_OPTION_ENABLED,
|
||||||
|
"%s",GrpTypInLst->GrpTypName);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* End selector */
|
||||||
|
HTM_SELECT_End ();
|
||||||
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
/***** Group name *****/
|
||||||
|
HTM_TD_Begin ("class=\"CM\"");
|
||||||
|
HTM_INPUT_TEXT ("GrpName",Grp_MAX_CHARS_GROUP_NAME,Gbl.Crs.Grps.GrpName,
|
||||||
|
HTM_DONT_SUBMIT_ON_CHANGE,
|
||||||
|
"size=\"20\" class=\"INPUT_%s\""
|
||||||
|
" required=\"required\"",
|
||||||
|
The_GetSuffix ());
|
||||||
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
/***** Room *****/
|
||||||
|
/* Begin selector */
|
||||||
|
HTM_TD_Begin ("class=\"CM\"");
|
||||||
|
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
|
||||||
|
"name=\"RooCod\""
|
||||||
|
" class=\"INPUT_%s\" style=\"width:100px;\"",
|
||||||
|
The_GetSuffix ());
|
||||||
|
|
||||||
|
/* Option for no assigned room */
|
||||||
|
HTM_OPTION (HTM_Type_STRING,"-1",
|
||||||
|
Gbl.Crs.Grps.RooCod < 0, // Selected?
|
||||||
|
HTM_OPTION_ENABLED,
|
||||||
|
"%s",Txt_No_assigned_room);
|
||||||
|
|
||||||
|
/* Option for another room */
|
||||||
|
HTM_OPTION (HTM_Type_STRING,"0",
|
||||||
|
Gbl.Crs.Grps.RooCod == 0, // Selected?
|
||||||
|
HTM_OPTION_ENABLED,
|
||||||
|
"%s",Txt_Another_room);
|
||||||
|
|
||||||
|
/* Options for rooms */
|
||||||
|
for (NumRoo = 0;
|
||||||
|
NumRoo < Rooms->Num;
|
||||||
|
NumRoo++)
|
||||||
|
{
|
||||||
|
RooInLst = &Rooms->Lst[NumRoo];
|
||||||
|
HTM_OPTION (HTM_Type_LONG,&RooInLst->RooCod,
|
||||||
|
RooInLst->RooCod == Gbl.Crs.Grps.RooCod, // Selected?
|
||||||
|
HTM_OPTION_ENABLED,
|
||||||
|
"%s",RooInLst->ShrtName);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* End selector */
|
||||||
|
HTM_SELECT_End ();
|
||||||
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
/***** Current number of users in this group *****/
|
||||||
|
for (Role = Rol_TCH;
|
||||||
|
Role >= Rol_STD;
|
||||||
|
Role--)
|
||||||
|
{
|
||||||
|
HTM_TD_Begin ("class=\"CM DAT_%s\"",
|
||||||
|
The_GetSuffix ());
|
||||||
|
HTM_Unsigned (0);
|
||||||
|
HTM_TD_End ();
|
||||||
|
}
|
||||||
|
|
||||||
|
/***** Maximum number of students *****/
|
||||||
|
HTM_TD_Begin ("class=\"CM\"");
|
||||||
|
Grp_WriteMaxStds (StrMaxStudents,Gbl.Crs.Grps.MaxStudents);
|
||||||
|
HTM_INPUT_TEXT ("MaxStudents",Cns_MAX_DECIMAL_DIGITS_UINT,StrMaxStudents,
|
||||||
|
HTM_DONT_SUBMIT_ON_CHANGE,
|
||||||
|
"size=\"3\" class=\"INPUT_%s\"",
|
||||||
|
The_GetSuffix ());
|
||||||
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
HTM_TR_End ();
|
||||||
|
|
||||||
|
/***** End table and send button *****/
|
||||||
|
HTM_TABLE_End ();
|
||||||
|
Btn_PutButton (Btn_CREATE_BUTTON,Txt_Create);
|
||||||
|
|
||||||
|
/***** End form *****/
|
||||||
|
Frm_EndForm ();
|
||||||
|
|
||||||
|
/***** End fieldset *****/
|
||||||
|
HTM_FIELDSET_End ();
|
||||||
|
|
||||||
/***** End section *****/
|
/***** End section *****/
|
||||||
HTM_SECTION_End ();
|
HTM_SECTION_End ();
|
||||||
|
|
46
swad_text.c
46
swad_text.c
|
@ -6687,29 +6687,6 @@ const char *Txt_Create_folder =
|
||||||
"Create folder"; // Çeviri lazim!
|
"Create folder"; // Çeviri lazim!
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_Create_group =
|
|
||||||
#if L==1 // ca
|
|
||||||
"Crear grup";
|
|
||||||
#elif L==2 // de
|
|
||||||
"Gruppe erstellen";
|
|
||||||
#elif L==3 // en
|
|
||||||
"Create group";
|
|
||||||
#elif L==4 // es
|
|
||||||
"Crear grupo";
|
|
||||||
#elif L==5 // fr
|
|
||||||
"Créer groupe";
|
|
||||||
#elif L==6 // gn
|
|
||||||
"Crear grupo"; // Okoteve traducción
|
|
||||||
#elif L==7 // it
|
|
||||||
"Crea gruppo";
|
|
||||||
#elif L==8 // pl
|
|
||||||
"Utwórz grupę";
|
|
||||||
#elif L==9 // pt
|
|
||||||
"Criar grupo";
|
|
||||||
#elif L==10 // tr
|
|
||||||
"Create group"; // Çeviri lazim!
|
|
||||||
#endif
|
|
||||||
|
|
||||||
const char *Txt_Create_item =
|
const char *Txt_Create_item =
|
||||||
#if L==1 // ca
|
#if L==1 // ca
|
||||||
"Crear ítem";
|
"Crear ítem";
|
||||||
|
@ -6825,29 +6802,6 @@ const char *Txt_Create_question =
|
||||||
"Create question"; // Çeviri lazim!
|
"Create question"; // Çeviri lazim!
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_Create_type_of_group =
|
|
||||||
#if L==1 // ca
|
|
||||||
"Crear tipus de grup";
|
|
||||||
#elif L==2 // de
|
|
||||||
"Gruppen-Typ definieren";
|
|
||||||
#elif L==3 // en
|
|
||||||
"Create type of group";
|
|
||||||
#elif L==4 // es
|
|
||||||
"Crear tipo de grupo";
|
|
||||||
#elif L==5 // fr
|
|
||||||
"Créer type de groupe";
|
|
||||||
#elif L==6 // gn
|
|
||||||
"Crear tipo de grupo"; // Okoteve traducción
|
|
||||||
#elif L==7 // it
|
|
||||||
"Crea tipo di gruppo";
|
|
||||||
#elif L==8 // pl
|
|
||||||
"Utwórz typu grupy";
|
|
||||||
#elif L==9 // pt
|
|
||||||
"Criar tipo de grupo";
|
|
||||||
#elif L==10 // tr
|
|
||||||
"Create type of group"; // Çeviri lazim!
|
|
||||||
#endif
|
|
||||||
|
|
||||||
const char *Txt_Create_ZIP_file =
|
const char *Txt_Create_ZIP_file =
|
||||||
#if L==1 // ca
|
#if L==1 // ca
|
||||||
"Crear arxiu ZIP";
|
"Crear arxiu ZIP";
|
||||||
|
|
|
@ -24766,25 +24766,25 @@ const char *Txt_Actions[ActLst_NUM_ACTIONS] =
|
||||||
,
|
,
|
||||||
[ActNewGrpTyp] =
|
[ActNewGrpTyp] =
|
||||||
#if L==1 // ca
|
#if L==1 // ca
|
||||||
"Request creation of a type of group" // Necessita traducció
|
"Crear tipus de grup"
|
||||||
#elif L==2 // de
|
#elif L==2 // de
|
||||||
"Request creation of a type of group" // Need Übersetzung
|
"Gruppen-Typ definieren"
|
||||||
#elif L==3 // en
|
#elif L==3 // en
|
||||||
"Request creation of a type of group"
|
"Create type of group"
|
||||||
#elif L==4 // es
|
#elif L==4 // es
|
||||||
"Solicitar creación de un tipo de grupo"
|
"Crear tipo de grupo"
|
||||||
#elif L==5 // fr
|
#elif L==5 // fr
|
||||||
"Request creation of a type of group" // Besoin de traduction
|
"Créer type de groupe"
|
||||||
#elif L==6 // gn
|
#elif L==6 // gn
|
||||||
"Solicitar creación de un tipo de grupo" // Okoteve traducción
|
"Crear tipo de grupo" // Okoteve traducción
|
||||||
#elif L==7 // it
|
#elif L==7 // it
|
||||||
"Request creation of a type of group" // Bisogno di traduzione
|
"Crea tipo di gruppo"
|
||||||
#elif L==8 // pl
|
#elif L==8 // pl
|
||||||
"Request creation of a type of group" // Potrzebujesz tlumaczenie
|
"Utwórz typu grupy"
|
||||||
#elif L==9 // pt
|
#elif L==9 // pt
|
||||||
"Request creation of a type of group" // Precisa de tradução
|
"Criar tipo de grupo"
|
||||||
#elif L==10 // tr
|
#elif L==10 // tr
|
||||||
"Request creation of a type of group" // Çeviri lazim!
|
"Create type of group" // Çeviri lazim!
|
||||||
#endif
|
#endif
|
||||||
,
|
,
|
||||||
[ActReqRemGrpTyp] =
|
[ActReqRemGrpTyp] =
|
||||||
|
@ -24927,25 +24927,25 @@ const char *Txt_Actions[ActLst_NUM_ACTIONS] =
|
||||||
,
|
,
|
||||||
[ActNewGrp] =
|
[ActNewGrp] =
|
||||||
#if L==1 // ca
|
#if L==1 // ca
|
||||||
"Create group" // Necessita traducció
|
"Crear grup"
|
||||||
#elif L==2 // de
|
#elif L==2 // de
|
||||||
"Create group" // Need Übersetzung
|
"Gruppe erstellen"
|
||||||
#elif L==3 // en
|
#elif L==3 // en
|
||||||
"Create group"
|
"Create group"
|
||||||
#elif L==4 // es
|
#elif L==4 // es
|
||||||
"Crear grupo"
|
"Crear grupo"
|
||||||
#elif L==5 // fr
|
#elif L==5 // fr
|
||||||
"Create group" // Besoin de traduction
|
"Créer groupe"
|
||||||
#elif L==6 // gn
|
#elif L==6 // gn
|
||||||
"Crear grupo" // Okoteve traducción
|
"Crear grupo" // Okoteve traducción
|
||||||
#elif L==7 // it
|
#elif L==7 // it
|
||||||
"Create group" // Bisogno di traduzione
|
"Crea gruppo"
|
||||||
#elif L==8 // pl
|
#elif L==8 // pl
|
||||||
"Create group" // Potrzebujesz tlumaczenie
|
"Utwórz grupę"
|
||||||
#elif L==9 // pt
|
#elif L==9 // pt
|
||||||
"Create group" // Precisa de tradução
|
"Criar grupo"
|
||||||
#elif L==10 // tr
|
#elif L==10 // tr
|
||||||
"Create group" // Çeviri lazim!
|
"Create group" // Çeviri lazim!
|
||||||
#endif
|
#endif
|
||||||
,
|
,
|
||||||
[ActReqRemGrp] =
|
[ActReqRemGrp] =
|
||||||
|
|
Loading…
Reference in New Issue