mirror of
https://github.com/acanas/swad-core.git
synced 2024-05-31 22:05:23 +02:00
Version 15.225.11
This commit is contained in:
parent
bca5387cfe
commit
0d64b8b337
|
@ -1521,6 +1521,10 @@ a:hover img.CENTRE_PHOTO_SHOW
|
||||||
background-repeat:no-repeat;
|
background-repeat:no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/************************** Listing of users *********************************/
|
||||||
|
.USR_LIST_NUM {color:#A0A0A0; font-size:15pt; font-weight:bold;}
|
||||||
|
.USR_LIST_NUM_N {color:#404040; font-size:15pt; font-weight:bold;}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
.WHITE_USR {color:#E0E0E0; font-size:15pt; font-weight:bold; white-space:nowrap;}
|
.WHITE_USR {color:#E0E0E0; font-size:15pt; font-weight:bold; white-space:nowrap;}
|
||||||
.GREY_USR {color:#E0E0E0; font-size:15pt; font-weight:bold; white-space:nowrap;}
|
.GREY_USR {color:#E0E0E0; font-size:15pt; font-weight:bold; white-space:nowrap;}
|
|
@ -128,13 +128,14 @@
|
||||||
/****************************** Public constants *****************************/
|
/****************************** Public constants *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 15.225.10 (2016-06-15)"
|
#define Log_PLATFORM_VERSION "SWAD 15.225.11 (2016-06-16)"
|
||||||
#define CSS_FILE "swad15.224.3.css"
|
#define CSS_FILE "swad15.225.11.css"
|
||||||
#define JS_FILE "swad15.216.js"
|
#define JS_FILE "swad15.216.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 15.225.11:Jun 16, 2016 Listing possible duplicate users. (202667 lines)
|
||||||
Version 15.225.10:Jun 15, 2016 Listing possible duplicate users. (202626 lines)
|
Version 15.225.10:Jun 15, 2016 Listing possible duplicate users. (202626 lines)
|
||||||
Version 15.225.9: Jun 15, 2016 Code refactoring in list of students and teachers. (202636 lines)
|
Version 15.225.9: Jun 15, 2016 Code refactoring in list of students and teachers. (202636 lines)
|
||||||
Version 15.225.8: Jun 15, 2016 Code refactoring in list of students and teachers. (202779 lines)
|
Version 15.225.8: Jun 15, 2016 Code refactoring in list of students and teachers. (202779 lines)
|
||||||
|
|
|
@ -2946,8 +2946,10 @@ static long Crs_GetParamOtherCrsCod (void)
|
||||||
/************************** Write courses of a user **************************/
|
/************************** Write courses of a user **************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Crs_GetAndWriteCrssOfAUsr (long UsrCod,Rol_Role_t Role)
|
void Crs_GetAndWriteCrssOfAUsr (const struct UsrData *UsrDat,Rol_Role_t Role)
|
||||||
{
|
{
|
||||||
|
extern const char *Txt_USER_in_COURSE;
|
||||||
|
extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
|
||||||
extern const char *Txt_Degree;
|
extern const char *Txt_Degree;
|
||||||
extern const char *Txt_Year_OF_A_DEGREE;
|
extern const char *Txt_Year_OF_A_DEGREE;
|
||||||
extern const char *Txt_Course;
|
extern const char *Txt_Course;
|
||||||
|
@ -2969,20 +2971,26 @@ void Crs_GetAndWriteCrssOfAUsr (long UsrCod,Rol_Role_t Role)
|
||||||
" AND courses.DegCod=degrees.DegCod"
|
" AND courses.DegCod=degrees.DegCod"
|
||||||
" AND degrees.CtrCod=centres.CtrCod"
|
" AND degrees.CtrCod=centres.CtrCod"
|
||||||
" ORDER BY degrees.FullName,courses.Year,courses.FullName",
|
" ORDER BY degrees.FullName,courses.Year,courses.FullName",
|
||||||
UsrCod,(unsigned) Role);
|
UsrDat->UsrCod,(unsigned) Role);
|
||||||
|
|
||||||
/***** List the courses (one row per course) *****/
|
/***** List the courses (one row per course) *****/
|
||||||
if ((NumCrss = (unsigned) DB_QuerySELECT (Query,&mysql_res,"can not get courses of a user")))
|
if ((NumCrss = (unsigned) DB_QuerySELECT (Query,&mysql_res,"can not get courses of a user")))
|
||||||
{
|
{
|
||||||
/* Start frame and table */
|
/* Start frame and table */
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td colspan=\"2\"></td>"
|
"<td colspan=\"2\" class=\"COLOR%u\"></td>"
|
||||||
"<td colspan=\"%u\">",
|
"<td colspan=\"%u\" class=\"COLOR%u\">",
|
||||||
Usr_NUM_MAIN_FIELDS_DATA_USR-2);
|
Gbl.RowEvenOdd,
|
||||||
Lay_StartRoundFrameTable (NULL,2,NULL);
|
Usr_NUM_MAIN_FIELDS_DATA_USR-2,
|
||||||
|
Gbl.RowEvenOdd);
|
||||||
|
Lay_StartRoundFrameTable ("100%",2,NULL);
|
||||||
|
|
||||||
/* Heading row */
|
/* Heading row */
|
||||||
|
sprintf (Gbl.Title,Txt_USER_in_COURSE,Txt_ROLES_SINGUL_Abc[Role][UsrDat->Sex]);
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
|
"<th colspan=\"7\" class=\"LEFT_MIDDLE\">%s</th>"
|
||||||
|
"</tr>"
|
||||||
|
"<tr>"
|
||||||
"<th class=\"BM\"></th>"
|
"<th class=\"BM\"></th>"
|
||||||
"<th class=\"BM\"></th>"
|
"<th class=\"BM\"></th>"
|
||||||
"<th class=\"LEFT_MIDDLE\">"
|
"<th class=\"LEFT_MIDDLE\">"
|
||||||
|
@ -3001,6 +3009,7 @@ void Crs_GetAndWriteCrssOfAUsr (long UsrCod,Rol_Role_t Role)
|
||||||
"%s"
|
"%s"
|
||||||
"</th>"
|
"</th>"
|
||||||
"</tr>",
|
"</tr>",
|
||||||
|
Gbl.Title,
|
||||||
Txt_Degree,
|
Txt_Degree,
|
||||||
Txt_Year_OF_A_DEGREE,
|
Txt_Year_OF_A_DEGREE,
|
||||||
Txt_Course,
|
Txt_Course,
|
||||||
|
@ -3126,6 +3135,7 @@ static void Crs_WriteRowCrsData (unsigned NumCrs,MYSQL_ROW row,bool WriteColumnA
|
||||||
const char *StyleNoBR;
|
const char *StyleNoBR;
|
||||||
const char *BgColor;
|
const char *BgColor;
|
||||||
bool Accepted;
|
bool Accepted;
|
||||||
|
static unsigned RowEvenOdd = 1;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
SELECT degrees.DegCod 0
|
SELECT degrees.DegCod 0
|
||||||
|
@ -3162,12 +3172,12 @@ static void Crs_WriteRowCrsData (unsigned NumCrs,MYSQL_ROW row,bool WriteColumnA
|
||||||
StyleNoBR = "DAT_NOBR";
|
StyleNoBR = "DAT_NOBR";
|
||||||
}
|
}
|
||||||
BgColor = (CrsCod == Gbl.CurrentCrs.Crs.CrsCod) ? "LIGHT_BLUE" :
|
BgColor = (CrsCod == Gbl.CurrentCrs.Crs.CrsCod) ? "LIGHT_BLUE" :
|
||||||
Gbl.ColorRows[Gbl.RowEvenOdd];
|
Gbl.ColorRows[RowEvenOdd];
|
||||||
|
|
||||||
/***** Start row *****/
|
/***** Start row *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>");
|
fprintf (Gbl.F.Out,"<tr>");
|
||||||
|
|
||||||
/***** Teacher has accepted joining to this course/to any course in degree/to any course? *****/
|
/***** User has accepted joining to this course/to any course in degree/to any course? *****/
|
||||||
if (WriteColumnAccepted)
|
if (WriteColumnAccepted)
|
||||||
{
|
{
|
||||||
Accepted = (Str_ConvertToUpperLetter (row[7][0]) == 'Y');
|
Accepted = (Str_ConvertToUpperLetter (row[7][0]) == 'Y');
|
||||||
|
@ -3237,7 +3247,7 @@ static void Crs_WriteRowCrsData (unsigned NumCrs,MYSQL_ROW row,bool WriteColumnA
|
||||||
"</tr>",
|
"</tr>",
|
||||||
Style,BgColor,NumStds);
|
Style,BgColor,NumStds);
|
||||||
|
|
||||||
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
|
RowEvenOdd = 1 - RowEvenOdd;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
#include <stdbool.h> // For boolean type
|
#include <stdbool.h> // For boolean type
|
||||||
|
|
||||||
#include "swad_degree.h"
|
#include "swad_degree.h"
|
||||||
|
#include "swad_user.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/***************************** Public constants ******************************/
|
/***************************** Public constants ******************************/
|
||||||
|
@ -132,7 +133,7 @@ void Crs_PutParamCrsCod (long CrsCod);
|
||||||
|
|
||||||
void Crs_ReqSelectOneOfMyCourses (void);
|
void Crs_ReqSelectOneOfMyCourses (void);
|
||||||
|
|
||||||
void Crs_GetAndWriteCrssOfAUsr (long UsrCod,Rol_Role_t Role);
|
void Crs_GetAndWriteCrssOfAUsr (const struct UsrData *UsrDat,Rol_Role_t Role);
|
||||||
|
|
||||||
unsigned Crs_ListCrssFound (const char *Query);
|
unsigned Crs_ListCrssFound (const char *Query);
|
||||||
|
|
||||||
|
|
21
swad_text.c
21
swad_text.c
|
@ -49268,6 +49268,27 @@ const char *Txt_User_ID =
|
||||||
"Nº de identif. do utilizador";
|
"Nº de identif. do utilizador";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
const char *Txt_USER_in_COURSE = // Warning: it is very important to include %s in the following sentences
|
||||||
|
#if L==1
|
||||||
|
"%s en:";
|
||||||
|
#elif L==2
|
||||||
|
"%s im:";
|
||||||
|
#elif L==3
|
||||||
|
"%s in:";
|
||||||
|
#elif L==4
|
||||||
|
"%s en:";
|
||||||
|
#elif L==5
|
||||||
|
"%s dans:";
|
||||||
|
#elif L==6
|
||||||
|
"%s en:"; // Okoteve traducción
|
||||||
|
#elif L==7
|
||||||
|
"%s in:";
|
||||||
|
#elif L==8
|
||||||
|
"%s w:";
|
||||||
|
#elif L==9
|
||||||
|
"%s em:";
|
||||||
|
#endif
|
||||||
|
|
||||||
const char *Txt_User_not_found_or_you_do_not_have_permission_ =
|
const char *Txt_User_not_found_or_you_do_not_have_permission_ =
|
||||||
#if L==1
|
#if L==1
|
||||||
"Usuari no trobat"
|
"Usuari no trobat"
|
||||||
|
|
91
swad_user.c
91
swad_user.c
|
@ -128,6 +128,9 @@ static void Usr_SetUsrRoleAndPrefs (void);
|
||||||
static void Usr_InsertMyLastData (void);
|
static void Usr_InsertMyLastData (void);
|
||||||
|
|
||||||
static void Usr_WriteRowGstAllData (struct UsrData *UsrDat);
|
static void Usr_WriteRowGstAllData (struct UsrData *UsrDat);
|
||||||
|
static void Usr_WriteRowStdAllData (struct UsrData *UsrDat,char *GroupNames);
|
||||||
|
static void Usr_WriteRowTchAllData (struct UsrData *UsrDat);
|
||||||
|
static void Usr_WriteRowAdmData (unsigned NumUsr,struct UsrData *UsrDat);
|
||||||
static void Usr_RestrictLengthUsrName (struct UsrData *UsrDat);
|
static void Usr_RestrictLengthUsrName (struct UsrData *UsrDat);
|
||||||
static void Usr_WriteMainUsrDataExceptUsrID (struct UsrData *UsrDat,
|
static void Usr_WriteMainUsrDataExceptUsrID (struct UsrData *UsrDat,
|
||||||
const char *BgColor,
|
const char *BgColor,
|
||||||
|
@ -2711,7 +2714,7 @@ void Usr_WriteRowUsrMainData (unsigned NumUsr,struct UsrData *UsrDat,
|
||||||
{
|
{
|
||||||
extern const char *Txt_Enrollment_confirmed;
|
extern const char *Txt_Enrollment_confirmed;
|
||||||
extern const char *Txt_Enrollment_not_confirmed;
|
extern const char *Txt_Enrollment_not_confirmed;
|
||||||
const char *BgColor;
|
char BgColor[16];
|
||||||
char PhotoURL[PATH_MAX+1];
|
char PhotoURL[PATH_MAX+1];
|
||||||
bool ShowPhoto;
|
bool ShowPhoto;
|
||||||
bool UsrIsTheMsgSender = PutCheckBoxToSelectUsr &&
|
bool UsrIsTheMsgSender = PutCheckBoxToSelectUsr &&
|
||||||
|
@ -2723,14 +2726,15 @@ void Usr_WriteRowUsrMainData (unsigned NumUsr,struct UsrData *UsrDat,
|
||||||
|
|
||||||
/***** Checkbox to select user *****/
|
/***** Checkbox to select user *****/
|
||||||
// Two colors are used alternatively to better distinguish the rows
|
// Two colors are used alternatively to better distinguish the rows
|
||||||
BgColor = UsrIsTheMsgSender ? "LIGHT_GREEN" :
|
if (UsrIsTheMsgSender)
|
||||||
Gbl.ColorRows[Gbl.RowEvenOdd];
|
strcpy (BgColor,"LIGHT_GREEN");
|
||||||
|
else
|
||||||
|
sprintf (BgColor,"COLOR%u",Gbl.RowEvenOdd);
|
||||||
|
|
||||||
if (PutCheckBoxToSelectUsr)
|
if (PutCheckBoxToSelectUsr)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE %s\">",BgColor);
|
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE %s\">",BgColor);
|
||||||
|
|
||||||
Usr_PutCheckboxToSelectUser (UsrDat,UsrIsTheMsgSender);
|
Usr_PutCheckboxToSelectUser (UsrDat,UsrIsTheMsgSender);
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"</td>");
|
fprintf (Gbl.F.Out,"</td>");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2755,17 +2759,17 @@ void Usr_WriteRowUsrMainData (unsigned NumUsr,struct UsrData *UsrDat,
|
||||||
|
|
||||||
/***** Write number of user in the list *****/
|
/***** Write number of user in the list *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">"
|
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">"
|
||||||
" %u "
|
"%u"
|
||||||
"</td>",
|
"</td>",
|
||||||
UsrDat->Accepted ? "DAT_SMALL_N" :
|
UsrDat->Accepted ? "USR_LIST_NUM_N" :
|
||||||
"DAT_SMALL",
|
"USR_LIST_NUM",
|
||||||
BgColor,
|
BgColor,
|
||||||
NumUsr);
|
NumUsr);
|
||||||
|
|
||||||
if (Gbl.Usrs.Listing.WithPhotos)
|
if (Gbl.Usrs.Listing.WithPhotos)
|
||||||
{
|
{
|
||||||
/***** Show user's photo *****/
|
/***** Show user's photo *****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE %s\">",BgColor);
|
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE %s\">",BgColor);
|
||||||
ShowPhoto = Pho_ShowUsrPhotoIsAllowed (UsrDat,PhotoURL);
|
ShowPhoto = Pho_ShowUsrPhotoIsAllowed (UsrDat,PhotoURL);
|
||||||
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
|
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
|
||||||
NULL,
|
NULL,
|
||||||
|
@ -2791,8 +2795,6 @@ void Usr_WriteRowUsrMainData (unsigned NumUsr,struct UsrData *UsrDat,
|
||||||
|
|
||||||
/***** End row *****/
|
/***** End row *****/
|
||||||
fprintf (Gbl.F.Out,"</tr>");
|
fprintf (Gbl.F.Out,"</tr>");
|
||||||
|
|
||||||
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -2888,15 +2890,13 @@ static void Usr_WriteRowGstAllData (struct UsrData *UsrDat)
|
||||||
|
|
||||||
/***** End row *****/
|
/***** End row *****/
|
||||||
fprintf (Gbl.F.Out,"</tr>");
|
fprintf (Gbl.F.Out,"</tr>");
|
||||||
|
|
||||||
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/************ Write a row of a table with the data of a student **************/
|
/************ Write a row of a table with the data of a student **************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Usr_WriteRowStdAllData (struct UsrData *UsrDat,char *GroupNames)
|
static void Usr_WriteRowStdAllData (struct UsrData *UsrDat,char *GroupNames)
|
||||||
{
|
{
|
||||||
char PhotoURL[PATH_MAX+1];
|
char PhotoURL[PATH_MAX+1];
|
||||||
bool ShowPhoto;
|
bool ShowPhoto;
|
||||||
|
@ -3005,15 +3005,13 @@ void Usr_WriteRowStdAllData (struct UsrData *UsrDat,char *GroupNames)
|
||||||
|
|
||||||
/***** End row *****/
|
/***** End row *****/
|
||||||
fprintf (Gbl.F.Out,"</tr>");
|
fprintf (Gbl.F.Out,"</tr>");
|
||||||
|
|
||||||
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*** Write a row of a table with the data of a teacher or an administrator ***/
|
/*** Write a row of a table with the data of a teacher or an administrator ***/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Usr_WriteRowTchAllData (struct UsrData *UsrDat)
|
static void Usr_WriteRowTchAllData (struct UsrData *UsrDat)
|
||||||
{
|
{
|
||||||
char PhotoURL[PATH_MAX+1];
|
char PhotoURL[PATH_MAX+1];
|
||||||
bool ShowPhoto;
|
bool ShowPhoto;
|
||||||
|
@ -3082,15 +3080,13 @@ void Usr_WriteRowTchAllData (struct UsrData *UsrDat)
|
||||||
NULL,true,UsrDat->Accepted);
|
NULL,true,UsrDat->Accepted);
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"</tr>");
|
fprintf (Gbl.F.Out,"</tr>");
|
||||||
|
|
||||||
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/********** Write a row of a table with the data of an administrator *********/
|
/********** Write a row of a table with the data of an administrator *********/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Usr_WriteRowAdmData (unsigned NumUsr,struct UsrData *UsrDat)
|
static void Usr_WriteRowAdmData (unsigned NumUsr,struct UsrData *UsrDat)
|
||||||
{
|
{
|
||||||
char PhotoURL[PATH_MAX+1];
|
char PhotoURL[PATH_MAX+1];
|
||||||
bool ShowPhoto;
|
bool ShowPhoto;
|
||||||
|
@ -3138,8 +3134,6 @@ void Usr_WriteRowAdmData (unsigned NumUsr,struct UsrData *UsrDat)
|
||||||
Deg_GetAndWriteInsCtrDegAdminBy (UsrDat->UsrCod,
|
Deg_GetAndWriteInsCtrDegAdminBy (UsrDat->UsrCod,
|
||||||
Gbl.Usrs.Listing.WithPhotos ? Usr_NUM_MAIN_FIELDS_DATA_ADM :
|
Gbl.Usrs.Listing.WithPhotos ? Usr_NUM_MAIN_FIELDS_DATA_ADM :
|
||||||
Usr_NUM_MAIN_FIELDS_DATA_ADM-1);
|
Usr_NUM_MAIN_FIELDS_DATA_ADM-1);
|
||||||
|
|
||||||
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -5143,7 +5137,7 @@ static void Usr_ListMainDataGsts (bool PutCheckBoxToSelectUsr)
|
||||||
Usr_UsrDataConstructor (&UsrDat);
|
Usr_UsrDataConstructor (&UsrDat);
|
||||||
|
|
||||||
/***** List students' data *****/
|
/***** List students' data *****/
|
||||||
for (NumUsr = 0;
|
for (NumUsr = 0, Gbl.RowEvenOdd = 0;
|
||||||
NumUsr < Gbl.Usrs.LstGsts.NumUsrs; )
|
NumUsr < Gbl.Usrs.LstGsts.NumUsrs; )
|
||||||
{
|
{
|
||||||
UsrDat.UsrCod = Gbl.Usrs.LstGsts.Lst[NumUsr].UsrCod;
|
UsrDat.UsrCod = Gbl.Usrs.LstGsts.Lst[NumUsr].UsrCod;
|
||||||
|
@ -5153,6 +5147,8 @@ static void Usr_ListMainDataGsts (bool PutCheckBoxToSelectUsr)
|
||||||
// ...so they have not accepted...
|
// ...so they have not accepted...
|
||||||
// ...inscription in any course
|
// ...inscription in any course
|
||||||
Usr_WriteRowUsrMainData (++NumUsr,&UsrDat,true);
|
Usr_WriteRowUsrMainData (++NumUsr,&UsrDat,true);
|
||||||
|
|
||||||
|
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5226,7 +5222,7 @@ static void Usr_ListMainDataStds (bool PutCheckBoxToSelectUsr)
|
||||||
Usr_UsrDataConstructor (&UsrDat);
|
Usr_UsrDataConstructor (&UsrDat);
|
||||||
|
|
||||||
/***** List students' data *****/
|
/***** List students' data *****/
|
||||||
for (NumUsr = 0;
|
for (NumUsr = 0, Gbl.RowEvenOdd = 0;
|
||||||
NumUsr < Gbl.Usrs.LstStds.NumUsrs; )
|
NumUsr < Gbl.Usrs.LstStds.NumUsrs; )
|
||||||
{
|
{
|
||||||
UsrDat.UsrCod = Gbl.Usrs.LstStds.Lst[NumUsr].UsrCod;
|
UsrDat.UsrCod = Gbl.Usrs.LstStds.Lst[NumUsr].UsrCod;
|
||||||
|
@ -5234,6 +5230,8 @@ static void Usr_ListMainDataStds (bool PutCheckBoxToSelectUsr)
|
||||||
{
|
{
|
||||||
UsrDat.Accepted = Gbl.Usrs.LstStds.Lst[NumUsr].Accepted;
|
UsrDat.Accepted = Gbl.Usrs.LstStds.Lst[NumUsr].Accepted;
|
||||||
Usr_WriteRowUsrMainData (++NumUsr,&UsrDat,PutCheckBoxToSelectUsr);
|
Usr_WriteRowUsrMainData (++NumUsr,&UsrDat,PutCheckBoxToSelectUsr);
|
||||||
|
|
||||||
|
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5297,7 +5295,7 @@ static void Usr_ListMainDataTchs (bool PutCheckBoxToSelectUsr)
|
||||||
Usr_UsrDataConstructor (&UsrDat);
|
Usr_UsrDataConstructor (&UsrDat);
|
||||||
|
|
||||||
/***** List data of teachers *****/
|
/***** List data of teachers *****/
|
||||||
for (NumUsr = 0;
|
for (NumUsr = 0, Gbl.RowEvenOdd = 0;
|
||||||
NumUsr < Gbl.Usrs.LstTchs.NumUsrs; )
|
NumUsr < Gbl.Usrs.LstTchs.NumUsrs; )
|
||||||
{
|
{
|
||||||
UsrDat.UsrCod = Gbl.Usrs.LstTchs.Lst[NumUsr].UsrCod;
|
UsrDat.UsrCod = Gbl.Usrs.LstTchs.Lst[NumUsr].UsrCod;
|
||||||
|
@ -5305,6 +5303,8 @@ static void Usr_ListMainDataTchs (bool PutCheckBoxToSelectUsr)
|
||||||
{
|
{
|
||||||
UsrDat.Accepted = Gbl.Usrs.LstTchs.Lst[NumUsr].Accepted;
|
UsrDat.Accepted = Gbl.Usrs.LstTchs.Lst[NumUsr].Accepted;
|
||||||
Usr_WriteRowUsrMainData (++NumUsr,&UsrDat,PutCheckBoxToSelectUsr);
|
Usr_WriteRowUsrMainData (++NumUsr,&UsrDat,PutCheckBoxToSelectUsr);
|
||||||
|
|
||||||
|
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5403,7 +5403,7 @@ void Usr_ListAllDataGsts (void)
|
||||||
Usr_UsrDataConstructor (&UsrDat);
|
Usr_UsrDataConstructor (&UsrDat);
|
||||||
|
|
||||||
/***** List guests' data *****/
|
/***** List guests' data *****/
|
||||||
for (NumUsr = 0;
|
for (NumUsr = 0, Gbl.RowEvenOdd = 0;
|
||||||
NumUsr < Gbl.Usrs.LstGsts.NumUsrs; )
|
NumUsr < Gbl.Usrs.LstGsts.NumUsrs; )
|
||||||
{
|
{
|
||||||
UsrDat.UsrCod = Gbl.Usrs.LstGsts.Lst[NumUsr].UsrCod;
|
UsrDat.UsrCod = Gbl.Usrs.LstGsts.Lst[NumUsr].UsrCod;
|
||||||
|
@ -5414,6 +5414,8 @@ void Usr_ListAllDataGsts (void)
|
||||||
// ...inscription in any course
|
// ...inscription in any course
|
||||||
NumUsr++;
|
NumUsr++;
|
||||||
Usr_WriteRowGstAllData (&UsrDat);
|
Usr_WriteRowGstAllData (&UsrDat);
|
||||||
|
|
||||||
|
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5593,7 +5595,7 @@ void Usr_ListAllDataStds (void)
|
||||||
Usr_UsrDataConstructor (&UsrDat);
|
Usr_UsrDataConstructor (&UsrDat);
|
||||||
|
|
||||||
/***** List students' data *****/
|
/***** List students' data *****/
|
||||||
for (NumUsr = 0;
|
for (NumUsr = 0, Gbl.RowEvenOdd = 0;
|
||||||
NumUsr < Gbl.Usrs.LstStds.NumUsrs; )
|
NumUsr < Gbl.Usrs.LstStds.NumUsrs; )
|
||||||
{
|
{
|
||||||
UsrDat.UsrCod = Gbl.Usrs.LstStds.Lst[NumUsr].UsrCod;
|
UsrDat.UsrCod = Gbl.Usrs.LstStds.Lst[NumUsr].UsrCod;
|
||||||
|
@ -5602,6 +5604,8 @@ void Usr_ListAllDataStds (void)
|
||||||
UsrDat.Accepted = Gbl.Usrs.LstStds.Lst[NumUsr].Accepted;
|
UsrDat.Accepted = Gbl.Usrs.LstStds.Lst[NumUsr].Accepted;
|
||||||
NumUsr++;
|
NumUsr++;
|
||||||
Usr_WriteRowStdAllData (&UsrDat,GroupNames);
|
Usr_WriteRowStdAllData (&UsrDat,GroupNames);
|
||||||
|
|
||||||
|
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5668,7 +5672,7 @@ void Usr_ListUsrsForSelection (Rol_Role_t Role)
|
||||||
switch (Role)
|
switch (Role)
|
||||||
{
|
{
|
||||||
case Rol_STUDENT:
|
case Rol_STUDENT:
|
||||||
for (NumUsr = 0;
|
for (NumUsr = 0, Gbl.RowEvenOdd = 0;
|
||||||
NumUsr < Gbl.Usrs.LstStds.NumUsrs; )
|
NumUsr < Gbl.Usrs.LstStds.NumUsrs; )
|
||||||
{
|
{
|
||||||
UsrDat.UsrCod = Gbl.Usrs.LstStds.Lst[NumUsr].UsrCod;
|
UsrDat.UsrCod = Gbl.Usrs.LstStds.Lst[NumUsr].UsrCod;
|
||||||
|
@ -5676,11 +5680,13 @@ void Usr_ListUsrsForSelection (Rol_Role_t Role)
|
||||||
{
|
{
|
||||||
UsrDat.Accepted = Gbl.Usrs.LstStds.Lst[NumUsr].Accepted;
|
UsrDat.Accepted = Gbl.Usrs.LstStds.Lst[NumUsr].Accepted;
|
||||||
Usr_WriteRowUsrMainData (++NumUsr,&UsrDat,true);
|
Usr_WriteRowUsrMainData (++NumUsr,&UsrDat,true);
|
||||||
|
|
||||||
|
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Rol_TEACHER:
|
case Rol_TEACHER:
|
||||||
for (NumUsr = 0;
|
for (NumUsr = 0, Gbl.RowEvenOdd = 0;
|
||||||
NumUsr < Gbl.Usrs.LstTchs.NumUsrs; )
|
NumUsr < Gbl.Usrs.LstTchs.NumUsrs; )
|
||||||
{
|
{
|
||||||
UsrDat.UsrCod = Gbl.Usrs.LstTchs.Lst[NumUsr].UsrCod;
|
UsrDat.UsrCod = Gbl.Usrs.LstTchs.Lst[NumUsr].UsrCod;
|
||||||
|
@ -5688,6 +5694,8 @@ void Usr_ListUsrsForSelection (Rol_Role_t Role)
|
||||||
{
|
{
|
||||||
UsrDat.Accepted = Gbl.Usrs.LstTchs.Lst[NumUsr].Accepted;
|
UsrDat.Accepted = Gbl.Usrs.LstTchs.Lst[NumUsr].Accepted;
|
||||||
Usr_WriteRowUsrMainData (++NumUsr,&UsrDat,true);
|
Usr_WriteRowUsrMainData (++NumUsr,&UsrDat,true);
|
||||||
|
|
||||||
|
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -5779,7 +5787,7 @@ void Usr_ListAllDataTchs (void)
|
||||||
Usr_UsrDataConstructor (&UsrDat);
|
Usr_UsrDataConstructor (&UsrDat);
|
||||||
|
|
||||||
/***** List data of teachers *****/
|
/***** List data of teachers *****/
|
||||||
for (NumUsr = 0;
|
for (NumUsr = 0, Gbl.RowEvenOdd = 0;
|
||||||
NumUsr < Gbl.Usrs.LstTchs.NumUsrs; )
|
NumUsr < Gbl.Usrs.LstTchs.NumUsrs; )
|
||||||
{
|
{
|
||||||
UsrDat.UsrCod = Gbl.Usrs.LstTchs.Lst[NumUsr].UsrCod;
|
UsrDat.UsrCod = Gbl.Usrs.LstTchs.Lst[NumUsr].UsrCod;
|
||||||
|
@ -5788,6 +5796,8 @@ void Usr_ListAllDataTchs (void)
|
||||||
UsrDat.Accepted = Gbl.Usrs.LstTchs.Lst[NumUsr].Accepted;
|
UsrDat.Accepted = Gbl.Usrs.LstTchs.Lst[NumUsr].Accepted;
|
||||||
NumUsr++;
|
NumUsr++;
|
||||||
Usr_WriteRowTchAllData (&UsrDat);
|
Usr_WriteRowTchAllData (&UsrDat);
|
||||||
|
|
||||||
|
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5859,7 +5869,7 @@ unsigned Usr_ListUsrsFound (Rol_Role_t Role,const char *UsrQuery)
|
||||||
Usr_UsrDataConstructor (&UsrDat);
|
Usr_UsrDataConstructor (&UsrDat);
|
||||||
|
|
||||||
/***** List data of users *****/
|
/***** List data of users *****/
|
||||||
for (NumUsr = 0;
|
for (NumUsr = 0, Gbl.RowEvenOdd = 0;
|
||||||
NumUsr < NumUsrs;
|
NumUsr < NumUsrs;
|
||||||
NumUsr++)
|
NumUsr++)
|
||||||
{
|
{
|
||||||
|
@ -5873,7 +5883,9 @@ unsigned Usr_ListUsrsFound (Rol_Role_t Role,const char *UsrQuery)
|
||||||
|
|
||||||
/* Write all the courses this user belongs to */
|
/* Write all the courses this user belongs to */
|
||||||
if (Role != Rol__GUEST_)
|
if (Role != Rol__GUEST_)
|
||||||
Crs_GetAndWriteCrssOfAUsr (UsrDat.UsrCod,Role);
|
Crs_GetAndWriteCrssOfAUsr (&UsrDat,Role);
|
||||||
|
|
||||||
|
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6001,7 +6013,7 @@ void Usr_ListDataAdms (void)
|
||||||
Usr_UsrDataConstructor (&UsrDat);
|
Usr_UsrDataConstructor (&UsrDat);
|
||||||
|
|
||||||
/***** List data of administrators *****/
|
/***** List data of administrators *****/
|
||||||
for (NumUsr = 0;
|
for (NumUsr = 0, Gbl.RowEvenOdd = 0;
|
||||||
NumUsr < Gbl.Usrs.LstAdms.NumUsrs; )
|
NumUsr < Gbl.Usrs.LstAdms.NumUsrs; )
|
||||||
{
|
{
|
||||||
UsrDat.UsrCod = Gbl.Usrs.LstAdms.Lst[NumUsr].UsrCod;
|
UsrDat.UsrCod = Gbl.Usrs.LstAdms.Lst[NumUsr].UsrCod;
|
||||||
|
@ -6009,6 +6021,8 @@ void Usr_ListDataAdms (void)
|
||||||
{
|
{
|
||||||
UsrDat.Accepted = Gbl.Usrs.LstAdms.Lst[NumUsr].Accepted;
|
UsrDat.Accepted = Gbl.Usrs.LstAdms.Lst[NumUsr].Accepted;
|
||||||
Usr_WriteRowAdmData (++NumUsr,&UsrDat);
|
Usr_WriteRowAdmData (++NumUsr,&UsrDat);
|
||||||
|
|
||||||
|
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7739,7 +7753,6 @@ void Usr_ListDuplicateUsrs (void)
|
||||||
unsigned NumUsr;
|
unsigned NumUsr;
|
||||||
struct UsrData UsrDat;
|
struct UsrData UsrDat;
|
||||||
unsigned NumInformants;
|
unsigned NumInformants;
|
||||||
Rol_Role_t Role;
|
|
||||||
|
|
||||||
/***** Start frame with list of possible duplicate users *****/
|
/***** Start frame with list of possible duplicate users *****/
|
||||||
Lay_StartRoundFrame (NULL,Txt_Possibly_duplicate_users,NULL);
|
Lay_StartRoundFrame (NULL,Txt_Possibly_duplicate_users,NULL);
|
||||||
|
@ -7778,7 +7791,7 @@ void Usr_ListDuplicateUsrs (void)
|
||||||
fprintf (Gbl.F.Out,"</tr>");
|
fprintf (Gbl.F.Out,"</tr>");
|
||||||
|
|
||||||
/***** List users *****/
|
/***** List users *****/
|
||||||
for (NumUsr = 0;
|
for (NumUsr = 0, Gbl.RowEvenOdd = 0;
|
||||||
NumUsr < NumUsrs;
|
NumUsr < NumUsrs;
|
||||||
NumUsr++)
|
NumUsr++)
|
||||||
{
|
{
|
||||||
|
@ -7806,10 +7819,10 @@ void Usr_ListDuplicateUsrs (void)
|
||||||
NumInformants);
|
NumInformants);
|
||||||
|
|
||||||
/* Write all the courses this user belongs to */
|
/* Write all the courses this user belongs to */
|
||||||
for (Role = Rol_STUDENT;
|
Crs_GetAndWriteCrssOfAUsr (&UsrDat,Rol_TEACHER);
|
||||||
Role <= Rol_TEACHER;
|
Crs_GetAndWriteCrssOfAUsr (&UsrDat,Rol_STUDENT);
|
||||||
Role++)
|
|
||||||
Crs_GetAndWriteCrssOfAUsr (UsrDat.UsrCod,Role);
|
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
|
||||||
}
|
}
|
||||||
else // User does not exists ==>
|
else // User does not exists ==>
|
||||||
// remove user from table of possible duplicate users
|
// remove user from table of possible duplicate users
|
||||||
|
|
|
@ -281,8 +281,6 @@ void Usr_InsertMyLastCrsTabAndTime (void);
|
||||||
|
|
||||||
void Usr_WriteRowUsrMainData (unsigned NumUsr,struct UsrData *UsrDat,
|
void Usr_WriteRowUsrMainData (unsigned NumUsr,struct UsrData *UsrDat,
|
||||||
bool PutCheckboxToSelectUsr);
|
bool PutCheckboxToSelectUsr);
|
||||||
void Usr_WriteRowStdAllData (struct UsrData *UsrDat,char *GrpNames);
|
|
||||||
void Usr_WriteRowTchAllData (struct UsrData *UsrDat);
|
|
||||||
|
|
||||||
unsigned Usr_GetNumUsrsInCrs (Rol_Role_t Role,long CrsCod);
|
unsigned Usr_GetNumUsrsInCrs (Rol_Role_t Role,long CrsCod);
|
||||||
unsigned Usr_GetNumUsrsInCrssOfDeg (Rol_Role_t Role,long DegCod);
|
unsigned Usr_GetNumUsrsInCrssOfDeg (Rol_Role_t Role,long DegCod);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user