mirror of https://github.com/acanas/swad-core.git
Version 23.17.3: Sep 25, 2023 Code refactoring in hierarchy.
This commit is contained in:
parent
820dba7995
commit
3e8a90afbc
|
@ -632,10 +632,11 @@ TODO: Francisco Javier Fern
|
||||||
Me sale este error, no sé si por no recordar yo la sintaxis apropiada para mandar a varios destinatarios. ¿No era así?
|
Me sale este error, no sé si por no recordar yo la sintaxis apropiada para mandar a varios destinatarios. ¿No era así?
|
||||||
"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.17.2 (2023-09-25)"
|
#define Log_PLATFORM_VERSION "SWAD 23.17.3 (2023-09-25)"
|
||||||
#define CSS_FILE "swad23.16.1.css"
|
#define CSS_FILE "swad23.16.1.css"
|
||||||
#define JS_FILE "swad22.49.js"
|
#define JS_FILE "swad22.49.js"
|
||||||
/*
|
/*
|
||||||
|
Version 23.17.3: Sep 25, 2023 Code refactoring in hierarchy. (336679 lines)
|
||||||
Version 23.17.2: Sep 25, 2023 Fixed bug in hierarchy. (336673 lines)
|
Version 23.17.2: Sep 25, 2023 Fixed bug in hierarchy. (336673 lines)
|
||||||
Version 23.17.1: Sep 25, 2023 Fixed bug in hierarchy. (336654 lines)
|
Version 23.17.1: Sep 25, 2023 Fixed bug in hierarchy. (336654 lines)
|
||||||
Version 23.17: Sep 25, 2023 Code refactoring in hierarchy. (336655 lines)
|
Version 23.17: Sep 25, 2023 Code refactoring in hierarchy. (336655 lines)
|
||||||
|
|
|
@ -1020,45 +1020,38 @@ static void Hie_WriteHeadHierarchy (void)
|
||||||
extern const char *Txt_Centers;
|
extern const char *Txt_Centers;
|
||||||
extern const char *Txt_Degrees;
|
extern const char *Txt_Degrees;
|
||||||
extern const char *Txt_Courses;
|
extern const char *Txt_Courses;
|
||||||
|
static const char *Icons[Hie_NUM_LEVELS] =
|
||||||
|
{
|
||||||
|
[Hie_CTY] = "globe-americas.svg",
|
||||||
|
[Hie_INS] = "university.svg",
|
||||||
|
[Hie_CTR] = "building.svg",
|
||||||
|
[Hie_DEG] = "graduation-cap.svg",
|
||||||
|
[Hie_CRS] = "chalkboard-teacher.svg",
|
||||||
|
};
|
||||||
|
static const char **Txt[Hie_NUM_LEVELS] =
|
||||||
|
{
|
||||||
|
[Hie_CTY] = &Txt_Countries,
|
||||||
|
[Hie_INS] = &Txt_Institutions,
|
||||||
|
[Hie_CTR] = &Txt_Centers,
|
||||||
|
[Hie_DEG] = &Txt_Degrees,
|
||||||
|
[Hie_CRS] = &Txt_Courses,
|
||||||
|
};
|
||||||
|
Hie_Level_t Level;
|
||||||
|
|
||||||
HTM_TR_Begin (NULL);
|
HTM_TR_Begin (NULL);
|
||||||
|
|
||||||
HTM_TH_Empty (1);
|
HTM_TH_Empty (1);
|
||||||
|
|
||||||
HTM_TH_Begin (HTM_HEAD_RIGHT);
|
for (Level = Hie_CTY;
|
||||||
Ico_PutIcon ("globe-americas.svg",Ico_BLACK,
|
Level <= Hie_CRS;
|
||||||
Txt_Countries,"ICOx16");
|
Level++)
|
||||||
HTM_BR ();
|
{
|
||||||
HTM_Txt (Txt_Countries);
|
HTM_TH_Begin (HTM_HEAD_RIGHT);
|
||||||
HTM_TH_End ();
|
Ico_PutIcon (Icons[Level],Ico_BLACK,*Txt[Level],"ICOx16");
|
||||||
|
HTM_BR ();
|
||||||
HTM_TH_Begin (HTM_HEAD_RIGHT);
|
HTM_Txt (*Txt[Level]);
|
||||||
Ico_PutIcon ("university.svg",Ico_BLACK,
|
HTM_TH_End ();
|
||||||
Txt_Institutions,"ICOx16");
|
}
|
||||||
HTM_BR ();
|
|
||||||
HTM_Txt (Txt_Institutions);
|
|
||||||
HTM_TH_End ();
|
|
||||||
|
|
||||||
HTM_TH_Begin (HTM_HEAD_RIGHT);
|
|
||||||
Ico_PutIcon ("building.svg",Ico_BLACK,
|
|
||||||
Txt_Centers,"ICOx16");
|
|
||||||
HTM_BR ();
|
|
||||||
HTM_Txt (Txt_Centers);
|
|
||||||
HTM_TH_End ();
|
|
||||||
|
|
||||||
HTM_TH_Begin (HTM_HEAD_RIGHT);
|
|
||||||
Ico_PutIcon ("graduation-cap.svg",Ico_BLACK,
|
|
||||||
Txt_Degrees,"ICOx16");
|
|
||||||
HTM_BR ();
|
|
||||||
HTM_Txt (Txt_Degrees);
|
|
||||||
HTM_TH_End ();
|
|
||||||
|
|
||||||
HTM_TH_Begin (HTM_HEAD_RIGHT);
|
|
||||||
Ico_PutIcon ("chalkboard-teacher.svg",Ico_BLACK,
|
|
||||||
Txt_Courses,"ICOx16");
|
|
||||||
HTM_BR ();
|
|
||||||
HTM_Txt (Txt_Courses);
|
|
||||||
HTM_TH_End ();
|
|
||||||
|
|
||||||
HTM_TR_End ();
|
HTM_TR_End ();
|
||||||
}
|
}
|
||||||
|
@ -1089,11 +1082,11 @@ static void Hie_GetAndShowHierarchyWithNodes (Hie_Level_t HavingNodesOfLevel)
|
||||||
for (LevelChildren = Hie_CTY;
|
for (LevelChildren = Hie_CTY;
|
||||||
LevelChildren <= Hie_CRS;
|
LevelChildren <= Hie_CRS;
|
||||||
LevelChildren++)
|
LevelChildren++)
|
||||||
if (LevelChildren >= HavingNodesOfLevel) // Example: don't show number of centers with institutions
|
if (LevelChildren >= HavingNodesOfLevel) // Example: don't show number of centers with institutions
|
||||||
NumNodes[LevelChildren] = -1;
|
NumNodes[LevelChildren] = -1;
|
||||||
else if (LevelChildren < Gbl.Scope.Current && // Example: if scope is center (4)
|
else if (HavingNodesOfLevel <= Gbl.Scope.Current) // Example: if scope is center (4)
|
||||||
HavingNodesOfLevel <= Gbl.Scope.Current) // number of nodes with instit./countries/centers
|
// number of nodes with instit./countries/centers
|
||||||
NumNodes[LevelChildren] = 1; // in current center is 1
|
NumNodes[LevelChildren] = 1; // in current center is 1
|
||||||
else
|
else
|
||||||
NumNodes[LevelChildren] = (int) Hie_GetCachedNumNodesInHieLvlWith (LevelChildren, // Child
|
NumNodes[LevelChildren] = (int) Hie_GetCachedNumNodesInHieLvlWith (LevelChildren, // Child
|
||||||
Gbl.Scope.Current, // Parent
|
Gbl.Scope.Current, // Parent
|
||||||
|
@ -1111,14 +1104,22 @@ static void Hie_GetAndShowHierarchyWithUsrs (Rol_Role_t Role)
|
||||||
{
|
{
|
||||||
extern const char *Txt_With_;
|
extern const char *Txt_With_;
|
||||||
extern const char *Txt_ROLES_PLURAL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
|
extern const char *Txt_ROLES_PLURAL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
|
||||||
|
static unsigned (*FunctionGetCachedNumNodesWithusrs[Hie_NUM_LEVELS]) (Rol_Role_t Role) =
|
||||||
|
{
|
||||||
|
[Hie_CTY] = Cty_GetCachedNumCtysWithUsrs,
|
||||||
|
[Hie_INS] = Ins_GetCachedNumInssWithUsrs,
|
||||||
|
[Hie_CTR] = Ctr_GetCachedNumCtrsWithUsrs,
|
||||||
|
[Hie_DEG] = Deg_GetCachedNumDegsWithUsrs,
|
||||||
|
[Hie_CRS] = Crs_GetCachedNumCrssWithUsrs,
|
||||||
|
};
|
||||||
int NumNodes[Hie_NUM_LEVELS];
|
int NumNodes[Hie_NUM_LEVELS];
|
||||||
|
Hie_Level_t Level;
|
||||||
|
|
||||||
/***** Get number of elements with students *****/
|
/***** Get number of nodes with users *****/
|
||||||
NumNodes[Hie_CTY] = Cty_GetCachedNumCtysWithUsrs (Role);
|
for (Level = Hie_CTY;
|
||||||
NumNodes[Hie_INS] = Ins_GetCachedNumInssWithUsrs (Role);
|
Level <= Hie_CRS;
|
||||||
NumNodes[Hie_CTR] = Ctr_GetCachedNumCtrsWithUsrs (Role);
|
Level++)
|
||||||
NumNodes[Hie_DEG] = Deg_GetCachedNumDegsWithUsrs (Role);
|
NumNodes[Level] = FunctionGetCachedNumNodesWithusrs[Level] (Role);
|
||||||
NumNodes[Hie_CRS] = Crs_GetCachedNumCrssWithUsrs (Role);
|
|
||||||
|
|
||||||
/***** Write number of elements with users *****/
|
/***** Write number of elements with users *****/
|
||||||
Hie_ShowHierarchyRow (Txt_With_,Txt_ROLES_PLURAL_abc[Role][Usr_SEX_UNKNOWN],
|
Hie_ShowHierarchyRow (Txt_With_,Txt_ROLES_PLURAL_abc[Role][Usr_SEX_UNKNOWN],
|
||||||
|
@ -1373,7 +1374,7 @@ static void Hie_ShowHierarchyRow (const char *Text1,const char *Text2,
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
/***** Write number of countries *****/
|
/***** Write number of countries *****/
|
||||||
for (Level = Hie_CTY;
|
for (Level = Hie_CTY;
|
||||||
Level <= Hie_CRS;
|
Level <= Hie_CRS;
|
||||||
Level++)
|
Level++)
|
||||||
Hie_ShowHierarchyCell (ClassTxt,NumNodes[Level]);
|
Hie_ShowHierarchyCell (ClassTxt,NumNodes[Level]);
|
||||||
|
|
Loading…
Reference in New Issue