mirror of https://github.com/acanas/swad-core.git
Version 23.0: Sep 11, 2023 Code refactoring related to hidden-visible.
This commit is contained in:
parent
87bd725069
commit
f1b5cd4537
|
@ -2310,7 +2310,7 @@ int swad__getAttendanceEvents (struct soap *soap,
|
|||
|
||||
getAttendanceEventsOut->eventsArray.__ptr[NumAttEvent].attendanceEventCode = (int) Event.AttCod;
|
||||
getAttendanceEventsOut->eventsArray.__ptr[NumAttEvent].hidden = (Event.HiddenOrVisible == HidVis_HIDDEN) ? 1 :
|
||||
0;
|
||||
0;
|
||||
Gbl.Usrs.Other.UsrDat.UsrCod = Event.UsrCod;
|
||||
if (API_GetSomeUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat,Gbl.Hierarchy.Crs.CrsCod)) // Get some user's data from database
|
||||
{
|
||||
|
@ -2497,7 +2497,7 @@ int swad__sendAttendanceEvent (struct soap *soap,
|
|||
|
||||
/* Are teacher's comments visible? */
|
||||
Event.CommentTchVisible = (commentsTeachersVisible ? true :
|
||||
false);
|
||||
false);
|
||||
|
||||
/* Title */
|
||||
if (!title[0])
|
||||
|
|
|
@ -278,13 +278,14 @@ void Agd_DB_UpdateEvent (const struct Agd_Event *AgdEvent,const char *Txt)
|
|||
void Agd_DB_HideOrUnhideEvent (long AgdCod,long UsrCod,
|
||||
HidVis_HiddenOrVisible_t HiddenOrVisible)
|
||||
{
|
||||
extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
|
||||
DB_QueryUPDATE ("can not hide/unhide event",
|
||||
"UPDATE agd_agendas"
|
||||
" SET Hidden='%c'"
|
||||
" WHERE AgdCod=%ld"
|
||||
" AND UsrCod=%ld",
|
||||
HiddenOrVisible == HidVis_HIDDEN ? 'Y' :
|
||||
'N',
|
||||
HidVis_YN[HiddenOrVisible],
|
||||
AgdCod,
|
||||
UsrCod);
|
||||
}
|
||||
|
|
|
@ -506,14 +506,14 @@ static void Asg_ShowAssignmentRow (struct Asg_Assignments *Assignments,
|
|||
if (PrintView)
|
||||
HTM_TD_Begin ("id=\"%s\" class=\"LB %s_%s\"",
|
||||
Id,
|
||||
Assignments->Asg.Open == HidVis_HIDDEN ? HidVis_DateGreenClass[Assignments->Asg.HiddenOrVisible] :
|
||||
HidVis_DateRedClass[Assignments->Asg.HiddenOrVisible],
|
||||
Assignments->Asg.Open ? HidVis_DateGreenClass[Assignments->Asg.HiddenOrVisible] :
|
||||
HidVis_DateRedClass[Assignments->Asg.HiddenOrVisible],
|
||||
The_GetSuffix ());
|
||||
else
|
||||
HTM_TD_Begin ("id=\"%s\" class=\"LB %s_%s %s\"",
|
||||
Id,
|
||||
Assignments->Asg.Open == HidVis_HIDDEN ? HidVis_DateGreenClass[Assignments->Asg.HiddenOrVisible] :
|
||||
HidVis_DateRedClass[Assignments->Asg.HiddenOrVisible],
|
||||
Assignments->Asg.Open ? HidVis_DateGreenClass[Assignments->Asg.HiddenOrVisible] :
|
||||
HidVis_DateRedClass[Assignments->Asg.HiddenOrVisible],
|
||||
The_GetSuffix (),
|
||||
The_GetColorRows ());
|
||||
Dat_WriteLocalDateHMSFromUTC (Id,Assignments->Asg.TimeUTC[StartEndTime],
|
||||
|
|
|
@ -301,13 +301,14 @@ void Asg_DB_UpdateAssignment (const struct Asg_Assignment *Asg,const char *Txt)
|
|||
void Asg_DB_HideOrUnhideAssignment (long AsgCod,
|
||||
HidVis_HiddenOrVisible_t HiddenOrVisible)
|
||||
{
|
||||
extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
|
||||
DB_QueryUPDATE ("can not hide/unhide assignment",
|
||||
"UPDATE asg_assignments"
|
||||
" SET Hidden='%c'"
|
||||
" WHERE AsgCod=%ld"
|
||||
" AND CrsCod=%ld",
|
||||
HiddenOrVisible == HidVis_HIDDEN ? 'Y' :
|
||||
'N',
|
||||
HidVis_YN[HiddenOrVisible],
|
||||
AsgCod,
|
||||
Gbl.Hierarchy.Crs.CrsCod);
|
||||
}
|
||||
|
|
|
@ -243,6 +243,8 @@ bool Att_DB_CheckIfSimilarEventExists (const char *Field,const char *Value,long
|
|||
|
||||
long Att_DB_CreateEvent (const struct Att_Event *Event,const char *Description)
|
||||
{
|
||||
extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
|
||||
return
|
||||
DB_QueryINSERTandReturnCode ("can not create new attendance event",
|
||||
"INSERT INTO att_events"
|
||||
|
@ -254,8 +256,7 @@ long Att_DB_CreateEvent (const struct Att_Event *Event,const char *Description)
|
|||
"FROM_UNIXTIME(%ld),FROM_UNIXTIME(%ld),"
|
||||
"'%c','%s','%s')",
|
||||
Gbl.Hierarchy.Crs.CrsCod,
|
||||
Event->HiddenOrVisible == HidVis_HIDDEN ? 'Y' :
|
||||
'N',
|
||||
HidVis_YN[Event->HiddenOrVisible],
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||
Event->TimeUTC[Dat_STR_TIME],
|
||||
Event->TimeUTC[Dat_END_TIME],
|
||||
|
@ -271,6 +272,8 @@ long Att_DB_CreateEvent (const struct Att_Event *Event,const char *Description)
|
|||
|
||||
void Att_DB_UpdateEvent (const struct Att_Event *Event,const char *Description)
|
||||
{
|
||||
extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
|
||||
DB_QueryUPDATE ("can not update attendance event",
|
||||
"UPDATE att_events"
|
||||
" SET Hidden='%c',"
|
||||
|
@ -281,8 +284,7 @@ void Att_DB_UpdateEvent (const struct Att_Event *Event,const char *Description)
|
|||
"Txt='%s'"
|
||||
" WHERE AttCod=%ld"
|
||||
" AND CrsCod=%ld", // Extra check
|
||||
Event->HiddenOrVisible == HidVis_HIDDEN ? 'Y' :
|
||||
'N',
|
||||
HidVis_YN[Event->HiddenOrVisible],
|
||||
Event->TimeUTC[Dat_STR_TIME],
|
||||
Event->TimeUTC[Dat_END_TIME],
|
||||
Event->CommentTchVisible ? 'Y' :
|
||||
|
@ -300,13 +302,14 @@ void Att_DB_UpdateEvent (const struct Att_Event *Event,const char *Description)
|
|||
void Att_DB_HideOrUnhideEvent (long AttCod,
|
||||
HidVis_HiddenOrVisible_t HiddenOrVisible)
|
||||
{
|
||||
extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
|
||||
DB_QueryUPDATE ("can not hide/unhide assignment",
|
||||
"UPDATE att_events"
|
||||
" SET Hidden='%c'"
|
||||
" WHERE AttCod=%ld"
|
||||
" AND CrsCod=%ld",
|
||||
HiddenOrVisible == HidVis_HIDDEN ? 'Y' :
|
||||
'N',
|
||||
HidVis_YN[HiddenOrVisible],
|
||||
AttCod,
|
||||
Gbl.Hierarchy.Crs.CrsCod);
|
||||
}
|
||||
|
|
|
@ -151,12 +151,13 @@ void Ban_DB_CreateBanner (const struct Ban_Banner *Ban)
|
|||
|
||||
void Ban_DB_HideOrUnhideBanner (long BanCod,HidVis_HiddenOrVisible_t HiddenOrVisible)
|
||||
{
|
||||
extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
|
||||
DB_QueryUPDATE ("can not hide/unhide banner",
|
||||
"UPDATE ban_banners"
|
||||
" SET Hidden='%c'"
|
||||
" WHERE BanCod=%ld",
|
||||
HiddenOrVisible == HidVis_HIDDEN ? 'Y' :
|
||||
'N',
|
||||
HidVis_YN[HiddenOrVisible],
|
||||
BanCod);
|
||||
}
|
||||
|
||||
|
|
|
@ -2276,6 +2276,7 @@ unsigned Brw_DB_GetNumFileViewsUsr (long UsrCod)
|
|||
void Brw_DB_HideOrUnhideFileOrFolder (const char Path[PATH_MAX + 1],
|
||||
HidVis_HiddenOrVisible_t HiddenOrVisible)
|
||||
{
|
||||
extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
long Cod = Brw_GetCodForFileBrowser ();
|
||||
long ZoneUsrCod = Brw_GetZoneUsrCodForFileBrowser ();
|
||||
|
||||
|
@ -2287,8 +2288,7 @@ void Brw_DB_HideOrUnhideFileOrFolder (const char Path[PATH_MAX + 1],
|
|||
" AND Cod=%ld"
|
||||
" AND ZoneUsrCod=%ld"
|
||||
" AND Path='%s'",
|
||||
HiddenOrVisible == HidVis_HIDDEN ? 'Y' :
|
||||
'N',
|
||||
HidVis_YN[HiddenOrVisible],
|
||||
(unsigned) Brw_DB_FileBrowserForDB_files[Gbl.FileBrowser.Type],
|
||||
Cod,
|
||||
ZoneUsrCod,
|
||||
|
|
|
@ -629,10 +629,11 @@ TODO: Emilce Barrera Mesa: Podr
|
|||
TODO: Emilce Barrera Mesa: Mis estudiantes presentan muchas dificultades a la hora de poner la foto porque la plataforma es muy exigente respecto al fondo de la imagen.
|
||||
|
||||
*/
|
||||
#define Log_PLATFORM_VERSION "SWAD 22.120.17 (2023-09-10)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 23.0 (2023-09-11)"
|
||||
#define CSS_FILE "swad22.120.4.css"
|
||||
#define JS_FILE "swad22.49.js"
|
||||
/*
|
||||
Version 23.0: Sep 11, 2023 Code refactoring related to hidden-visible. (337588 lines)
|
||||
Version 22.120.17:Sep 10, 2023 Code refactoring related to hidden-visible in surveys. (337563 lines)
|
||||
Version 22.120.16:Sep 10, 2023 Code refactoring in project visibility. (337575 lines)
|
||||
Version 22.120.15:Sep 10, 2023 Code refactoring related to hidden-visible in projects. (337580 lines)
|
||||
|
|
|
@ -108,12 +108,13 @@ void Exa_DB_UpdateExam (const struct Exa_Exam *Exam,const char *Txt)
|
|||
void Exa_DB_HideOrUnhideExam (long ExaCod,
|
||||
HidVis_HiddenOrVisible_t HiddenOrVisible)
|
||||
{
|
||||
extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
|
||||
DB_QueryUPDATE ("can not hide/unhide exam",
|
||||
"UPDATE exa_exams"
|
||||
" SET Hidden='%c'"
|
||||
" WHERE ExaCod=%ld",
|
||||
HiddenOrVisible == HidVis_HIDDEN ? 'Y' :
|
||||
'N',
|
||||
HidVis_YN[HiddenOrVisible],
|
||||
ExaCod);
|
||||
}
|
||||
|
||||
|
@ -1285,6 +1286,8 @@ void Exa_DB_RemoveAllSetAnswersFromCrs (long CrsCod)
|
|||
|
||||
long Exa_DB_CreateSession (const struct ExaSes_Session *Session)
|
||||
{
|
||||
extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
|
||||
return
|
||||
DB_QueryINSERTandReturnCode ("can not create exam session",
|
||||
"INSERT exa_sessions"
|
||||
|
@ -1304,9 +1307,8 @@ long Exa_DB_CreateSession (const struct ExaSes_Session *Session)
|
|||
"'%s'," // Title
|
||||
"'N')", // ShowUsrResults: Don't show user results initially
|
||||
Session->ExaCod,
|
||||
Session->HiddenOrVisible == HidVis_HIDDEN ? 'Y' :
|
||||
'N',
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod, // Session creator
|
||||
HidVis_YN[Session->HiddenOrVisible],
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod, // Session creator
|
||||
Session->TimeUTC[Dat_STR_TIME], // Start time
|
||||
Session->TimeUTC[Dat_END_TIME], // End time
|
||||
Session->Title);
|
||||
|
@ -1318,6 +1320,8 @@ long Exa_DB_CreateSession (const struct ExaSes_Session *Session)
|
|||
|
||||
void Exa_DB_UpdateSession (const struct ExaSes_Session *Session)
|
||||
{
|
||||
extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
|
||||
/***** Insert this new exam session into database *****/
|
||||
DB_QueryUPDATE ("can not update exam session",
|
||||
"UPDATE exa_sessions,"
|
||||
|
@ -1331,8 +1335,7 @@ void Exa_DB_UpdateSession (const struct ExaSes_Session *Session)
|
|||
" AND exa_sessions.ExaCod=%ld" // Extra check
|
||||
" AND exa_sessions.ExaCod=exa_exams.ExaCod"
|
||||
" AND exa_exams.CrsCod=%ld", // Extra check
|
||||
Session->HiddenOrVisible == HidVis_HIDDEN ? 'Y' :
|
||||
'N',
|
||||
HidVis_YN[Session->HiddenOrVisible],
|
||||
Session->TimeUTC[Dat_STR_TIME], // Start time
|
||||
Session->TimeUTC[Dat_END_TIME], // End time
|
||||
Session->Title,
|
||||
|
@ -1533,6 +1536,8 @@ void Exa_DB_ToggleVisResultsSesUsr (const struct ExaSes_Session *Session)
|
|||
void Exa_DB_HideUnhideSession (const struct ExaSes_Session *Session,
|
||||
HidVis_HiddenOrVisible_t HiddenOrVisible)
|
||||
{
|
||||
extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
|
||||
DB_QueryUPDATE ("can not hide exam sessions",
|
||||
"UPDATE exa_sessions,"
|
||||
"exa_exams"
|
||||
|
@ -1541,8 +1546,7 @@ void Exa_DB_HideUnhideSession (const struct ExaSes_Session *Session,
|
|||
" AND exa_sessions.ExaCod=%ld" // Extra check
|
||||
" AND exa_sessions.ExaCod=exa_exams.ExaCod"
|
||||
" AND exa_exams.CrsCod=%ld", // Extra check
|
||||
HiddenOrVisible == HidVis_HIDDEN ? 'Y' :
|
||||
'N',
|
||||
HidVis_YN[HiddenOrVisible],
|
||||
Session->SesCod,
|
||||
Session->ExaCod,
|
||||
Gbl.Hierarchy.Crs.CrsCod);
|
||||
|
|
|
@ -99,12 +99,13 @@ void Gam_DB_UpdateGame (const struct Gam_Game *Game,const char *Txt)
|
|||
void Gam_DB_HideOrUnhideGame (long GamCod,
|
||||
HidVis_HiddenOrVisible_t HiddenOrVisible)
|
||||
{
|
||||
extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
|
||||
DB_QueryUPDATE ("can not hide/unhide game",
|
||||
"UPDATE gam_games"
|
||||
" SET Hidden='%c'"
|
||||
" WHERE GamCod=%ld",
|
||||
HiddenOrVisible == HidVis_HIDDEN ? 'Y' :
|
||||
'N',
|
||||
HidVis_YN[HiddenOrVisible],
|
||||
GamCod);
|
||||
}
|
||||
|
||||
|
|
|
@ -91,13 +91,14 @@ void Prg_DB_UpdateItem (const struct Prg_Item *Item,const char *Txt)
|
|||
void Prg_DB_HideOrUnhideItem (long ItmCod,
|
||||
HidVis_HiddenOrVisible_t HiddenOrVisible)
|
||||
{
|
||||
extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
|
||||
DB_QueryUPDATE ("can not hide/unhide program item",
|
||||
"UPDATE prg_items"
|
||||
" SET Hidden='%c'"
|
||||
" WHERE ItmCod=%ld"
|
||||
" AND CrsCod=%ld", // Extra check
|
||||
HiddenOrVisible == HidVis_HIDDEN ? 'Y' :
|
||||
'N',
|
||||
HidVis_YN[HiddenOrVisible],
|
||||
ItmCod,
|
||||
Gbl.Hierarchy.Crs.CrsCod);
|
||||
}
|
||||
|
@ -594,12 +595,13 @@ void Prg_DB_RemoveResource (const struct Prg_Item *Item)
|
|||
void Prg_DB_HideOrUnhideResource (long RscCod,
|
||||
HidVis_HiddenOrVisible_t HiddenOrVisible)
|
||||
{
|
||||
extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
|
||||
DB_QueryUPDATE ("can not hide/unhide item resource",
|
||||
"UPDATE prg_resources"
|
||||
" SET Hidden='%c'"
|
||||
" WHERE RscCod=%ld",
|
||||
HiddenOrVisible == HidVis_HIDDEN ? 'Y' :
|
||||
'N',
|
||||
HidVis_YN[HiddenOrVisible],
|
||||
RscCod);
|
||||
}
|
||||
|
||||
|
|
197
swad_project.c
197
swad_project.c
|
@ -222,20 +222,20 @@ static void Prj_ShowFirstRow (struct Prj_Projects *Projects,
|
|||
static void Prj_ShowProjectDepartment (const struct Prj_Projects *Projects,
|
||||
const char *ClassData);
|
||||
static void Prj_ShowReviewStatus (struct Prj_Projects *Projects,
|
||||
const char *ClassLabel,
|
||||
const char *ClassData,
|
||||
const struct Prj_Faults *Faults,
|
||||
const char *Anchor);
|
||||
const char *ClassLabel,
|
||||
const char *ClassData,
|
||||
const struct Prj_Faults *Faults,
|
||||
const char *Anchor);
|
||||
static void Prj_PutSelectorReviewStatus (struct Prj_Projects *Projects);
|
||||
static bool Prj_CheckIfICanReviewProjects (void);
|
||||
static void Prj_ShowAssigned (const struct Prj_Projects *Projects,
|
||||
const char *ClassLabel,
|
||||
const char *ClassData,
|
||||
const struct Prj_Faults *Faults);
|
||||
const char *ClassLabel,
|
||||
const char *ClassData,
|
||||
const struct Prj_Faults *Faults);
|
||||
static void Prj_ShowNumStds (const struct Prj_Projects *Projects,
|
||||
const char *ClassLabel,
|
||||
const char *ClassData,
|
||||
const struct Prj_Faults *Faults);
|
||||
const char *ClassLabel,
|
||||
const char *ClassData,
|
||||
const struct Prj_Faults *Faults);
|
||||
static void Prj_ShowMembers (struct Prj_Projects *Projects);
|
||||
static void Prj_ShowProjectMembersWithARole (struct Prj_Projects *Projects,
|
||||
Prj_RoleInProject_t RoleInPrj);
|
||||
|
@ -1439,16 +1439,14 @@ void Prj_PrintOneProject (void)
|
|||
|
||||
static void Prj_ShowProjectRow (struct Prj_Projects *Projects)
|
||||
{
|
||||
extern const char *HidVis_LabelClass[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
extern const char *HidVis_DataClass[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
extern const char *Txt_Description;
|
||||
extern const char *Txt_Required_knowledge;
|
||||
extern const char *Txt_Required_materials;
|
||||
struct Prj_Faults Faults;
|
||||
static unsigned UniqueId = 0;
|
||||
char *Anchor = NULL;
|
||||
const char *ClassLabel = (Projects->Prj.Hidden == HidVis_HIDDEN) ? "ASG_LABEL_LIGHT" :
|
||||
"ASG_LABEL";
|
||||
const char *ClassData = (Projects->Prj.Hidden == HidVis_HIDDEN) ? "DAT_LIGHT" :
|
||||
"DAT";
|
||||
|
||||
/***** Set anchor string *****/
|
||||
Frm_SetAnchorStr ((long) Projects->NumIndex,&Anchor);
|
||||
|
@ -1458,33 +1456,53 @@ static void Prj_ShowProjectRow (struct Prj_Projects *Projects)
|
|||
|
||||
/***** First row with main data (dates, title...) *****/
|
||||
UniqueId++;
|
||||
Prj_ShowFirstRow (Projects,ClassData,&Faults,UniqueId,Anchor);
|
||||
Prj_ShowFirstRow (Projects,HidVis_DataClass[Projects->Prj.Hidden],
|
||||
&Faults,UniqueId,Anchor);
|
||||
|
||||
/***** Data always visible *****/
|
||||
Prj_ShowReviewStatus (Projects,ClassLabel,ClassData,&Faults,Anchor);
|
||||
Prj_ShowAssigned (Projects,ClassLabel,ClassData,&Faults);
|
||||
Prj_ShowNumStds (Projects,ClassLabel,ClassData,&Faults);
|
||||
Prj_ShowReviewStatus (Projects,
|
||||
HidVis_LabelClass[Projects->Prj.Hidden],
|
||||
HidVis_DataClass[Projects->Prj.Hidden],
|
||||
&Faults,Anchor);
|
||||
Prj_ShowAssigned (Projects,
|
||||
HidVis_LabelClass[Projects->Prj.Hidden],
|
||||
HidVis_DataClass[Projects->Prj.Hidden],
|
||||
&Faults);
|
||||
Prj_ShowNumStds (Projects,
|
||||
HidVis_LabelClass[Projects->Prj.Hidden],
|
||||
HidVis_DataClass[Projects->Prj.Hidden],
|
||||
&Faults);
|
||||
Prj_ShowMembers (Projects);
|
||||
|
||||
/***** Link to show hidden info *****/
|
||||
Prj_PutLinkToShowHiddenInfo (Projects,UniqueId);
|
||||
|
||||
/***** Hiddeable data ******/
|
||||
Prj_ShowProposal (Projects,ClassLabel,ClassData,UniqueId);
|
||||
Prj_ShowTxtField (Projects,ClassLabel,ClassData,"prj_dsc_",UniqueId,
|
||||
Prj_ShowProposal (Projects,
|
||||
HidVis_LabelClass[Projects->Prj.Hidden],
|
||||
HidVis_DataClass[Projects->Prj.Hidden],UniqueId);
|
||||
Prj_ShowTxtField (Projects,
|
||||
HidVis_LabelClass[Projects->Prj.Hidden],
|
||||
HidVis_DataClass[Projects->Prj.Hidden],"prj_dsc_",UniqueId,
|
||||
Txt_Description, // Description of the project
|
||||
Projects->Prj.Description,
|
||||
Faults.WrongDescription ? Prj_PUT_WARNING :
|
||||
Prj_DONT_PUT_WARNING);
|
||||
Prj_ShowTxtField (Projects,ClassLabel,ClassData,"prj_knw_",UniqueId,
|
||||
Prj_ShowTxtField (Projects,
|
||||
HidVis_LabelClass[Projects->Prj.Hidden],
|
||||
HidVis_DataClass[Projects->Prj.Hidden],"prj_knw_",UniqueId,
|
||||
Txt_Required_knowledge, // Required knowledge
|
||||
Projects->Prj.Knowledge,
|
||||
Prj_DONT_PUT_WARNING);
|
||||
Prj_ShowTxtField (Projects,ClassLabel,ClassData,"prj_mtr_",UniqueId,
|
||||
Prj_ShowTxtField (Projects,
|
||||
HidVis_LabelClass[Projects->Prj.Hidden],
|
||||
HidVis_DataClass[Projects->Prj.Hidden],"prj_mtr_",UniqueId,
|
||||
Txt_Required_materials, // Required materials
|
||||
Projects->Prj.Materials,
|
||||
Prj_DONT_PUT_WARNING);
|
||||
Prj_ShowURL (Projects,ClassLabel,ClassData,"prj_url_",UniqueId);
|
||||
Prj_ShowURL (Projects,
|
||||
HidVis_LabelClass[Projects->Prj.Hidden],
|
||||
HidVis_DataClass[Projects->Prj.Hidden],"prj_url_",UniqueId);
|
||||
|
||||
/***** Free anchor string *****/
|
||||
Frm_FreeAnchorStr (&Anchor);
|
||||
|
@ -1495,16 +1513,16 @@ static void Prj_ShowProjectRow (struct Prj_Projects *Projects)
|
|||
/*****************************************************************************/
|
||||
|
||||
static void Prj_ShowFirstRow (struct Prj_Projects *Projects,
|
||||
const char *ClassData,
|
||||
const struct Prj_Faults *Faults,
|
||||
unsigned UniqueId,
|
||||
const char *Anchor)
|
||||
const char *ClassData,
|
||||
const struct Prj_Faults *Faults,
|
||||
unsigned UniqueId,
|
||||
const char *Anchor)
|
||||
{
|
||||
extern const char *HidVis_DateBlueClass[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
extern const char *HidVis_TitleClass[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
extern const char *Txt_Actions[ActLst_NUM_ACTIONS];
|
||||
char *Id;
|
||||
Act_Action_t NextAction;
|
||||
const char *ClassDate = (Projects->Prj.Hidden == HidVis_HIDDEN) ? "DATE_BLUE_LIGHT" :
|
||||
"DATE_BLUE";
|
||||
|
||||
/***** Write first row of data of this project *****/
|
||||
HTM_TR_Begin (NULL);
|
||||
|
@ -1549,13 +1567,13 @@ static void Prj_ShowFirstRow (struct Prj_Projects *Projects,
|
|||
case Prj_LIST_PROJECTS:
|
||||
HTM_TD_Begin ("id=\"%s\" class=\"LT %s_%s %s\"",
|
||||
Id,
|
||||
ClassDate,The_GetSuffix (),
|
||||
HidVis_DateBlueClass[Projects->Prj.Hidden],The_GetSuffix (),
|
||||
The_GetColorRows ());
|
||||
break;
|
||||
default:
|
||||
HTM_TD_Begin ("id=\"%s\" class=\"LT %s_%s\"",
|
||||
Id,
|
||||
ClassDate,The_GetSuffix ());
|
||||
HidVis_DateBlueClass[Projects->Prj.Hidden],The_GetSuffix ());
|
||||
break;
|
||||
}
|
||||
Dat_WriteLocalDateHMSFromUTC (Id,Projects->Prj.CreatTime,
|
||||
|
@ -1573,13 +1591,13 @@ static void Prj_ShowFirstRow (struct Prj_Projects *Projects,
|
|||
case Prj_LIST_PROJECTS:
|
||||
HTM_TD_Begin ("id=\"%s\" class=\"LT %s_%s %s\"",
|
||||
Id,
|
||||
ClassDate,The_GetSuffix (),
|
||||
HidVis_DateBlueClass[Projects->Prj.Hidden],The_GetSuffix (),
|
||||
The_GetColorRows ());
|
||||
break;
|
||||
default:
|
||||
HTM_TD_Begin ("id=\"%s\" class=\"LT %s_%s\"",
|
||||
Id,
|
||||
ClassDate,The_GetSuffix ());
|
||||
HidVis_DateBlueClass[Projects->Prj.Hidden],The_GetSuffix ());
|
||||
break;
|
||||
}
|
||||
Dat_WriteLocalDateHMSFromUTC (Id,Projects->Prj.ModifTime,
|
||||
|
@ -1607,8 +1625,7 @@ static void Prj_ShowFirstRow (struct Prj_Projects *Projects,
|
|||
Prj_PutCurrentPars (Projects);
|
||||
HTM_BUTTON_Submit_Begin (Txt_Actions[NextAction],
|
||||
"class=\"LT BT_LINK %s_%s\"",
|
||||
Projects->Prj.Hidden == HidVis_HIDDEN ? "ASG_TITLE_LIGHT" :
|
||||
"ASG_TITLE",
|
||||
HidVis_TitleClass[Projects->Prj.Hidden],
|
||||
The_GetSuffix ());
|
||||
HTM_Txt (Projects->Prj.Title);
|
||||
HTM_BUTTON_End ();
|
||||
|
@ -1669,10 +1686,10 @@ static void Prj_ShowProjectDepartment (const struct Prj_Projects *Projects,
|
|||
/*****************************************************************************/
|
||||
|
||||
static void Prj_ShowReviewStatus (struct Prj_Projects *Projects,
|
||||
const char *ClassLabel,
|
||||
const char *ClassData,
|
||||
const struct Prj_Faults *Faults,
|
||||
const char *Anchor)
|
||||
const char *ClassLabel,
|
||||
const char *ClassData,
|
||||
const struct Prj_Faults *Faults,
|
||||
const char *Anchor)
|
||||
{
|
||||
extern const char *Txt_Review;
|
||||
extern const char *Txt_PROJECT_REVIEW_SINGUL[Prj_NUM_REVIEW_STATUS];
|
||||
|
@ -1863,9 +1880,9 @@ static bool Prj_CheckIfICanReviewProjects (void)
|
|||
/*****************************************************************************/
|
||||
|
||||
static void Prj_ShowAssigned (const struct Prj_Projects *Projects,
|
||||
const char *ClassLabel,
|
||||
const char *ClassData,
|
||||
const struct Prj_Faults *Faults)
|
||||
const char *ClassLabel,
|
||||
const char *ClassData,
|
||||
const struct Prj_Faults *Faults)
|
||||
{
|
||||
extern const char *Txt_Assigned_QUESTION;
|
||||
extern const char *Txt_Yes;
|
||||
|
@ -1917,9 +1934,9 @@ static void Prj_ShowAssigned (const struct Prj_Projects *Projects,
|
|||
/*****************************************************************************/
|
||||
|
||||
static void Prj_ShowNumStds (const struct Prj_Projects *Projects,
|
||||
const char *ClassLabel,
|
||||
const char *ClassData,
|
||||
const struct Prj_Faults *Faults)
|
||||
const char *ClassLabel,
|
||||
const char *ClassData,
|
||||
const struct Prj_Faults *Faults)
|
||||
{
|
||||
extern const char *Txt_Number_of_students;
|
||||
|
||||
|
@ -1979,7 +1996,9 @@ static void Prj_ShowMembers (struct Prj_Projects *Projects)
|
|||
static void Prj_ShowProjectMembersWithARole (struct Prj_Projects *Projects,
|
||||
Prj_RoleInProject_t RoleInPrj)
|
||||
{
|
||||
;
|
||||
extern const char *HidVis_LabelClass[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
extern const char *HidVis_DataClass[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
extern const char *HidVis_MsgClass[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
extern const char *Txt_PROJECT_ROLES_SINGUL_Abc[Prj_NUM_ROLES_IN_PROJECT];
|
||||
extern const char *Txt_PROJECT_ROLES_PLURAL_Abc[Prj_NUM_ROLES_IN_PROJECT];
|
||||
static const Act_Action_t ActionReqRemUsr[Prj_NUM_ROLES_IN_PROJECT] =
|
||||
|
@ -2008,10 +2027,6 @@ static void Prj_ShowProjectMembersWithARole (struct Prj_Projects *Projects,
|
|||
bool WriteRow;
|
||||
unsigned NumUsr;
|
||||
unsigned NumUsrs;
|
||||
const char *ClassLabel = (Projects->Prj.Hidden == HidVis_HIDDEN) ? "ASG_LABEL_LIGHT" :
|
||||
"ASG_LABEL";
|
||||
const char *ClassData = (Projects->Prj.Hidden == HidVis_HIDDEN) ? "DAT_LIGHT" :
|
||||
"DAT";
|
||||
|
||||
/***** Get users in project from database *****/
|
||||
NumUsrs = Prj_DB_GetUsrsInPrj (&mysql_res,Projects->Prj.PrjCod,RoleInPrj);
|
||||
|
@ -2028,20 +2043,23 @@ static void Prj_ShowProjectMembersWithARole (struct Prj_Projects *Projects,
|
|||
{
|
||||
case Prj_LIST_PROJECTS:
|
||||
HTM_TD_Begin ("colspan=\"4\" class=\"RT %s_%s %s\"",
|
||||
ClassLabel,The_GetSuffix (),The_GetColorRows ());
|
||||
HidVis_LabelClass[Projects->Prj.Hidden],
|
||||
The_GetSuffix (),The_GetColorRows ());
|
||||
HTM_TxtColon (NumUsrs == 1 ? Txt_PROJECT_ROLES_SINGUL_Abc[RoleInPrj] :
|
||||
Txt_PROJECT_ROLES_PLURAL_Abc[RoleInPrj]);
|
||||
break;
|
||||
case Prj_VIEW_ONE_PROJECT:
|
||||
case Prj_PRINT_ONE_PROJECT:
|
||||
HTM_TD_Begin ("colspan=\"2\" class=\"RT %s_%s\"",
|
||||
ClassLabel,The_GetSuffix ());
|
||||
HidVis_LabelClass[Projects->Prj.Hidden],
|
||||
The_GetSuffix ());
|
||||
HTM_TxtColon (NumUsrs == 1 ? Txt_PROJECT_ROLES_SINGUL_Abc[RoleInPrj] :
|
||||
Txt_PROJECT_ROLES_PLURAL_Abc[RoleInPrj]);
|
||||
break;
|
||||
case Prj_EDIT_ONE_PROJECT:
|
||||
HTM_TD_Begin ("class=\"RT %s_%s\"",
|
||||
ClassLabel,The_GetSuffix ());
|
||||
HidVis_LabelClass[Projects->Prj.Hidden],
|
||||
The_GetSuffix ());
|
||||
HTM_TxtColon (Txt_PROJECT_ROLES_PLURAL_Abc[RoleInPrj]);
|
||||
break;
|
||||
}
|
||||
|
@ -2052,13 +2070,15 @@ static void Prj_ShowProjectMembersWithARole (struct Prj_Projects *Projects,
|
|||
{
|
||||
case Prj_LIST_PROJECTS:
|
||||
HTM_TD_Begin ("colspan=\"2\" class=\"LT %s_%s %s\"",
|
||||
ClassData,The_GetSuffix (),
|
||||
HidVis_DataClass[Projects->Prj.Hidden],
|
||||
The_GetSuffix (),
|
||||
The_GetColorRows ());
|
||||
break;
|
||||
case Prj_VIEW_ONE_PROJECT:
|
||||
case Prj_PRINT_ONE_PROJECT:
|
||||
HTM_TD_Begin ("colspan=\"2\" class=\"LT %s_%s\"",
|
||||
ClassData,The_GetSuffix ());
|
||||
HidVis_DataClass[Projects->Prj.Hidden],
|
||||
The_GetSuffix ());
|
||||
break;
|
||||
case Prj_EDIT_ONE_PROJECT:
|
||||
HTM_TD_Begin ("colspan=\"2\" class=\"LT DAT_%s\"",
|
||||
|
@ -2104,8 +2124,7 @@ static void Prj_ShowProjectMembersWithARole (struct Prj_Projects *Projects,
|
|||
|
||||
/* Write user's name */
|
||||
HTM_TD_Begin ("class=\"LM %s_%s\"",
|
||||
Projects->Prj.Hidden == HidVis_HIDDEN ? "MSG_AUT_LIGHT" :
|
||||
"MSG_AUT",
|
||||
HidVis_MsgClass[Projects->Prj.Hidden],
|
||||
The_GetSuffix ());
|
||||
HTM_Txt (Gbl.Usrs.Other.UsrDat.FullName);
|
||||
HTM_TD_End ();
|
||||
|
@ -2497,24 +2516,18 @@ static void Prj_PutIconToToggleProject (unsigned UniqueId,
|
|||
|
||||
static void Prj_ShowTableAllProjectsOneRow (struct Prj_Project *Prj)
|
||||
{
|
||||
extern const char *HidVis_DateBlueClass[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
extern const char *HidVis_DataClass[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
extern const char *Txt_Yes;
|
||||
extern const char *Txt_No;
|
||||
extern const char *Txt_PROJECT_STATUS[Prj_NUM_PROPOSAL_TYPES];
|
||||
unsigned NumRoleToShow;
|
||||
const char *ClassDate;
|
||||
const char *ClassData;
|
||||
static unsigned UniqueId = 0;
|
||||
char *Id;
|
||||
|
||||
/***** Get data of this project *****/
|
||||
Prj_GetProjectDataByCod (Prj);
|
||||
|
||||
/***** Set CSS classes *****/
|
||||
ClassDate = (Prj->Hidden == HidVis_HIDDEN) ? "DATE_BLUE_LIGHT" :
|
||||
"DATE_BLUE";
|
||||
ClassData = (Prj->Hidden == HidVis_HIDDEN) ? "DAT_LIGHT" :
|
||||
"DAT";
|
||||
|
||||
/***** Begin row *****/
|
||||
HTM_TR_Begin (NULL);
|
||||
|
||||
|
@ -2523,7 +2536,7 @@ static void Prj_ShowTableAllProjectsOneRow (struct Prj_Project *Prj)
|
|||
if (asprintf (&Id,"prj_creat_%u",UniqueId) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
HTM_TD_Begin ("id=\"%s\" class=\"LT %s %s\"",
|
||||
Id,ClassDate,The_GetColorRows ());
|
||||
Id,HidVis_DateBlueClass[Prj->Hidden],The_GetColorRows ());
|
||||
Dat_WriteLocalDateHMSFromUTC (Id,Prj->CreatTime,
|
||||
Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK,
|
||||
true,true,false,0x7);
|
||||
|
@ -2535,7 +2548,7 @@ static void Prj_ShowTableAllProjectsOneRow (struct Prj_Project *Prj)
|
|||
if (asprintf (&Id,"prj_modif_%u",UniqueId) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
HTM_TD_Begin ("id=\"%s\" class=\"LT %s %s\"",
|
||||
Id,ClassDate,The_GetColorRows ());
|
||||
Id,HidVis_DateBlueClass[Prj->Hidden],The_GetColorRows ());
|
||||
Dat_WriteLocalDateHMSFromUTC (Id,Prj->ModifTime,
|
||||
Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK,
|
||||
true,true,false,0x7);
|
||||
|
@ -2544,7 +2557,7 @@ static void Prj_ShowTableAllProjectsOneRow (struct Prj_Project *Prj)
|
|||
|
||||
/***** Project title *****/
|
||||
HTM_TD_Begin ("class=\"LT %s_%s %s\"",
|
||||
ClassData,The_GetSuffix (),The_GetColorRows ());
|
||||
HidVis_DataClass[Prj->Hidden],The_GetSuffix (),The_GetColorRows ());
|
||||
HTM_Txt (Prj->Title);
|
||||
HTM_TD_End ();
|
||||
|
||||
|
@ -2553,14 +2566,16 @@ static void Prj_ShowTableAllProjectsOneRow (struct Prj_Project *Prj)
|
|||
|
||||
/***** Assigned? *****/
|
||||
HTM_TD_Begin ("class=\"LT %s_%s %s\"",
|
||||
ClassData,The_GetSuffix (),The_GetColorRows ());
|
||||
HidVis_DataClass[Prj->Hidden],The_GetSuffix (),
|
||||
The_GetColorRows ());
|
||||
HTM_Txt ((Prj->Assigned == Prj_ASSIGNED) ? Txt_Yes :
|
||||
Txt_No);
|
||||
HTM_TD_End ();
|
||||
|
||||
/***** Number of students *****/
|
||||
HTM_TD_Begin ("class=\"LT %s_%s %s\"",
|
||||
ClassData,The_GetSuffix (),The_GetColorRows ());
|
||||
HidVis_DataClass[Prj->Hidden],The_GetSuffix (),
|
||||
The_GetColorRows ());
|
||||
HTM_Unsigned (Prj->NumStds);
|
||||
HTM_TD_End ();
|
||||
|
||||
|
@ -2572,7 +2587,8 @@ static void Prj_ShowTableAllProjectsOneRow (struct Prj_Project *Prj)
|
|||
|
||||
/***** Proposal *****/
|
||||
HTM_TD_Begin ("class=\"LT %s_%s %s\"",
|
||||
ClassData,The_GetSuffix (),The_GetColorRows ());
|
||||
HidVis_DataClass[Prj->Hidden],The_GetSuffix (),
|
||||
The_GetColorRows ());
|
||||
HTM_Txt (Txt_PROJECT_STATUS[Prj->Proposal]);
|
||||
HTM_TD_End ();
|
||||
|
||||
|
@ -2599,12 +2615,8 @@ static void Prj_ShowTableAllProjectsOneRow (struct Prj_Project *Prj)
|
|||
|
||||
static void Prj_ShowTableAllProjectsDepartment (const struct Prj_Project *Prj)
|
||||
{
|
||||
extern const char *HidVis_DataClass[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
struct Dpt_Department Dpt;
|
||||
const char *ClassData;
|
||||
|
||||
/***** Set CSS classes *****/
|
||||
ClassData = (Prj->Hidden == HidVis_HIDDEN) ? "DAT_LIGHT" :
|
||||
"DAT";
|
||||
|
||||
/***** Get data of department *****/
|
||||
Dpt.DptCod = Prj->DptCod;
|
||||
|
@ -2612,7 +2624,8 @@ static void Prj_ShowTableAllProjectsDepartment (const struct Prj_Project *Prj)
|
|||
|
||||
/***** Show department *****/
|
||||
HTM_TD_Begin ("class=\"LT %s_%s %s\"",
|
||||
ClassData,The_GetSuffix (),The_GetColorRows ());
|
||||
HidVis_DataClass[Prj->Hidden],The_GetSuffix (),
|
||||
The_GetColorRows ());
|
||||
HTM_Txt (Dpt.FullName);
|
||||
HTM_TD_End ();
|
||||
}
|
||||
|
@ -2624,11 +2637,7 @@ static void Prj_ShowTableAllProjectsDepartment (const struct Prj_Project *Prj)
|
|||
static void Prj_ShowTableAllProjectsTxtField (struct Prj_Project *Prj,
|
||||
char *TxtField)
|
||||
{
|
||||
const char *ClassData;
|
||||
|
||||
/***** Set CSS classes *****/
|
||||
ClassData = (Prj->Hidden == HidVis_HIDDEN) ? "DAT_LIGHT" :
|
||||
"DAT";
|
||||
extern const char *HidVis_DataClass[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
|
||||
/***** Change format *****/
|
||||
Str_ChangeFormat (Str_FROM_HTML,Str_TO_RIGOROUS_HTML,
|
||||
|
@ -2636,7 +2645,8 @@ static void Prj_ShowTableAllProjectsTxtField (struct Prj_Project *Prj,
|
|||
|
||||
/***** Write text *****/
|
||||
HTM_TD_Begin ("class=\"LT %s_%s %s\"",
|
||||
ClassData,The_GetSuffix (),The_GetColorRows ());
|
||||
HidVis_DataClass[Prj->Hidden],The_GetSuffix (),
|
||||
The_GetColorRows ());
|
||||
HTM_Txt (TxtField);
|
||||
HTM_TD_End ();
|
||||
}
|
||||
|
@ -2647,15 +2657,12 @@ static void Prj_ShowTableAllProjectsTxtField (struct Prj_Project *Prj,
|
|||
|
||||
static void Prj_ShowTableAllProjectsURL (const struct Prj_Project *Prj)
|
||||
{
|
||||
const char *ClassData;
|
||||
|
||||
/***** Set CSS classes *****/
|
||||
ClassData = (Prj->Hidden == HidVis_HIDDEN) ? "DAT_LIGHT" :
|
||||
"DAT";
|
||||
extern const char *HidVis_DataClass[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
|
||||
/***** Show URL *****/
|
||||
HTM_TD_Begin ("class=\"LT %s_%s %s\"",
|
||||
ClassData,The_GetSuffix (),The_GetColorRows ());
|
||||
HidVis_DataClass[Prj->Hidden],The_GetSuffix (),
|
||||
The_GetColorRows ());
|
||||
HTM_Txt (Prj->URL);
|
||||
HTM_TD_End ();
|
||||
}
|
||||
|
@ -2667,22 +2674,19 @@ static void Prj_ShowTableAllProjectsURL (const struct Prj_Project *Prj)
|
|||
static void Prj_ShowTableAllProjectsMembersWithARole (const struct Prj_Project *Prj,
|
||||
Prj_RoleInProject_t RoleInPrj)
|
||||
{
|
||||
extern const char *HidVis_DataClass[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
MYSQL_RES *mysql_res;
|
||||
MYSQL_ROW row;
|
||||
unsigned NumUsr;
|
||||
unsigned NumUsrs;
|
||||
const char *ClassData;
|
||||
|
||||
/***** Set CSS classes *****/
|
||||
ClassData = (Prj->Hidden == HidVis_HIDDEN) ? "DAT_LIGHT" :
|
||||
"DAT";
|
||||
|
||||
/***** Get users in project from database *****/
|
||||
NumUsrs = Prj_DB_GetUsrsInPrj (&mysql_res,Prj->PrjCod,RoleInPrj);
|
||||
|
||||
/***** Begin column with list of all members with this role *****/
|
||||
HTM_TD_Begin ("class=\"LT %s_%s %s\"",
|
||||
ClassData,The_GetSuffix (),The_GetColorRows ());
|
||||
HidVis_DataClass[Prj->Hidden],The_GetSuffix (),
|
||||
The_GetColorRows ());
|
||||
|
||||
if (NumUsrs)
|
||||
{
|
||||
|
@ -3173,8 +3177,7 @@ static void Prj_PutIconsToRemEditOnePrj (struct Prj_Projects *Projects,
|
|||
/***** Icon to hide/unhide project *****/
|
||||
Ico_PutContextualIconToHideUnhide (ActionHideUnhide,Anchor,
|
||||
Prj_PutCurrentPars,Projects,
|
||||
Projects->Prj.Hidden == HidVis_HIDDEN ? HidVis_HIDDEN :
|
||||
HidVis_VISIBLE);
|
||||
Projects->Prj.Hidden);
|
||||
|
||||
/***** Icon to edit project *****/
|
||||
Ico_PutContextualIconToEdit (ActEdiOnePrj,NULL,
|
||||
|
|
|
@ -104,6 +104,8 @@ void Prj_DB_UnlockProjectEdition (long PrjCod)
|
|||
|
||||
long Prj_DB_CreateProject (const struct Prj_Project *Prj)
|
||||
{
|
||||
extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
|
||||
return
|
||||
DB_QueryINSERTandReturnCode ("can not create new project",
|
||||
"INSERT INTO prj_projects"
|
||||
|
@ -118,8 +120,7 @@ long Prj_DB_CreateProject (const struct Prj_Project *Prj)
|
|||
"'%s',FROM_UNIXTIME(%ld),'%s')",
|
||||
Gbl.Hierarchy.Crs.CrsCod,
|
||||
Prj->DptCod,
|
||||
Prj->Hidden == HidVis_HIDDEN ? 'Y' :
|
||||
'N',
|
||||
HidVis_YN[Prj->Hidden],
|
||||
Prj->Assigned == Prj_ASSIGNED ? 'Y' :
|
||||
'N',
|
||||
Prj->NumStds,
|
||||
|
@ -142,6 +143,8 @@ long Prj_DB_CreateProject (const struct Prj_Project *Prj)
|
|||
|
||||
void Prj_DB_UpdateProject (const struct Prj_Project *Prj)
|
||||
{
|
||||
extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
|
||||
DB_QueryUPDATE ("can not update project",
|
||||
"UPDATE prj_projects"
|
||||
" SET DptCod=%ld,"
|
||||
|
@ -158,8 +161,7 @@ void Prj_DB_UpdateProject (const struct Prj_Project *Prj)
|
|||
" WHERE PrjCod=%ld"
|
||||
" AND CrsCod=%ld", // Extra check
|
||||
Prj->DptCod,
|
||||
Prj->Hidden == HidVis_HIDDEN ? 'Y' :
|
||||
'N',
|
||||
HidVis_YN[Prj->Hidden],
|
||||
Prj->Assigned == Prj_ASSIGNED ? 'Y' :
|
||||
'N',
|
||||
Prj->NumStds,
|
||||
|
@ -197,13 +199,14 @@ void Prj_DB_AddUsrToPrj (long PrjCod,Prj_RoleInProject_t RoleInProject,long UsrC
|
|||
void Prj_DB_HideOrUnhideProject (long PrjCod,
|
||||
HidVis_HiddenOrVisible_t HiddenOrVisible)
|
||||
{
|
||||
extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
|
||||
DB_QueryUPDATE ("can not hide/unhide project",
|
||||
"UPDATE prj_projects"
|
||||
" SET Hidden='%c'"
|
||||
" WHERE PrjCod=%ld"
|
||||
" AND CrsCod=%ld", // Extra check
|
||||
HiddenOrVisible == HidVis_HIDDEN ? 'Y' :
|
||||
'N',
|
||||
HidVis_YN[HiddenOrVisible],
|
||||
PrjCod,
|
||||
Gbl.Hierarchy.Crs.CrsCod);
|
||||
}
|
||||
|
|
|
@ -111,12 +111,13 @@ void Svy_DB_UpdateSurvey (const struct Svy_Survey *Svy,const char *Txt)
|
|||
void Svy_DB_HideOrUnhideSurvey (long SvyCod,
|
||||
HidVis_HiddenOrVisible_t HiddenOrVisible)
|
||||
{
|
||||
extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE];
|
||||
|
||||
DB_QueryUPDATE ("can not hide/unhide survey",
|
||||
"UPDATE svy_surveys"
|
||||
" SET Hidden='%c'"
|
||||
" WHERE SvyCod=%ld",
|
||||
HiddenOrVisible == HidVis_HIDDEN ? 'Y' :
|
||||
'N',
|
||||
HidVis_YN[HiddenOrVisible],
|
||||
SvyCod);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue