Version 16.232.1

This commit is contained in:
Antonio Cañas Vargas 2017-05-31 22:51:40 +02:00
parent e3ba3b417d
commit 3c84e615e8
6 changed files with 77 additions and 28 deletions

View File

@ -233,13 +233,14 @@
/****************************** Public constants *****************************/ /****************************** Public constants *****************************/
/*****************************************************************************/ /*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 16.232 (2017-05-31)" #define Log_PLATFORM_VERSION "SWAD 16.232.1 (2017-05-31)"
#define CSS_FILE "swad16.226.css" #define CSS_FILE "swad16.226.css"
#define JS_FILE "swad16.206.3.js" #define JS_FILE "swad16.206.3.js"
// Number of lines (includes comments but not blank lines) has been got with the following command: // Number of lines (includes comments but not blank lines) has been got with the following command:
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*?.h sql/swad*.sql | tail -1 // nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*?.h sql/swad*.sql | tail -1
/* /*
Version 16.232.1: May 31, 2017 Improvements in selection of user's institution, centre and department. (221085 lines)
Version 16.232: May 31, 2017 Fix bug in selection of user's centre. (221042 lines) Version 16.232: May 31, 2017 Fix bug in selection of user's centre. (221042 lines)
Version 16.231.4: May 31, 2017 Changes in layout of statistics about institutions. Version 16.231.4: May 31, 2017 Changes in layout of statistics about institutions.
Fixed bug in search. (221039 lines) Fixed bug in search. (221039 lines)

View File

@ -1111,7 +1111,7 @@ unsigned Dpt_GetTotalNumberOfDepartments (void)
/**************** Get number of departments in a institution *****************/ /**************** Get number of departments in a institution *****************/
/*****************************************************************************/ /*****************************************************************************/
unsigned Dpt_GetNumberOfDepartmentsInInstitution (long InsCod) unsigned Dpt_GetNumDptsInIns (long InsCod)
{ {
char Query[128]; char Query[128];

View File

@ -69,7 +69,7 @@ void Dpt_RenameDepartFull (void);
void Dpt_ChangeDptWWW (void); void Dpt_ChangeDptWWW (void);
void Dpt_RecFormNewDpt (void); void Dpt_RecFormNewDpt (void);
unsigned Dpt_GetTotalNumberOfDepartments (void); unsigned Dpt_GetTotalNumberOfDepartments (void);
unsigned Dpt_GetNumberOfDepartmentsInInstitution (long InsCod); unsigned Dpt_GetNumDptsInIns (long InsCod);
void Dpt_WriteSelectorDepartment (long InsCod); void Dpt_WriteSelectorDepartment (long InsCod);

View File

@ -1066,7 +1066,7 @@ void Ins_GetListInstitutions (long CtyCod,Ins_GetExtraData_t GetExtraData)
Ins->NumCrss = Crs_GetNumCrssInIns (Ins->InsCod); Ins->NumCrss = Crs_GetNumCrssInIns (Ins->InsCod);
/* Get number of departments in this institution */ /* Get number of departments in this institution */
Ins->NumDpts = Dpt_GetNumberOfDepartmentsInInstitution (Ins->InsCod); Ins->NumDpts = Dpt_GetNumDptsInIns (Ins->InsCod);
/* Get number of users in courses */ /* Get number of users in courses */
Ins->NumUsrs = Usr_GetNumUsrsInCrssOfIns (Rol_UNK,Ins->InsCod); // Here Rol_UNK means "all users" Ins->NumUsrs = Usr_GetNumUsrsInCrssOfIns (Rol_UNK,Ins->InsCod); // Here Rol_UNK means "all users"
@ -1165,7 +1165,7 @@ bool Ins_GetDataOfInstitutionByCod (struct Instit *Ins,
Ins->NumCtrs = Ctr_GetNumCtrsInIns (Ins->InsCod); Ins->NumCtrs = Ctr_GetNumCtrsInIns (Ins->InsCod);
/* Get number of departments in this institution */ /* Get number of departments in this institution */
Ins->NumDpts = Dpt_GetNumberOfDepartmentsInInstitution (Ins->InsCod); Ins->NumDpts = Dpt_GetNumDptsInIns (Ins->InsCod);
/* Get number of degrees in this institution */ /* Get number of degrees in this institution */
Ins->NumDegs = Deg_GetNumDegsInIns (Ins->InsCod); Ins->NumDegs = Deg_GetNumDegsInIns (Ins->InsCod);

View File

@ -3973,7 +3973,8 @@ void Rec_ShowFormMyInsCtrDpt (void)
extern const char *The_ClassForm[The_NUM_THEMES]; extern const char *The_ClassForm[The_NUM_THEMES];
extern const char *Txt_Please_select_the_country_of_your_institution; extern const char *Txt_Please_select_the_country_of_your_institution;
extern const char *Txt_Please_fill_in_your_institution; extern const char *Txt_Please_fill_in_your_institution;
extern const char *Txt_Please_fill_in_your_centre_and_department; extern const char *Txt_Please_fill_in_your_centre;
extern const char *Txt_Please_fill_in_your_department;
extern const char *Txt_Institution_centre_and_department; extern const char *Txt_Institution_centre_and_department;
extern const char *Txt_Institution; extern const char *Txt_Institution;
extern const char *Txt_Country_of_your_institution; extern const char *Txt_Country_of_your_institution;
@ -4002,10 +4003,13 @@ void Rec_ShowFormMyInsCtrDpt (void)
Ale_ShowAlert (Ale_WARNING,Txt_Please_select_the_country_of_your_institution); Ale_ShowAlert (Ale_WARNING,Txt_Please_select_the_country_of_your_institution);
else if (Gbl.Usrs.Me.UsrDat.InsCod < 0) else if (Gbl.Usrs.Me.UsrDat.InsCod < 0)
Ale_ShowAlert (Ale_WARNING,Txt_Please_fill_in_your_institution); Ale_ShowAlert (Ale_WARNING,Txt_Please_fill_in_your_institution);
else if ((Gbl.Usrs.Me.UsrDat.Roles & (1 << Rol_TCH)) && else if ((Gbl.Usrs.Me.UsrDat.Roles & (1 << Rol_TCH)))
(Gbl.Usrs.Me.UsrDat.Tch.CtrCod < 0 || {
Gbl.Usrs.Me.UsrDat.Tch.DptCod < 0)) if (Gbl.Usrs.Me.UsrDat.Tch.CtrCod < 0)
Ale_ShowAlert (Ale_WARNING,Txt_Please_fill_in_your_centre_and_department); Ale_ShowAlert (Ale_WARNING,Txt_Please_fill_in_your_centre);
else if (Gbl.Usrs.Me.UsrDat.Tch.DptCod < 0)
Ale_ShowAlert (Ale_WARNING,Txt_Please_fill_in_your_department);
}
/***** Start table *****/ /***** Start table *****/
Lay_StartRoundFrameTable ("800px", Lay_StartRoundFrameTable ("800px",
@ -4248,14 +4252,27 @@ void Rec_ShowFormMyInsCtrDpt (void)
void Rec_ChgCountryOfMyInstitution (void) void Rec_ChgCountryOfMyInstitution (void)
{ {
unsigned NumInss;
/***** Get country code of my institution *****/ /***** Get country code of my institution *****/
Gbl.Usrs.Me.UsrDat.InsCtyCod = Cty_GetAndCheckParamOtherCtyCod (0); Gbl.Usrs.Me.UsrDat.InsCtyCod = Cty_GetAndCheckParamOtherCtyCod (0);
/***** When country changes, the institution, centre and department must be reset *****/
NumInss = Ins_GetNumInssInCty (Gbl.Usrs.Me.UsrDat.InsCtyCod);
if (NumInss)
{
Gbl.Usrs.Me.UsrDat.InsCod = -1L;
Gbl.Usrs.Me.UsrDat.Tch.CtrCod = -1L;
Gbl.Usrs.Me.UsrDat.Tch.DptCod = -1L;
}
else // Country has no institutions
{
Gbl.Usrs.Me.UsrDat.InsCod = 0; // Another institution
Gbl.Usrs.Me.UsrDat.Tch.CtrCod = 0; // Another centre
Gbl.Usrs.Me.UsrDat.Tch.DptCod = 0; // Another department
}
/***** Update institution, centre and department *****/ /***** Update institution, centre and department *****/
// When country changes, the institution, centre and department must be reset
Gbl.Usrs.Me.UsrDat.InsCod = -1L;
Gbl.Usrs.Me.UsrDat.Tch.CtrCod = -1L;
Gbl.Usrs.Me.UsrDat.Tch.DptCod = -1L;
Enr_UpdateInstitutionCentreDepartment (); Enr_UpdateInstitutionCentreDepartment ();
/***** Show form again *****/ /***** Show form again *****/
@ -4269,6 +4286,8 @@ void Rec_ChgCountryOfMyInstitution (void)
void Rec_UpdateMyInstitution (void) void Rec_UpdateMyInstitution (void)
{ {
struct Instit Ins; struct Instit Ins;
unsigned NumCtrs;
unsigned NumDpts;
/***** Get my institution *****/ /***** Get my institution *****/
/* Get institution code */ /* Get institution code */
@ -4282,10 +4301,16 @@ void Rec_UpdateMyInstitution (void)
Gbl.Usrs.Me.UsrDat.InsCtyCod = Ins.CtyCod; Gbl.Usrs.Me.UsrDat.InsCtyCod = Ins.CtyCod;
} }
/***** Update institution, centre and department *****/ /* Set institution code */
Gbl.Usrs.Me.UsrDat.InsCod = Ins.InsCod; Gbl.Usrs.Me.UsrDat.InsCod = Ins.InsCod;
Gbl.Usrs.Me.UsrDat.Tch.CtrCod = -1L;
Gbl.Usrs.Me.UsrDat.Tch.DptCod = -1L; /***** When institution changes, the centre and department must be reset *****/
NumCtrs = Ctr_GetNumCtrsInIns (Gbl.Usrs.Me.UsrDat.InsCod);
NumDpts = Dpt_GetNumDptsInIns (Gbl.Usrs.Me.UsrDat.InsCod);
Gbl.Usrs.Me.UsrDat.Tch.CtrCod = (NumCtrs ? -1L : 0);
Gbl.Usrs.Me.UsrDat.Tch.DptCod = (NumDpts ? -1L : 0);
/***** Update institution, centre and department *****/
Enr_UpdateInstitutionCentreDepartment (); Enr_UpdateInstitutionCentreDepartment ();
/***** Show form again *****/ /***** Show form again *****/
@ -4315,8 +4340,10 @@ void Rec_UpdateMyCentre (void)
} }
} }
/***** Update institution, centre and department *****/ /* Set centre code */
Gbl.Usrs.Me.UsrDat.Tch.CtrCod = Ctr.CtrCod; Gbl.Usrs.Me.UsrDat.Tch.CtrCod = Ctr.CtrCod;
/***** Update institution, centre and department *****/
Enr_UpdateInstitutionCentreDepartment (); Enr_UpdateInstitutionCentreDepartment ();
/***** Show form again *****/ /***** Show form again *****/

View File

@ -28930,25 +28930,46 @@ const char *Txt_Please_enter_your_ID =
"Por favor, digite n&ordm; de identifica&ccedil;&atilde;o."; "Por favor, digite n&ordm; de identifica&ccedil;&atilde;o.";
#endif #endif
const char *Txt_Please_fill_in_your_centre_and_department = const char *Txt_Please_fill_in_your_centre =
#if L==1 #if L==1
"Si us plau, ompli el seu centre i department."; "Si us plau, ompli el seu centre.";
#elif L==2 #elif L==2
"Bitte geben Sie Ihre Zentrum und Abteilung zu f&uuml;llen."; "Bitte geben Sie Ihre Zentrum zu f&uuml;llen.";
#elif L==3 #elif L==3
"Please fill in your centre and department."; "Please fill in your centre.";
#elif L==4 #elif L==4
"Por favor, rellene su centro y departamento."; "Por favor, rellene su centro.";
#elif L==5 #elif L==5
"S'il vous pla&iacute;t, indiquez votre centre et d&eacute;partement."; "S'il vous pla&iacute;t, indiquez votre centre.";
#elif L==6 #elif L==6
"Por favor, rellene su centro y departamento."; // Okoteve traducción "Por favor, rellene su centro."; // Okoteve traducción
#elif L==7 #elif L==7
"Per favore, inserisci il tuo centro e dipartimento."; "Per favore, inserisci il tuo centro.";
#elif L==8 #elif L==8
"Prosz&eogon;, wpisz swoje tym centrum i dzia&lstrok;u."; "Prosz&eogon;, wpisz swoje tym centrum.";
#elif L==9 #elif L==9
"Por favor, preencha o seu centro e departamento."; "Por favor, preencha o seu centro.";
#endif
const char *Txt_Please_fill_in_your_department =
#if L==1
"Si us plau, ompli el seu department.";
#elif L==2
"Bitte geben Sie Ihre Abteilung zu f&uuml;llen.";
#elif L==3
"Please fill in your department.";
#elif L==4
"Por favor, rellene su departamento.";
#elif L==5
"S'il vous pla&iacute;t, indiquez votre d&eacute;partement.";
#elif L==6
"Por favor, rellene su departamento."; // Okoteve traducción
#elif L==7
"Per favore, inserisci il tuo dipartimento.";
#elif L==8
"Prosz&eogon;, wpisz swoje tym dzia&lstrok;u.";
#elif L==9
"Por favor, preencha o seu departamento.";
#endif #endif
const char *Txt_Please_fill_in_your_email_address = const char *Txt_Please_fill_in_your_email_address =