mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-14 12:44:09 +02:00
Version19.186
This commit is contained in:
parent
333d3337da
commit
44f94d1075
2
Makefile
2
Makefile
|
@ -28,7 +28,7 @@
|
||||||
|
|
||||||
OBJS = swad_account.o swad_action.o swad_agenda.o swad_alert.o \
|
OBJS = swad_account.o swad_action.o swad_agenda.o swad_alert.o \
|
||||||
swad_announcement.o swad_API.o swad_assignment.o swad_attendance.o \
|
swad_announcement.o swad_API.o swad_assignment.o swad_attendance.o \
|
||||||
swad_banner.o swad_box.o swad_button.o \
|
swad_banner.o swad_box.o swad_building.o swad_button.o \
|
||||||
swad_calendar.o swad_centre.o swad_centre_config.o swad_chat.o \
|
swad_calendar.o swad_centre.o swad_centre_config.o swad_chat.o \
|
||||||
swad_config.o swad_connected.o swad_cookie.o swad_country.o \
|
swad_config.o swad_connected.o swad_cookie.o swad_country.o \
|
||||||
swad_country_config.o swad_course.o \
|
swad_country_config.o swad_course.o \
|
||||||
|
|
|
@ -13331,4 +13331,11 @@ SELECT my_courses.CrsCod,COUNT(*) AS N FROM (SELECT CrsCod,UsrCod,Role FROM crs_
|
||||||
SELECT my_courses.CrsCod,COUNT(*) AS N FROM (SELECT CrsCod FROM crs_usr WHERE UsrCod=1346 AND Role=5) AS my_courses LEFT JOIN log ON (my_courses.CrsCod=log.CrsCod) WHERE log.UsrCod=1346 AND log.Role=5 GROUP BY my_courses.CrsCod ORDER BY N DESC,my_courses.CrsCod DESC;
|
SELECT my_courses.CrsCod,COUNT(*) AS N FROM (SELECT CrsCod FROM crs_usr WHERE UsrCod=1346 AND Role=5) AS my_courses LEFT JOIN log ON (my_courses.CrsCod=log.CrsCod) WHERE log.UsrCod=1346 AND log.Role=5 GROUP BY my_courses.CrsCod ORDER BY N DESC,my_courses.CrsCod DESC;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
SELECT COUNT(*) FROM usr_data WHERE InsCod=25037;
|
||||||
|
UPDATE usr_data SET InsCod=1130 WHERE InsCod=25037;
|
||||||
|
|
||||||
|
|
||||||
|
|
11
sql/swad.sql
11
sql/swad.sql
|
@ -154,6 +154,17 @@ CREATE TABLE IF NOT EXISTS birthdays_today (
|
||||||
UNIQUE INDEX(UsrCod),
|
UNIQUE INDEX(UsrCod),
|
||||||
INDEX(Today));
|
INDEX(Today));
|
||||||
--
|
--
|
||||||
|
-- Table buildings: buildings in a centre
|
||||||
|
--
|
||||||
|
CREATE TABLE IF NOT EXISTS buildings (
|
||||||
|
BldCod INT NOT NULL AUTO_INCREMENT,
|
||||||
|
CtrCod INT NOT NULL,
|
||||||
|
ShortName VARCHAR(511) NOT NULL,
|
||||||
|
FullName VARCHAR(2047) NOT NULL,
|
||||||
|
Location VARCHAR(2047) NOT NULL,
|
||||||
|
UNIQUE INDEX(BldCod),
|
||||||
|
INDEX(CtrCod));
|
||||||
|
--
|
||||||
-- Table centres: centres (faculties, schools...)
|
-- Table centres: centres (faculties, schools...)
|
||||||
--
|
--
|
||||||
CREATE TABLE IF NOT EXISTS centres (
|
CREATE TABLE IF NOT EXISTS centres (
|
||||||
|
|
|
@ -30,6 +30,7 @@
|
||||||
#include "swad_announcement.h"
|
#include "swad_announcement.h"
|
||||||
#include "swad_attendance.h"
|
#include "swad_attendance.h"
|
||||||
#include "swad_banner.h"
|
#include "swad_banner.h"
|
||||||
|
#include "swad_building.h"
|
||||||
#include "swad_calendar.h"
|
#include "swad_calendar.h"
|
||||||
#include "swad_centre_config.h"
|
#include "swad_centre_config.h"
|
||||||
#include "swad_config.h"
|
#include "swad_config.h"
|
||||||
|
@ -315,6 +316,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
||||||
// Actions in menu:
|
// Actions in menu:
|
||||||
[ActSeeCtrInf ] = {1151, 0,TabCtr,ActSeeCtrInf , 0, 0, 0,0x3C7, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,CtrCfg_ShowConfiguration ,"info" },
|
[ActSeeCtrInf ] = {1151, 0,TabCtr,ActSeeCtrInf , 0, 0, 0,0x3C7, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,CtrCfg_ShowConfiguration ,"info" },
|
||||||
[ActSeeDeg ] = {1011, 1,TabCtr,ActSeeDeg , 0, 0, 0,0x3C7, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Deg_ShowDegsOfCurrentCtr ,"graduation-cap" },
|
[ActSeeDeg ] = {1011, 1,TabCtr,ActSeeDeg , 0, 0, 0,0x3C7, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Deg_ShowDegsOfCurrentCtr ,"graduation-cap" },
|
||||||
|
[ActSeeBld ] = {1838, 2,TabCtr,ActSeeBld , 0, 0, 0,0x3C7, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Bld_SeeBuildings ,"building" },
|
||||||
[ActSeeRoo ] = {1744, 2,TabCtr,ActSeeRoo , 0, 0, 0,0x3C7, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Roo_SeeRooms ,"classroom" },
|
[ActSeeRoo ] = {1744, 2,TabCtr,ActSeeRoo , 0, 0, 0,0x3C7, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Roo_SeeRooms ,"classroom" },
|
||||||
|
|
||||||
// Actions not in menu:
|
// Actions not in menu:
|
||||||
|
@ -350,13 +352,20 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
||||||
[ActChgDegWWW ] = { 554,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Deg_ChangeDegWWW ,Deg_ContEditAfterChgDeg ,NULL},
|
[ActChgDegWWW ] = { 554,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Deg_ChangeDegWWW ,Deg_ContEditAfterChgDeg ,NULL},
|
||||||
[ActChgDegSta ] = {1207,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x380, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Deg_ChangeDegStatus ,Deg_ContEditAfterChgDeg ,NULL},
|
[ActChgDegSta ] = {1207,-1,TabUnk,ActSeeDeg , 0, 0, 0,0x380, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Deg_ChangeDegStatus ,Deg_ContEditAfterChgDeg ,NULL},
|
||||||
|
|
||||||
[ActEdiRoo ] = {1745,-1,TabUnk,ActSeeRoo , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Roo_EditRooms ,NULL},
|
[ActEdiBld ] = {1839,-1,TabUnk,ActSeeBld , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Bld_EditBuildings ,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},
|
[ActNewBld ] = {1840,-1,TabUnk,ActSeeBld , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Bld_RecFormNewBuilding ,Bld_ContEditAfterChgBuilding ,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},
|
[ActRemBld ] = {1841,-1,TabUnk,ActSeeBld , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Bld_RemoveBuilding ,Bld_ContEditAfterChgBuilding ,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},
|
[ActRenBldSho ] = {1842,-1,TabUnk,ActSeeBld , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Bld_RenameBuildingShort ,Bld_ContEditAfterChgBuilding ,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},
|
[ActRenBldFul ] = {1843,-1,TabUnk,ActSeeBld , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Bld_RenameBuildingFull ,Bld_ContEditAfterChgBuilding ,NULL},
|
||||||
|
[ActRenBldLoc ] = {1844,-1,TabUnk,ActSeeBld , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Bld_ChangeBuildingLocation ,Bld_ContEditAfterChgBuilding ,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},
|
||||||
|
[ActRemRoo ] = {1747,-1,TabUnk,ActSeeRoo , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Roo_RemoveRoom ,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},
|
||||||
[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},
|
||||||
[ActRenRooLoc ] = {1751,-1,TabUnk,ActSeeRoo , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Roo_ChangeRoomLocation ,Roo_ContEditAfterChgRoom ,NULL},
|
[ActRenRooLoc ] = {1751,-1,TabUnk,ActSeeRoo , 0, 0, 0,0x3C6, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Roo_ChangeRoomLocation ,Roo_ContEditAfterChgRoom ,NULL},
|
||||||
|
|
||||||
// TabDeg ******************************************************************
|
// TabDeg ******************************************************************
|
||||||
// Actions in menu:
|
// Actions in menu:
|
||||||
|
@ -3575,6 +3584,13 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un
|
||||||
ActReqRemSevTstQst, // #1835
|
ActReqRemSevTstQst, // #1835
|
||||||
ActRemSevTstQst, // #1836
|
ActRemSevTstQst, // #1836
|
||||||
ActReqAssTst, // #1837
|
ActReqAssTst, // #1837
|
||||||
|
ActSeeBld, // #1838
|
||||||
|
ActEdiBld, // #1839
|
||||||
|
ActNewBld, // #1840
|
||||||
|
ActRemBld, // #1841
|
||||||
|
ActRenBldSho, // #1842
|
||||||
|
ActRenBldFul, // #1843
|
||||||
|
ActRenBldLoc, // #1844
|
||||||
};
|
};
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -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 1837
|
#define Act_MAX_ACTION_COD 1844
|
||||||
|
|
||||||
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 13
|
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 13
|
||||||
|
|
||||||
|
@ -293,48 +293,56 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to
|
||||||
// Actions in menu
|
// Actions in menu
|
||||||
#define ActSeeCtrInf (ActRenHld + 1)
|
#define ActSeeCtrInf (ActRenHld + 1)
|
||||||
#define ActSeeDeg (ActRenHld + 2)
|
#define ActSeeDeg (ActRenHld + 2)
|
||||||
#define ActSeeRoo (ActRenHld + 3)
|
#define ActSeeBld (ActRenHld + 3)
|
||||||
|
#define ActSeeRoo (ActRenHld + 4)
|
||||||
|
|
||||||
// Secondary actions
|
// Secondary actions
|
||||||
#define ActPrnCtrInf (ActRenHld + 4)
|
#define ActPrnCtrInf (ActRenHld + 5)
|
||||||
#define ActChgCtrInsCfg (ActRenHld + 5)
|
#define ActChgCtrInsCfg (ActRenHld + 6)
|
||||||
#define ActRenCtrShoCfg (ActRenHld + 6)
|
#define ActRenCtrShoCfg (ActRenHld + 7)
|
||||||
#define ActRenCtrFulCfg (ActRenHld + 7)
|
#define ActRenCtrFulCfg (ActRenHld + 8)
|
||||||
#define ActChgCtrPlcCfg (ActRenHld + 8)
|
#define ActChgCtrPlcCfg (ActRenHld + 9)
|
||||||
#define ActChgCtrLatCfg (ActRenHld + 9)
|
#define ActChgCtrLatCfg (ActRenHld + 10)
|
||||||
#define ActChgCtrLgtCfg (ActRenHld + 10)
|
#define ActChgCtrLgtCfg (ActRenHld + 11)
|
||||||
#define ActChgCtrAltCfg (ActRenHld + 11)
|
#define ActChgCtrAltCfg (ActRenHld + 12)
|
||||||
#define ActChgCtrWWWCfg (ActRenHld + 12)
|
#define ActChgCtrWWWCfg (ActRenHld + 13)
|
||||||
#define ActReqCtrLog (ActRenHld + 13)
|
#define ActReqCtrLog (ActRenHld + 14)
|
||||||
#define ActRecCtrLog (ActRenHld + 14)
|
#define ActRecCtrLog (ActRenHld + 15)
|
||||||
#define ActRemCtrLog (ActRenHld + 15)
|
#define ActRemCtrLog (ActRenHld + 16)
|
||||||
#define ActReqCtrPho (ActRenHld + 16)
|
#define ActReqCtrPho (ActRenHld + 17)
|
||||||
#define ActRecCtrPho (ActRenHld + 17)
|
#define ActRecCtrPho (ActRenHld + 18)
|
||||||
#define ActChgCtrPhoAtt (ActRenHld + 18)
|
#define ActChgCtrPhoAtt (ActRenHld + 19)
|
||||||
|
|
||||||
#define ActSeeDegTyp (ActRenHld + 19)
|
#define ActSeeDegTyp (ActRenHld + 20)
|
||||||
#define ActEdiDegTyp (ActRenHld + 20)
|
#define ActEdiDegTyp (ActRenHld + 21)
|
||||||
#define ActNewDegTyp (ActRenHld + 21)
|
#define ActNewDegTyp (ActRenHld + 22)
|
||||||
#define ActRemDegTyp (ActRenHld + 22)
|
#define ActRemDegTyp (ActRenHld + 23)
|
||||||
#define ActRenDegTyp (ActRenHld + 23)
|
#define ActRenDegTyp (ActRenHld + 24)
|
||||||
|
|
||||||
#define ActEdiDeg (ActRenHld + 24)
|
#define ActEdiDeg (ActRenHld + 25)
|
||||||
#define ActReqDeg (ActRenHld + 25)
|
#define ActReqDeg (ActRenHld + 26)
|
||||||
#define ActNewDeg (ActRenHld + 26)
|
#define ActNewDeg (ActRenHld + 27)
|
||||||
#define ActRemDeg (ActRenHld + 27)
|
#define ActRemDeg (ActRenHld + 28)
|
||||||
#define ActRenDegSho (ActRenHld + 28)
|
#define ActRenDegSho (ActRenHld + 29)
|
||||||
#define ActRenDegFul (ActRenHld + 29)
|
#define ActRenDegFul (ActRenHld + 30)
|
||||||
#define ActChgDegTyp (ActRenHld + 30)
|
#define ActChgDegTyp (ActRenHld + 31)
|
||||||
#define ActChgDegWWW (ActRenHld + 31)
|
#define ActChgDegWWW (ActRenHld + 32)
|
||||||
#define ActChgDegSta (ActRenHld + 32)
|
#define ActChgDegSta (ActRenHld + 33)
|
||||||
|
|
||||||
#define ActEdiRoo (ActRenHld + 33)
|
#define ActEdiBld (ActRenHld + 34)
|
||||||
#define ActNewRoo (ActRenHld + 34)
|
#define ActNewBld (ActRenHld + 35)
|
||||||
#define ActRemRoo (ActRenHld + 35)
|
#define ActRemBld (ActRenHld + 36)
|
||||||
#define ActRenRooSho (ActRenHld + 36)
|
#define ActRenBldSho (ActRenHld + 37)
|
||||||
#define ActRenRooFul (ActRenHld + 37)
|
#define ActRenBldFul (ActRenHld + 38)
|
||||||
#define ActChgRooMaxUsr (ActRenHld + 38)
|
#define ActRenBldLoc (ActRenHld + 39)
|
||||||
#define ActRenRooLoc (ActRenHld + 39)
|
|
||||||
|
#define ActEdiRoo (ActRenHld + 40)
|
||||||
|
#define ActNewRoo (ActRenHld + 41)
|
||||||
|
#define ActRemRoo (ActRenHld + 42)
|
||||||
|
#define ActRenRooSho (ActRenHld + 43)
|
||||||
|
#define ActRenRooFul (ActRenHld + 44)
|
||||||
|
#define ActChgRooMaxUsr (ActRenHld + 45)
|
||||||
|
#define ActRenRooLoc (ActRenHld + 46)
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/********************************* Degree tab ********************************/
|
/********************************* Degree tab ********************************/
|
||||||
|
|
|
@ -497,7 +497,7 @@ 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.185 (2020-04-14)"
|
#define Log_PLATFORM_VERSION "SWAD 19.186 (2020-04-14)"
|
||||||
#define CSS_FILE "swad19.146.css"
|
#define CSS_FILE "swad19.146.css"
|
||||||
#define JS_FILE "swad19.172.1.js"
|
#define JS_FILE "swad19.172.1.js"
|
||||||
/*
|
/*
|
||||||
|
@ -548,13 +548,16 @@ 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.186: Apr 14, 2020 New module swad_building for buildings in a centre. (287372 lines)
|
||||||
|
1 change necessary in database:
|
||||||
|
CREATE TABLE IF NOT EXISTS buildings (BldCod INT NOT NULL AUTO_INCREMENT,CtrCod INT NOT NULL,ShortName VARCHAR(511) NOT NULL,FullName VARCHAR(2047) NOT NULL,Location VARCHAR(2047) NOT NULL,UNIQUE INDEX(BldCod),INDEX(CtrCod));
|
||||||
|
|
||||||
Version 19.185: Apr 14, 2020 Module swad_classroom is renamed as swad_room.
|
Version 19.185: Apr 14, 2020 Module swad_classroom is renamed as swad_room.
|
||||||
Improvement in querying the database in the usage report. (285813 lines)
|
Improvement in querying the database in the usage report. (285813 lines)
|
||||||
5 changes necessary in database:
|
5 changes necessary in database:
|
||||||
RENAME TABLE classrooms TO rooms;
|
RENAME TABLE classrooms TO rooms;
|
||||||
ALTER TABLE rooms CHANGE COLUMN ClaCod RooCod INT NOT NULL AUTO_INCREMENT;
|
ALTER TABLE rooms CHANGE COLUMN ClaCod RooCod INT NOT NULL AUTO_INCREMENT;
|
||||||
ALTER TABLE rooms DROP INDEX ClaCod,ADD UNIQUE INDEX(RooCod);
|
ALTER TABLE rooms DROP INDEX ClaCod,ADD UNIQUE INDEX(RooCod);
|
||||||
|
|
||||||
ALTER TABLE crs_grp CHANGE COLUMN ClaCod RooCod INT NOT NULL DEFAULT -1;
|
ALTER TABLE crs_grp CHANGE COLUMN ClaCod RooCod INT NOT NULL DEFAULT -1;
|
||||||
ALTER TABLE crs_grp DROP INDEX ClaCod,ADD INDEX(RooCod);
|
ALTER TABLE crs_grp DROP INDEX ClaCod,ADD INDEX(RooCod);
|
||||||
|
|
||||||
|
|
|
@ -416,6 +416,29 @@ mysql> DESCRIBE birthdays_today;
|
||||||
"UNIQUE INDEX(UsrCod),"
|
"UNIQUE INDEX(UsrCod),"
|
||||||
"INDEX(Today))");
|
"INDEX(Today))");
|
||||||
|
|
||||||
|
/***** Table buildings *****/
|
||||||
|
/*
|
||||||
|
mysql> DESCRIBE buildings;
|
||||||
|
+-----------+---------------+------+-----+---------+----------------+
|
||||||
|
| Field | Type | Null | Key | Default | Extra |
|
||||||
|
+-----------+---------------+------+-----+---------+----------------+
|
||||||
|
| BldCod | int(11) | NO | PRI | NULL | auto_increment |
|
||||||
|
| CtrCod | int(11) | NO | MUL | NULL | |
|
||||||
|
| ShortName | varchar(511) | NO | | NULL | |
|
||||||
|
| FullName | varchar(2047) | NO | | NULL | |
|
||||||
|
| Location | varchar(2047) | NO | | NULL | |
|
||||||
|
+-----------+---------------+------+-----+---------+----------------+
|
||||||
|
5 rows in set (0.00 sec)
|
||||||
|
*/
|
||||||
|
DB_CreateTable ("CREATE TABLE IF NOT EXISTS buildings ("
|
||||||
|
"BldCod INT NOT NULL AUTO_INCREMENT,"
|
||||||
|
"CtrCod INT NOT NULL,"
|
||||||
|
"ShortName VARCHAR(511) NOT NULL," // Bld_MAX_BYTES_SHRT_NAME
|
||||||
|
"FullName VARCHAR(2047) NOT NULL," // Bld_MAX_BYTES_FULL_NAME
|
||||||
|
"Location VARCHAR(2047) NOT NULL," // Bld_MAX_BYTES_LOCATION
|
||||||
|
"UNIQUE INDEX(BldCod),"
|
||||||
|
"INDEX(CtrCod))");
|
||||||
|
|
||||||
/***** Table centres *****/
|
/***** Table centres *****/
|
||||||
/*
|
/*
|
||||||
mysql> DESCRIBE centres;
|
mysql> DESCRIBE centres;
|
||||||
|
|
|
@ -627,6 +627,48 @@ const char *Hlp_CENTRE_Degrees =
|
||||||
"CENTRE.Degrees.en";
|
"CENTRE.Degrees.en";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
const char *Hlp_CENTRE_Buildings =
|
||||||
|
#if L==1
|
||||||
|
"CENTRE.Buildings.es";
|
||||||
|
#elif L==2
|
||||||
|
"CENTRE.Buildings.en";
|
||||||
|
#elif L==3
|
||||||
|
"CENTRE.Buildings.en";
|
||||||
|
#elif L==4
|
||||||
|
"CENTRE.Buildings.es";
|
||||||
|
#elif L==5
|
||||||
|
"CENTRE.Buildings.en";
|
||||||
|
#elif L==6
|
||||||
|
"CENTRE.Buildings.es";
|
||||||
|
#elif L==7
|
||||||
|
"CENTRE.Buildings.en";
|
||||||
|
#elif L==8
|
||||||
|
"CENTRE.Buildings.en";
|
||||||
|
#elif L==9
|
||||||
|
"CENTRE.Buildings.en";
|
||||||
|
#endif
|
||||||
|
|
||||||
|
const char *Hlp_CENTRE_Buildings_edit =
|
||||||
|
#if L==1
|
||||||
|
"CENTRE.Buildings.es#editar";
|
||||||
|
#elif L==2
|
||||||
|
"CENTRE.Buildings.en#edit";
|
||||||
|
#elif L==3
|
||||||
|
"CENTRE.Buildings.en#edit";
|
||||||
|
#elif L==4
|
||||||
|
"CENTRE.Buildings.es#editar";
|
||||||
|
#elif L==5
|
||||||
|
"CENTRE.Buildings.en#edit";
|
||||||
|
#elif L==6
|
||||||
|
"CENTRE.Buildings.es#editar";
|
||||||
|
#elif L==7
|
||||||
|
"CENTRE.Buildings.en#edit";
|
||||||
|
#elif L==8
|
||||||
|
"CENTRE.Buildings.en#edit";
|
||||||
|
#elif L==9
|
||||||
|
"CENTRE.Buildings.en#edit";
|
||||||
|
#endif
|
||||||
|
|
||||||
const char *Hlp_CENTRE_Rooms =
|
const char *Hlp_CENTRE_Rooms =
|
||||||
#if L==1
|
#if L==1
|
||||||
"CENTRE.Rooms.es";
|
"CENTRE.Rooms.es";
|
||||||
|
|
|
@ -94,7 +94,8 @@ static const Act_Action_t Mnu_MenuActions[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_
|
||||||
[TabCtr] = {
|
[TabCtr] = {
|
||||||
[ 0] = ActSeeCtrInf,
|
[ 0] = ActSeeCtrInf,
|
||||||
[ 1] = ActSeeDeg,
|
[ 1] = ActSeeDeg,
|
||||||
[ 2] = ActSeeRoo,
|
[ 2] = ActSeeBld,
|
||||||
|
[ 3] = ActSeeRoo,
|
||||||
},
|
},
|
||||||
[TabDeg] = {
|
[TabDeg] = {
|
||||||
[ 0] = ActSeeDegInf,
|
[ 0] = ActSeeDegInf,
|
||||||
|
|
10
swad_room.c
10
swad_room.c
|
@ -490,7 +490,7 @@ void Roo_FreeListRooms (struct Roo_Rooms *Rooms)
|
||||||
|
|
||||||
static void Roo_ListRoomsForEdition (const struct Roo_Rooms *Rooms)
|
static void Roo_ListRoomsForEdition (const struct Roo_Rooms *Rooms)
|
||||||
{
|
{
|
||||||
unsigned NumCla;
|
unsigned NumRoom;
|
||||||
struct Roo_Room *Room;
|
struct Roo_Room *Room;
|
||||||
char StrCapacity[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
|
char StrCapacity[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
|
||||||
|
|
||||||
|
@ -499,11 +499,11 @@ static void Roo_ListRoomsForEdition (const struct Roo_Rooms *Rooms)
|
||||||
Roo_PutHeadRooms ();
|
Roo_PutHeadRooms ();
|
||||||
|
|
||||||
/***** Write all the rooms *****/
|
/***** Write all the rooms *****/
|
||||||
for (NumCla = 0;
|
for (NumRoom = 0;
|
||||||
NumCla < Rooms->Num;
|
NumRoom < Rooms->Num;
|
||||||
NumCla++)
|
NumRoom++)
|
||||||
{
|
{
|
||||||
Room = &Rooms->Lst[NumCla];
|
Room = &Rooms->Lst[NumRoom];
|
||||||
|
|
||||||
HTM_TR_Begin (NULL);
|
HTM_TR_Begin (NULL);
|
||||||
|
|
||||||
|
|
856
swad_text.c
856
swad_text.c
File diff suppressed because it is too large
Load Diff
|
@ -3567,6 +3567,27 @@ 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
|
||||||
|
,
|
||||||
|
[ActSeeBld] =
|
||||||
|
#if L==1 // ca
|
||||||
|
"" // Necessita traducció
|
||||||
|
#elif L==2 // de
|
||||||
|
"" // Need Übersetzung
|
||||||
|
#elif L==3 // en
|
||||||
|
"List buildings in a centre"
|
||||||
|
#elif L==4 // es
|
||||||
|
"Listar edificios de un centro"
|
||||||
|
#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
|
||||||
,
|
,
|
||||||
[ActSeeRoo] =
|
[ActSeeRoo] =
|
||||||
|
@ -4197,6 +4218,132 @@ 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
|
||||||
|
,
|
||||||
|
[ActEdiBld] =
|
||||||
|
#if L==1 // ca
|
||||||
|
"" // Necessita traducció
|
||||||
|
#elif L==2 // de
|
||||||
|
"" // Need Übersetzung
|
||||||
|
#elif L==3 // en
|
||||||
|
"Edit buildings"
|
||||||
|
#elif L==4 // es
|
||||||
|
"Editar edificios"
|
||||||
|
#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
|
||||||
|
,
|
||||||
|
[ActNewBld] =
|
||||||
|
#if L==1 // ca
|
||||||
|
"" // Necessita traducció
|
||||||
|
#elif L==2 // de
|
||||||
|
"" // Need Übersetzung
|
||||||
|
#elif L==3 // en
|
||||||
|
"Request the creation of a building"
|
||||||
|
#elif L==4 // es
|
||||||
|
"Solicitar la creación de un edificio"
|
||||||
|
#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
|
||||||
|
,
|
||||||
|
[ActRemBld] =
|
||||||
|
#if L==1 // ca
|
||||||
|
"" // Necessita traducció
|
||||||
|
#elif L==2 // de
|
||||||
|
"" // Need Übersetzung
|
||||||
|
#elif L==3 // en
|
||||||
|
"Remove a building"
|
||||||
|
#elif L==4 // es
|
||||||
|
"Eliminar edificio"
|
||||||
|
#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
|
||||||
|
,
|
||||||
|
[ActRenBldSho] =
|
||||||
|
#if L==1 // ca
|
||||||
|
"" // Necessita traducció
|
||||||
|
#elif L==2 // de
|
||||||
|
"" // Need Übersetzung
|
||||||
|
#elif L==3 // en
|
||||||
|
"Change short name of a building"
|
||||||
|
#elif L==4 // es
|
||||||
|
"Cambiar nombre breve de edificio"
|
||||||
|
#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
|
||||||
|
,
|
||||||
|
[ActRenBldFul] =
|
||||||
|
#if L==1 // ca
|
||||||
|
"" // Necessita traducció
|
||||||
|
#elif L==2 // de
|
||||||
|
"" // Need Übersetzung
|
||||||
|
#elif L==3 // en
|
||||||
|
"Change full name of a building"
|
||||||
|
#elif L==4 // es
|
||||||
|
"Cambiar nombre completo de edificio"
|
||||||
|
#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
|
||||||
|
,
|
||||||
|
[ActRenBldLoc] =
|
||||||
|
#if L==1 // ca
|
||||||
|
"" // Necessita traducció
|
||||||
|
#elif L==2 // de
|
||||||
|
"" // Need Übersetzung
|
||||||
|
#elif L==3 // en
|
||||||
|
"Change location of a building"
|
||||||
|
#elif L==4 // es
|
||||||
|
"Cambiar ubicación de un edificio"
|
||||||
|
#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
|
||||||
,
|
,
|
||||||
[ActEdiRoo] =
|
[ActEdiRoo] =
|
||||||
|
|
Loading…
Reference in New Issue
Block a user