mirror of https://github.com/acanas/swad-core.git
Version19.17.1
This commit is contained in:
parent
eac6d08df5
commit
befebdd2dc
|
@ -471,10 +471,11 @@ 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.17 (2019-09-27)"
|
#define Log_PLATFORM_VERSION "SWAD 19.17.1 (2019-09-27)"
|
||||||
#define CSS_FILE "swad19.15.css"
|
#define CSS_FILE "swad19.15.css"
|
||||||
#define JS_FILE "swad19.15.js"
|
#define JS_FILE "swad19.15.js"
|
||||||
/*
|
/*
|
||||||
|
Version 19.17.1: Sep 27, 2019 Remove associations between matches and groups when removing groups. (246412 lines)
|
||||||
Version 19.17: Sep 27, 2019 Improvements in the code that deletes a match. (246410 lines)
|
Version 19.17: Sep 27, 2019 Improvements in the code that deletes a match. (246410 lines)
|
||||||
Version 19.16.8: Sep 27, 2019 Code refactoring. (246387 lines)
|
Version 19.16.8: Sep 27, 2019 Code refactoring. (246387 lines)
|
||||||
Version 19.16.7: Sep 27, 2019 Show match result for student in listing of matches. (246386 lines)
|
Version 19.16.7: Sep 27, 2019 Show match result for student in listing of matches. (246386 lines)
|
||||||
|
|
40
swad_game.c
40
swad_game.c
|
@ -101,7 +101,7 @@ static void Gam_PutFormsToRemEditOneGame (const struct Game *Game,
|
||||||
static void Gam_PutHiddenParamOrder (void);
|
static void Gam_PutHiddenParamOrder (void);
|
||||||
static void Gam_GetParamOrder (void);
|
static void Gam_GetParamOrder (void);
|
||||||
|
|
||||||
static void Gam_ResetGame (struct Game *Game,long UsrCod);
|
static void Gam_ResetGame (struct Game *Game);
|
||||||
|
|
||||||
static void Gam_GetGameTxtFromDB (long GamCod,char Txt[Cns_MAX_BYTES_TEXT + 1]);
|
static void Gam_GetGameTxtFromDB (long GamCod,char Txt[Cns_MAX_BYTES_TEXT + 1]);
|
||||||
|
|
||||||
|
@ -756,7 +756,7 @@ void Gam_GetDataOfGameByCod (struct Game *Game)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
/* Initialize to empty game */
|
/* Initialize to empty game */
|
||||||
Gam_ResetGame (Game,-1L);
|
Gam_ResetGame (Game);
|
||||||
|
|
||||||
/* Free structure that stores the query result */
|
/* Free structure that stores the query result */
|
||||||
DB_FreeMySQLResult (&mysql_res);
|
DB_FreeMySQLResult (&mysql_res);
|
||||||
|
@ -796,12 +796,11 @@ void Gam_GetDataOfGameByCod (struct Game *Game)
|
||||||
/*************************** Initialize game to empty ************************/
|
/*************************** Initialize game to empty ************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
static void Gam_ResetGame (struct Game *Game,long UsrCod)
|
static void Gam_ResetGame (struct Game *Game)
|
||||||
{
|
{
|
||||||
/***** Initialize to empty game *****/
|
/***** Initialize to empty game *****/
|
||||||
Game->GamCod = -1L;
|
Game->GamCod = -1L;
|
||||||
Game->CrsCod = -1L;
|
Game->CrsCod = -1L;
|
||||||
// Game->UsrCod = UsrCod;
|
|
||||||
Game->UsrCod = -1L;
|
Game->UsrCod = -1L;
|
||||||
Game->TimeUTC[Dat_START_TIME] = (time_t) 0;
|
Game->TimeUTC[Dat_START_TIME] = (time_t) 0;
|
||||||
Game->TimeUTC[Dat_END_TIME ] = (time_t) 0;
|
Game->TimeUTC[Dat_END_TIME ] = (time_t) 0;
|
||||||
|
@ -1071,7 +1070,7 @@ void Gam_RequestCreatOrEditGame (void)
|
||||||
Lay_ShowErrorAndExit ("You can not create a new game here.");
|
Lay_ShowErrorAndExit ("You can not create a new game here.");
|
||||||
|
|
||||||
/* Initialize to empty game */
|
/* Initialize to empty game */
|
||||||
Gam_ResetGame (&Game,Gbl.Usrs.Me.UsrDat.UsrCod);
|
Gam_ResetGame (&Game);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1281,37 +1280,6 @@ bool Gam_CheckIfMatchIsAssociatedToGrp (long MchCod,long GrpCod)
|
||||||
MchCod,GrpCod) != 0);
|
MchCod,GrpCod) != 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
/******************** Remove one group from all the games ********************/
|
|
||||||
/*****************************************************************************/
|
|
||||||
// TODO: Check if this function should be called when removing group
|
|
||||||
|
|
||||||
void Gam_RemoveGroup (long GrpCod)
|
|
||||||
{
|
|
||||||
/***** Remove group from all the matches *****/
|
|
||||||
DB_QueryDELETE ("can not remove group"
|
|
||||||
" from the associations between matches and groups",
|
|
||||||
"DELETE FROM mch_groups WHERE GrpCod=%ld",
|
|
||||||
GrpCod);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
/**************** Remove groups of one type from all the games ***************/
|
|
||||||
/*****************************************************************************/
|
|
||||||
// TODO: Check if this function should be called when removing group type
|
|
||||||
|
|
||||||
void Gam_RemoveGroupsOfType (long GrpTypCod)
|
|
||||||
{
|
|
||||||
/***** Remove group from all the matches *****/
|
|
||||||
DB_QueryDELETE ("can not remove groups of a type"
|
|
||||||
" from the associations between matches and groups",
|
|
||||||
"DELETE FROM mch_groups"
|
|
||||||
" USING crs_grp,mch_groups"
|
|
||||||
" WHERE crs_grp.GrpTypCod=%ld"
|
|
||||||
" AND crs_grp.GrpCod=mch_groups.GrpCod",
|
|
||||||
GrpTypCod);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/******************** Remove all the games of a course ***********************/
|
/******************** Remove all the games of a course ***********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -97,8 +97,6 @@ void Gam_HideGame (void);
|
||||||
void Gam_UnhideGame (void);
|
void Gam_UnhideGame (void);
|
||||||
void Gam_RecFormGame (void);
|
void Gam_RecFormGame (void);
|
||||||
bool Gam_CheckIfMatchIsAssociatedToGrp (long MchCod,long GrpCod);
|
bool Gam_CheckIfMatchIsAssociatedToGrp (long MchCod,long GrpCod);
|
||||||
void Gam_RemoveGroup (long GrpCod);
|
|
||||||
void Gam_RemoveGroupsOfType (long GrpTypCod);
|
|
||||||
void Gam_RemoveGamesCrs (long CrsCod);
|
void Gam_RemoveGamesCrs (long CrsCod);
|
||||||
|
|
||||||
unsigned Gam_GetNumQstsGame (long GamCod);
|
unsigned Gam_GetNumQstsGame (long GamCod);
|
||||||
|
|
12
swad_group.c
12
swad_group.c
|
@ -4125,6 +4125,9 @@ static void Grp_RemoveGroupTypeCompletely (void)
|
||||||
/***** Remove the associations of attendance events to groups of this type *****/
|
/***** Remove the associations of attendance events to groups of this type *****/
|
||||||
Att_RemoveGroupsOfType (Gbl.Crs.Grps.GrpTyp.GrpTypCod);
|
Att_RemoveGroupsOfType (Gbl.Crs.Grps.GrpTyp.GrpTypCod);
|
||||||
|
|
||||||
|
/***** Remove the associations of matches to groups of this type *****/
|
||||||
|
Mch_RemoveGroupsOfType (Gbl.Crs.Grps.GrpTyp.GrpTypCod);
|
||||||
|
|
||||||
/***** Remove the associations of surveys to groups of this type *****/
|
/***** Remove the associations of surveys to groups of this type *****/
|
||||||
Svy_RemoveGroupsOfType (Gbl.Crs.Grps.GrpTyp.GrpTypCod);
|
Svy_RemoveGroupsOfType (Gbl.Crs.Grps.GrpTyp.GrpTypCod);
|
||||||
|
|
||||||
|
@ -4178,13 +4181,16 @@ static void Grp_RemoveGroupCompletely (void)
|
||||||
/***** Remove file zones of this group *****/
|
/***** Remove file zones of this group *****/
|
||||||
Brw_RemoveGrpZones (Gbl.Hierarchy.Crs.CrsCod,GrpDat.GrpCod);
|
Brw_RemoveGrpZones (Gbl.Hierarchy.Crs.CrsCod,GrpDat.GrpCod);
|
||||||
|
|
||||||
/***** Remove this group from all the assignments *****/
|
/***** Remove this group from all assignments *****/
|
||||||
Asg_RemoveGroup (GrpDat.GrpCod);
|
Asg_RemoveGroup (GrpDat.GrpCod);
|
||||||
|
|
||||||
/***** Remove this group from all the attendance events *****/
|
/***** Remove this group from all attendance events *****/
|
||||||
Att_RemoveGroup (GrpDat.GrpCod);
|
Att_RemoveGroup (GrpDat.GrpCod);
|
||||||
|
|
||||||
/***** Remove this group from all the surveys *****/
|
/***** Remove this group from all matches *****/
|
||||||
|
Mch_RemoveGroup (GrpDat.GrpCod);
|
||||||
|
|
||||||
|
/***** Remove this group from all surveys *****/
|
||||||
Svy_RemoveGroup (GrpDat.GrpCod);
|
Svy_RemoveGroup (GrpDat.GrpCod);
|
||||||
|
|
||||||
/***** Change this group in course timetable *****/
|
/***** Change this group in course timetable *****/
|
||||||
|
|
29
swad_match.c
29
swad_match.c
|
@ -1536,6 +1536,35 @@ static void Mch_CreateGrps (long MchCod)
|
||||||
MchCod,Gbl.Crs.Grps.LstGrpsSel.GrpCods[NumGrpSel]);
|
MchCod,Gbl.Crs.Grps.LstGrpsSel.GrpCods[NumGrpSel]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/********************* Remove one group from all matches *********************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
void Mch_RemoveGroup (long GrpCod)
|
||||||
|
{
|
||||||
|
/***** Remove group from all the matches *****/
|
||||||
|
DB_QueryDELETE ("can not remove group"
|
||||||
|
" from the associations between matches and groups",
|
||||||
|
"DELETE FROM mch_groups WHERE GrpCod=%ld",
|
||||||
|
GrpCod);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/***************** Remove groups of one type from all matches ****************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
void Mch_RemoveGroupsOfType (long GrpTypCod)
|
||||||
|
{
|
||||||
|
/***** Remove group from all the matches *****/
|
||||||
|
DB_QueryDELETE ("can not remove groups of a type"
|
||||||
|
" from the associations between matches and groups",
|
||||||
|
"DELETE FROM mch_groups"
|
||||||
|
" USING crs_grp,mch_groups"
|
||||||
|
" WHERE crs_grp.GrpTypCod=%ld"
|
||||||
|
" AND crs_grp.GrpCod=mch_groups.GrpCod",
|
||||||
|
GrpTypCod);
|
||||||
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/***************** Insert/update a game match being played *******************/
|
/***************** Insert/update a game match being played *******************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -52,6 +52,10 @@ void Mch_CreateNewMatchTch (void);
|
||||||
void Mch_RequestStartResumeMatchTch (void);
|
void Mch_RequestStartResumeMatchTch (void);
|
||||||
void Mch_GetIndexes (long MchCod,unsigned QstInd,
|
void Mch_GetIndexes (long MchCod,unsigned QstInd,
|
||||||
unsigned Indexes[Tst_MAX_OPTIONS_PER_QUESTION]);
|
unsigned Indexes[Tst_MAX_OPTIONS_PER_QUESTION]);
|
||||||
|
|
||||||
|
void Mch_RemoveGroup (long GrpCod);
|
||||||
|
void Mch_RemoveGroupsOfType (long GrpTypCod);
|
||||||
|
|
||||||
void Mch_PauseMatchTch (void);
|
void Mch_PauseMatchTch (void);
|
||||||
void Mch_ResumeMatchTch (void);
|
void Mch_ResumeMatchTch (void);
|
||||||
void Mch_ToggleVisibilResultsMchQst (void);
|
void Mch_ToggleVisibilResultsMchQst (void);
|
||||||
|
|
Loading…
Reference in New Issue