mirror of https://github.com/acanas/swad-core.git
Version19.187
This commit is contained in:
parent
c32968550c
commit
0083dbe54d
|
@ -1401,6 +1401,12 @@ a:hover img.CENTRE_PHOTO_SHOW
|
||||||
width:60px;
|
width:60px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***************************** Buildings and rooms ***************************/
|
||||||
|
.BLD_SEL
|
||||||
|
{
|
||||||
|
width:80px;
|
||||||
|
}
|
||||||
|
|
||||||
/*********************************** Month ***********************************/
|
/*********************************** Month ***********************************/
|
||||||
.CALENDAR
|
.CALENDAR
|
||||||
{
|
{
|
||||||
|
@ -4073,6 +4079,11 @@ a.PAG:hover, .PAG_CUR
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
width:180px;
|
width:180px;
|
||||||
}
|
}
|
||||||
|
.INPUT_LONG
|
||||||
|
{
|
||||||
|
box-sizing:border-box;
|
||||||
|
width:60px;
|
||||||
|
}
|
||||||
.INPUT_WWW_NARROW
|
.INPUT_WWW_NARROW
|
||||||
{
|
{
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
|
@ -13337,5 +13337,8 @@ SELECT my_courses.CrsCod,COUNT(*) AS N FROM (SELECT CrsCod FROM crs_usr WHERE Us
|
||||||
SELECT COUNT(*) FROM usr_data WHERE InsCod=25037;
|
SELECT COUNT(*) FROM usr_data WHERE InsCod=25037;
|
||||||
UPDATE usr_data SET InsCod=1130 WHERE InsCod=25037;
|
UPDATE usr_data SET InsCod=1130 WHERE InsCod=25037;
|
||||||
|
|
||||||
|
|
||||||
|
ALTER TABLE rooms CHANGE COLUMN BldCod BldCod INT NOT NULL DEFAULT -1;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1135,12 +1135,14 @@ CREATE TABLE IF NOT EXISTS projects (
|
||||||
CREATE TABLE IF NOT EXISTS rooms (
|
CREATE TABLE IF NOT EXISTS rooms (
|
||||||
RooCod INT NOT NULL AUTO_INCREMENT,
|
RooCod INT NOT NULL AUTO_INCREMENT,
|
||||||
CtrCod INT NOT NULL,
|
CtrCod INT NOT NULL,
|
||||||
|
BldCod INT NOT NULL DEFAULT -1,
|
||||||
|
Floor INT NOT NULL DEFAULT 0,
|
||||||
ShortName VARCHAR(511) NOT NULL,
|
ShortName VARCHAR(511) NOT NULL,
|
||||||
FullName VARCHAR(2047) NOT NULL,
|
FullName VARCHAR(2047) NOT NULL,
|
||||||
Capacity INT NOT NULL,
|
Capacity INT NOT NULL,
|
||||||
Location VARCHAR(2047) NOT NULL,
|
Location VARCHAR(2047) NOT NULL,
|
||||||
UNIQUE INDEX(RooCod),
|
UNIQUE INDEX(RooCod),
|
||||||
INDEX(CtrCod));
|
INDEX(CtrCod,BldCod,Floor));
|
||||||
--
|
--
|
||||||
-- Table sessions: stores the information of open sessions
|
-- Table sessions: stores the information of open sessions
|
||||||
--
|
--
|
||||||
|
|
|
@ -362,6 +362,8 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
||||||
[ActEdiRoo ] = {1745,-1,TabUnk,ActSeeRoo , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Roo_EditRooms ,NULL},
|
[ActEdiRoo ] = {1745,-1,TabUnk,ActSeeRoo , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Roo_EditRooms ,NULL},
|
||||||
[ActNewRoo ] = {1746,-1,TabUnk,ActSeeRoo , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Roo_RecFormNewRoom ,Roo_ContEditAfterChgRoom ,NULL},
|
[ActNewRoo ] = {1746,-1,TabUnk,ActSeeRoo , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Roo_RecFormNewRoom ,Roo_ContEditAfterChgRoom ,NULL},
|
||||||
[ActRemRoo ] = {1747,-1,TabUnk,ActSeeRoo , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Roo_RemoveRoom ,Roo_ContEditAfterChgRoom ,NULL},
|
[ActRemRoo ] = {1747,-1,TabUnk,ActSeeRoo , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Roo_RemoveRoom ,Roo_ContEditAfterChgRoom ,NULL},
|
||||||
|
[ActChgRooBld ] = {1845,-1,TabUnk,ActSeeRoo , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Roo_ChangeBuilding ,Roo_ContEditAfterChgRoom ,NULL},
|
||||||
|
[ActChgRooFlo ] = {1846,-1,TabUnk,ActSeeRoo , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Roo_ChangeFloor ,Roo_ContEditAfterChgRoom ,NULL},
|
||||||
[ActRenRooSho ] = {1748,-1,TabUnk,ActSeeRoo , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Roo_RenameRoomShort ,Roo_ContEditAfterChgRoom ,NULL},
|
[ActRenRooSho ] = {1748,-1,TabUnk,ActSeeRoo , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Roo_RenameRoomShort ,Roo_ContEditAfterChgRoom ,NULL},
|
||||||
[ActRenRooFul ] = {1749,-1,TabUnk,ActSeeRoo , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Roo_RenameRoomFull ,Roo_ContEditAfterChgRoom ,NULL},
|
[ActRenRooFul ] = {1749,-1,TabUnk,ActSeeRoo , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Roo_RenameRoomFull ,Roo_ContEditAfterChgRoom ,NULL},
|
||||||
[ActChgRooMaxUsr ] = {1750,-1,TabUnk,ActSeeRoo , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Roo_ChangeCapacity ,Roo_ContEditAfterChgRoom ,NULL},
|
[ActChgRooMaxUsr ] = {1750,-1,TabUnk,ActSeeRoo , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Roo_ChangeCapacity ,Roo_ContEditAfterChgRoom ,NULL},
|
||||||
|
@ -3591,6 +3593,8 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un
|
||||||
ActRenBldSho, // #1842
|
ActRenBldSho, // #1842
|
||||||
ActRenBldFul, // #1843
|
ActRenBldFul, // #1843
|
||||||
ActRenBldLoc, // #1844
|
ActRenBldLoc, // #1844
|
||||||
|
ActChgRooBld, // #1845
|
||||||
|
ActChgRooFlo, // #1846
|
||||||
};
|
};
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -64,7 +64,7 @@ typedef enum
|
||||||
|
|
||||||
typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action
|
typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action
|
||||||
|
|
||||||
#define Act_MAX_ACTION_COD 1844
|
#define Act_MAX_ACTION_COD 1846
|
||||||
|
|
||||||
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 13
|
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 13
|
||||||
|
|
||||||
|
@ -339,10 +339,12 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to
|
||||||
#define ActEdiRoo (ActRenHld + 40)
|
#define ActEdiRoo (ActRenHld + 40)
|
||||||
#define ActNewRoo (ActRenHld + 41)
|
#define ActNewRoo (ActRenHld + 41)
|
||||||
#define ActRemRoo (ActRenHld + 42)
|
#define ActRemRoo (ActRenHld + 42)
|
||||||
#define ActRenRooSho (ActRenHld + 43)
|
#define ActChgRooBld (ActRenHld + 43)
|
||||||
#define ActRenRooFul (ActRenHld + 44)
|
#define ActChgRooFlo (ActRenHld + 44)
|
||||||
#define ActChgRooMaxUsr (ActRenHld + 45)
|
#define ActRenRooSho (ActRenHld + 45)
|
||||||
#define ActRenRooLoc (ActRenHld + 46)
|
#define ActRenRooFul (ActRenHld + 46)
|
||||||
|
#define ActChgRooMaxUsr (ActRenHld + 47)
|
||||||
|
#define ActRenRooLoc (ActRenHld + 48)
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/********************************* Degree tab ********************************/
|
/********************************* Degree tab ********************************/
|
||||||
|
|
|
@ -497,8 +497,8 @@ 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.186.1 (2020-04-14)"
|
#define Log_PLATFORM_VERSION "SWAD 19.187 (2020-04-15)"
|
||||||
#define CSS_FILE "swad19.146.css"
|
#define CSS_FILE "swad19.187.css"
|
||||||
#define JS_FILE "swad19.172.1.js"
|
#define JS_FILE "swad19.172.1.js"
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
|
@ -548,6 +548,12 @@ Funci
|
||||||
// TODO: Oresti Baños: cambiar ojos por candados en descriptores para prohibir/permitir y dejar los ojos para poder elegir descriptores
|
// TODO: Oresti Baños: cambiar ojos por candados en descriptores para prohibir/permitir y dejar los ojos para poder elegir descriptores
|
||||||
// TODO: Integrar pull requests con traducciones del alemán del usuario eruedin en GitHub
|
// TODO: Integrar pull requests con traducciones del alemán del usuario eruedin en GitHub
|
||||||
|
|
||||||
|
Version 19.187: Apr 15, 2020 New columns in rooms for building and floor. Not finished. (287671 lines)
|
||||||
|
3 changes necessary in database:
|
||||||
|
ALTER TABLE rooms ADD COLUMN BldCod INT NOT NULL DEFAULT -1 AFTER CtrCod;
|
||||||
|
ALTER TABLE rooms ADD COLUMN Floor INT NOT NULL DEFAULT 0 AFTER BldCod;
|
||||||
|
ALTER TABLE rooms DROP INDEX CtrCod,ADD INDEX(CtrCod,BldCod,Floor);
|
||||||
|
|
||||||
Version 19.186.1: Apr 14, 2020 Fixed bug in edition of test questions. (287379 lines)
|
Version 19.186.1: Apr 14, 2020 Fixed bug in edition of test questions. (287379 lines)
|
||||||
Version 19.186: Apr 14, 2020 New module swad_building for buildings in a centre. (287372 lines)
|
Version 19.186: Apr 14, 2020 New module swad_building for buildings in a centre. (287372 lines)
|
||||||
1 change necessary in database:
|
1 change necessary in database:
|
||||||
|
|
|
@ -2359,22 +2359,26 @@ mysql> DESCRIBE rooms;
|
||||||
+-----------+---------------+------+-----+---------+----------------+
|
+-----------+---------------+------+-----+---------+----------------+
|
||||||
| RooCod | int(11) | NO | PRI | NULL | auto_increment |
|
| RooCod | int(11) | NO | PRI | NULL | auto_increment |
|
||||||
| CtrCod | int(11) | NO | MUL | NULL | |
|
| CtrCod | int(11) | NO | MUL | NULL | |
|
||||||
|
| BldCod | int(11) | NO | | -1 | |
|
||||||
|
| Floor | int(11) | NO | | 0 | |
|
||||||
| ShortName | varchar(511) | NO | | NULL | |
|
| ShortName | varchar(511) | NO | | NULL | |
|
||||||
| FullName | varchar(2047) | NO | | NULL | |
|
| FullName | varchar(2047) | NO | | NULL | |
|
||||||
| Capacity | int(11) | NO | | NULL | |
|
| Capacity | int(11) | NO | | NULL | |
|
||||||
| Location | varchar(2047) | NO | | NULL | |
|
| Location | varchar(2047) | NO | | NULL | |
|
||||||
+-----------+---------------+------+-----+---------+----------------+
|
+-----------+---------------+------+-----+---------+----------------+
|
||||||
6 rows in set (0.00 sec)
|
8 rows in set (0.00 sec)
|
||||||
*/
|
*/
|
||||||
DB_CreateTable ("CREATE TABLE IF NOT EXISTS rooms ("
|
DB_CreateTable ("CREATE TABLE IF NOT EXISTS rooms ("
|
||||||
"RooCod INT NOT NULL AUTO_INCREMENT,"
|
"RooCod INT NOT NULL AUTO_INCREMENT,"
|
||||||
"CtrCod INT NOT NULL,"
|
"CtrCod INT NOT NULL,"
|
||||||
|
"BldCod INT NOT NULL DEFAULT -1,"
|
||||||
|
"Floor INT NOT NULL DEFAULT 0,"
|
||||||
"ShortName VARCHAR(511) NOT NULL," // Roo_MAX_BYTES_SHRT_NAME
|
"ShortName VARCHAR(511) NOT NULL," // Roo_MAX_BYTES_SHRT_NAME
|
||||||
"FullName VARCHAR(2047) NOT NULL," // Roo_MAX_BYTES_FULL_NAME
|
"FullName VARCHAR(2047) NOT NULL," // Roo_MAX_BYTES_FULL_NAME
|
||||||
"Capacity INT NOT NULL,"
|
"Capacity INT NOT NULL,"
|
||||||
"Location VARCHAR(2047) NOT NULL," // Roo_MAX_BYTES_LOCATION
|
"Location VARCHAR(2047) NOT NULL," // Roo_MAX_BYTES_LOCATION
|
||||||
"UNIQUE INDEX(RooCod),"
|
"UNIQUE INDEX(RooCod),"
|
||||||
"INDEX(CtrCod))");
|
"INDEX(CtrCod,BldCod,Floor))");
|
||||||
|
|
||||||
/***** Table sessions *****/
|
/***** Table sessions *****/
|
||||||
/*
|
/*
|
||||||
|
|
28
swad_group.c
28
swad_group.c
|
@ -1486,7 +1486,7 @@ static void Grp_ListGroupsForEdition (const struct Roo_Rooms *Rooms)
|
||||||
unsigned NumGrpTyp;
|
unsigned NumGrpTyp;
|
||||||
unsigned NumTipGrpAux;
|
unsigned NumTipGrpAux;
|
||||||
unsigned NumGrpThisType;
|
unsigned NumGrpThisType;
|
||||||
unsigned NumCla;
|
unsigned NumRoo;
|
||||||
struct GroupType *GrpTyp;
|
struct GroupType *GrpTyp;
|
||||||
struct GroupType *GrpTypAux;
|
struct GroupType *GrpTypAux;
|
||||||
struct Group *Grp;
|
struct Group *Grp;
|
||||||
|
@ -1601,12 +1601,12 @@ static void Grp_ListGroupsForEdition (const struct Roo_Rooms *Rooms)
|
||||||
"%s",Txt_Another_room);
|
"%s",Txt_Another_room);
|
||||||
|
|
||||||
/* Options for rooms */
|
/* Options for rooms */
|
||||||
for (NumCla = 0;
|
for (NumRoo = 0;
|
||||||
NumCla < Rooms->Num;
|
NumRoo < Rooms->Num;
|
||||||
NumCla++)
|
NumRoo++)
|
||||||
HTM_OPTION (HTM_Type_LONG,&Rooms->Lst[NumCla].RooCod,
|
HTM_OPTION (HTM_Type_LONG,&Rooms->Lst[NumRoo].RooCod,
|
||||||
Rooms->Lst[NumCla].RooCod == Grp->Room.RooCod,false,
|
Rooms->Lst[NumRoo].RooCod == Grp->Room.RooCod,false,
|
||||||
"%s",Rooms->Lst[NumCla].ShrtName);
|
"%s",Rooms->Lst[NumRoo].ShrtName);
|
||||||
|
|
||||||
/* End selector */
|
/* End selector */
|
||||||
HTM_SELECT_End ();
|
HTM_SELECT_End ();
|
||||||
|
@ -2585,7 +2585,7 @@ static void Grp_PutFormToCreateGroup (const struct Roo_Rooms *Rooms)
|
||||||
extern const char *Txt_Another_room;
|
extern const char *Txt_Another_room;
|
||||||
extern const char *Txt_Create_group;
|
extern const char *Txt_Create_group;
|
||||||
unsigned NumGrpTyp;
|
unsigned NumGrpTyp;
|
||||||
unsigned NumCla;
|
unsigned NumRoo;
|
||||||
Rol_Role_t Role;
|
Rol_Role_t Role;
|
||||||
char StrMaxStudents[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
|
char StrMaxStudents[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
|
||||||
|
|
||||||
|
@ -2657,12 +2657,12 @@ static void Grp_PutFormToCreateGroup (const struct Roo_Rooms *Rooms)
|
||||||
"%s",Txt_Another_room);
|
"%s",Txt_Another_room);
|
||||||
|
|
||||||
/* Options for rooms */
|
/* Options for rooms */
|
||||||
for (NumCla = 0;
|
for (NumRoo = 0;
|
||||||
NumCla < Rooms->Num;
|
NumRoo < Rooms->Num;
|
||||||
NumCla++)
|
NumRoo++)
|
||||||
HTM_OPTION (HTM_Type_LONG,&Rooms->Lst[NumCla].RooCod,
|
HTM_OPTION (HTM_Type_LONG,&Rooms->Lst[NumRoo].RooCod,
|
||||||
Rooms->Lst[NumCla].RooCod == Gbl.Crs.Grps.RooCod,false,
|
Rooms->Lst[NumRoo].RooCod == Gbl.Crs.Grps.RooCod,false,
|
||||||
"%s",Rooms->Lst[NumCla].ShrtName);
|
"%s",Rooms->Lst[NumRoo].ShrtName);
|
||||||
|
|
||||||
/* End selector */
|
/* End selector */
|
||||||
HTM_SELECT_End ();
|
HTM_SELECT_End ();
|
||||||
|
|
|
@ -3720,7 +3720,7 @@ static void Prj_PutFormProject (struct Prj_Projects *Projects,
|
||||||
|
|
||||||
HTM_TD_Begin ("class=\"LM\"");
|
HTM_TD_Begin ("class=\"LM\"");
|
||||||
HTM_INPUT_LONG ("NumStds",(long) 0,(long) UINT_MAX,(long) Prj->NumStds,false,
|
HTM_INPUT_LONG ("NumStds",(long) 0,(long) UINT_MAX,(long) Prj->NumStds,false,
|
||||||
NULL);
|
NULL);
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
HTM_TR_End ();
|
HTM_TR_End ();
|
||||||
|
|
273
swad_room.c
273
swad_room.c
|
@ -30,6 +30,7 @@
|
||||||
#include <string.h> // For string functions
|
#include <string.h> // For string functions
|
||||||
|
|
||||||
#include "swad_box.h"
|
#include "swad_box.h"
|
||||||
|
#include "swad_building.h"
|
||||||
#include "swad_database.h"
|
#include "swad_database.h"
|
||||||
#include "swad_form.h"
|
#include "swad_form.h"
|
||||||
#include "swad_global.h"
|
#include "swad_global.h"
|
||||||
|
@ -68,7 +69,10 @@ static void Roo_PutIconsEditingRooms (__attribute__((unused)) void *Args);
|
||||||
|
|
||||||
static void Roo_EditRoomsInternal (void);
|
static void Roo_EditRoomsInternal (void);
|
||||||
|
|
||||||
static void Roo_ListRoomsForEdition (const struct Roo_Rooms *Rooms);
|
static void Roo_ListRoomsForEdition (const struct Bld_Buildings *Buildings,
|
||||||
|
const struct Roo_Rooms *Rooms);
|
||||||
|
static void Roo_PutSelectorBuilding (long BldCod,
|
||||||
|
const struct Bld_Buildings *Buildings);
|
||||||
static void Roo_PutParamRooCod (long RooCod);
|
static void Roo_PutParamRooCod (long RooCod);
|
||||||
|
|
||||||
static void Roo_RenameRoom (Cns_ShrtOrFullName_t ShrtOrFullName);
|
static void Roo_RenameRoom (Cns_ShrtOrFullName_t ShrtOrFullName);
|
||||||
|
@ -77,7 +81,7 @@ static void Roo_UpdateRoomNameDB (long RooCod,const char *FieldName,const char *
|
||||||
|
|
||||||
static void Roo_WriteCapacity (char Str[Cns_MAX_DECIMAL_DIGITS_UINT + 1],unsigned Capacity);
|
static void Roo_WriteCapacity (char Str[Cns_MAX_DECIMAL_DIGITS_UINT + 1],unsigned Capacity);
|
||||||
|
|
||||||
static void Roo_PutFormToCreateRoom (void);
|
static void Roo_PutFormToCreateRoom (const struct Bld_Buildings *Buildings);
|
||||||
static void Roo_PutHeadRooms (void);
|
static void Roo_PutHeadRooms (void);
|
||||||
static void Roo_CreateRoom (struct Roo_Room *Room);
|
static void Roo_CreateRoom (struct Roo_Room *Room);
|
||||||
|
|
||||||
|
@ -261,12 +265,15 @@ static void Roo_EditRoomsInternal (void)
|
||||||
{
|
{
|
||||||
extern const char *Hlp_CENTRE_Rooms_edit;
|
extern const char *Hlp_CENTRE_Rooms_edit;
|
||||||
extern const char *Txt_Rooms;
|
extern const char *Txt_Rooms;
|
||||||
|
struct Bld_Buildings Buildings;
|
||||||
struct Roo_Rooms Rooms;
|
struct Roo_Rooms Rooms;
|
||||||
|
|
||||||
/***** Reset rooms context *****/
|
/***** Reset context *****/
|
||||||
|
Bld_ResetBuildings (&Buildings);
|
||||||
Roo_ResetRooms (&Rooms);
|
Roo_ResetRooms (&Rooms);
|
||||||
|
|
||||||
/***** Get list of rooms *****/
|
/***** Get lists of buildings and rooms *****/
|
||||||
|
Bld_GetListBuildings (&Buildings,Roo_ALL_DATA);
|
||||||
Roo_GetListRooms (&Rooms,Roo_ALL_DATA);
|
Roo_GetListRooms (&Rooms,Roo_ALL_DATA);
|
||||||
|
|
||||||
/***** Begin box *****/
|
/***** Begin box *****/
|
||||||
|
@ -275,17 +282,18 @@ static void Roo_EditRoomsInternal (void)
|
||||||
Hlp_CENTRE_Rooms_edit,Box_NOT_CLOSABLE);
|
Hlp_CENTRE_Rooms_edit,Box_NOT_CLOSABLE);
|
||||||
|
|
||||||
/***** Put a form to create a new room *****/
|
/***** Put a form to create a new room *****/
|
||||||
Roo_PutFormToCreateRoom ();
|
Roo_PutFormToCreateRoom (&Buildings);
|
||||||
|
|
||||||
/***** Forms to edit current rooms *****/
|
/***** Forms to edit current rooms *****/
|
||||||
if (Rooms.Num)
|
if (Rooms.Num)
|
||||||
Roo_ListRoomsForEdition (&Rooms);
|
Roo_ListRoomsForEdition (&Buildings,&Rooms);
|
||||||
|
|
||||||
/***** End box *****/
|
/***** End box *****/
|
||||||
Box_BoxEnd ();
|
Box_BoxEnd ();
|
||||||
|
|
||||||
/***** Free list of rooms *****/
|
/***** Free lists of rooms and buildings *****/
|
||||||
Roo_FreeListRooms (&Rooms);
|
Roo_FreeListRooms (&Rooms);
|
||||||
|
Bld_FreeListBuildings (&Buildings);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -337,11 +345,13 @@ void Roo_GetListRooms (struct Roo_Rooms *Rooms,
|
||||||
{
|
{
|
||||||
case Roo_ALL_DATA:
|
case Roo_ALL_DATA:
|
||||||
NumRows = DB_QuerySELECT (&mysql_res,"can not get rooms",
|
NumRows = DB_QuerySELECT (&mysql_res,"can not get rooms",
|
||||||
"SELECT RooCod,"
|
"SELECT RooCod," // row[0]
|
||||||
"ShortName,"
|
"ShortName," // row[1]
|
||||||
"FullName,"
|
"BldCod," // row[2]
|
||||||
"Capacity,"
|
"Floor," // row[3]
|
||||||
"Location"
|
"FullName," // row[4]
|
||||||
|
"Capacity," // row[5]
|
||||||
|
"Location" // row[6]
|
||||||
" FROM rooms"
|
" FROM rooms"
|
||||||
" WHERE CtrCod=%ld"
|
" WHERE CtrCod=%ld"
|
||||||
" ORDER BY %s",
|
" ORDER BY %s",
|
||||||
|
@ -351,8 +361,8 @@ void Roo_GetListRooms (struct Roo_Rooms *Rooms,
|
||||||
case Roo_ONLY_SHRT_NAME:
|
case Roo_ONLY_SHRT_NAME:
|
||||||
default:
|
default:
|
||||||
NumRows = DB_QuerySELECT (&mysql_res,"can not get rooms",
|
NumRows = DB_QuerySELECT (&mysql_res,"can not get rooms",
|
||||||
"SELECT RooCod,"
|
"SELECT RooCod," // row[0]
|
||||||
"ShortName"
|
"ShortName" // row[1]
|
||||||
" FROM rooms"
|
" FROM rooms"
|
||||||
" WHERE CtrCod=%ld"
|
" WHERE CtrCod=%ld"
|
||||||
" ORDER BY ShortName",
|
" ORDER BY ShortName",
|
||||||
|
@ -367,8 +377,8 @@ void Roo_GetListRooms (struct Roo_Rooms *Rooms,
|
||||||
|
|
||||||
/***** Create list with courses in centre *****/
|
/***** Create list with courses in centre *****/
|
||||||
if ((Rooms->Lst = (struct Roo_Room *)
|
if ((Rooms->Lst = (struct Roo_Room *)
|
||||||
calloc (NumRows,
|
calloc (NumRows,
|
||||||
sizeof (struct Roo_Room))) == NULL)
|
sizeof (struct Roo_Room))) == NULL)
|
||||||
Lay_NotEnoughMemoryExit ();
|
Lay_NotEnoughMemoryExit ();
|
||||||
|
|
||||||
/***** Get the rooms *****/
|
/***** Get the rooms *****/
|
||||||
|
@ -391,16 +401,22 @@ void Roo_GetListRooms (struct Roo_Rooms *Rooms,
|
||||||
|
|
||||||
if (WhichData == Roo_ALL_DATA)
|
if (WhichData == Roo_ALL_DATA)
|
||||||
{
|
{
|
||||||
/* Get the full name of the room (row[2]) */
|
/* Get building code (row[2]) */
|
||||||
Str_Copy (Room->FullName,row[2],
|
Room->BldCod = Str_ConvertStrCodToLongCod (row[2]);
|
||||||
Roo_MAX_BYTES_FULL_NAME);
|
|
||||||
|
|
||||||
/* Get seating capacity in this room (row[3]) */
|
/* Get floor (row[3]) */
|
||||||
if (sscanf (row[3],"%u",&Room->Capacity) != 1)
|
Room->Floor = Str_ConvertStrCodToLongCod (row[3]);
|
||||||
Room->Capacity = Roo_UNLIMITED_CAPACITY;
|
|
||||||
|
|
||||||
/* Get the full name of the room (row[4]) */
|
/* Get the full name of the room (row[4]) */
|
||||||
Str_Copy (Room->Location,row[4],
|
Str_Copy (Room->FullName,row[4],
|
||||||
|
Roo_MAX_BYTES_FULL_NAME);
|
||||||
|
|
||||||
|
/* Get seating capacity in this room (row[5]) */
|
||||||
|
if (sscanf (row[5],"%u",&Room->Capacity) != 1)
|
||||||
|
Room->Capacity = Roo_UNLIMITED_CAPACITY;
|
||||||
|
|
||||||
|
/* Get the full name of the room (row[6]) */
|
||||||
|
Str_Copy (Room->Location,row[6],
|
||||||
Roo_MAX_BYTES_LOCATION);
|
Roo_MAX_BYTES_LOCATION);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -433,10 +449,12 @@ void Roo_GetDataOfRoomByCod (struct Roo_Room *Room)
|
||||||
{
|
{
|
||||||
/***** Get data of a room from database *****/
|
/***** Get data of a room from database *****/
|
||||||
NumRows = DB_QuerySELECT (&mysql_res,"can not get data of a room",
|
NumRows = DB_QuerySELECT (&mysql_res,"can not get data of a room",
|
||||||
"SELECT ShortName,"
|
"SELECT BldCod," // row[0]
|
||||||
"FullName,"
|
"Floor," // row[1]
|
||||||
"Capacity,"
|
"ShortName," // row[2]
|
||||||
"Location"
|
"FullName," // row[3]
|
||||||
|
"Capacity," // row[4]
|
||||||
|
"Location" // row[5]
|
||||||
" FROM rooms"
|
" FROM rooms"
|
||||||
" WHERE RooCod=%ld",
|
" WHERE RooCod=%ld",
|
||||||
Room->RooCod);
|
Room->RooCod);
|
||||||
|
@ -447,20 +465,26 @@ void Roo_GetDataOfRoomByCod (struct Roo_Room *Room)
|
||||||
/* Get row */
|
/* Get row */
|
||||||
row = mysql_fetch_row (mysql_res);
|
row = mysql_fetch_row (mysql_res);
|
||||||
|
|
||||||
/* Get the short name of the room (row[0]) */
|
/* Get building code (row[0]) */
|
||||||
Str_Copy (Room->ShrtName,row[0],
|
Room->BldCod = Str_ConvertStrCodToLongCod (row[0]);
|
||||||
|
|
||||||
|
/* Get floor (row[1]) */
|
||||||
|
Room->Floor = Str_ConvertStrCodToLongCod (row[1]);
|
||||||
|
|
||||||
|
/* Get the short name of the room (row[2]) */
|
||||||
|
Str_Copy (Room->ShrtName,row[2],
|
||||||
Roo_MAX_BYTES_SHRT_NAME);
|
Roo_MAX_BYTES_SHRT_NAME);
|
||||||
|
|
||||||
/* Get the full name of the room (row[1]) */
|
/* Get the full name of the room (row[3]) */
|
||||||
Str_Copy (Room->FullName,row[1],
|
Str_Copy (Room->FullName,row[3],
|
||||||
Roo_MAX_BYTES_FULL_NAME);
|
Roo_MAX_BYTES_FULL_NAME);
|
||||||
|
|
||||||
/* Get seating capacity in this room (row[2]) */
|
/* Get seating capacity in this room (row[4]) */
|
||||||
if (sscanf (row[2],"%u",&Room->Capacity) != 1)
|
if (sscanf (row[4],"%u",&Room->Capacity) != 1)
|
||||||
Room->Capacity = Roo_UNLIMITED_CAPACITY;
|
Room->Capacity = Roo_UNLIMITED_CAPACITY;
|
||||||
|
|
||||||
/* Get the location of the room (row[3]) */
|
/* Get the location of the room (row[5]) */
|
||||||
Str_Copy (Room->Location,row[3],
|
Str_Copy (Room->Location,row[5],
|
||||||
Roo_MAX_BYTES_LOCATION);
|
Roo_MAX_BYTES_LOCATION);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -488,7 +512,8 @@ void Roo_FreeListRooms (struct Roo_Rooms *Rooms)
|
||||||
/*************************** List all the rooms ******************************/
|
/*************************** List all the rooms ******************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
static void Roo_ListRoomsForEdition (const struct Roo_Rooms *Rooms)
|
static void Roo_ListRoomsForEdition (const struct Bld_Buildings *Buildings,
|
||||||
|
const struct Roo_Rooms *Rooms)
|
||||||
{
|
{
|
||||||
unsigned NumRoom;
|
unsigned NumRoom;
|
||||||
struct Roo_Room *Room;
|
struct Roo_Room *Room;
|
||||||
|
@ -520,6 +545,23 @@ static void Roo_ListRoomsForEdition (const struct Roo_Rooms *Rooms)
|
||||||
HTM_Long (Room->RooCod);
|
HTM_Long (Room->RooCod);
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
/* Building */
|
||||||
|
HTM_TD_Begin ("class=\"CM\"");
|
||||||
|
Frm_StartForm (ActChgRooBld);
|
||||||
|
Roo_PutParamRooCod (Room->RooCod);
|
||||||
|
Roo_PutSelectorBuilding (Room->BldCod,Buildings);
|
||||||
|
Frm_EndForm ();
|
||||||
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
/* Floor */
|
||||||
|
HTM_TD_Begin ("class=\"LM\"");
|
||||||
|
Frm_StartForm (ActChgRooFlo);
|
||||||
|
Roo_PutParamRooCod (Room->RooCod);
|
||||||
|
HTM_INPUT_LONG ("Floor",(long) INT_MIN,(long) INT_MAX,(long) Room->Floor,false,
|
||||||
|
"class=\"INPUT_LONG\"");
|
||||||
|
Frm_EndForm ();
|
||||||
|
HTM_TD_End ();
|
||||||
|
|
||||||
/* Room short name */
|
/* Room short name */
|
||||||
HTM_TD_Begin ("class=\"LM\"");
|
HTM_TD_Begin ("class=\"LM\"");
|
||||||
Frm_StartForm (ActRenRooSho);
|
Frm_StartForm (ActRenRooSho);
|
||||||
|
@ -564,6 +606,43 @@ static void Roo_ListRoomsForEdition (const struct Roo_Rooms *Rooms)
|
||||||
HTM_TABLE_End ();
|
HTM_TABLE_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/**************************** Put building selector **************************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
static void Roo_PutSelectorBuilding (long BldCod,
|
||||||
|
const struct Bld_Buildings *Buildings)
|
||||||
|
{
|
||||||
|
extern const char *Txt_No_assigned_building;
|
||||||
|
extern const char *Txt_Another_building;
|
||||||
|
unsigned NumBld;
|
||||||
|
|
||||||
|
/***** Begin selector *****/
|
||||||
|
HTM_SELECT_Begin (true,
|
||||||
|
"name=\"BldCod\" class=\"BLD_SEL\"");
|
||||||
|
|
||||||
|
/***** Option for no assigned building *****/
|
||||||
|
HTM_OPTION (HTM_Type_STRING,"-1",
|
||||||
|
BldCod < 0,false,
|
||||||
|
"%s",Txt_No_assigned_building);
|
||||||
|
|
||||||
|
/***** Option for another room *****/
|
||||||
|
HTM_OPTION (HTM_Type_STRING,"0",
|
||||||
|
BldCod == 0,false,
|
||||||
|
"%s",Txt_Another_building);
|
||||||
|
|
||||||
|
/***** Options for buildings *****/
|
||||||
|
for (NumBld = 0;
|
||||||
|
NumBld < Buildings->Num;
|
||||||
|
NumBld++)
|
||||||
|
HTM_OPTION (HTM_Type_LONG,&Buildings->Lst[NumBld].BldCod,
|
||||||
|
Buildings->Lst[NumBld].BldCod == BldCod,false,
|
||||||
|
"%s",Buildings->Lst[NumBld].ShrtName);
|
||||||
|
|
||||||
|
/***** End selector *****/
|
||||||
|
HTM_SELECT_End ();
|
||||||
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/********************* Write parameter with code of room *********************/
|
/********************* Write parameter with code of room *********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -631,6 +710,101 @@ void Roo_RemoveAllRoomsInCtr (long CtrCod)
|
||||||
CtrCod);
|
CtrCod);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/********************* Change sitting capacity of a room *********************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
void Roo_ChangeBuilding (void)
|
||||||
|
{
|
||||||
|
extern const char *Txt_The_capacity_of_room_X_has_not_changed;
|
||||||
|
extern const char *Txt_The_capacity_of_room_X_is_now_Y;
|
||||||
|
long NewBldCod;
|
||||||
|
|
||||||
|
/***** Room constructor *****/
|
||||||
|
Roo_EditingRoomConstructor ();
|
||||||
|
|
||||||
|
/***** Get parameters from form *****/
|
||||||
|
/* Get the code of the room */
|
||||||
|
if ((Roo_EditingRoom->RooCod = Roo_GetParamRooCod ()) == -1L)
|
||||||
|
Lay_ShowErrorAndExit ("Code of room is missing.");
|
||||||
|
|
||||||
|
/* Get the building of the room */
|
||||||
|
NewBldCod = Par_GetParToLong ("BldCod");
|
||||||
|
|
||||||
|
/***** Get data of the room from database *****/
|
||||||
|
Roo_GetDataOfRoomByCod (Roo_EditingRoom);
|
||||||
|
|
||||||
|
/***** Check if the old capacity equals the new one
|
||||||
|
(this happens when return is pressed without changes) *****/
|
||||||
|
if (NewBldCod < 0)
|
||||||
|
NewBldCod = -1L;
|
||||||
|
|
||||||
|
if (NewBldCod == Roo_EditingRoom->BldCod)
|
||||||
|
/***** Message to show no changes made *****/
|
||||||
|
Ale_CreateAlert (Ale_INFO,NULL,
|
||||||
|
Txt_The_capacity_of_room_X_has_not_changed, // TODO: Change
|
||||||
|
Roo_EditingRoom->FullName);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/***** Update the table of rooms changing the old building to the new *****/
|
||||||
|
DB_QueryUPDATE ("can not update the capacity of a room",
|
||||||
|
"UPDATE rooms SET BldCod=%ld WHERE RooCod=%ld",
|
||||||
|
NewBldCod,Roo_EditingRoom->RooCod);
|
||||||
|
Roo_EditingRoom->BldCod = NewBldCod;
|
||||||
|
|
||||||
|
/***** Message to show the change made *****/
|
||||||
|
Ale_CreateAlert (Ale_SUCCESS,NULL,
|
||||||
|
Txt_The_capacity_of_room_X_is_now_Y, // TODO: Change
|
||||||
|
Roo_EditingRoom->FullName,0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/********************* Change sitting capacity of a room *********************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
void Roo_ChangeFloor (void)
|
||||||
|
{
|
||||||
|
extern const char *Txt_The_capacity_of_room_X_has_not_changed;
|
||||||
|
extern const char *Txt_The_capacity_of_room_X_is_now_Y;
|
||||||
|
int NewFloor;
|
||||||
|
|
||||||
|
/***** Room constructor *****/
|
||||||
|
Roo_EditingRoomConstructor ();
|
||||||
|
|
||||||
|
/***** Get parameters from form *****/
|
||||||
|
/* Get the code of the room */
|
||||||
|
if ((Roo_EditingRoom->RooCod = Roo_GetParamRooCod ()) == -1L)
|
||||||
|
Lay_ShowErrorAndExit ("Code of room is missing.");
|
||||||
|
|
||||||
|
/* Get the floor of the room */
|
||||||
|
NewFloor = Par_GetParToLong ("Floor");
|
||||||
|
|
||||||
|
/***** Get data of the room from database *****/
|
||||||
|
Roo_GetDataOfRoomByCod (Roo_EditingRoom);
|
||||||
|
|
||||||
|
/***** Check if the old capacity equals the new one
|
||||||
|
(this happens when return is pressed without changes) *****/
|
||||||
|
if (NewFloor == Roo_EditingRoom->Floor)
|
||||||
|
/***** Message to show no changes made *****/
|
||||||
|
Ale_CreateAlert (Ale_INFO,NULL,
|
||||||
|
Txt_The_capacity_of_room_X_has_not_changed, // TODO: Change
|
||||||
|
Roo_EditingRoom->FullName);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/***** Update the table of rooms changing the old capacity to the new *****/
|
||||||
|
DB_QueryUPDATE ("can not update the capacity of a room",
|
||||||
|
"UPDATE rooms SET Floor=%d WHERE RooCod=%ld",
|
||||||
|
NewFloor,Roo_EditingRoom->RooCod);
|
||||||
|
Roo_EditingRoom->Floor = NewFloor;
|
||||||
|
|
||||||
|
/***** Message to show the change made *****/
|
||||||
|
Ale_CreateAlert (Ale_SUCCESS,NULL,
|
||||||
|
Txt_The_capacity_of_room_X_is_now_Y, // TODO: Change
|
||||||
|
Roo_EditingRoom->FullName,0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/********************** Change the short name of a room **********************/
|
/********************** Change the short name of a room **********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -794,14 +968,14 @@ void Roo_ChangeCapacity (void)
|
||||||
|
|
||||||
/***** Check if the old capacity equals the new one
|
/***** Check if the old capacity equals the new one
|
||||||
(this happens when return is pressed without changes) *****/
|
(this happens when return is pressed without changes) *****/
|
||||||
if (Roo_EditingRoom->Capacity == NewCapacity)
|
if (NewCapacity == Roo_EditingRoom->Capacity)
|
||||||
/***** Message to show no changes made *****/
|
/***** Message to show no changes made *****/
|
||||||
Ale_CreateAlert (Ale_INFO,NULL,
|
Ale_CreateAlert (Ale_INFO,NULL,
|
||||||
Txt_The_capacity_of_room_X_has_not_changed,
|
Txt_The_capacity_of_room_X_has_not_changed,
|
||||||
Roo_EditingRoom->FullName);
|
Roo_EditingRoom->FullName);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/***** Update the table of groups changing the old capacity to the new *****/
|
/***** Update the table of rooms changing the old capacity to the new *****/
|
||||||
DB_QueryUPDATE ("can not update the capacity of a room",
|
DB_QueryUPDATE ("can not update the capacity of a room",
|
||||||
"UPDATE rooms SET Capacity=%u WHERE RooCod=%ld",
|
"UPDATE rooms SET Capacity=%u WHERE RooCod=%ld",
|
||||||
NewCapacity,Roo_EditingRoom->RooCod);
|
NewCapacity,Roo_EditingRoom->RooCod);
|
||||||
|
@ -859,7 +1033,7 @@ void Roo_ChangeRoomLocation (void)
|
||||||
|
|
||||||
/***** Check if old and new locations are the same
|
/***** Check if old and new locations are the same
|
||||||
(this happens when return is pressed without changes) *****/
|
(this happens when return is pressed without changes) *****/
|
||||||
if (strcmp (Roo_EditingRoom->Location,NewLocation)) // Different locations
|
if (strcmp (NewLocation,Roo_EditingRoom->Location)) // Different locations
|
||||||
{
|
{
|
||||||
/* Update the table changing old name by new name */
|
/* Update the table changing old name by new name */
|
||||||
Roo_UpdateRoomNameDB (Roo_EditingRoom->RooCod,"Location",NewLocation);
|
Roo_UpdateRoomNameDB (Roo_EditingRoom->RooCod,"Location",NewLocation);
|
||||||
|
@ -897,7 +1071,7 @@ void Roo_ContEditAfterChgRoom (void)
|
||||||
/********************** Put a form to create a new room **********************/
|
/********************** Put a form to create a new room **********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
static void Roo_PutFormToCreateRoom (void)
|
static void Roo_PutFormToCreateRoom (const struct Bld_Buildings *Buildings)
|
||||||
{
|
{
|
||||||
extern const char *Txt_New_room;
|
extern const char *Txt_New_room;
|
||||||
extern const char *Txt_Create_room;
|
extern const char *Txt_Create_room;
|
||||||
|
@ -924,6 +1098,17 @@ static void Roo_PutFormToCreateRoom (void)
|
||||||
HTM_TD_Begin ("class=\"CODE\"");
|
HTM_TD_Begin ("class=\"CODE\"");
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
/***** Building *****/
|
||||||
|
HTM_TD_Begin ("class=\"LM\"");
|
||||||
|
Roo_PutSelectorBuilding (Roo_EditingRoom->BldCod,Buildings);
|
||||||
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
/***** Floor *****/
|
||||||
|
HTM_TD_Begin ("class=\"LM\"");
|
||||||
|
HTM_INPUT_LONG ("Floor",(long) INT_MIN,(long) INT_MAX,(long) Roo_EditingRoom->Floor,false,
|
||||||
|
"class=\"INPUT_LONG\"");
|
||||||
|
HTM_TD_End ();
|
||||||
|
|
||||||
/***** Room short name *****/
|
/***** Room short name *****/
|
||||||
HTM_TD_Begin ("class=\"LM\"");
|
HTM_TD_Begin ("class=\"LM\"");
|
||||||
HTM_INPUT_TEXT ("ShortName",Roo_MAX_CHARS_SHRT_NAME,Roo_EditingRoom->ShrtName,false,
|
HTM_INPUT_TEXT ("ShortName",Roo_MAX_CHARS_SHRT_NAME,Roo_EditingRoom->ShrtName,false,
|
||||||
|
@ -965,6 +1150,8 @@ static void Roo_PutFormToCreateRoom (void)
|
||||||
static void Roo_PutHeadRooms (void)
|
static void Roo_PutHeadRooms (void)
|
||||||
{
|
{
|
||||||
extern const char *Txt_Code;
|
extern const char *Txt_Code;
|
||||||
|
extern const char *Txt_Building;
|
||||||
|
extern const char *Txt_Floor;
|
||||||
extern const char *Txt_Short_name;
|
extern const char *Txt_Short_name;
|
||||||
extern const char *Txt_Full_name;
|
extern const char *Txt_Full_name;
|
||||||
extern const char *Txt_Capacity_OF_A_ROOM;
|
extern const char *Txt_Capacity_OF_A_ROOM;
|
||||||
|
@ -974,6 +1161,8 @@ static void Roo_PutHeadRooms (void)
|
||||||
|
|
||||||
HTM_TH (1,1,"BM",NULL);
|
HTM_TH (1,1,"BM",NULL);
|
||||||
HTM_TH (1,1,"RM",Txt_Code);
|
HTM_TH (1,1,"RM",Txt_Code);
|
||||||
|
HTM_TH (1,1,"LM",Txt_Building);
|
||||||
|
HTM_TH (1,1,"LM",Txt_Floor);
|
||||||
HTM_TH (1,1,"LM",Txt_Short_name);
|
HTM_TH (1,1,"LM",Txt_Short_name);
|
||||||
HTM_TH (1,1,"LM",Txt_Full_name);
|
HTM_TH (1,1,"LM",Txt_Full_name);
|
||||||
HTM_TH (1,1,"LM",Txt_Capacity_OF_A_ROOM);
|
HTM_TH (1,1,"LM",Txt_Capacity_OF_A_ROOM);
|
||||||
|
@ -1069,7 +1258,9 @@ static void Roo_EditingRoomConstructor (void)
|
||||||
|
|
||||||
/***** Reset room *****/
|
/***** Reset room *****/
|
||||||
Roo_EditingRoom->RooCod = -1L;
|
Roo_EditingRoom->RooCod = -1L;
|
||||||
Roo_EditingRoom->InsCod = -1L;
|
Roo_EditingRoom->CtrCod = -1L;
|
||||||
|
Roo_EditingRoom->BldCod = -1L;
|
||||||
|
Roo_EditingRoom->Floor = 0;
|
||||||
Roo_EditingRoom->ShrtName[0] = '\0';
|
Roo_EditingRoom->ShrtName[0] = '\0';
|
||||||
Roo_EditingRoom->FullName[0] = '\0';
|
Roo_EditingRoom->FullName[0] = '\0';
|
||||||
Roo_EditingRoom->Capacity = Roo_UNLIMITED_CAPACITY;
|
Roo_EditingRoom->Capacity = Roo_UNLIMITED_CAPACITY;
|
||||||
|
|
|
@ -49,7 +49,9 @@
|
||||||
struct Roo_Room
|
struct Roo_Room
|
||||||
{
|
{
|
||||||
long RooCod;
|
long RooCod;
|
||||||
long InsCod;
|
long CtrCod;
|
||||||
|
long BldCod;
|
||||||
|
int Floor;
|
||||||
char ShrtName[Roo_MAX_BYTES_SHRT_NAME + 1];
|
char ShrtName[Roo_MAX_BYTES_SHRT_NAME + 1];
|
||||||
char FullName[Roo_MAX_BYTES_FULL_NAME + 1];
|
char FullName[Roo_MAX_BYTES_FULL_NAME + 1];
|
||||||
unsigned Capacity; // Seating capacity (maximum number of people that fit in the room)
|
unsigned Capacity; // Seating capacity (maximum number of people that fit in the room)
|
||||||
|
@ -100,6 +102,8 @@ long Roo_GetParamRooCod (void);
|
||||||
|
|
||||||
void Roo_RemoveRoom (void);
|
void Roo_RemoveRoom (void);
|
||||||
void Roo_RemoveAllRoomsInCtr (long CtrCod);
|
void Roo_RemoveAllRoomsInCtr (long CtrCod);
|
||||||
|
void Roo_ChangeBuilding (void);
|
||||||
|
void Roo_ChangeFloor (void);
|
||||||
void Roo_RenameRoomShort (void);
|
void Roo_RenameRoomShort (void);
|
||||||
void Roo_RenameRoomFull (void);
|
void Roo_RenameRoomFull (void);
|
||||||
void Roo_ChangeCapacity (void);
|
void Roo_ChangeCapacity (void);
|
||||||
|
|
63
swad_text.c
63
swad_text.c
|
@ -1633,6 +1633,27 @@ const char *Txt_Announcements_of_exams =
|
||||||
"Chamadas para exames";
|
"Chamadas para exames";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
const char *Txt_Another_building = // TODO: Translate
|
||||||
|
#if L==1 // ca
|
||||||
|
"Una altra sala";
|
||||||
|
#elif L==2 // de
|
||||||
|
"Eine weitere Raum";
|
||||||
|
#elif L==3 // en
|
||||||
|
"Another room";
|
||||||
|
#elif L==4 // es
|
||||||
|
"Otra sala";
|
||||||
|
#elif L==5 // fr
|
||||||
|
"Un autre salle";
|
||||||
|
#elif L==6 // gn
|
||||||
|
"Otra sala"; // Okoteve traducción
|
||||||
|
#elif L==7 // it
|
||||||
|
"Un'altra aula";
|
||||||
|
#elif L==8 // pl
|
||||||
|
"Kolejna klasa";
|
||||||
|
#elif L==9 // pt
|
||||||
|
"Outra sala";
|
||||||
|
#endif
|
||||||
|
|
||||||
const char *Txt_Another_centre =
|
const char *Txt_Another_centre =
|
||||||
#if L==1 // ca
|
#if L==1 // ca
|
||||||
"Un altre centre";
|
"Un altre centre";
|
||||||
|
@ -12613,6 +12634,27 @@ const char *Txt_First_name =
|
||||||
"Nome";
|
"Nome";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
const char *Txt_Floor =
|
||||||
|
#if L==1 // ca
|
||||||
|
"Planta";
|
||||||
|
#elif L==2 // de
|
||||||
|
"Stock";
|
||||||
|
#elif L==3 // en
|
||||||
|
"Floor";
|
||||||
|
#elif L==4 // es
|
||||||
|
"Planta";
|
||||||
|
#elif L==5 // fr
|
||||||
|
"Étage";
|
||||||
|
#elif L==6 // gn
|
||||||
|
"Planta"; // Okoteve traducción
|
||||||
|
#elif L==7 // it
|
||||||
|
"Piano";
|
||||||
|
#elif L==8 // pl
|
||||||
|
"Piętrze";
|
||||||
|
#elif L==9 // pt
|
||||||
|
"Andar";
|
||||||
|
#endif
|
||||||
|
|
||||||
const char *Txt_Folder =
|
const char *Txt_Folder =
|
||||||
#if L==1 // ca
|
#if L==1 // ca
|
||||||
"Carpeta";
|
"Carpeta";
|
||||||
|
@ -25302,6 +25344,27 @@ const char *Txt_No_announcements_of_exams_of_X = // Warning: it is very importan
|
||||||
"Não chamadas para exame de <strong>%s</strong>.";
|
"Não chamadas para exame de <strong>%s</strong>.";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
const char *Txt_No_assigned_building = // TODO: Translate
|
||||||
|
#if L==1 // ca
|
||||||
|
"Sense sala assignada";
|
||||||
|
#elif L==2 // de
|
||||||
|
"Kein zugewiesenes Raum";
|
||||||
|
#elif L==3 // en
|
||||||
|
"No assigned room";
|
||||||
|
#elif L==4 // es
|
||||||
|
"Sin sala asignada";
|
||||||
|
#elif L==5 // fr
|
||||||
|
"Aucune salle assignée";
|
||||||
|
#elif L==6 // gn
|
||||||
|
"Sin sala asignada"; // Okoteve traducción
|
||||||
|
#elif L==7 // it
|
||||||
|
"Nessuna aula assegnata";
|
||||||
|
#elif L==8 // pl
|
||||||
|
"Brak przydzielonej sali lekcyjnej";
|
||||||
|
#elif L==9 // pt
|
||||||
|
"Nenhuma sala atribuída";
|
||||||
|
#endif
|
||||||
|
|
||||||
const char *Txt_No_assigned_room =
|
const char *Txt_No_assigned_room =
|
||||||
#if L==1 // ca
|
#if L==1 // ca
|
||||||
"Sense sala assignada";
|
"Sense sala assignada";
|
||||||
|
|
|
@ -4407,6 +4407,48 @@ const char *Txt_Actions[Act_NUM_ACTIONS] =
|
||||||
"" // Potrzebujesz tlumaczenie
|
"" // Potrzebujesz tlumaczenie
|
||||||
#elif L==9 // pt
|
#elif L==9 // pt
|
||||||
"" // Precisa de tradução
|
"" // Precisa de tradução
|
||||||
|
#endif
|
||||||
|
,
|
||||||
|
[ActChgRooBld] =
|
||||||
|
#if L==1 // ca
|
||||||
|
"" // Necessita traducció
|
||||||
|
#elif L==2 // de
|
||||||
|
"" // Need Übersetzung
|
||||||
|
#elif L==3 // en
|
||||||
|
"Change building of a room"
|
||||||
|
#elif L==4 // es
|
||||||
|
"Cambiar edificio de una sala"
|
||||||
|
#elif L==5 // fr
|
||||||
|
"" // Besoin de traduction
|
||||||
|
#elif L==6 // gn
|
||||||
|
"" // Okoteve traducción
|
||||||
|
#elif L==7 // it
|
||||||
|
"" // Bisogno di traduzione
|
||||||
|
#elif L==8 // pl
|
||||||
|
"" // Potrzebujesz tlumaczenie
|
||||||
|
#elif L==9 // pt
|
||||||
|
"" // Precisa de tradução
|
||||||
|
#endif
|
||||||
|
,
|
||||||
|
[ActChgRooMaxUsr] =
|
||||||
|
#if L==1 // ca
|
||||||
|
"" // Necessita traducció
|
||||||
|
#elif L==2 // de
|
||||||
|
"" // Need Übersetzung
|
||||||
|
#elif L==3 // en
|
||||||
|
"Change number of users of a room"
|
||||||
|
#elif L==4 // es
|
||||||
|
"Cambiar número de usuarios de una sala"
|
||||||
|
#elif L==5 // fr
|
||||||
|
"" // Besoin de traduction
|
||||||
|
#elif L==6 // gn
|
||||||
|
"" // Okoteve traducción
|
||||||
|
#elif L==7 // it
|
||||||
|
"" // Bisogno di traduzione
|
||||||
|
#elif L==8 // pl
|
||||||
|
"" // Potrzebujesz tlumaczenie
|
||||||
|
#elif L==9 // pt
|
||||||
|
"" // Precisa de tradução
|
||||||
#endif
|
#endif
|
||||||
,
|
,
|
||||||
[ActRenRooSho] =
|
[ActRenRooSho] =
|
||||||
|
@ -4451,15 +4493,15 @@ const char *Txt_Actions[Act_NUM_ACTIONS] =
|
||||||
"" // Precisa de tradução
|
"" // Precisa de tradução
|
||||||
#endif
|
#endif
|
||||||
,
|
,
|
||||||
[ActChgRooMaxUsr] =
|
[ActChgRooFlo] =
|
||||||
#if L==1 // ca
|
#if L==1 // ca
|
||||||
"" // Necessita traducció
|
"" // Necessita traducció
|
||||||
#elif L==2 // de
|
#elif L==2 // de
|
||||||
"" // Need Übersetzung
|
"" // Need Übersetzung
|
||||||
#elif L==3 // en
|
#elif L==3 // en
|
||||||
"Change number of usuarios in a room"
|
"Change floor of a room"
|
||||||
#elif L==4 // es
|
#elif L==4 // es
|
||||||
"Cambiar número de usuarios de una sala"
|
"Cambiar planta de una sala"
|
||||||
#elif L==5 // fr
|
#elif L==5 // fr
|
||||||
"" // Besoin de traduction
|
"" // Besoin de traduction
|
||||||
#elif L==6 // gn
|
#elif L==6 // gn
|
||||||
|
|
Loading…
Reference in New Issue