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.
|
||||
|
||||
*/
|
||||
#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 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.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)
|
||||
|
|
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_EditGroups (const struct Roo_Rooms *Rooms);
|
||||
static void Grp_PutIconsEditingGroups (__attribute__((unused)) void *Args);
|
||||
static void Grp_PutIconToCreateNewGroup (void);
|
||||
|
||||
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_PutIconsEditingGroupTypes (__attribute__((unused)) void *Args);
|
||||
static void Grp_PutIconToViewGroups (void);
|
||||
static void Grp_PutIconToCreateNewGroupType (void);
|
||||
static void Grp_WriteHeadingGroupTypes (void);
|
||||
|
||||
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 *****/
|
||||
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 *****/
|
||||
Grp_PutIconToViewGroups ();
|
||||
|
||||
/***** Put icon to create a new type of group *****/
|
||||
Grp_PutIconToCreateNewGroupType ();
|
||||
}
|
||||
|
||||
static void Grp_PutIconToViewGroups (void)
|
||||
|
@ -1361,12 +1348,6 @@ static void Grp_PutIconToViewGroups (void)
|
|||
NULL,NULL);
|
||||
}
|
||||
|
||||
static void Grp_PutIconToCreateNewGroupType (void)
|
||||
{
|
||||
Ico_PutContextualIconToAdd (ActReqEdiGrp,Grp_NEW_GROUP_TYPE_SECTION_ID,
|
||||
NULL,NULL);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/*********************** Write heading of group types ************************/
|
||||
/*****************************************************************************/
|
||||
|
@ -2392,6 +2373,7 @@ static void Grp_WriteRowGrp (struct Group *Grp,bool Highlight)
|
|||
|
||||
static void Grp_PutFormToCreateGroupType (void)
|
||||
{
|
||||
extern const char *Txt_Actions[ActLst_NUM_ACTIONS];
|
||||
extern const char *Txt_Type_of_group;
|
||||
extern const char *Txt_It_is_optional_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_The_groups_will_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 ();
|
||||
|
||||
/***** Begin section *****/
|
||||
HTM_SECTION_Begin (Grp_NEW_GROUP_TYPE_SECTION_ID);
|
||||
|
||||
/***** Begin form *****/
|
||||
Frm_BeginFormAnchor (ActNewGrpTyp,Grp_GROUP_TYPES_SECTION_ID);
|
||||
/***** Begin fieldset *****/
|
||||
HTM_FIELDSET_Begin (NULL);
|
||||
HTM_LEGEND (Txt_Actions[ActNewGrpTyp]);
|
||||
|
||||
/***** Begin box *****/
|
||||
Box_BoxTableBegin (NULL,Txt_Type_of_group,
|
||||
NULL,NULL,
|
||||
NULL,Box_NOT_CLOSABLE,2);
|
||||
/***** Begin form *****/
|
||||
Frm_BeginFormAnchor (ActNewGrpTyp,Grp_NEW_GROUP_TYPE_SECTION_ID);
|
||||
|
||||
/***** Write heading *****/
|
||||
Grp_WriteHeadingGroupTypes ();
|
||||
/***** Begin table *****/
|
||||
HTM_TABLE_BeginWidePadding (2);
|
||||
|
||||
HTM_TR_Begin (NULL);
|
||||
/***** Write heading *****/
|
||||
Grp_WriteHeadingGroupTypes ();
|
||||
|
||||
/***** Column to remove group type, disabled here *****/
|
||||
HTM_TD_Begin ("class=\"BM\"");
|
||||
HTM_TD_End ();
|
||||
HTM_TR_Begin (NULL);
|
||||
|
||||
/***** Name of group type *****/
|
||||
HTM_TD_Begin ("class=\"LM\"");
|
||||
HTM_INPUT_TEXT ("GrpTypName",Grp_MAX_CHARS_GROUP_TYPE_NAME,
|
||||
Gbl.Crs.Grps.GrpTyp.GrpTypName,HTM_DONT_SUBMIT_ON_CHANGE,
|
||||
"size=\"12\" class=\"INPUT_%s\""
|
||||
" required=\"required\"",
|
||||
The_GetSuffix ());
|
||||
HTM_TD_End ();
|
||||
/***** Column to remove group type, disabled here *****/
|
||||
HTM_TD_Begin ("class=\"BM\"");
|
||||
HTM_TD_End ();
|
||||
|
||||
/***** Is it mandatory to register in any groups of this type? *****/
|
||||
HTM_TD_Begin ("class=\"CM\"");
|
||||
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
|
||||
"name=\"MandatoryEnrolment\""
|
||||
" class=\"INPUT_%s\" style=\"width:150px;\"",
|
||||
The_GetSuffix ());
|
||||
HTM_OPTION (HTM_Type_STRING,"N",
|
||||
!Gbl.Crs.Grps.GrpTyp.MandatoryEnrolment, // Selected?
|
||||
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 ();
|
||||
/***** Name of group type *****/
|
||||
HTM_TD_Begin ("class=\"LM\"");
|
||||
HTM_INPUT_TEXT ("GrpTypName",Grp_MAX_CHARS_GROUP_TYPE_NAME,
|
||||
Gbl.Crs.Grps.GrpTyp.GrpTypName,HTM_DONT_SUBMIT_ON_CHANGE,
|
||||
"size=\"12\" class=\"INPUT_%s\""
|
||||
" required=\"required\"",
|
||||
The_GetSuffix ());
|
||||
HTM_TD_End ();
|
||||
|
||||
/***** Is it possible to register in multiple groups of this type? *****/
|
||||
HTM_TD_Begin ("class=\"CM\"");
|
||||
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,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 ();
|
||||
/***** Is it mandatory to register in any groups of this type? *****/
|
||||
HTM_TD_Begin ("class=\"CM\"");
|
||||
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
|
||||
"name=\"MandatoryEnrolment\""
|
||||
" class=\"INPUT_%s\" style=\"width:150px;\"",
|
||||
The_GetSuffix ());
|
||||
HTM_OPTION (HTM_Type_STRING,"N",
|
||||
!Gbl.Crs.Grps.GrpTyp.MandatoryEnrolment, // Selected?
|
||||
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 ();
|
||||
|
||||
/***** Open time *****/
|
||||
HTM_TD_Begin ("class=\"LM\"");
|
||||
HTM_TABLE_BeginPadding (2);
|
||||
HTM_TR_Begin (NULL);
|
||||
/***** Is it possible to register in multiple groups of this type? *****/
|
||||
HTM_TD_Begin ("class=\"CM\"");
|
||||
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,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;\"");
|
||||
if (Gbl.Crs.Grps.GrpTyp.MustBeOpened)
|
||||
Ico_PutIconOn ("clock.svg",Ico_BLACK,
|
||||
Txt_The_groups_will_automatically_open);
|
||||
else
|
||||
Ico_PutIconOff ("clock.svg",Ico_BLACK,
|
||||
Txt_The_groups_will_not_automatically_open);
|
||||
HTM_TD_End ();
|
||||
/***** Open time *****/
|
||||
HTM_TD_Begin ("class=\"LM\"");
|
||||
HTM_TABLE_BeginPadding (2);
|
||||
HTM_TR_Begin (NULL);
|
||||
|
||||
HTM_TD_Begin ("class=\"LM\"");
|
||||
Dat_WriteFormClientLocalDateTimeFromTimeUTC ("open_time",
|
||||
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 ();
|
||||
HTM_TD_Begin ("class=\"LM\" style=\"width:20px;\"");
|
||||
if (Gbl.Crs.Grps.GrpTyp.MustBeOpened)
|
||||
Ico_PutIconOn ("clock.svg",Ico_BLACK,
|
||||
Txt_The_groups_will_automatically_open);
|
||||
else
|
||||
Ico_PutIconOff ("clock.svg",Ico_BLACK,
|
||||
Txt_The_groups_will_not_automatically_open);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TR_End ();
|
||||
HTM_TABLE_End ();
|
||||
HTM_TD_End ();
|
||||
HTM_TD_Begin ("class=\"LM\"");
|
||||
Dat_WriteFormClientLocalDateTimeFromTimeUTC ("open_time",
|
||||
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_TD_Begin ("class=\"CM DAT_%s\"",
|
||||
The_GetSuffix ());
|
||||
HTM_Unsigned (0); // It's a new group type ==> 0 groups
|
||||
HTM_TD_End ();
|
||||
HTM_TR_End ();
|
||||
HTM_TABLE_End ();
|
||||
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 *****/
|
||||
Box_BoxTableWithButtonEnd (Btn_CREATE_BUTTON,Txt_Create_type_of_group);
|
||||
HTM_TR_End ();
|
||||
|
||||
/***** End form *****/
|
||||
Frm_EndForm ();
|
||||
/***** 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 *****/
|
||||
HTM_SECTION_End ();
|
||||
|
@ -2518,12 +2506,13 @@ static void Grp_PutFormToCreateGroupType (void)
|
|||
|
||||
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_closed;
|
||||
extern const char *Txt_File_zones_disabled;
|
||||
extern const char *Txt_No_assigned_room;
|
||||
extern const char *Txt_Another_room;
|
||||
extern const char *Txt_Create_group;
|
||||
extern const char *Txt_Create;
|
||||
unsigned NumGrpTyp;
|
||||
const struct GroupType *GrpTypInLst;
|
||||
unsigned NumRoo;
|
||||
|
@ -2534,129 +2523,135 @@ static void Grp_PutFormToCreateGroup (const struct Roo_Rooms *Rooms)
|
|||
/***** Begin section *****/
|
||||
HTM_SECTION_Begin (Grp_NEW_GROUP_SECTION_ID);
|
||||
|
||||
/***** Begin form *****/
|
||||
Frm_BeginFormAnchor (ActNewGrp,Grp_GROUPS_SECTION_ID);
|
||||
/***** Begin fieldset *****/
|
||||
HTM_FIELDSET_Begin (NULL);
|
||||
HTM_LEGEND (Txt_Actions[ActNewGrp]);
|
||||
|
||||
/***** Begin box and table *****/
|
||||
Box_BoxTableBegin (NULL,Txt_Group,
|
||||
NULL,NULL,
|
||||
NULL,Box_NOT_CLOSABLE,2);
|
||||
/***** Begin form *****/
|
||||
Frm_BeginFormAnchor (ActNewGrp,Grp_GROUPS_SECTION_ID);
|
||||
|
||||
/***** Write heading *****/
|
||||
Grp_WriteHeadingGroups ();
|
||||
/***** Begin table *****/
|
||||
HTM_TABLE_BeginWidePadding (2);
|
||||
|
||||
HTM_TR_Begin (NULL);
|
||||
/***** Write heading *****/
|
||||
Grp_WriteHeadingGroups ();
|
||||
|
||||
/***** Empty column to remove *****/
|
||||
HTM_TD_Begin ("class=\"BM\"");
|
||||
HTM_TD_End ();
|
||||
HTM_TR_Begin (NULL);
|
||||
|
||||
/***** Disabled icon to open group *****/
|
||||
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);
|
||||
/***** Empty column to remove *****/
|
||||
HTM_TD_Begin ("class=\"BM\"");
|
||||
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 ();
|
||||
/***** Disabled icon to open group *****/
|
||||
HTM_TD_Begin ("class=\"BM\"");
|
||||
Ico_PutIconOff ("lock.svg",Ico_RED,Txt_Group_closed);
|
||||
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 *****/
|
||||
Box_BoxTableWithButtonEnd (Btn_CREATE_BUTTON,Txt_Create_group);
|
||||
/***** 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 ());
|
||||
|
||||
/***** End form *****/
|
||||
Frm_EndForm ();
|
||||
/* 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 ();
|
||||
}
|
||||
|
||||
/***** 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 *****/
|
||||
HTM_SECTION_End ();
|
||||
|
|
46
swad_text.c
46
swad_text.c
|
@ -6687,29 +6687,6 @@ const char *Txt_Create_folder =
|
|||
"Create folder"; // Çeviri lazim!
|
||||
#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 =
|
||||
#if L==1 // ca
|
||||
"Crear ítem";
|
||||
|
@ -6825,29 +6802,6 @@ const char *Txt_Create_question =
|
|||
"Create question"; // Çeviri lazim!
|
||||
#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 =
|
||||
#if L==1 // ca
|
||||
"Crear arxiu ZIP";
|
||||
|
|
|
@ -24766,25 +24766,25 @@ const char *Txt_Actions[ActLst_NUM_ACTIONS] =
|
|||
,
|
||||
[ActNewGrpTyp] =
|
||||
#if L==1 // ca
|
||||
"Request creation of a type of group" // Necessita traducció
|
||||
"Crear tipus de grup"
|
||||
#elif L==2 // de
|
||||
"Request creation of a type of group" // Need Übersetzung
|
||||
"Gruppen-Typ definieren"
|
||||
#elif L==3 // en
|
||||
"Request creation of a type of group"
|
||||
"Create type of group"
|
||||
#elif L==4 // es
|
||||
"Solicitar creación de un tipo de grupo"
|
||||
"Crear tipo de grupo"
|
||||
#elif L==5 // fr
|
||||
"Request creation of a type of group" // Besoin de traduction
|
||||
"Créer type de groupe"
|
||||
#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
|
||||
"Request creation of a type of group" // Bisogno di traduzione
|
||||
"Crea tipo di gruppo"
|
||||
#elif L==8 // pl
|
||||
"Request creation of a type of group" // Potrzebujesz tlumaczenie
|
||||
"Utwórz typu grupy"
|
||||
#elif L==9 // pt
|
||||
"Request creation of a type of group" // Precisa de tradução
|
||||
"Criar tipo de grupo"
|
||||
#elif L==10 // tr
|
||||
"Request creation of a type of group" // Çeviri lazim!
|
||||
"Create type of group" // Çeviri lazim!
|
||||
#endif
|
||||
,
|
||||
[ActReqRemGrpTyp] =
|
||||
|
@ -24927,25 +24927,25 @@ const char *Txt_Actions[ActLst_NUM_ACTIONS] =
|
|||
,
|
||||
[ActNewGrp] =
|
||||
#if L==1 // ca
|
||||
"Create group" // Necessita traducció
|
||||
"Crear grup"
|
||||
#elif L==2 // de
|
||||
"Create group" // Need Übersetzung
|
||||
"Gruppe erstellen"
|
||||
#elif L==3 // en
|
||||
"Create group"
|
||||
#elif L==4 // es
|
||||
"Crear grupo"
|
||||
#elif L==5 // fr
|
||||
"Create group" // Besoin de traduction
|
||||
"Créer groupe"
|
||||
#elif L==6 // gn
|
||||
"Crear grupo" // Okoteve traducción
|
||||
"Crear grupo" // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Create group" // Bisogno di traduzione
|
||||
"Crea gruppo"
|
||||
#elif L==8 // pl
|
||||
"Create group" // Potrzebujesz tlumaczenie
|
||||
"Utwórz grupę"
|
||||
#elif L==9 // pt
|
||||
"Create group" // Precisa de tradução
|
||||
"Criar grupo"
|
||||
#elif L==10 // tr
|
||||
"Create group" // Çeviri lazim!
|
||||
"Create group" // Çeviri lazim!
|
||||
#endif
|
||||
,
|
||||
[ActReqRemGrp] =
|
||||
|
|
Loading…
Reference in New Issue