Version 18.27.8

This commit is contained in:
Antonio Cañas Vargas 2019-01-05 11:29:54 +01:00
parent bc4a63ca02
commit 267af87d3c
3 changed files with 33 additions and 24 deletions

View File

@ -364,10 +364,11 @@ En OpenSWAD:
ps2pdf source.ps destination.pdf ps2pdf source.ps destination.pdf
*/ */
#define Log_PLATFORM_VERSION "SWAD 18.27.7 (2019-01-04)" #define Log_PLATFORM_VERSION "SWAD 18.27.8 (2019-01-05)"
#define CSS_FILE "swad18.22.css" #define CSS_FILE "swad18.22.css"
#define JS_FILE "swad17.17.1.js" #define JS_FILE "swad17.17.1.js"
/* /*
Version 18.27.8: Jan 05, 2019 Get classroom short name from database in listing of groups. (239130 lines)
Version 18.27.7: Jan 04, 2019 Show classroom in listing of groups. (239121 lines) Version 18.27.7: Jan 04, 2019 Show classroom in listing of groups. (239121 lines)
Version 18.27.6: Jan 04, 2019 Selection of classroom in form to edit group. (239099 lines) Version 18.27.6: Jan 04, 2019 Selection of classroom in form to edit group. (239099 lines)
Version 18.27.5: Jan 04, 2019 Selection of classroom in form to create group. (238964 lines) Version 18.27.5: Jan 04, 2019 Selection of classroom in form to create group. (238964 lines)

View File

@ -12052,7 +12052,7 @@ void Brw_RemoveZonesOfGroupsOfType (long GrpTypCod)
MYSQL_ROW row; MYSQL_ROW row;
unsigned long NumRow; unsigned long NumRow;
unsigned long NumRows; unsigned long NumRows;
struct GroupData GrpDat; long GrpCod;
/***** Query database *****/ /***** Query database *****/
if ((NumRows = Grp_GetGrpsOfType (GrpTypCod,&mysql_res))) // If there exists groups... if ((NumRows = Grp_GetGrpsOfType (GrpTypCod,&mysql_res))) // If there exists groups...
@ -12064,14 +12064,11 @@ void Brw_RemoveZonesOfGroupsOfType (long GrpTypCod)
row = mysql_fetch_row (mysql_res); row = mysql_fetch_row (mysql_res);
/* Group code is in row[0] */ /* Group code is in row[0] */
if (sscanf (row[0],"%ld",&(GrpDat.GrpCod)) != 1) if (sscanf (row[0],"%ld",&GrpCod) != 1)
Lay_ShowErrorAndExit ("Wrong group code."); Lay_ShowErrorAndExit ("Wrong group code.");
/* Get name and type of the group from database */
Grp_GetDataOfGroupByCod (&GrpDat);
/* Remove file zones of this group */ /* Remove file zones of this group */
Brw_RemoveGrpZones (Gbl.CurrentCrs.Crs.CrsCod,GrpDat.GrpCod); Brw_RemoveGrpZones (Gbl.CurrentCrs.Crs.CrsCod,GrpCod);
} }
/***** Free structure that stores the query result *****/ /***** Free structure that stores the query result *****/

View File

@ -2490,7 +2490,7 @@ static void Grp_WriteRowGrp (struct Group *Grp,bool Highlight)
Grp->GrpName); Grp->GrpName);
/***** Classroom *****/ /***** Classroom *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE"); fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE");
if (Highlight) if (Highlight)
fprintf (Gbl.F.Out," LIGHT_BLUE"); fprintf (Gbl.F.Out," LIGHT_BLUE");
fprintf (Gbl.F.Out,"\">" fprintf (Gbl.F.Out,"\">"
@ -3016,23 +3016,31 @@ void Grp_GetListGrpTypesAndGrpsInThisCrs (Grp_WhichGroupTypes_t WhichGroupTypes)
/* Get classroom code (row[2]) */ /* Get classroom code (row[2]) */
Grp->Classroom.ClaCod = Str_ConvertStrCodToLongCod (row[2]); Grp->Classroom.ClaCod = Str_ConvertStrCodToLongCod (row[2]);
/* Get classroom short name (row[3]) */
if (row[3])
Str_Copy (Grp->Classroom.ShrtName,row[3],
Cla_MAX_BYTES_SHRT_NAME);
else
Grp->Classroom.ShrtName[0] = '\0';
/* Get number of current users in group */ /* Get number of current users in group */
for (Role = Rol_TCH; for (Role = Rol_TCH;
Role >= Rol_STD; Role >= Rol_STD;
Role--) Role--)
Grp->NumUsrs[Role] = Grp_CountNumUsrsInGrp (Role,Grp->GrpCod); Grp->NumUsrs[Role] = Grp_CountNumUsrsInGrp (Role,Grp->GrpCod);
/* Get maximum number of students in group (row[3]) */ /* Get maximum number of students in group (row[4]) */
Grp->MaxStudents = Grp_ConvertToNumMaxStdsGrp (row[3]); Grp->MaxStudents = Grp_ConvertToNumMaxStdsGrp (row[4]);
/* Get whether group is open ('Y') or closed ('N') (row[4]) */ /* Get whether group is open ('Y') or closed ('N') (row[5]) */
Grp->Open = (row[4][0] == 'Y'); Grp->Open = (row[5][0] == 'Y');
/* Get whether group have file zones ('Y') or not ('N') (row[5]) */ /* Get whether group have file zones ('Y') or not ('N') (row[6]) */
Grp->FileZones = (row[5][0] == 'Y'); Grp->FileZones = (row[6][0] == 'Y');
} }
} }
else // Error: groups should be found, but really they haven't be found. This never should happen. else // Error: groups should be found, but really they haven't be found.
// This never should happen.
GrpTyp->NumGrps = 0; GrpTyp->NumGrps = 0;
/***** Free structure that stores the query result *****/ /***** Free structure that stores the query result *****/
@ -3111,16 +3119,19 @@ static unsigned Grp_CountNumGrpsInThisCrsOfType (long GrpTypCod)
unsigned long Grp_GetGrpsOfType (long GrpTypCod,MYSQL_RES **mysql_res) unsigned long Grp_GetGrpsOfType (long GrpTypCod,MYSQL_RES **mysql_res)
{ {
/***** Get groups of a type from database *****/ /***** Get groups of a type from database *****/
// Don't use INNER JOIN because there are groups without assigned classroom
return DB_QuerySELECT (mysql_res,"can not get groups of a type", return DB_QuerySELECT (mysql_res,"can not get groups of a type",
"SELECT GrpCod," "SELECT crs_grp.GrpCod,"
"GrpName," "crs_grp.GrpName,"
"ClaCod," "crs_grp.ClaCod,"
"MaxStudents," "classrooms.ShortName,"
"Open," "crs_grp.MaxStudents,"
"FileZones" "crs_grp.Open,"
" FROM crs_grp" "crs_grp.FileZones"
" WHERE GrpTypCod=%ld" " FROM crs_grp LEFT JOIN classrooms"
" ORDER BY GrpName", " ON crs_grp.ClaCod=classrooms.ClaCod"
" WHERE crs_grp.GrpTypCod=%ld"
" ORDER BY crs_grp.GrpName",
GrpTypCod); GrpTypCod);
} }