Version 20.88.3: Jun 02, 2021 Queries moved to module swad_center_database.

This commit is contained in:
acanas 2021-06-02 23:24:40 +02:00
parent 4f83e637c6
commit b71f3fc86e
7 changed files with 99 additions and 77 deletions

View File

@ -1288,8 +1288,8 @@ void Ctr_ChangeCtrWWW (void)
void Ctr_ChangeCtrStatus (void) void Ctr_ChangeCtrStatus (void)
{ {
extern const char *Txt_The_status_of_the_center_X_has_changed; extern const char *Txt_The_status_of_the_center_X_has_changed;
Ctr_Status_t Status; Ctr_Status_t NewStatus;
Ctr_StatusTxt_t StatusTxt; Ctr_StatusTxt_t NewStatusTxt;
/***** Center constructor *****/ /***** Center constructor *****/
Ctr_EditingCenterConstructor (); Ctr_EditingCenterConstructor ();
@ -1298,22 +1298,22 @@ void Ctr_ChangeCtrStatus (void)
Ctr_EditingCtr->CtrCod = Ctr_GetAndCheckParamOtherCtrCod (1); Ctr_EditingCtr->CtrCod = Ctr_GetAndCheckParamOtherCtrCod (1);
/***** Get parameter with status *****/ /***** Get parameter with status *****/
Status = (Ctr_Status_t) NewStatus = (Ctr_Status_t)
Par_GetParToUnsignedLong ("Status", Par_GetParToUnsignedLong ("Status",
0, 0,
(unsigned long) Ctr_MAX_STATUS, (unsigned long) Ctr_MAX_STATUS,
(unsigned long) Ctr_WRONG_STATUS); (unsigned long) Ctr_WRONG_STATUS);
if (Status == Ctr_WRONG_STATUS) if (NewStatus == Ctr_WRONG_STATUS)
Err_WrongStatusExit (); Err_WrongStatusExit ();
StatusTxt = Ctr_GetStatusTxtFromStatusBits (Status); NewStatusTxt = Ctr_GetStatusTxtFromStatusBits (NewStatus);
Status = Ctr_GetStatusBitsFromStatusTxt (StatusTxt); // New status NewStatus = Ctr_GetStatusBitsFromStatusTxt (NewStatusTxt); // New status
/***** Get data of center *****/ /***** Get data of center *****/
Ctr_GetDataOfCenterByCod (Ctr_EditingCtr); Ctr_GetDataOfCenterByCod (Ctr_EditingCtr);
/***** Update status in table of centers *****/ /***** Update status in table of centers *****/
Ctr_DB_UpdateCtrStatus (Ctr_EditingCtr->CtrCod,Status); Ctr_DB_UpdateCtrStatus (Ctr_EditingCtr->CtrCod,NewStatus);
Ctr_EditingCtr->Status = Status; Ctr_EditingCtr->Status = NewStatus;
/***** Write message to show the change made /***** Write message to show the change made
and put button to go to center changed *****/ and put button to go to center changed *****/

View File

@ -102,10 +102,6 @@ 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 Ctr_DB_UpdateCtrIns (long CtrCod,long InsCod);
static void CtrCfg_UpdateCtrCoordinateDB (long CtrCod,
const char *CoordField,double NewCoord);
/*****************************************************************************/ /*****************************************************************************/
/****************** Show information of the current center *******************/ /****************** Show information of the current center *******************/
/*****************************************************************************/ /*****************************************************************************/
@ -519,11 +515,7 @@ static void CtrCfg_GetPhotoAttr (long CtrCod,char **PhotoAttribution)
CtrCfg_FreePhotoAttr (PhotoAttribution); CtrCfg_FreePhotoAttr (PhotoAttribution);
/***** Get photo attribution from database *****/ /***** Get photo attribution from database *****/
if (DB_QuerySELECT (&mysql_res,"can not get photo attribution", if (Ctr_DB_GetPhotoAttribution (&mysql_res,CtrCod))
"SELECT PhotoAttribution" // row[0]
" FROM ctr_centers"
" WHERE CtrCod=%ld",
CtrCod))
{ {
/* Get row */ /* Get row */
row = mysql_fetch_row (mysql_res); row = mysql_fetch_row (mysql_res);
@ -633,7 +625,7 @@ static void CtrCfg_FullName (bool PutForm)
extern const char *Txt_Center; extern const char *Txt_Center;
HieCfg_FullName (PutForm,Txt_Center,ActRenCtrFulCfg, HieCfg_FullName (PutForm,Txt_Center,ActRenCtrFulCfg,
Gbl.Hierarchy.Ctr.FullName); Gbl.Hierarchy.Ctr.FullName);
} }
/*****************************************************************************/ /*****************************************************************************/
@ -1008,13 +1000,7 @@ void CtrCfg_ChangeCtrPhotoAttr (void)
Par_GetParToText ("Attribution",NewPhotoAttribution,Med_MAX_BYTES_ATTRIBUTION); Par_GetParToText ("Attribution",NewPhotoAttribution,Med_MAX_BYTES_ATTRIBUTION);
/***** Update the table changing old attribution by new attribution *****/ /***** Update the table changing old attribution by new attribution *****/
DB_QueryUPDATE ("can not update the photo attribution" Ctr_DB_UpdateCtrPhotoAttribution (Gbl.Hierarchy.Ctr.CtrCod,NewPhotoAttribution);
" of the current center",
"UPDATE ctr_centers"
" SET PhotoAttribution='%s'"
" WHERE CtrCod=%ld",
NewPhotoAttribution,
Gbl.Hierarchy.Ctr.CtrCod);
/***** Show the center information again *****/ /***** Show the center information again *****/
CtrCfg_ShowConfiguration (); CtrCfg_ShowConfiguration ();
@ -1041,17 +1027,17 @@ void CtrCfg_ChangeCtrIns (void)
/***** Check if it already exists a center with the same name in the new institution *****/ /***** Check if it already exists a center with the same name in the new institution *****/
if (Ctr_DB_CheckIfCtrNameExistsInIns ("ShortName", if (Ctr_DB_CheckIfCtrNameExistsInIns ("ShortName",
Gbl.Hierarchy.Ctr.ShrtName, Gbl.Hierarchy.Ctr.ShrtName,
Gbl.Hierarchy.Ctr.CtrCod, Gbl.Hierarchy.Ctr.CtrCod,
NewIns.InsCod)) NewIns.InsCod))
/***** Create warning message *****/ /***** Create warning message *****/
Ale_CreateAlert (Ale_WARNING,NULL, Ale_CreateAlert (Ale_WARNING,NULL,
Txt_The_center_X_already_exists, Txt_The_center_X_already_exists,
Gbl.Hierarchy.Ctr.ShrtName); Gbl.Hierarchy.Ctr.ShrtName);
else if (Ctr_DB_CheckIfCtrNameExistsInIns ("FullName", else if (Ctr_DB_CheckIfCtrNameExistsInIns ("FullName",
Gbl.Hierarchy.Ctr.FullName, Gbl.Hierarchy.Ctr.FullName,
Gbl.Hierarchy.Ctr.CtrCod, Gbl.Hierarchy.Ctr.CtrCod,
NewIns.InsCod)) NewIns.InsCod))
/***** Create warning message *****/ /***** Create warning message *****/
Ale_CreateAlert (Ale_WARNING,NULL, Ale_CreateAlert (Ale_WARNING,NULL,
Txt_The_center_X_already_exists, Txt_The_center_X_already_exists,
@ -1074,21 +1060,6 @@ void CtrCfg_ChangeCtrIns (void)
} }
} }
/*****************************************************************************/
/******************* Update institution in table of centers ******************/
/*****************************************************************************/
static void Ctr_DB_UpdateCtrIns (long CtrCod,long InsCod)
{
/***** Update institution in table of centers *****/
DB_QueryUPDATE ("can not update the institution of a center",
"UPDATE ctr_centers"
" SET InsCod=%ld"
" WHERE CtrCod=%ld",
InsCod,
CtrCod);
}
/*****************************************************************************/ /*****************************************************************************/
/************************ Change the place of a center ***********************/ /************************ Change the place of a center ***********************/
/*****************************************************************************/ /*****************************************************************************/
@ -1140,7 +1111,7 @@ void CtrCfg_ChangeCtrLatitude (void)
NewLatitude = Map_GetLatitudeFromStr (LatitudeStr); NewLatitude = Map_GetLatitudeFromStr (LatitudeStr);
/***** Update database changing old latitude by new latitude *****/ /***** Update database changing old latitude by new latitude *****/
CtrCfg_UpdateCtrCoordinateDB (Gbl.Hierarchy.Ctr.CtrCod,"Latitude",NewLatitude); Ctr_DB_UpdateCtrCoordinate (Gbl.Hierarchy.Ctr.CtrCod,"Latitude",NewLatitude);
Gbl.Hierarchy.Ctr.Coord.Latitude = NewLatitude; Gbl.Hierarchy.Ctr.Coord.Latitude = NewLatitude;
/***** Show the form again *****/ /***** Show the form again *****/
@ -1161,7 +1132,7 @@ void CtrCfg_ChangeCtrLongitude (void)
NewLongitude = Map_GetLongitudeFromStr (LongitudeStr); NewLongitude = Map_GetLongitudeFromStr (LongitudeStr);
/***** Update database changing old longitude by new longitude *****/ /***** Update database changing old longitude by new longitude *****/
CtrCfg_UpdateCtrCoordinateDB (Gbl.Hierarchy.Ctr.CtrCod,"Longitude",NewLongitude); Ctr_DB_UpdateCtrCoordinate (Gbl.Hierarchy.Ctr.CtrCod,"Longitude",NewLongitude);
Gbl.Hierarchy.Ctr.Coord.Longitude = NewLongitude; Gbl.Hierarchy.Ctr.Coord.Longitude = NewLongitude;
/***** Show the form again *****/ /***** Show the form again *****/
@ -1182,32 +1153,13 @@ void CtrCfg_ChangeCtrAltitude (void)
NewAltitude = Map_GetAltitudeFromStr (AltitudeStr); NewAltitude = Map_GetAltitudeFromStr (AltitudeStr);
/***** Update database changing old altitude by new altitude *****/ /***** Update database changing old altitude by new altitude *****/
CtrCfg_UpdateCtrCoordinateDB (Gbl.Hierarchy.Ctr.CtrCod,"Altitude",NewAltitude); Ctr_DB_UpdateCtrCoordinate (Gbl.Hierarchy.Ctr.CtrCod,"Altitude",NewAltitude);
Gbl.Hierarchy.Ctr.Coord.Altitude = NewAltitude; Gbl.Hierarchy.Ctr.Coord.Altitude = NewAltitude;
/***** Show the form again *****/ /***** Show the form again *****/
CtrCfg_ShowConfiguration (); CtrCfg_ShowConfiguration ();
} }
/*****************************************************************************/
/******** Update database changing old coordinate by new coordinate **********/
/*****************************************************************************/
static void CtrCfg_UpdateCtrCoordinateDB (long CtrCod,
const char *CoordField,double NewCoord)
{
/***** Update database changing old coordinate by new coordinate *****/
Str_SetDecimalPointToUS (); // To write the decimal point as a dot
DB_QueryUPDATE ("can not update a coordinate of a center",
"UPDATE ctr_centers"
" SET %s='%.15lg'"
" WHERE CtrCod=%ld",
CoordField,
NewCoord,
CtrCod);
Str_SetDecimalPointToLocal (); // Return to local system
}
/*****************************************************************************/ /*****************************************************************************/
/************************* Change the URL of a center ************************/ /************************* Change the URL of a center ************************/
/*****************************************************************************/ /*****************************************************************************/

View File

@ -296,6 +296,20 @@ void Ctr_DB_GetShortNameOfCenterByCod (long CtrCod,char ShrtName[Cns_HIERARCHY_M
CtrCod); CtrCod);
} }
/*****************************************************************************/
/******************** Get photo attribution from database ********************/
/*****************************************************************************/
unsigned Ctr_DB_GetPhotoAttribution (MYSQL_RES **mysql_res,long CtrCod)
{
return (unsigned)
DB_QuerySELECT (mysql_res,"can not get photo attribution",
"SELECT PhotoAttribution" // row[0]
" FROM ctr_centers"
" WHERE CtrCod=%ld",
CtrCod);
}
/*****************************************************************************/ /*****************************************************************************/
/********************* Check if the name of center exists ********************/ /********************* Check if the name of center exists ********************/
/*****************************************************************************/ /*****************************************************************************/
@ -427,6 +441,7 @@ unsigned Ctr_DB_GetNumCtrsWithDegs (const char *SubQuery)
" AND ctr_centers.CtrCod=deg_degrees.CtrCod", " AND ctr_centers.CtrCod=deg_degrees.CtrCod",
SubQuery); SubQuery);
} }
/*****************************************************************************/ /*****************************************************************************/
/********************* Get number of centers with courses ********************/ /********************* Get number of centers with courses ********************/
/*****************************************************************************/ /*****************************************************************************/
@ -445,6 +460,7 @@ unsigned Ctr_DB_GetNumCtrsWithCrss (const char *SubQuery)
" AND deg_degrees.DegCod=crs_courses.DegCod", " AND deg_degrees.DegCod=crs_courses.DegCod",
SubQuery); SubQuery);
} }
/*****************************************************************************/ /*****************************************************************************/
/********************* Get number of centers with users **********************/ /********************* Get number of centers with users **********************/
/*****************************************************************************/ /*****************************************************************************/
@ -468,6 +484,20 @@ unsigned Ctr_DB_GetNumCtrsWithUsrs (Rol_Role_t Role,const char *SubQuery)
SubQuery,(unsigned) Role); SubQuery,(unsigned) Role);
} }
/*****************************************************************************/
/******************* Update institution in table of centers ******************/
/*****************************************************************************/
void Ctr_DB_UpdateCtrIns (long CtrCod,long NewInsCod)
{
DB_QueryUPDATE ("can not update the institution of a center",
"UPDATE ctr_centers"
" SET InsCod=%ld"
" WHERE CtrCod=%ld",
NewInsCod,
CtrCod);
}
/*****************************************************************************/ /*****************************************************************************/
/************** Update database changing old place by new place **************/ /************** Update database changing old place by new place **************/
/*****************************************************************************/ /*****************************************************************************/
@ -504,7 +534,6 @@ void Ctr_DB_UpdateCtrName (long CtrCod,const char *FieldName,const char *NewCtrN
void Ctr_DB_UpdateCtrWWW (long CtrCod,const char NewWWW[Cns_MAX_BYTES_WWW + 1]) void Ctr_DB_UpdateCtrWWW (long CtrCod,const char NewWWW[Cns_MAX_BYTES_WWW + 1])
{ {
/***** Update database changing old WWW by new WWW *****/
DB_QueryUPDATE ("can not update the web of a center", DB_QueryUPDATE ("can not update the web of a center",
"UPDATE ctr_centers" "UPDATE ctr_centers"
" SET WWW='%s'" " SET WWW='%s'"
@ -513,17 +542,49 @@ void Ctr_DB_UpdateCtrWWW (long CtrCod,const char NewWWW[Cns_MAX_BYTES_WWW + 1])
CtrCod); CtrCod);
} }
/*****************************************************************************/
/******* Update the table changing old attribution by new attribution ********/
/*****************************************************************************/
void Ctr_DB_UpdateCtrPhotoAttribution (long CtrCod,const char NewPhotoAttribution[Med_MAX_BYTES_ATTRIBUTION + 1])
{
DB_QueryUPDATE ("can not update the photo attribution of a center",
"UPDATE ctr_centers"
" SET PhotoAttribution='%s'"
" WHERE CtrCod=%ld",
NewPhotoAttribution,
CtrCod);
}
/*****************************************************************************/
/******** Update database changing old coordinate by new coordinate **********/
/*****************************************************************************/
void Ctr_DB_UpdateCtrCoordinate (long CtrCod,
const char *CoordField,double NewCoord)
{
Str_SetDecimalPointToUS (); // To write the decimal point as a dot
DB_QueryUPDATE ("can not update a coordinate of a center",
"UPDATE ctr_centers"
" SET %s='%.15lg'"
" WHERE CtrCod=%ld",
CoordField,
NewCoord,
CtrCod);
Str_SetDecimalPointToLocal (); // Return to local system
}
/*****************************************************************************/ /*****************************************************************************/
/******************** Update status in table of centers **********************/ /******************** Update status in table of centers **********************/
/*****************************************************************************/ /*****************************************************************************/
void Ctr_DB_UpdateCtrStatus (long CtrCod,Ctr_Status_t Status) void Ctr_DB_UpdateCtrStatus (long CtrCod,Ctr_Status_t NewStatus)
{ {
DB_QueryUPDATE ("can not update the status of a center", DB_QueryUPDATE ("can not update the status of a center",
"UPDATE ctr_centers" "UPDATE ctr_centers"
" SET Status=%u" " SET Status=%u"
" WHERE CtrCod=%ld", " WHERE CtrCod=%ld",
(unsigned) Status, (unsigned) NewStatus,
CtrCod); CtrCod);
} }

View File

@ -34,6 +34,7 @@
#include "swad_constant.h" #include "swad_constant.h"
// #include "swad_degree.h" // #include "swad_degree.h"
// #include "swad_map.h" // #include "swad_map.h"
#include "swad_media.h"
// #include "swad_role_type.h" // #include "swad_role_type.h"
/*****************************************************************************/ /*****************************************************************************/
@ -54,6 +55,7 @@ unsigned Ctr_DB_GetCtrsWithPendingDegs (MYSQL_RES **mysql_res);
unsigned Ctr_DB_GetDataOfCenterByCod (MYSQL_RES **mysql_res,long CtrCod); unsigned Ctr_DB_GetDataOfCenterByCod (MYSQL_RES **mysql_res,long CtrCod);
long Ctr_DB_GetInsCodOfCenterByCod (long CtrCod); long Ctr_DB_GetInsCodOfCenterByCod (long CtrCod);
void Ctr_DB_GetShortNameOfCenterByCod (long CtrCod,char ShrtName[Cns_HIERARCHY_MAX_BYTES_SHRT_NAME + 1]); void Ctr_DB_GetShortNameOfCenterByCod (long CtrCod,char ShrtName[Cns_HIERARCHY_MAX_BYTES_SHRT_NAME + 1]);
unsigned Ctr_DB_GetPhotoAttribution (MYSQL_RES **mysql_res,long CtrCod);
bool Ctr_DB_CheckIfCtrNameExistsInIns (const char *FieldName,const char *Name, bool Ctr_DB_CheckIfCtrNameExistsInIns (const char *FieldName,const char *Name,
long CtrCod,long InsCod); long CtrCod,long InsCod);
unsigned Ctr_DB_GetNumCtrsInCty (long CtyCod); unsigned Ctr_DB_GetNumCtrsInCty (long CtyCod);
@ -66,10 +68,14 @@ unsigned Ctr_DB_GetNumCtrsWithDegs (const char *SubQuery);
unsigned Ctr_DB_GetNumCtrsWithCrss (const char *SubQuery); unsigned Ctr_DB_GetNumCtrsWithCrss (const char *SubQuery);
unsigned Ctr_DB_GetNumCtrsWithUsrs (Rol_Role_t Role,const char *SubQuery); unsigned Ctr_DB_GetNumCtrsWithUsrs (Rol_Role_t Role,const char *SubQuery);
void Ctr_DB_UpdateCtrIns (long CtrCod,long NewInsCod);
void Ctr_DB_UpdateCtrPlc (long CtrCod,long NewPlcCod); void Ctr_DB_UpdateCtrPlc (long CtrCod,long NewPlcCod);
void Ctr_DB_UpdateCtrName (long CtrCod,const char *FieldName,const char *NewCtrName); void Ctr_DB_UpdateCtrName (long CtrCod,const char *FieldName,const char *NewCtrName);
void Ctr_DB_UpdateCtrWWW (long CtrCod,const char NewWWW[Cns_MAX_BYTES_WWW + 1]); void Ctr_DB_UpdateCtrWWW (long CtrCod,const char NewWWW[Cns_MAX_BYTES_WWW + 1]);
void Ctr_DB_UpdateCtrStatus (long CtrCod,Ctr_Status_t Status); void Ctr_DB_UpdateCtrPhotoAttribution (long CtrCod,const char NewPhotoAttribution[Med_MAX_BYTES_ATTRIBUTION + 1]);
void Ctr_DB_UpdateCtrCoordinate (long CtrCod,
const char *CoordField,double NewCoord);
void Ctr_DB_UpdateCtrStatus (long CtrCod,Ctr_Status_t NewStatus);
void Ctr_DB_RemoveCenter (long CtrCod); void Ctr_DB_RemoveCenter (long CtrCod);

View File

@ -602,13 +602,14 @@ TODO: FIX BUG, URGENT! En las fechas como par
TODO: En las encuestas, que los estudiantes no puedan ver los resultados hasta que no finalice el plazo. TODO: En las encuestas, que los estudiantes no puedan ver los resultados hasta que no finalice el plazo.
*/ */
#define Log_PLATFORM_VERSION "SWAD 20.88.1 (2021-06-02)" #define Log_PLATFORM_VERSION "SWAD 20.88.3 (2021-06-02)"
#define CSS_FILE "swad20.45.css" #define CSS_FILE "swad20.45.css"
#define JS_FILE "swad20.69.1.js" #define JS_FILE "swad20.69.1.js"
/* /*
TODO: Rename CENTRE to CENTER in help wiki. TODO: Rename CENTRE to CENTER in help wiki.
TODO: Rename ASSESSMENT.Announcements to ASSESSMENT.Calls_for_exams TODO: Rename ASSESSMENT.Announcements to ASSESSMENT.Calls_for_exams
Version 20.88.3: Jun 02, 2021 Queries moved to module swad_center_database. (312755 lines)
Version 20.88.2: Jun 02, 2021 Queries moved to module swad_center_database. Version 20.88.2: Jun 02, 2021 Queries moved to module swad_center_database.
Fixed bug in visibility of exam results. Reported by Mancia Anguita López. (312738 lines) Fixed bug in visibility of exam results. Reported by Mancia Anguita López. (312738 lines)
Version 20.88.1: Jun 02, 2021 Queries moved to module swad_center_database. (312668 lines) Version 20.88.1: Jun 02, 2021 Queries moved to module swad_center_database. (312668 lines)

View File

@ -27,6 +27,7 @@
#define _GNU_SOURCE // For asprintf #define _GNU_SOURCE // For asprintf
#include <stdio.h> // For asprintf #include <stdio.h> // For asprintf
#include <stdlib.h> // For free
#include "swad_country_database.h" #include "swad_country_database.h"
#include "swad_database.h" #include "swad_database.h"

View File

@ -27,6 +27,7 @@
#define _GNU_SOURCE // For asprintf #define _GNU_SOURCE // For asprintf
#include <stdio.h> // For asprintf #include <stdio.h> // For asprintf
#include <stdlib.h> // For free
#include "swad_course.h" #include "swad_course.h"
#include "swad_course_config.h" #include "swad_course_config.h"