mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-01 06:15:31 +02:00
Version19.209.4
This commit is contained in:
parent
d6206198ba
commit
cf8c716568
|
@ -96,7 +96,6 @@ static void CtrCfg_QR (void);
|
||||||
static void CtrCfg_NumUsrs (void);
|
static void CtrCfg_NumUsrs (void);
|
||||||
static void CtrCfg_NumDegs (void);
|
static void CtrCfg_NumDegs (void);
|
||||||
static void CtrCfg_NumCrss (void);
|
static void CtrCfg_NumCrss (void);
|
||||||
static void CtrCfg_NumUsrsInCrssOfCtr (Rol_Role_t Role);
|
|
||||||
|
|
||||||
static void CtrCfg_UpdateCtrInsDB (long CtrCod,long InsCod);
|
static void CtrCfg_UpdateCtrInsDB (long CtrCod,long InsCod);
|
||||||
static void CtrCfg_UpdateCtrCoordinateDB (long CtrCod,
|
static void CtrCfg_UpdateCtrCoordinateDB (long CtrCod,
|
||||||
|
@ -210,10 +209,10 @@ static void CtrCfg_Configuration (bool PrintView)
|
||||||
CtrCfg_NumCrss ();
|
CtrCfg_NumCrss ();
|
||||||
|
|
||||||
/***** Number of users in courses of this centre *****/
|
/***** Number of users in courses of this centre *****/
|
||||||
CtrCfg_NumUsrsInCrssOfCtr (Rol_TCH);
|
HieCfg_NumUsrsInCrss (Hie_CTR,Gbl.Hierarchy.Ctr.CtrCod,Rol_TCH);
|
||||||
CtrCfg_NumUsrsInCrssOfCtr (Rol_NET);
|
HieCfg_NumUsrsInCrss (Hie_CTR,Gbl.Hierarchy.Ctr.CtrCod,Rol_NET);
|
||||||
CtrCfg_NumUsrsInCrssOfCtr (Rol_STD);
|
HieCfg_NumUsrsInCrss (Hie_CTR,Gbl.Hierarchy.Ctr.CtrCod,Rol_STD);
|
||||||
CtrCfg_NumUsrsInCrssOfCtr (Rol_UNK);
|
HieCfg_NumUsrsInCrss (Hie_CTR,Gbl.Hierarchy.Ctr.CtrCod,Rol_UNK);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** End table *****/
|
/***** End table *****/
|
||||||
|
@ -804,35 +803,6 @@ static void CtrCfg_NumCrss (void)
|
||||||
HTM_TR_End ();
|
HTM_TR_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
/**************** Number of users in courses of this centre ******************/
|
|
||||||
/*****************************************************************************/
|
|
||||||
|
|
||||||
static void CtrCfg_NumUsrsInCrssOfCtr (Rol_Role_t Role)
|
|
||||||
{
|
|
||||||
extern const char *Txt_Users_in_courses;
|
|
||||||
extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
|
|
||||||
|
|
||||||
/***** Number of users in courses *****/
|
|
||||||
HTM_TR_Begin (NULL);
|
|
||||||
|
|
||||||
/* Label */
|
|
||||||
Frm_LabelColumn ("RT",NULL,
|
|
||||||
Role == Rol_UNK ? Txt_Users_in_courses :
|
|
||||||
Txt_ROLES_PLURAL_Abc[Role][Usr_SEX_UNKNOWN]);
|
|
||||||
|
|
||||||
/* Data */
|
|
||||||
HTM_TD_Begin ("class=\"DAT LB\"");
|
|
||||||
HTM_Unsigned (Usr_GetNumUsrsInCrss (Hie_CTR,Gbl.Hierarchy.Ctr.CtrCod,
|
|
||||||
Role == Rol_UNK ? 1 << Rol_STD |
|
|
||||||
1 << Rol_NET |
|
|
||||||
1 << Rol_TCH : // Any user
|
|
||||||
1 << Role));
|
|
||||||
HTM_TD_End ();
|
|
||||||
|
|
||||||
HTM_TR_End ();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*********** Show a form for sending a logo of the current centre ************/
|
/*********** Show a form for sending a logo of the current centre ************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -544,10 +544,12 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
|
||||||
En OpenSWAD:
|
En OpenSWAD:
|
||||||
ps2pdf source.ps destination.pdf
|
ps2pdf source.ps destination.pdf
|
||||||
*/
|
*/
|
||||||
#define Log_PLATFORM_VERSION "SWAD 19.209.3 (2020-05-01)"
|
#define Log_PLATFORM_VERSION "SWAD 19.209.4 (2020-05-02)"
|
||||||
#define CSS_FILE "swad19.193.1.css"
|
#define CSS_FILE "swad19.193.1.css"
|
||||||
#define JS_FILE "swad19.193.1.js"
|
#define JS_FILE "swad19.193.1.js"
|
||||||
/*
|
/*
|
||||||
|
Version 19.209.4: May 02, 2020 More figures cached.
|
||||||
|
Code refactoring in hierarchy configuration. (300637 lines)
|
||||||
Version 19.209.3: May 01, 2020 More figures cached. (300750 lines)
|
Version 19.209.3: May 01, 2020 More figures cached. (300750 lines)
|
||||||
1 change necessary in database:
|
1 change necessary in database:
|
||||||
DELETE FROM figures;
|
DELETE FROM figures;
|
||||||
|
|
|
@ -75,7 +75,6 @@ static void CtyCfg_NumUsrs (void);
|
||||||
static void CtyCfg_NumInss (void);
|
static void CtyCfg_NumInss (void);
|
||||||
static void CtyCfg_NumDegs (void);
|
static void CtyCfg_NumDegs (void);
|
||||||
static void CtyCfg_NumCrss (void);
|
static void CtyCfg_NumCrss (void);
|
||||||
static void CtyCfg_NumUsrsInCrssOfCty (Rol_Role_t Role);
|
|
||||||
|
|
||||||
static void CtyCfg_GetMapAttr (long CtyCod,char **MapAttribution);
|
static void CtyCfg_GetMapAttr (long CtyCod,char **MapAttribution);
|
||||||
static void CtyCfg_FreeMapAttr (char **MapAttribution);
|
static void CtyCfg_FreeMapAttr (char **MapAttribution);
|
||||||
|
@ -170,10 +169,10 @@ static void CtyCfg_Configuration (bool PrintView)
|
||||||
CtyCfg_NumCrss ();
|
CtyCfg_NumCrss ();
|
||||||
|
|
||||||
/***** Number of users in courses of this country *****/
|
/***** Number of users in courses of this country *****/
|
||||||
CtyCfg_NumUsrsInCrssOfCty (Rol_TCH);
|
HieCfg_NumUsrsInCrss (Hie_CTY,Gbl.Hierarchy.Cty.CtyCod,Rol_TCH);
|
||||||
CtyCfg_NumUsrsInCrssOfCty (Rol_NET);
|
HieCfg_NumUsrsInCrss (Hie_CTY,Gbl.Hierarchy.Cty.CtyCod,Rol_NET);
|
||||||
CtyCfg_NumUsrsInCrssOfCty (Rol_STD);
|
HieCfg_NumUsrsInCrss (Hie_CTY,Gbl.Hierarchy.Cty.CtyCod,Rol_STD);
|
||||||
CtyCfg_NumUsrsInCrssOfCty (Rol_UNK);
|
HieCfg_NumUsrsInCrss (Hie_CTY,Gbl.Hierarchy.Cty.CtyCod,Rol_UNK);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** End table *****/
|
/***** End table *****/
|
||||||
|
@ -565,35 +564,6 @@ static void CtyCfg_NumCrss (void)
|
||||||
HTM_TR_End ();
|
HTM_TR_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
/**************** Number of users in courses of this country *****************/
|
|
||||||
/*****************************************************************************/
|
|
||||||
|
|
||||||
static void CtyCfg_NumUsrsInCrssOfCty (Rol_Role_t Role)
|
|
||||||
{
|
|
||||||
extern const char *Txt_Users_in_courses;
|
|
||||||
extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
|
|
||||||
|
|
||||||
/***** Number of users in courses *****/
|
|
||||||
HTM_TR_Begin (NULL);
|
|
||||||
|
|
||||||
/* Label */
|
|
||||||
Frm_LabelColumn ("RT",NULL,
|
|
||||||
Role == Rol_UNK ? Txt_Users_in_courses :
|
|
||||||
Txt_ROLES_PLURAL_Abc[Role][Usr_SEX_UNKNOWN]);
|
|
||||||
|
|
||||||
/* Data */
|
|
||||||
HTM_TD_Begin ("class=\"DAT LB\"");
|
|
||||||
HTM_Unsigned (Usr_GetNumUsrsInCrss (Hie_CTY,Gbl.Hierarchy.Cty.CtyCod,
|
|
||||||
Role == Rol_UNK ? 1 << Rol_STD |
|
|
||||||
1 << Rol_NET |
|
|
||||||
1 << Rol_TCH : // Any user
|
|
||||||
1 << Role));
|
|
||||||
HTM_TD_End ();
|
|
||||||
|
|
||||||
HTM_TR_End ();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/******************** Get map attribution from database **********************/
|
/******************** Get map attribution from database **********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -73,7 +73,6 @@ static void CrsCfg_InstitutionalCode (bool PutForm);
|
||||||
static void CrsCfg_InternalCode (void);
|
static void CrsCfg_InternalCode (void);
|
||||||
static void CrsCfg_Shortcut (bool PrintView);
|
static void CrsCfg_Shortcut (bool PrintView);
|
||||||
static void CrsCfg_QR (void);
|
static void CrsCfg_QR (void);
|
||||||
static void CrsCfg_NumUsrsInCrs (Rol_Role_t Role);
|
|
||||||
static void CrsCfg_Indicators (void);
|
static void CrsCfg_Indicators (void);
|
||||||
|
|
||||||
static void CrsCfg_UpdateCrsDegDB (long CrsCod,long DegCod);
|
static void CrsCfg_UpdateCrsDegDB (long CrsCod,long DegCod);
|
||||||
|
@ -159,9 +158,10 @@ void CrsCfg_Configuration (bool PrintView)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/***** Number of users *****/
|
/***** Number of users *****/
|
||||||
CrsCfg_NumUsrsInCrs (Rol_TCH);
|
HieCfg_NumUsrsInCrss (Hie_CRS,Gbl.Hierarchy.Crs.CrsCod,Rol_TCH);
|
||||||
CrsCfg_NumUsrsInCrs (Rol_NET);
|
HieCfg_NumUsrsInCrss (Hie_CRS,Gbl.Hierarchy.Crs.CrsCod,Rol_NET);
|
||||||
CrsCfg_NumUsrsInCrs (Rol_STD);
|
HieCfg_NumUsrsInCrss (Hie_CRS,Gbl.Hierarchy.Crs.CrsCod,Rol_STD);
|
||||||
|
HieCfg_NumUsrsInCrss (Hie_CRS,Gbl.Hierarchy.Crs.CrsCod,Rol_UNK);
|
||||||
|
|
||||||
/***** Indicators *****/
|
/***** Indicators *****/
|
||||||
CrsCfg_Indicators ();
|
CrsCfg_Indicators ();
|
||||||
|
@ -416,32 +416,6 @@ static void CrsCfg_QR (void)
|
||||||
HieCfg_QR ("crs",Gbl.Hierarchy.Crs.CrsCod);
|
HieCfg_QR ("crs",Gbl.Hierarchy.Crs.CrsCod);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
/*********************** Number of users in this course **********************/
|
|
||||||
/*****************************************************************************/
|
|
||||||
|
|
||||||
static void CrsCfg_NumUsrsInCrs (Rol_Role_t Role)
|
|
||||||
{
|
|
||||||
extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
|
|
||||||
|
|
||||||
/***** Number of users in course *****/
|
|
||||||
HTM_TR_Begin (NULL);
|
|
||||||
|
|
||||||
/* Label */
|
|
||||||
Frm_LabelColumn ("RT",NULL,Txt_ROLES_PLURAL_Abc[Role][Usr_SEX_UNKNOWN]);
|
|
||||||
|
|
||||||
/* Data */
|
|
||||||
HTM_TD_Begin ("class=\"DAT LB\"");
|
|
||||||
HTM_Unsigned (Usr_GetNumUsrsInCrss (Hie_CRS,Gbl.Hierarchy.Crs.CrsCod,
|
|
||||||
Role == Rol_UNK ? 1 << Rol_STD |
|
|
||||||
1 << Rol_NET |
|
|
||||||
1 << Rol_TCH : // Any user
|
|
||||||
1 << Role));
|
|
||||||
HTM_TD_End ();
|
|
||||||
|
|
||||||
HTM_TR_End ();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/****************** Show indicators in course configuration ******************/
|
/****************** Show indicators in course configuration ******************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -68,7 +68,6 @@ static void DegCfg_WWW (bool PrintView,bool PutForm);
|
||||||
static void DegCfg_Shortcut (bool PrintView);
|
static void DegCfg_Shortcut (bool PrintView);
|
||||||
static void DegCfg_QR (void);
|
static void DegCfg_QR (void);
|
||||||
static void DegCfg_NumCrss (void);
|
static void DegCfg_NumCrss (void);
|
||||||
static void DegCfg_NumUsrsInCrssOfDeg (Rol_Role_t Role);
|
|
||||||
|
|
||||||
static void DegCfg_UpdateDegCtrDB (long DegCod,long CtrCod);
|
static void DegCfg_UpdateDegCtrDB (long DegCod,long CtrCod);
|
||||||
|
|
||||||
|
@ -156,10 +155,10 @@ static void DegCfg_Configuration (bool PrintView)
|
||||||
DegCfg_NumCrss ();
|
DegCfg_NumCrss ();
|
||||||
|
|
||||||
/***** Number of users *****/
|
/***** Number of users *****/
|
||||||
DegCfg_NumUsrsInCrssOfDeg (Rol_TCH);
|
HieCfg_NumUsrsInCrss (Hie_DEG,Gbl.Hierarchy.Deg.DegCod,Rol_TCH);
|
||||||
DegCfg_NumUsrsInCrssOfDeg (Rol_NET);
|
HieCfg_NumUsrsInCrss (Hie_DEG,Gbl.Hierarchy.Deg.DegCod,Rol_NET);
|
||||||
DegCfg_NumUsrsInCrssOfDeg (Rol_STD);
|
HieCfg_NumUsrsInCrss (Hie_DEG,Gbl.Hierarchy.Deg.DegCod,Rol_STD);
|
||||||
DegCfg_NumUsrsInCrssOfDeg (Rol_UNK);
|
HieCfg_NumUsrsInCrss (Hie_DEG,Gbl.Hierarchy.Deg.DegCod,Rol_UNK);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** End table *****/
|
/***** End table *****/
|
||||||
|
@ -349,35 +348,6 @@ static void DegCfg_NumCrss (void)
|
||||||
HTM_TR_End ();
|
HTM_TR_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
/***************** Number of users in courses of this degree *****************/
|
|
||||||
/*****************************************************************************/
|
|
||||||
|
|
||||||
static void DegCfg_NumUsrsInCrssOfDeg (Rol_Role_t Role)
|
|
||||||
{
|
|
||||||
extern const char *Txt_Users_in_courses;
|
|
||||||
extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
|
|
||||||
|
|
||||||
/***** Number of users in courses *****/
|
|
||||||
HTM_TR_Begin (NULL);
|
|
||||||
|
|
||||||
/* Label */
|
|
||||||
Frm_LabelColumn ("RT",NULL,
|
|
||||||
Role == Rol_UNK ? Txt_Users_in_courses :
|
|
||||||
Txt_ROLES_PLURAL_Abc[Role][Usr_SEX_UNKNOWN]);
|
|
||||||
|
|
||||||
/* Data */
|
|
||||||
HTM_TD_Begin ("class=\"DAT LB\"");
|
|
||||||
HTM_Unsigned (Usr_GetNumUsrsInCrss (Hie_DEG,Gbl.Hierarchy.Deg.DegCod,
|
|
||||||
Role == Rol_UNK ? 1 << Rol_STD |
|
|
||||||
1 << Rol_NET |
|
|
||||||
1 << Rol_TCH : // Any user
|
|
||||||
1 << Role));
|
|
||||||
HTM_TD_End ();
|
|
||||||
|
|
||||||
HTM_TR_End ();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/************************ Change the centre of a degree **********************/
|
/************************ Change the centre of a degree **********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
/********************************* Headers ***********************************/
|
/********************************* Headers ***********************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
#include "swad_figure_cache.h"
|
||||||
#include "swad_form.h"
|
#include "swad_form.h"
|
||||||
#include "swad_global.h"
|
#include "swad_global.h"
|
||||||
#include "swad_HTML.h"
|
#include "swad_HTML.h"
|
||||||
|
@ -314,3 +315,54 @@ void HieCfg_QR (const char *ParamName,long HieCod)
|
||||||
|
|
||||||
HTM_TR_End ();
|
HTM_TR_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/************************ Number of users in courses *************************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
void HieCfg_NumUsrsInCrss (Hie_Level_t Scope,long Cod,Rol_Role_t Role)
|
||||||
|
{
|
||||||
|
extern const char *Txt_Users_in_courses;
|
||||||
|
extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
|
||||||
|
unsigned NumUsrsInCrss;
|
||||||
|
static FigCch_FigureCached_t Figure[Rol_NUM_ROLES] =
|
||||||
|
{
|
||||||
|
[Rol_UNK ] = FigCch_NUM_USRS_IN_CRSS, // Any users in courses
|
||||||
|
[Rol_GST ] = FigCch_UNKNOWN, // Not applicable
|
||||||
|
[Rol_USR ] = FigCch_UNKNOWN, // Not applicable
|
||||||
|
[Rol_STD ] = FigCch_NUM_STDS_IN_CRSS, // Students
|
||||||
|
[Rol_NET ] = FigCch_NUM_NETS_IN_CRSS, // Non-editing teachers
|
||||||
|
[Rol_TCH ] = FigCch_NUM_TCHS_IN_CRSS, // Teachers
|
||||||
|
[Rol_DEG_ADM] = FigCch_UNKNOWN, // Not applicable
|
||||||
|
[Rol_CTR_ADM] = FigCch_UNKNOWN, // Not applicable
|
||||||
|
[Rol_INS_ADM] = FigCch_UNKNOWN, // Not applicable
|
||||||
|
[Rol_SYS_ADM] = FigCch_UNKNOWN, // Not applicable
|
||||||
|
};
|
||||||
|
|
||||||
|
/***** Number of users in courses *****/
|
||||||
|
HTM_TR_Begin (NULL);
|
||||||
|
|
||||||
|
/* Label */
|
||||||
|
Frm_LabelColumn ("RT",NULL,
|
||||||
|
Role == Rol_UNK ? Txt_Users_in_courses :
|
||||||
|
Txt_ROLES_PLURAL_Abc[Role][Usr_SEX_UNKNOWN]);
|
||||||
|
|
||||||
|
/* Data */
|
||||||
|
HTM_TD_Begin ("class=\"DAT LB\"");
|
||||||
|
if (!FigCch_GetFigureFromCache (Figure[Role],Scope,Cod,
|
||||||
|
FigCch_Type_UNSIGNED,&NumUsrsInCrss))
|
||||||
|
{
|
||||||
|
// Not updated recently in cache ==> compute and update it in cache
|
||||||
|
NumUsrsInCrss = Usr_GetNumUsrsInCrss (Scope,Cod,
|
||||||
|
Role == Rol_UNK ? (1 << Rol_STD) |
|
||||||
|
(1 << Rol_NET) |
|
||||||
|
(1 << Rol_TCH) : // Any user
|
||||||
|
(1 << Role));
|
||||||
|
FigCch_UpdateFigureIntoCache (Figure[Role],Scope,Cod,
|
||||||
|
FigCch_Type_UNSIGNED,&NumUsrsInCrss);
|
||||||
|
}
|
||||||
|
HTM_Unsigned (NumUsrsInCrss);
|
||||||
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
HTM_TR_End ();
|
||||||
|
}
|
||||||
|
|
|
@ -56,5 +56,6 @@ void HieCfg_Shortcut (bool PrintView,const char *ParamName,long HieCod);
|
||||||
void HieCfg_NumCtrs (unsigned NumCtrs,bool PutForm);
|
void HieCfg_NumCtrs (unsigned NumCtrs,bool PutForm);
|
||||||
void HieCfg_NumCtrsWithMap (unsigned NumCtrs,unsigned NumCtrsWithMap);
|
void HieCfg_NumCtrsWithMap (unsigned NumCtrs,unsigned NumCtrsWithMap);
|
||||||
void HieCfg_QR (const char *ParamName,long HieCod);
|
void HieCfg_QR (const char *ParamName,long HieCod);
|
||||||
|
void HieCfg_NumUsrsInCrss (Hie_Level_t Scope,long Cod,Rol_Role_t Role);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -79,7 +79,6 @@ static void InsCfg_NumUsrs (void);
|
||||||
static void InsCfg_NumDegs (void);
|
static void InsCfg_NumDegs (void);
|
||||||
static void InsCfg_NumCrss (void);
|
static void InsCfg_NumCrss (void);
|
||||||
static void InsCfg_NumDpts (void);
|
static void InsCfg_NumDpts (void);
|
||||||
static void InsCfg_NumUsrsInCrssOfIns (Rol_Role_t Role);
|
|
||||||
static void InsCfg_UpdateInsCtyDB (long InsCod,long CtyCod);
|
static void InsCfg_UpdateInsCtyDB (long InsCod,long CtyCod);
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -182,10 +181,10 @@ static void InsCfg_Configuration (bool PrintView)
|
||||||
InsCfg_NumDpts ();
|
InsCfg_NumDpts ();
|
||||||
|
|
||||||
/***** Number of users in courses of this institution *****/
|
/***** Number of users in courses of this institution *****/
|
||||||
InsCfg_NumUsrsInCrssOfIns (Rol_TCH);
|
HieCfg_NumUsrsInCrss (Hie_INS,Gbl.Hierarchy.Ins.InsCod,Rol_TCH);
|
||||||
InsCfg_NumUsrsInCrssOfIns (Rol_NET);
|
HieCfg_NumUsrsInCrss (Hie_INS,Gbl.Hierarchy.Ins.InsCod,Rol_NET);
|
||||||
InsCfg_NumUsrsInCrssOfIns (Rol_STD);
|
HieCfg_NumUsrsInCrss (Hie_INS,Gbl.Hierarchy.Ins.InsCod,Rol_STD);
|
||||||
InsCfg_NumUsrsInCrssOfIns (Rol_UNK);
|
HieCfg_NumUsrsInCrss (Hie_INS,Gbl.Hierarchy.Ins.InsCod,Rol_UNK);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** End table *****/
|
/***** End table *****/
|
||||||
|
@ -543,35 +542,6 @@ static void InsCfg_NumDpts (void)
|
||||||
HTM_TR_End ();
|
HTM_TR_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
/************** Number of users in courses of this institution ***************/
|
|
||||||
/*****************************************************************************/
|
|
||||||
|
|
||||||
static void InsCfg_NumUsrsInCrssOfIns (Rol_Role_t Role)
|
|
||||||
{
|
|
||||||
extern const char *Txt_Users_in_courses;
|
|
||||||
extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
|
|
||||||
|
|
||||||
/***** Number of users in courses *****/
|
|
||||||
HTM_TR_Begin (NULL);
|
|
||||||
|
|
||||||
/* Label */
|
|
||||||
Frm_LabelColumn ("RT",NULL,
|
|
||||||
Role == Rol_UNK ? Txt_Users_in_courses :
|
|
||||||
Txt_ROLES_PLURAL_Abc[Role][Usr_SEX_UNKNOWN]);
|
|
||||||
|
|
||||||
/* Data */
|
|
||||||
HTM_TD_Begin ("class=\"DAT LB\"");
|
|
||||||
HTM_Unsigned (Usr_GetNumUsrsInCrss (Hie_INS,Gbl.Hierarchy.Ins.InsCod,
|
|
||||||
Role == Rol_UNK ? 1 << Rol_STD |
|
|
||||||
1 << Rol_NET |
|
|
||||||
1 << Rol_TCH : // Any user
|
|
||||||
1 << Role));
|
|
||||||
HTM_TD_End ();
|
|
||||||
|
|
||||||
HTM_TR_End ();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/******** Show a form for sending a logo of the current institution **********/
|
/******** Show a form for sending a logo of the current institution **********/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -76,7 +76,6 @@ static void SysCfg_NumCtys (void);
|
||||||
static void SysCfg_NumInss (void);
|
static void SysCfg_NumInss (void);
|
||||||
static void SysCfg_NumDegs (void);
|
static void SysCfg_NumDegs (void);
|
||||||
static void SysCfg_NumCrss (void);
|
static void SysCfg_NumCrss (void);
|
||||||
static void SysCfg_NumUsrsInCrss (Rol_Role_t Role);
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/***************** Show information of the current country *******************/
|
/***************** Show information of the current country *******************/
|
||||||
|
@ -170,10 +169,10 @@ static void SysCfg_Configuration (bool PrintView)
|
||||||
SysCfg_NumCrss ();
|
SysCfg_NumCrss ();
|
||||||
|
|
||||||
/***** Number of users in courses of this country *****/
|
/***** Number of users in courses of this country *****/
|
||||||
SysCfg_NumUsrsInCrss (Rol_TCH);
|
HieCfg_NumUsrsInCrss (Hie_SYS,-1L,Rol_TCH);
|
||||||
SysCfg_NumUsrsInCrss (Rol_NET);
|
HieCfg_NumUsrsInCrss (Hie_SYS,-1L,Rol_NET);
|
||||||
SysCfg_NumUsrsInCrss (Rol_STD);
|
HieCfg_NumUsrsInCrss (Hie_SYS,-1L,Rol_STD);
|
||||||
SysCfg_NumUsrsInCrss (Rol_UNK);
|
HieCfg_NumUsrsInCrss (Hie_SYS,-1L,Rol_UNK);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** End table *****/
|
/***** End table *****/
|
||||||
|
@ -474,54 +473,3 @@ static void SysCfg_NumCrss (void)
|
||||||
|
|
||||||
HTM_TR_End ();
|
HTM_TR_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
/***************** Number of users in courses of the system ******************/
|
|
||||||
/*****************************************************************************/
|
|
||||||
|
|
||||||
static void SysCfg_NumUsrsInCrss (Rol_Role_t Role)
|
|
||||||
{
|
|
||||||
extern const char *Txt_Users_in_courses;
|
|
||||||
extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
|
|
||||||
unsigned NumUsrsInCrss;
|
|
||||||
static FigCch_FigureCached_t Figure[Rol_NUM_ROLES] =
|
|
||||||
{
|
|
||||||
[Rol_UNK ] = FigCch_NUM_USRS_IN_CRSS, // Any users in courses
|
|
||||||
[Rol_GST ] = FigCch_UNKNOWN, // Not applicable
|
|
||||||
[Rol_USR ] = FigCch_UNKNOWN, // Not applicable
|
|
||||||
[Rol_STD ] = FigCch_NUM_STDS_IN_CRSS, // Students
|
|
||||||
[Rol_NET ] = FigCch_NUM_NETS_IN_CRSS, // Non-editing teachers
|
|
||||||
[Rol_TCH ] = FigCch_NUM_TCHS_IN_CRSS, // Teachers
|
|
||||||
[Rol_DEG_ADM] = FigCch_UNKNOWN, // Not applicable
|
|
||||||
[Rol_CTR_ADM] = FigCch_UNKNOWN, // Not applicable
|
|
||||||
[Rol_INS_ADM] = FigCch_UNKNOWN, // Not applicable
|
|
||||||
[Rol_SYS_ADM] = FigCch_UNKNOWN, // Not applicable
|
|
||||||
};
|
|
||||||
|
|
||||||
/***** Number of users in courses *****/
|
|
||||||
HTM_TR_Begin (NULL);
|
|
||||||
|
|
||||||
/* Label */
|
|
||||||
Frm_LabelColumn ("RT",NULL,
|
|
||||||
Role == Rol_UNK ? Txt_Users_in_courses :
|
|
||||||
Txt_ROLES_PLURAL_Abc[Role][Usr_SEX_UNKNOWN]);
|
|
||||||
|
|
||||||
/* Data */
|
|
||||||
HTM_TD_Begin ("class=\"DAT LB\"");
|
|
||||||
if (!FigCch_GetFigureFromCache (Figure[Role],Hie_SYS,-1L,
|
|
||||||
FigCch_Type_UNSIGNED,&NumUsrsInCrss))
|
|
||||||
{
|
|
||||||
// Not updated recently in cache ==> compute and update it in cache
|
|
||||||
NumUsrsInCrss = Usr_GetNumUsrsInCrss (Hie_SYS,-1L,
|
|
||||||
Role == Rol_UNK ? (1 << Rol_STD) |
|
|
||||||
(1 << Rol_NET) |
|
|
||||||
(1 << Rol_TCH) : // Any user
|
|
||||||
(1 << Role));
|
|
||||||
FigCch_UpdateFigureIntoCache (Figure[Role],Hie_SYS,-1L,
|
|
||||||
FigCch_Type_UNSIGNED,&NumUsrsInCrss);
|
|
||||||
}
|
|
||||||
HTM_Unsigned (NumUsrsInCrss);
|
|
||||||
HTM_TD_End ();
|
|
||||||
|
|
||||||
HTM_TR_End ();
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user