Version 23.41: Oct 29, 2023 Code refactoring in view/edit/print.

This commit is contained in:
acanas 2023-10-29 12:32:08 +01:00
parent e1135c77b7
commit 362c522791
29 changed files with 765 additions and 678 deletions

View File

@ -67,8 +67,7 @@ extern struct Globals Gbl;
/*****************************************************************************/ /*****************************************************************************/
static void Asg_PutHead (struct Asg_Assignments *Assignments, static void Asg_PutHead (struct Asg_Assignments *Assignments,
bool OnlyOneAssignment, bool OnlyOneAssignment,Vie_ViewType_t ViewType);
bool PrintView);
static bool Asg_CheckIfICanCreateAssignments (void); static bool Asg_CheckIfICanCreateAssignments (void);
static void Asg_PutIconsListAssignments (void *Assignments); static void Asg_PutIconsListAssignments (void *Assignments);
static void Asg_PutIconToCreateNewAsg (void *Assignments); static void Asg_PutIconToCreateNewAsg (void *Assignments);
@ -76,9 +75,10 @@ static void Asg_ParsWhichGroupsToShow (void *Assignments);
static void Asg_PutIconsOneAsg (void *Assignments); static void Asg_PutIconsOneAsg (void *Assignments);
static void Asg_ShowAssignmentRow (struct Asg_Assignments *Assignments, static void Asg_ShowAssignmentRow (struct Asg_Assignments *Assignments,
bool OnlyOneAssignment, bool OnlyOneAssignment,
bool PrintView); Vie_ViewType_t ViewType);
static void Asg_WriteAsgAuthor (struct Asg_Assignment *Asg); static void Asg_WriteAsgAuthor (struct Asg_Assignment *Asg);
static void Asg_WriteAssignmentFolder (struct Asg_Assignment *Asg,bool PrintView); static void Asg_WriteAssignmentFolder (struct Asg_Assignment *Asg,
Vie_ViewType_t ViewType);
static void Asg_PutIconsToRemEditOneAsg (struct Asg_Assignments *Assignments, static void Asg_PutIconsToRemEditOneAsg (struct Asg_Assignments *Assignments,
const char *Anchor); const char *Anchor);
@ -179,7 +179,7 @@ void Asg_ShowAllAssignments (struct Asg_Assignments *Assignments)
/***** Table head *****/ /***** Table head *****/
Asg_PutHead (Assignments, Asg_PutHead (Assignments,
false, // Not only this assignment in table false, // Not only this assignment in table
false); // Not print view Vie_VIEW); // Not print view
/***** Write all assignments *****/ /***** Write all assignments *****/
for (NumAsg = Pagination.FirstItemVisible, The_ResetRowColor (); for (NumAsg = Pagination.FirstItemVisible, The_ResetRowColor ();
@ -190,7 +190,7 @@ void Asg_ShowAllAssignments (struct Asg_Assignments *Assignments)
Asg_GetAssignmentDataByCod (&Assignments->Asg); Asg_GetAssignmentDataByCod (&Assignments->Asg);
Asg_ShowAssignmentRow (Assignments, Asg_ShowAssignmentRow (Assignments,
false, // Not only this assignment in table false, // Not only this assignment in table
false); // Not print view Vie_VIEW); // Not print view
} }
/***** End table *****/ /***** End table *****/
@ -215,8 +215,7 @@ void Asg_ShowAllAssignments (struct Asg_Assignments *Assignments)
/*****************************************************************************/ /*****************************************************************************/
static void Asg_PutHead (struct Asg_Assignments *Assignments, static void Asg_PutHead (struct Asg_Assignments *Assignments,
bool OnlyOneAssignment, bool OnlyOneAssignment,Vie_ViewType_t ViewType)
bool PrintView)
{ {
extern const char *Txt_START_END_TIME_HELP[Dat_NUM_START_END_TIME]; extern const char *Txt_START_END_TIME_HELP[Dat_NUM_START_END_TIME];
extern const char *Txt_START_END_TIME[Dat_NUM_START_END_TIME]; extern const char *Txt_START_END_TIME[Dat_NUM_START_END_TIME];
@ -237,7 +236,7 @@ static void Asg_PutHead (struct Asg_Assignments *Assignments,
/* Begin head cell */ /* Begin head cell */
HTM_TH_Begin (HTM_HEAD_LEFT); HTM_TH_Begin (HTM_HEAD_LEFT);
if (!PrintView) if (ViewType == Vie_VIEW)
{ {
/* Begin form */ /* Begin form */
Frm_BeginForm (ActSeeAllAsg); Frm_BeginForm (ActSeeAllAsg);
@ -256,7 +255,7 @@ static void Asg_PutHead (struct Asg_Assignments *Assignments,
/* Start / end text */ /* Start / end text */
HTM_Txt (Txt_START_END_TIME[Order]); HTM_Txt (Txt_START_END_TIME[Order]);
if (!PrintView) if (ViewType == Vie_VIEW)
{ {
/* End link to select order */ /* End link to select order */
if (Order == Assignments->SelectedOrder) if (Order == Assignments->SelectedOrder)
@ -388,7 +387,7 @@ void Asg_PrintOneAssignment (void)
Asg_GetAssignmentDataByCod (&Assignments.Asg); Asg_GetAssignmentDataByCod (&Assignments.Asg);
/***** Write header *****/ /***** Write header *****/
Lay_WriteHeaderClassPhoto (true,false); Lay_WriteHeaderClassPhoto (Vie_PRINT,false);
/***** Begin table *****/ /***** Begin table *****/
HTM_TABLE_BeginWideMarginPadding (2); HTM_TABLE_BeginWideMarginPadding (2);
@ -396,12 +395,12 @@ void Asg_PrintOneAssignment (void)
/***** Table head *****/ /***** Table head *****/
Asg_PutHead (&Assignments, Asg_PutHead (&Assignments,
true, // Only this assignment in table true, // Only this assignment in table
true); // Print view Vie_PRINT); // Print view
/***** Write assignment *****/ /***** Write assignment *****/
Asg_ShowAssignmentRow (&Assignments, Asg_ShowAssignmentRow (&Assignments,
true, // Only this assignment in table true, // Only this assignment in table
true); // Print view Vie_PRINT); // Print view
/***** End table *****/ /***** End table *****/
HTM_TABLE_End (); HTM_TABLE_End ();
@ -425,12 +424,12 @@ void Asg_ShowOneAssignmentInBox (struct Asg_Assignments *Assignments)
/***** Table head *****/ /***** Table head *****/
Asg_PutHead (Assignments, Asg_PutHead (Assignments,
true, // Only this assignment in table true, // Only this assignment in table
false); // Not print view Vie_VIEW); // Not print view
/***** Write assignment *****/ /***** Write assignment *****/
Asg_ShowAssignmentRow (Assignments, Asg_ShowAssignmentRow (Assignments,
true, // Only this assignment in table true, // Only this assignment in table
false); // Not print view Vie_VIEW); // Not print view
/***** End table and end box *****/ /***** End table and end box *****/
Box_BoxTableEnd (); Box_BoxTableEnd ();
@ -463,7 +462,7 @@ static void Asg_PutIconsOneAsg (void *Assignments)
static void Asg_ShowAssignmentRow (struct Asg_Assignments *Assignments, static void Asg_ShowAssignmentRow (struct Asg_Assignments *Assignments,
bool OnlyOneAssignment, bool OnlyOneAssignment,
bool PrintView) Vie_ViewType_t ViewType)
{ {
extern const char *Txt_Actions[ActLst_NUM_ACTIONS]; extern const char *Txt_Actions[ActLst_NUM_ACTIONS];
extern const char *HidVis_DateGreenClass[HidVis_NUM_HIDDEN_VISIBLE]; extern const char *HidVis_DateGreenClass[HidVis_NUM_HIDDEN_VISIBLE];
@ -500,19 +499,27 @@ static void Asg_ShowAssignmentRow (struct Asg_Assignments *Assignments,
{ {
if (asprintf (&Id,"asg_date_%u_%u",(unsigned) StartEndTime,UniqueId) < 0) if (asprintf (&Id,"asg_date_%u_%u",(unsigned) StartEndTime,UniqueId) < 0)
Err_NotEnoughMemoryExit (); Err_NotEnoughMemoryExit ();
if (PrintView) switch (ViewType)
HTM_TD_Begin ("id=\"%s\" class=\"LT %s_%s\"", {
Id, case Vie_VIEW:
Assignments->Asg.Open ? HidVis_DateGreenClass[Assignments->Asg.HiddenOrVisible] :
HidVis_DateRedClass[Assignments->Asg.HiddenOrVisible],
The_GetSuffix ());
else
HTM_TD_Begin ("id=\"%s\" class=\"LT %s_%s %s\"", HTM_TD_Begin ("id=\"%s\" class=\"LT %s_%s %s\"",
Id, Id,
Assignments->Asg.Open ? HidVis_DateGreenClass[Assignments->Asg.HiddenOrVisible] : Assignments->Asg.Open ? HidVis_DateGreenClass[Assignments->Asg.HiddenOrVisible] :
HidVis_DateRedClass[Assignments->Asg.HiddenOrVisible], HidVis_DateRedClass[Assignments->Asg.HiddenOrVisible],
The_GetSuffix (), The_GetSuffix (),
The_GetColorRows ()); The_GetColorRows ());
break;
case Vie_PRINT:
HTM_TD_Begin ("id=\"%s\" class=\"LT %s_%s\"",
Id,
Assignments->Asg.Open ? HidVis_DateGreenClass[Assignments->Asg.HiddenOrVisible] :
HidVis_DateRedClass[Assignments->Asg.HiddenOrVisible],
The_GetSuffix ());
break;
default:
Err_WrongTypeExit ();
break;
}
Dat_WriteLocalDateHMSFromUTC (Id,Assignments->Asg.TimeUTC[StartEndTime], Dat_WriteLocalDateHMSFromUTC (Id,Assignments->Asg.TimeUTC[StartEndTime],
Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK,
true,true,true,0x7); true,true,true,0x7);
@ -521,10 +528,18 @@ static void Asg_ShowAssignmentRow (struct Asg_Assignments *Assignments,
} }
/* Assignment title */ /* Assignment title */
if (PrintView) switch (ViewType)
HTM_TD_Begin ("class=\"LT\""); {
else case Vie_VIEW:
HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ()); HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ());
break;
case Vie_PRINT:
HTM_TD_Begin ("class=\"LT\"");
break;
default:
Err_WrongTypeExit ();
break;
}
HTM_ARTICLE_Begin (Anchor); HTM_ARTICLE_Begin (Anchor);
Frm_BeginForm (ActSeeOneAsg); Frm_BeginForm (ActSeeOneAsg);
@ -541,14 +556,23 @@ static void Asg_ShowAssignmentRow (struct Asg_Assignments *Assignments,
HTM_TD_End (); HTM_TD_End ();
/* Assignment folder */ /* Assignment folder */
if (PrintView) switch (ViewType)
HTM_TD_Begin ("class=\"LT DAT_%s\"", {
The_GetSuffix ()); case Vie_VIEW:
else
HTM_TD_Begin ("class=\"LT DAT_%s %s\"", HTM_TD_Begin ("class=\"LT DAT_%s %s\"",
The_GetSuffix (),The_GetColorRows ()); The_GetSuffix (),The_GetColorRows ());
break;
case Vie_PRINT:
HTM_TD_Begin ("class=\"LT DAT_%s\"",
The_GetSuffix ());
break;
default:
Err_WrongTypeExit ();
break;
}
if (Assignments->Asg.SendWork == Asg_SEND_WORK) if (Assignments->Asg.SendWork == Asg_SEND_WORK)
Asg_WriteAssignmentFolder (&Assignments->Asg,PrintView); Asg_WriteAssignmentFolder (&Assignments->Asg,ViewType);
HTM_TD_End (); HTM_TD_End ();
HTM_TR_End (); HTM_TR_End ();
@ -557,10 +581,18 @@ static void Asg_ShowAssignmentRow (struct Asg_Assignments *Assignments,
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
/* Author of the assignment */ /* Author of the assignment */
if (PrintView) switch (ViewType)
HTM_TD_Begin ("colspan=\"2\" class=\"LT\""); {
else case Vie_VIEW:
HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"",The_GetColorRows ()); HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"",The_GetColorRows ());
break;
case Vie_PRINT:
HTM_TD_Begin ("colspan=\"2\" class=\"LT\"");
break;
default:
Err_WrongTypeExit ();
break;
}
Asg_WriteAsgAuthor (&Assignments->Asg); Asg_WriteAsgAuthor (&Assignments->Asg);
HTM_TD_End (); HTM_TD_End ();
@ -569,10 +601,18 @@ static void Asg_ShowAssignmentRow (struct Asg_Assignments *Assignments,
Str_ChangeFormat (Str_FROM_HTML,Str_TO_RIGOROUS_HTML, Str_ChangeFormat (Str_FROM_HTML,Str_TO_RIGOROUS_HTML,
Txt,Cns_MAX_BYTES_TEXT,Str_DONT_REMOVE_SPACES); Txt,Cns_MAX_BYTES_TEXT,Str_DONT_REMOVE_SPACES);
ALn_InsertLinks (Txt,Cns_MAX_BYTES_TEXT,60); // Insert links ALn_InsertLinks (Txt,Cns_MAX_BYTES_TEXT,60); // Insert links
if (PrintView) switch (ViewType)
HTM_TD_Begin ("colspan=\"2\" class=\"LT\""); {
else case Vie_VIEW:
HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"",The_GetColorRows ()); HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"",The_GetColorRows ());
break;
case Vie_PRINT:
HTM_TD_Begin ("colspan=\"2\" class=\"LT\"");
break;
default:
Err_WrongTypeExit ();
break;
}
if (Gbl.Crs.Grps.NumGrps) if (Gbl.Crs.Grps.NumGrps)
Asg_GetAndWriteNamesOfGrpsAssociatedToAsg (&Assignments->Asg); Asg_GetAndWriteNamesOfGrpsAssociatedToAsg (&Assignments->Asg);
@ -606,7 +646,8 @@ static void Asg_WriteAsgAuthor (struct Asg_Assignment *Asg)
/********************* Write the folder of an assignment *********************/ /********************* Write the folder of an assignment *********************/
/*****************************************************************************/ /*****************************************************************************/
static void Asg_WriteAssignmentFolder (struct Asg_Assignment *Asg,bool PrintView) static void Asg_WriteAssignmentFolder (struct Asg_Assignment *Asg,
Vie_ViewType_t ViewType)
{ {
extern const char *Txt_Folder; extern const char *Txt_Folder;
Act_Action_t NextAction; Act_Action_t NextAction;
@ -615,7 +656,7 @@ static void Asg_WriteAssignmentFolder (struct Asg_Assignment *Asg,bool PrintView
Asg->IBelongToCrsOrGrps; // I belong to course or groups Asg->IBelongToCrsOrGrps; // I belong to course or groups
/***** Folder icon *****/ /***** Folder icon *****/
if (!PrintView && // Not print view if (ViewType == Vie_VIEW && // Not print view
ICanSendFiles) // I can send files to this assignment folder ICanSendFiles) // I can send files to this assignment folder
{ {
/* Form to create a new file or folder */ /* Form to create a new file or folder */

View File

@ -78,7 +78,7 @@ static unsigned Cal_GetParFirstDayOfWeek (void);
static void Cal_DrawCalendar (Act_Action_t ActionSeeCalendar, static void Cal_DrawCalendar (Act_Action_t ActionSeeCalendar,
Act_Action_t ActionChangeCalendar1stDay, Act_Action_t ActionChangeCalendar1stDay,
void (*FunctionToDrawContextualIcons) (void *Args),void *Args, void (*FunctionToDrawContextualIcons) (void *Args),void *Args,
bool PrintView); Vie_ViewType_t ViewType);
static void Cal_PutIconsCalendar (__attribute__((unused)) void *Args); static void Cal_PutIconsCalendar (__attribute__((unused)) void *Args);
/*****************************************************************************/ /*****************************************************************************/
@ -235,36 +235,42 @@ void Cal_ShowCalendar (void)
{ {
Cal_DrawCalendar (ActSeeCal,ActChgCal1stDay, Cal_DrawCalendar (ActSeeCal,ActChgCal1stDay,
Cal_PutIconsCalendar,NULL, Cal_PutIconsCalendar,NULL,
false); Vie_VIEW);
} }
void Cal_PrintCalendar (void) void Cal_PrintCalendar (void)
{ {
Cal_DrawCalendar (ActUnk,ActUnk, Cal_DrawCalendar (ActUnk,ActUnk,
NULL,NULL, NULL,NULL,
true); Vie_PRINT);
} }
static void Cal_DrawCalendar (Act_Action_t ActionSeeCalendar, static void Cal_DrawCalendar (Act_Action_t ActionSeeCalendar,
Act_Action_t ActionChangeCalendar1stDay, Act_Action_t ActionChangeCalendar1stDay,
void (*FunctionToDrawContextualIcons) (void *Args),void *Args, void (*FunctionToDrawContextualIcons) (void *Args),void *Args,
bool PrintView) Vie_ViewType_t ViewType)
{ {
extern const char *Hlp_START_Calendar; extern const char *Hlp_START_Calendar;
extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES]; extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES];
char ParsStr[Frm_MAX_BYTES_PARAMS_STR + 1]; char ParsStr[Frm_MAX_BYTES_PARAMS_STR + 1];
static const char *Print[Vie_NUM_VIEW_TYPES] =
{
[Vie_VIEW ] = "false",
[Vie_PRINT] = "true",
};
/***** Begin box *****/ /***** Begin box *****/
Box_BoxBegin (NULL,NULL, Box_BoxBegin (NULL,NULL,
FunctionToDrawContextualIcons,Args, FunctionToDrawContextualIcons,Args,
PrintView ? NULL : ViewType == Vie_VIEW ? Hlp_START_Calendar :
Hlp_START_Calendar,Box_NOT_CLOSABLE); NULL,
Box_NOT_CLOSABLE);
/***** Write header *****/ /***** Write header *****/
Lay_WriteHeaderClassPhoto (PrintView,false); Lay_WriteHeaderClassPhoto (ViewType,false);
/***** Preference selector to change first day of week *****/ /***** Preference selector to change first day of week *****/
if (!PrintView) if (ViewType == Vie_VIEW)
{ {
Set_BeginSettingsHead (); Set_BeginSettingsHead ();
Cal_ShowFormToSelFirstDayOfWeek (ActionChangeCalendar1stDay, Cal_ShowFormToSelFirstDayOfWeek (ActionChangeCalendar1stDay,
@ -284,8 +290,7 @@ static void Cal_DrawCalendar (Act_Action_t ActionSeeCalendar,
Gbl.Prefs.FirstDayOfWeek, Gbl.Prefs.FirstDayOfWeek,
(long) Dat_GetStartExecutionTimeUTC (), (long) Dat_GetStartExecutionTimeUTC (),
Gbl.Hierarchy.Node[Hie_CTR].Specific.PlcCod, Gbl.Hierarchy.Node[Hie_CTR].Specific.PlcCod,
PrintView ? "true" : Print[ViewType],
"false",
The_GetSuffix (), The_GetSuffix (),
Cfg_URL_SWAD_CGI,Lan_STR_LANG_ID[Gbl.Prefs.Language]); Cfg_URL_SWAD_CGI,Lan_STR_LANG_ID[Gbl.Prefs.Language]);
Frm_SetParsForm (ParsStr,ActionSeeCalendar,true); Frm_SetParsForm (ParsStr,ActionSeeCalendar,true);

View File

@ -75,23 +75,23 @@ extern struct Globals Gbl;
/***************************** Private prototypes ****************************/ /***************************** Private prototypes ****************************/
/*****************************************************************************/ /*****************************************************************************/
static void CtrCfg_Configuration (bool PrintView); static void CtrCfg_Configuration (Vie_ViewType_t ViewType);
static void CtrCfg_PutIconsCtrConfig (__attribute__((unused)) void *Args); static void CtrCfg_PutIconsCtrConfig (__attribute__((unused)) void *Args);
static void CtrCfg_PutIconToChangePhoto (void); static void CtrCfg_PutIconToChangePhoto (void);
static void CtrCfg_Map (const struct Map_Coordinates *Coord); static void CtrCfg_Map (const struct Map_Coordinates *Coord);
static void CtrCfg_Latitude (double Latitude); static void CtrCfg_Latitude (double Latitude);
static void CtrCfg_Longitude (double Longitude); static void CtrCfg_Longitude (double Longitude);
static void CtrCfg_Altitude (double Altitude); static void CtrCfg_Altitude (double Altitude);
static void CtrCfg_Photo (bool PrintView,bool PutForm,bool PutLink, static void CtrCfg_Photo (Vie_ViewType_t ViewType,bool PutForm,bool PutLink,
const char PathPhoto[PATH_MAX + 1]); const char PathPhoto[PATH_MAX + 1]);
static void CtrCfg_GetPhotoAttr (long CtrCod,char **PhotoAttribution); static void CtrCfg_GetPhotoAttr (long CtrCod,char **PhotoAttribution);
static void CtrCfg_FreePhotoAttr (char **PhotoAttribution); static void CtrCfg_FreePhotoAttr (char **PhotoAttribution);
static void CtrCfg_Institution (bool PrintView,bool PutForm); static void CtrCfg_Institution (Vie_ViewType_t ViewType,bool PutForm);
static void CtrCfg_FullName (bool PutForm); static void CtrCfg_FullName (bool PutForm);
static void CtrCfg_ShrtName (bool PutForm); static void CtrCfg_ShrtName (bool PutForm);
static void CtrCfg_Place (bool PutForm); static void CtrCfg_Place (bool PutForm);
static void CtrCfg_WWW (bool PrintView,bool PutForm); static void CtrCfg_WWW (Vie_ViewType_t ViewType,bool PutForm);
static void CtrCfg_Shortcut (bool PrintView); static void CtrCfg_Shortcut (Vie_ViewType_t ViewType);
static void CtrCfg_QR (void); static void CtrCfg_QR (void);
static void CtrCfg_NumUsrs (void); static void CtrCfg_NumUsrs (void);
static void CtrCfg_NumDegs (void); static void CtrCfg_NumDegs (void);
@ -103,7 +103,7 @@ static void CtrCfg_NumCrss (void);
void CtrCfg_ShowConfiguration (void) void CtrCfg_ShowConfiguration (void)
{ {
CtrCfg_Configuration (false); CtrCfg_Configuration (Vie_VIEW);
/***** Show help to enrol me *****/ /***** Show help to enrol me *****/
Hlp_ShowHelpWhatWouldYouLikeToDo (); Hlp_ShowHelpWhatWouldYouLikeToDo ();
@ -115,14 +115,14 @@ void CtrCfg_ShowConfiguration (void)
void CtrCfg_PrintConfiguration (void) void CtrCfg_PrintConfiguration (void)
{ {
CtrCfg_Configuration (true); CtrCfg_Configuration (Vie_PRINT);
} }
/*****************************************************************************/ /*****************************************************************************/
/******************* Information of the current center ***********************/ /******************* Information of the current center ***********************/
/*****************************************************************************/ /*****************************************************************************/
static void CtrCfg_Configuration (bool PrintView) static void CtrCfg_Configuration (Vie_ViewType_t ViewType)
{ {
extern const char *Hlp_CENTER_Information; extern const char *Hlp_CENTER_Information;
struct Map_Coordinates Coord; struct Map_Coordinates Coord;
@ -145,23 +145,20 @@ static void CtrCfg_Configuration (bool PrintView)
Ctr_GetCoordByCod (Gbl.Hierarchy.Node[Hie_CTR].HieCod,&Coord); Ctr_GetCoordByCod (Gbl.Hierarchy.Node[Hie_CTR].HieCod,&Coord);
/***** Initializations *****/ /***** Initializations *****/
PutLink = !PrintView && Gbl.Hierarchy.Node[Hie_CTR].WWW[0]; PutLink = ViewType == Vie_VIEW && Gbl.Hierarchy.Node[Hie_CTR].WWW[0];
PutFormIns = !PrintView && Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM; PutFormIns = ViewType == Vie_VIEW && Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM;
PutFormName = !PrintView && Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM; PutFormName = ViewType == Vie_VIEW && Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM;
PutFormPlc = PutFormPlc =
PutFormCoor = PutFormCoor =
PutFormWWW = PutFormWWW =
PutFormPhoto = !PrintView && Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM; PutFormPhoto = ViewType == Vie_VIEW && Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM;
/***** Begin box *****/ /***** Begin box *****/
if (PrintView)
Box_BoxBegin (NULL,NULL, Box_BoxBegin (NULL,NULL,
ViewType == Vie_VIEW ? CtrCfg_PutIconsCtrConfig :
NULL,NULL, NULL,NULL,
ViewType == Vie_VIEW ? Hlp_CENTER_Information :
NULL,Box_NOT_CLOSABLE); NULL,Box_NOT_CLOSABLE);
else
Box_BoxBegin (NULL,NULL,
CtrCfg_PutIconsCtrConfig,NULL,
Hlp_CENTER_Information,Box_NOT_CLOSABLE);
/***** Title *****/ /***** Title *****/
HieCfg_Title (PutLink,Hie_CTR); HieCfg_Title (PutLink,Hie_CTR);
@ -173,7 +170,7 @@ static void CtrCfg_Configuration (bool PrintView)
HTM_TABLE_BeginWidePadding (2); HTM_TABLE_BeginWidePadding (2);
/***** Institution *****/ /***** Institution *****/
CtrCfg_Institution (PrintView,PutFormIns); CtrCfg_Institution (ViewType,PutFormIns);
/***** Center name *****/ /***** Center name *****/
CtrCfg_FullName (PutFormName); CtrCfg_FullName (PutFormName);
@ -191,16 +188,14 @@ static void CtrCfg_Configuration (bool PrintView)
} }
/***** Center WWW *****/ /***** Center WWW *****/
CtrCfg_WWW (PrintView,PutFormWWW); CtrCfg_WWW (ViewType,PutFormWWW);
/***** Shortcut to the center *****/ /***** Shortcut to the center *****/
CtrCfg_Shortcut (PrintView); CtrCfg_Shortcut (ViewType);
if (PrintView) switch (ViewType)
/***** QR code with link to the center *****/
CtrCfg_QR ();
else
{ {
case Vie_VIEW:
/***** Number of users who claim to belong to this center, /***** Number of users who claim to belong to this center,
number of degrees, number of degrees,
number of courses *****/ number of courses *****/
@ -213,6 +208,14 @@ static void CtrCfg_Configuration (bool PrintView)
HieCfg_NumUsrsInCrss (Hie_CTR,Gbl.Hierarchy.Node[Hie_CTR].HieCod,Rol_NET); HieCfg_NumUsrsInCrss (Hie_CTR,Gbl.Hierarchy.Node[Hie_CTR].HieCod,Rol_NET);
HieCfg_NumUsrsInCrss (Hie_CTR,Gbl.Hierarchy.Node[Hie_CTR].HieCod,Rol_STD); HieCfg_NumUsrsInCrss (Hie_CTR,Gbl.Hierarchy.Node[Hie_CTR].HieCod,Rol_STD);
HieCfg_NumUsrsInCrss (Hie_CTR,Gbl.Hierarchy.Node[Hie_CTR].HieCod,Rol_UNK); HieCfg_NumUsrsInCrss (Hie_CTR,Gbl.Hierarchy.Node[Hie_CTR].HieCod,Rol_UNK);
break;
case Vie_PRINT:
/***** QR code with link to the center *****/
CtrCfg_QR ();
break;
default:
Err_WrongTypeExit ();
break;
} }
/***** End table *****/ /***** End table *****/
@ -243,7 +246,7 @@ static void CtrCfg_Configuration (bool PrintView)
/***** Center photo *****/ /***** Center photo *****/
if (PhotoExists) if (PhotoExists)
CtrCfg_Photo (PrintView,PutFormPhoto,PutLink,PathPhoto); CtrCfg_Photo (ViewType,PutFormPhoto,PutLink,PathPhoto);
HTM_DIV_End (); HTM_DIV_End ();
} }
@ -418,7 +421,7 @@ static void CtrCfg_Altitude (double Altitude)
/***************************** Draw center photo *****************************/ /***************************** Draw center photo *****************************/
/*****************************************************************************/ /*****************************************************************************/
static void CtrCfg_Photo (bool PrintView,bool PutForm,bool PutLink, static void CtrCfg_Photo (Vie_ViewType_t ViewType,bool PutForm,bool PutLink,
const char PathPhoto[PATH_MAX + 1]) const char PathPhoto[PATH_MAX + 1])
{ {
char *PhotoAttribution = NULL; char *PhotoAttribution = NULL;
@ -448,8 +451,8 @@ static void CtrCfg_Photo (bool PrintView,bool PutForm,bool PutLink,
(unsigned) Gbl.Hierarchy.Node[Hie_CTR].HieCod) < 0) (unsigned) Gbl.Hierarchy.Node[Hie_CTR].HieCod) < 0)
Err_NotEnoughMemoryExit (); Err_NotEnoughMemoryExit ();
HTM_IMG (URL,Icon,Gbl.Hierarchy.Node[Hie_CTR].FullName, HTM_IMG (URL,Icon,Gbl.Hierarchy.Node[Hie_CTR].FullName,
"class=\"%s\"",PrintView ? "CENTER_PHOTO_PRINT CENTER_PHOTO_WIDTH" : "class=\"%s\"",ViewType == Vie_VIEW ? "CENTER_PHOTO_SHOW CENTER_PHOTO_WIDTH" :
"CENTER_PHOTO_SHOW CENTER_PHOTO_WIDTH"); "CENTER_PHOTO_PRINT CENTER_PHOTO_WIDTH");
free (Icon); free (Icon);
free (URL); free (URL);
if (PutLink) if (PutLink)
@ -531,7 +534,7 @@ static void CtrCfg_FreePhotoAttr (char **PhotoAttribution)
/***************** Show institution in center configuration ******************/ /***************** Show institution in center configuration ******************/
/*****************************************************************************/ /*****************************************************************************/
static void CtrCfg_Institution (bool PrintView,bool PutForm) static void CtrCfg_Institution (Vie_ViewType_t ViewType,bool PutForm)
{ {
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[];
extern const char *Txt_Institution; extern const char *Txt_Institution;
@ -578,7 +581,7 @@ static void CtrCfg_Institution (bool PrintView,bool PutForm)
} }
else // I can not move center to another institution else // I can not move center to another institution
{ {
if (!PrintView) if (ViewType == Vie_VIEW)
{ {
Frm_BeginFormGoTo (ActSeeInsInf); Frm_BeginFormGoTo (ActSeeInsInf);
ParCod_PutPar (ParCod_Ins,Gbl.Hierarchy.Node[Hie_INS].HieCod); ParCod_PutPar (ParCod_Ins,Gbl.Hierarchy.Node[Hie_INS].HieCod);
@ -594,7 +597,7 @@ static void CtrCfg_Institution (bool PrintView,bool PutForm)
HTM_NBSP (); HTM_NBSP ();
HTM_Txt (Gbl.Hierarchy.Node[Hie_INS].FullName); HTM_Txt (Gbl.Hierarchy.Node[Hie_INS].FullName);
if (!PrintView) if (ViewType == Vie_VIEW)
{ {
HTM_BUTTON_End (); HTM_BUTTON_End ();
Frm_EndForm (); Frm_EndForm ();
@ -698,18 +701,18 @@ static void CtrCfg_Place (bool PutForm)
/***************** Show center WWW in center configuration *******************/ /***************** Show center WWW in center configuration *******************/
/*****************************************************************************/ /*****************************************************************************/
static void CtrCfg_WWW (bool PrintView,bool PutForm) static void CtrCfg_WWW (Vie_ViewType_t ViewType,bool PutForm)
{ {
HieCfg_WWW (PrintView,PutForm,ActChgCtrWWWCfg,Gbl.Hierarchy.Node[Hie_CTR].WWW); HieCfg_WWW (ViewType,PutForm,ActChgCtrWWWCfg,Gbl.Hierarchy.Node[Hie_CTR].WWW);
} }
/*****************************************************************************/ /*****************************************************************************/
/*************** Show center shortcut in center configuration ****************/ /*************** Show center shortcut in center configuration ****************/
/*****************************************************************************/ /*****************************************************************************/
static void CtrCfg_Shortcut (bool PrintView) static void CtrCfg_Shortcut (Vie_ViewType_t ViewType)
{ {
HieCfg_Shortcut (PrintView,ParCod_Ctr,Gbl.Hierarchy.Node[Hie_CTR].HieCod); HieCfg_Shortcut (ViewType,ParCod_Ctr,Gbl.Hierarchy.Node[Hie_CTR].HieCod);
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -633,10 +633,11 @@ Me sale este error, no s
"can npt create received message (duplicated entry '243218-2160773' for key 'UsrCod_MsgCod') "can npt create received message (duplicated entry '243218-2160773' for key 'UsrCod_MsgCod')
*/ */
#define Log_PLATFORM_VERSION "SWAD 23.40 (2023-10-28)" #define Log_PLATFORM_VERSION "SWAD 23.41 (2023-10-29)"
#define CSS_FILE "swad23.35.1.css" #define CSS_FILE "swad23.35.1.css"
#define JS_FILE "swad22.49.js" #define JS_FILE "swad22.49.js"
/* /*
Version 23.41: Oct 29, 2023 Code refactoring in view/edit/print. (335359 lines)
Version 23.40: Oct 28, 2023 Code refactoring in view/edit. (335273 lines) Version 23.40: Oct 28, 2023 Code refactoring in view/edit. (335273 lines)
Version 23.39: Oct 27, 2023 Code refactoring in contracted/expanded and rubrics. (335209 lines) Version 23.39: Oct 27, 2023 Code refactoring in contracted/expanded and rubrics. (335209 lines)
Version 23.38.3: Oct 27, 2023 When clicking on edition of a program item, expand it if contracted. (335155 lines) Version 23.38.3: Oct 27, 2023 When clicking on edition of a program item, expand it if contracted. (335155 lines)

View File

@ -58,14 +58,14 @@ extern struct Globals Gbl;
/***************************** Private prototypes ****************************/ /***************************** Private prototypes ****************************/
/*****************************************************************************/ /*****************************************************************************/
static void CtyCfg_Configuration (bool PrintView); static void CtyCfg_Configuration (Vie_ViewType_t ViewType);
static void CtyCfg_PutIconToPrint (__attribute__((unused)) void *Args); static void CtyCfg_PutIconToPrint (__attribute__((unused)) void *Args);
static void CtyCfg_Title (bool PutLink); static void CtyCfg_Title (bool PutLink);
static void CtyCfg_Map (void); static void CtyCfg_Map (void);
static void CtyCfg_MapImage (bool PrintView,bool PutLink); static void CtyCfg_MapImage (Vie_ViewType_t ViewType,bool PutLink);
static void CtyCfg_Platform (bool PrintView); static void CtyCfg_Platform (Vie_ViewType_t ViewType);
static void CtyCfg_Name (bool PutLink); static void CtyCfg_Name (bool PutLink);
static void CtyCfg_Shortcut (bool PrintView); static void CtyCfg_Shortcut (Vie_ViewType_t ViewType);
static void CtyCfg_QR (void); static void CtyCfg_QR (void);
static void CtyCfg_NumUsrs (void); static void CtyCfg_NumUsrs (void);
static void CtyCfg_NumInss (void); static void CtyCfg_NumInss (void);
@ -81,7 +81,7 @@ static void CtyCfg_FreeMapAttr (char **MapAttribution);
void CtyCfg_ShowConfiguration (void) void CtyCfg_ShowConfiguration (void)
{ {
CtyCfg_Configuration (false); CtyCfg_Configuration (Vie_VIEW);
/***** Show help to enrol me *****/ /***** Show help to enrol me *****/
Hlp_ShowHelpWhatWouldYouLikeToDo (); Hlp_ShowHelpWhatWouldYouLikeToDo ();
@ -93,14 +93,14 @@ void CtyCfg_ShowConfiguration (void)
void CtyCfg_PrintConfiguration (void) void CtyCfg_PrintConfiguration (void)
{ {
CtyCfg_Configuration (true); CtyCfg_Configuration (Vie_PRINT);
} }
/*****************************************************************************/ /*****************************************************************************/
/******************** Information of the current country *********************/ /******************** Information of the current country *********************/
/*****************************************************************************/ /*****************************************************************************/
static void CtyCfg_Configuration (bool PrintView) static void CtyCfg_Configuration (Vie_ViewType_t ViewType)
{ {
extern const char *Hlp_COUNTRY_Information; extern const char *Hlp_COUNTRY_Information;
bool PutLink; bool PutLink;
@ -113,17 +113,14 @@ static void CtyCfg_Configuration (bool PrintView)
return; return;
/***** Initializations *****/ /***** Initializations *****/
PutLink = !PrintView && Gbl.Hierarchy.Node[Hie_CTY].WWW[0]; PutLink = ViewType == Vie_VIEW && Gbl.Hierarchy.Node[Hie_CTY].WWW[0];
/***** Begin box *****/ /***** Begin box *****/
if (PrintView)
Box_BoxBegin (NULL,NULL, Box_BoxBegin (NULL,NULL,
ViewType == Vie_VIEW ? CtyCfg_PutIconToPrint :
NULL,NULL, NULL,NULL,
ViewType == Vie_VIEW ? Hlp_COUNTRY_Information :
NULL,Box_NOT_CLOSABLE); NULL,Box_NOT_CLOSABLE);
else
Box_BoxBegin (NULL,NULL,
CtyCfg_PutIconToPrint,NULL,
Hlp_COUNTRY_Information,Box_NOT_CLOSABLE);
/***** Title *****/ /***** Title *****/
CtyCfg_Title (PutLink); CtyCfg_Title (PutLink);
@ -135,20 +132,18 @@ static void CtyCfg_Configuration (bool PrintView)
HTM_TABLE_BeginWidePadding (2); HTM_TABLE_BeginWidePadding (2);
/* Platform */ /* Platform */
CtyCfg_Platform (PrintView); CtyCfg_Platform (ViewType);
/* Country name (an link to WWW if exists) */ /* Country name (an link to WWW if exists) */
CtyCfg_Name (PutLink); CtyCfg_Name (PutLink);
/* Shortcut to the country */ /* Shortcut to the country */
CtyCfg_Shortcut (PrintView); CtyCfg_Shortcut (ViewType);
NumCtrsWithMap = Ctr_GetCachedNumCtrsWithMapInCty (Gbl.Hierarchy.Node[Hie_CTY].HieCod); NumCtrsWithMap = Ctr_GetCachedNumCtrsWithMapInCty (Gbl.Hierarchy.Node[Hie_CTY].HieCod);
if (PrintView) switch (ViewType)
/* QR code with link to the country */
CtyCfg_QR ();
else
{ {
case Vie_VIEW:
NumCtrs = Hie_GetCachedNumNodesInHieLvl (Hie_CTR, // Number of centers... NumCtrs = Hie_GetCachedNumNodesInHieLvl (Hie_CTR, // Number of centers...
Hie_CTY, // ...in country Hie_CTY, // ...in country
Gbl.Hierarchy.Node[Hie_CTY].HieCod); Gbl.Hierarchy.Node[Hie_CTY].HieCod);
@ -171,6 +166,14 @@ static void CtyCfg_Configuration (bool PrintView)
HieCfg_NumUsrsInCrss (Hie_CTY,Gbl.Hierarchy.Node[Hie_CTY].HieCod,Rol_NET); HieCfg_NumUsrsInCrss (Hie_CTY,Gbl.Hierarchy.Node[Hie_CTY].HieCod,Rol_NET);
HieCfg_NumUsrsInCrss (Hie_CTY,Gbl.Hierarchy.Node[Hie_CTY].HieCod,Rol_STD); HieCfg_NumUsrsInCrss (Hie_CTY,Gbl.Hierarchy.Node[Hie_CTY].HieCod,Rol_STD);
HieCfg_NumUsrsInCrss (Hie_CTY,Gbl.Hierarchy.Node[Hie_CTY].HieCod,Rol_UNK); HieCfg_NumUsrsInCrss (Hie_CTY,Gbl.Hierarchy.Node[Hie_CTY].HieCod,Rol_UNK);
break;
case Vie_PRINT:
/* QR code with link to the country */
CtyCfg_QR ();
break;
default:
Err_WrongTypeExit ();
break;
} }
/* End table */ /* End table */
@ -194,7 +197,7 @@ static void CtyCfg_Configuration (bool PrintView)
/* Country map image */ /* Country map image */
if (MapImageExists) if (MapImageExists)
CtyCfg_MapImage (PrintView,PutLink); CtyCfg_MapImage (ViewType,PutLink);
/* End container */ /* End container */
HTM_DIV_End (); HTM_DIV_End ();
@ -319,7 +322,7 @@ static void CtyCfg_Map (void)
/************* Show country map image in country configuration ***************/ /************* Show country map image in country configuration ***************/
/*****************************************************************************/ /*****************************************************************************/
static void CtyCfg_MapImage (bool PrintView,bool PutLink) static void CtyCfg_MapImage (Vie_ViewType_t ViewType,bool PutLink)
{ {
char *MapAttribution = NULL; char *MapAttribution = NULL;
@ -332,18 +335,19 @@ static void CtyCfg_MapImage (bool PrintView,bool PutLink)
HTM_A_Begin ("href=\"%s\" target=\"_blank\"", HTM_A_Begin ("href=\"%s\" target=\"_blank\"",
Gbl.Hierarchy.Node[Hie_CTY].WWW); Gbl.Hierarchy.Node[Hie_CTY].WWW);
Cty_DrawCountryMap (&Gbl.Hierarchy.Node[Hie_CTY], Cty_DrawCountryMap (&Gbl.Hierarchy.Node[Hie_CTY],
PrintView ? "COUNTRY_MAP_PRINT" : ViewType == Vie_VIEW ? "COUNTRY_MAP_SHOW" :
"COUNTRY_MAP_SHOW"); "COUNTRY_MAP_PRINT");
if (PutLink) if (PutLink)
HTM_A_End (); HTM_A_End ();
HTM_DIV_End (); HTM_DIV_End ();
/***** Map attribution *****/ /***** Map attribution *****/
if (!PrintView && Cty_CheckIfICanEditCountries ()) if (ViewType == Vie_VIEW && Cty_CheckIfICanEditCountries ())
{ {
HTM_DIV_Begin ("class=\"CM\""); HTM_DIV_Begin ("class=\"CM\"");
Frm_BeginForm (ActChgCtyMapAtt); Frm_BeginForm (ActChgCtyMapAtt);
HTM_TEXTAREA_Begin ("id=\"AttributionArea\" name=\"Attribution\" rows=\"3\"" HTM_TEXTAREA_Begin ("id=\"AttributionArea\" name=\"Attribution\""
" rows=\"3\""
" onchange=\"this.form.submit();return false;\""); " onchange=\"this.form.submit();return false;\"");
if (MapAttribution) if (MapAttribution)
HTM_Txt (MapAttribution); HTM_Txt (MapAttribution);
@ -366,7 +370,7 @@ static void CtyCfg_MapImage (bool PrintView,bool PutLink)
/****************** Show platform in country configuration *******************/ /****************** Show platform in country configuration *******************/
/*****************************************************************************/ /*****************************************************************************/
static void CtyCfg_Platform (bool PrintView) static void CtyCfg_Platform (Vie_ViewType_t ViewType)
{ {
extern const char *Txt_System; extern const char *Txt_System;
@ -378,7 +382,7 @@ static void CtyCfg_Platform (bool PrintView)
/* Data */ /* Data */
HTM_TD_Begin ("class=\"LT DAT_%s\"",The_GetSuffix ()); HTM_TD_Begin ("class=\"LT DAT_%s\"",The_GetSuffix ());
if (!PrintView) if (ViewType == Vie_VIEW)
{ {
Frm_BeginFormGoTo (ActSeeSysInf); Frm_BeginFormGoTo (ActSeeSysInf);
HTM_BUTTON_Submit_Begin (Str_BuildGoToTitle (Cfg_PLATFORM_SHORT_NAME), HTM_BUTTON_Submit_Begin (Str_BuildGoToTitle (Cfg_PLATFORM_SHORT_NAME),
@ -388,7 +392,7 @@ static void CtyCfg_Platform (bool PrintView)
Ico_PutIcon ("swad64x64.png",Ico_UNCHANGED,Cfg_PLATFORM_FULL_NAME,"ICO20x20"); Ico_PutIcon ("swad64x64.png",Ico_UNCHANGED,Cfg_PLATFORM_FULL_NAME,"ICO20x20");
HTM_NBSP (); HTM_NBSP ();
HTM_Txt (Cfg_PLATFORM_SHORT_NAME); HTM_Txt (Cfg_PLATFORM_SHORT_NAME);
if (!PrintView) if (ViewType == Vie_VIEW)
{ {
HTM_BUTTON_End (); HTM_BUTTON_End ();
Frm_EndForm (); Frm_EndForm ();
@ -430,9 +434,9 @@ static void CtyCfg_Name (bool PutLink)
/************** Show country shortcut in country configuration ***************/ /************** Show country shortcut in country configuration ***************/
/*****************************************************************************/ /*****************************************************************************/
static void CtyCfg_Shortcut (bool PrintView) static void CtyCfg_Shortcut (Vie_ViewType_t ViewType)
{ {
HieCfg_Shortcut (PrintView,ParCod_Cty,Gbl.Hierarchy.Node[Hie_CTY].HieCod); HieCfg_Shortcut (ViewType,ParCod_Cty,Gbl.Hierarchy.Node[Hie_CTY].HieCod);
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -132,7 +132,7 @@ void Crs_ShowIntroduction (void)
{ {
/***** Course configuration *****/ /***** Course configuration *****/
HTM_DIV_Begin ("class=\"CM\""); HTM_DIV_Begin ("class=\"CM\"");
CrsCfg_Configuration (false); CrsCfg_Configuration (Vie_VIEW);
HTM_DIV_End (); HTM_DIV_End ();
/***** Course introduction *****/ /***** Course introduction *****/

View File

@ -60,13 +60,13 @@ extern struct Globals Gbl;
/*****************************************************************************/ /*****************************************************************************/
static void CrsCfg_PutIconToPrint (__attribute__((unused)) void *Args); static void CrsCfg_PutIconToPrint (__attribute__((unused)) void *Args);
static void CrsCfg_Degree (bool PrintView,bool PutForm); static void CrsCfg_Degree (Vie_ViewType_t ViewType,bool PutForm);
static void CrsCfg_FullName (bool PutForm); static void CrsCfg_FullName (bool PutForm);
static void CrsCfg_ShrtName (bool PutForm); static void CrsCfg_ShrtName (bool PutForm);
static void CrsCfg_Year (bool PutForm); static void CrsCfg_Year (bool PutForm);
static void CrsCfg_InstitutionalCode (bool PutForm); static void CrsCfg_InstitutionalCode (bool PutForm);
static void CrsCfg_InternalCode (void); static void CrsCfg_InternalCode (void);
static void CrsCfg_Shortcut (bool PrintView); static void CrsCfg_Shortcut (Vie_ViewType_t ViewType);
static void CrsCfg_QR (void); static void CrsCfg_QR (void);
static void CrsCfg_Indicators (void); static void CrsCfg_Indicators (void);
@ -74,7 +74,7 @@ static void CrsCfg_Indicators (void);
/***************** Configuration of the current course ***********************/ /***************** Configuration of the current course ***********************/
/*****************************************************************************/ /*****************************************************************************/
void CrsCfg_Configuration (bool PrintView) void CrsCfg_Configuration (Vie_ViewType_t ViewType)
{ {
extern const char *Hlp_COURSE_Information; extern const char *Hlp_COURSE_Information;
bool PutLink; bool PutLink;
@ -88,16 +88,16 @@ void CrsCfg_Configuration (bool PrintView)
return; return;
/***** Initializations *****/ /***** Initializations *****/
PutLink = !PrintView && Gbl.Hierarchy.Node[Hie_DEG].WWW[0]; PutLink = ViewType == Vie_VIEW && Gbl.Hierarchy.Node[Hie_DEG].WWW[0];
PutFormDeg = !PrintView && Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM; PutFormDeg = ViewType == Vie_VIEW && Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM;
PutFormName = !PrintView && Gbl.Usrs.Me.Role.Logged >= Rol_DEG_ADM; PutFormName = ViewType == Vie_VIEW && Gbl.Usrs.Me.Role.Logged >= Rol_DEG_ADM;
PutFormYear = PutFormYear =
PutFormInsCod = !PrintView && Gbl.Usrs.Me.Role.Logged >= Rol_TCH; PutFormInsCod = ViewType == Vie_VIEW && Gbl.Usrs.Me.Role.Logged >= Rol_TCH;
/***** Contextual menu *****/ /***** Contextual menu *****/
if (!PrintView) if (ViewType == Vie_VIEW &&
if (Gbl.Usrs.Me.Role.Logged == Rol_GST || (Gbl.Usrs.Me.Role.Logged == Rol_GST ||
Gbl.Usrs.Me.Role.Logged == Rol_USR) Gbl.Usrs.Me.Role.Logged == Rol_USR))
{ {
Mnu_ContextMenuBegin (); Mnu_ContextMenuBegin ();
Enr_PutLinkToRequestSignUp (); // Request enrolment in the current course Enr_PutLinkToRequestSignUp (); // Request enrolment in the current course
@ -105,14 +105,11 @@ void CrsCfg_Configuration (bool PrintView)
} }
/***** Begin box *****/ /***** Begin box *****/
if (PrintView)
Box_BoxBegin (NULL,NULL, Box_BoxBegin (NULL,NULL,
ViewType == Vie_VIEW ? CrsCfg_PutIconToPrint :
NULL,NULL, NULL,NULL,
ViewType == Vie_VIEW ? Hlp_COURSE_Information :
NULL,Box_NOT_CLOSABLE); NULL,Box_NOT_CLOSABLE);
else
Box_BoxBegin (NULL,NULL,
CrsCfg_PutIconToPrint,NULL,
Hlp_COURSE_Information,Box_NOT_CLOSABLE);
/***** Title *****/ /***** Title *****/
HieCfg_Title (PutLink,Hie_CRS); HieCfg_Title (PutLink,Hie_CRS);
@ -124,7 +121,7 @@ void CrsCfg_Configuration (bool PrintView)
HTM_TABLE_BeginWidePadding (2); HTM_TABLE_BeginWidePadding (2);
/***** Degree *****/ /***** Degree *****/
CrsCfg_Degree (PrintView,PutFormDeg); CrsCfg_Degree (ViewType,PutFormDeg);
/***** Course name *****/ /***** Course name *****/
CrsCfg_FullName (PutFormName); CrsCfg_FullName (PutFormName);
@ -133,7 +130,7 @@ void CrsCfg_Configuration (bool PrintView)
/***** Course year *****/ /***** Course year *****/
CrsCfg_Year (PutFormYear); CrsCfg_Year (PutFormYear);
if (!PrintView) if (ViewType == Vie_VIEW)
{ {
/***** Institutional code of the course *****/ /***** Institutional code of the course *****/
CrsCfg_InstitutionalCode (PutFormInsCod); CrsCfg_InstitutionalCode (PutFormInsCod);
@ -143,13 +140,11 @@ void CrsCfg_Configuration (bool PrintView)
} }
/***** Shortcut to the couse *****/ /***** Shortcut to the couse *****/
CrsCfg_Shortcut (PrintView); CrsCfg_Shortcut (ViewType);
if (PrintView) switch (ViewType)
/***** QR code with link to the course *****/
CrsCfg_QR ();
else
{ {
case Vie_VIEW:
/***** Number of users *****/ /***** Number of users *****/
HieCfg_NumUsrsInCrss (Hie_CRS,Gbl.Hierarchy.Node[Hie_CRS].HieCod,Rol_TCH); HieCfg_NumUsrsInCrss (Hie_CRS,Gbl.Hierarchy.Node[Hie_CRS].HieCod,Rol_TCH);
HieCfg_NumUsrsInCrss (Hie_CRS,Gbl.Hierarchy.Node[Hie_CRS].HieCod,Rol_NET); HieCfg_NumUsrsInCrss (Hie_CRS,Gbl.Hierarchy.Node[Hie_CRS].HieCod,Rol_NET);
@ -158,6 +153,14 @@ void CrsCfg_Configuration (bool PrintView)
/***** Indicators *****/ /***** Indicators *****/
CrsCfg_Indicators (); CrsCfg_Indicators ();
break;
case Vie_PRINT:
/***** QR code with link to the course *****/
CrsCfg_QR ();
break;
default:
Err_WrongTypeExit ();
break;
} }
/***** End table *****/ /***** End table *****/
@ -186,14 +189,14 @@ static void CrsCfg_PutIconToPrint (__attribute__((unused)) void *Args)
void CrsCfg_PrintConfiguration (void) void CrsCfg_PrintConfiguration (void)
{ {
CrsCfg_Configuration (true); CrsCfg_Configuration (Vie_PRINT);
} }
/*****************************************************************************/ /*****************************************************************************/
/******************** Show degree in course configuration ********************/ /******************** Show degree in course configuration ********************/
/*****************************************************************************/ /*****************************************************************************/
static void CrsCfg_Degree (bool PrintView,bool PutForm) static void CrsCfg_Degree (Vie_ViewType_t ViewType,bool PutForm)
{ {
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[];
extern const char *Txt_Degree; extern const char *Txt_Degree;
@ -240,7 +243,7 @@ static void CrsCfg_Degree (bool PrintView,bool PutForm)
} }
else // I can not move course to another degree else // I can not move course to another degree
{ {
if (!PrintView) if (ViewType == Vie_VIEW)
{ {
Frm_BeginFormGoTo (ActSeeDegInf); Frm_BeginFormGoTo (ActSeeDegInf);
ParCod_PutPar (ParCod_Deg,Gbl.Hierarchy.Node[Hie_DEG].HieCod); ParCod_PutPar (ParCod_Deg,Gbl.Hierarchy.Node[Hie_DEG].HieCod);
@ -254,7 +257,7 @@ static void CrsCfg_Degree (bool PrintView,bool PutForm)
20,"LM"); 20,"LM");
HTM_NBSP (); HTM_NBSP ();
HTM_Txt (Gbl.Hierarchy.Node[Hie_DEG].FullName); HTM_Txt (Gbl.Hierarchy.Node[Hie_DEG].FullName);
if (!PrintView) if (ViewType == Vie_VIEW)
{ {
HTM_BUTTON_End (); HTM_BUTTON_End ();
Frm_EndForm (); Frm_EndForm ();
@ -393,9 +396,9 @@ static void CrsCfg_InternalCode (void)
/*************** Show course shortcut in course configuration ****************/ /*************** Show course shortcut in course configuration ****************/
/*****************************************************************************/ /*****************************************************************************/
static void CrsCfg_Shortcut (bool PrintView) static void CrsCfg_Shortcut (Vie_ViewType_t ViewType)
{ {
HieCfg_Shortcut (PrintView,ParCod_Crs,Gbl.Hierarchy.Node[Hie_CRS].HieCod); HieCfg_Shortcut (ViewType,ParCod_Crs,Gbl.Hierarchy.Node[Hie_CRS].HieCod);
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -33,7 +33,7 @@
/***************************** Public prototypes *****************************/ /***************************** Public prototypes *****************************/
/*****************************************************************************/ /*****************************************************************************/
void CrsCfg_Configuration (bool PrintView); void CrsCfg_Configuration (Vie_ViewType_t ViewType);
void CrsCfg_PrintConfiguration (void); void CrsCfg_PrintConfiguration (void);
void CrsCfg_ChangeCrsDeg (void); void CrsCfg_ChangeCrsDeg (void);

View File

@ -57,13 +57,13 @@ extern struct Globals Gbl;
/**************************** Private prototypes *****************************/ /**************************** Private prototypes *****************************/
/*****************************************************************************/ /*****************************************************************************/
static void DegCfg_Configuration (bool PrintView); static void DegCfg_Configuration (Vie_ViewType_t ViewType);
static void DegCfg_PutIconsToPrintAndUpload (__attribute__((unused)) void *Args); static void DegCfg_PutIconsToPrintAndUpload (__attribute__((unused)) void *Args);
static void DegCfg_Center (bool PrintView,bool PutForm); static void DegCfg_Center (Vie_ViewType_t ViewType,bool PutForm);
static void DegCfg_FullName (bool PutForm); static void DegCfg_FullName (bool PutForm);
static void DegCfg_ShrtName (bool PutForm); static void DegCfg_ShrtName (bool PutForm);
static void DegCfg_WWW (bool PrintView,bool PutForm); static void DegCfg_WWW (Vie_ViewType_t ViewType,bool PutForm);
static void DegCfg_Shortcut (bool PrintView); static void DegCfg_Shortcut (Vie_ViewType_t ViewType);
static void DegCfg_QR (void); static void DegCfg_QR (void);
static void DegCfg_NumCrss (void); static void DegCfg_NumCrss (void);
@ -73,7 +73,7 @@ static void DegCfg_NumCrss (void);
void DegCfg_ShowConfiguration (void) void DegCfg_ShowConfiguration (void)
{ {
DegCfg_Configuration (false); DegCfg_Configuration (Vie_VIEW);
/***** Show help to enrol me *****/ /***** Show help to enrol me *****/
Hlp_ShowHelpWhatWouldYouLikeToDo (); Hlp_ShowHelpWhatWouldYouLikeToDo ();
@ -85,14 +85,14 @@ void DegCfg_ShowConfiguration (void)
void DegCfg_PrintConfiguration (void) void DegCfg_PrintConfiguration (void)
{ {
DegCfg_Configuration (true); DegCfg_Configuration (Vie_PRINT);
} }
/*****************************************************************************/ /*****************************************************************************/
/******************* Information of the current degree ***********************/ /******************* Information of the current degree ***********************/
/*****************************************************************************/ /*****************************************************************************/
static void DegCfg_Configuration (bool PrintView) static void DegCfg_Configuration (Vie_ViewType_t ViewType)
{ {
extern const char *Hlp_DEGREE_Information; extern const char *Hlp_DEGREE_Information;
bool PutLink; bool PutLink;
@ -105,20 +105,17 @@ static void DegCfg_Configuration (bool PrintView)
return; return;
/***** Initializations *****/ /***** Initializations *****/
PutLink = !PrintView && Gbl.Hierarchy.Node[Hie_DEG].WWW[0]; PutLink = ViewType == Vie_VIEW && Gbl.Hierarchy.Node[Hie_DEG].WWW[0];
PutFormCtr = !PrintView && Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM; PutFormCtr = ViewType == Vie_VIEW && Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM;
PutFormName = !PrintView && Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM; PutFormName = ViewType == Vie_VIEW && Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM;
PutFormWWW = !PrintView && Gbl.Usrs.Me.Role.Logged >= Rol_DEG_ADM; PutFormWWW = ViewType == Vie_VIEW && Gbl.Usrs.Me.Role.Logged >= Rol_DEG_ADM;
/***** Begin box *****/ /***** Begin box *****/
if (PrintView)
Box_BoxBegin (NULL,NULL, Box_BoxBegin (NULL,NULL,
ViewType == Vie_VIEW ? DegCfg_PutIconsToPrintAndUpload :
NULL,NULL, NULL,NULL,
ViewType == Vie_VIEW ? Hlp_DEGREE_Information :
NULL,Box_NOT_CLOSABLE); NULL,Box_NOT_CLOSABLE);
else
Box_BoxBegin (NULL,NULL,
DegCfg_PutIconsToPrintAndUpload,NULL,
Hlp_DEGREE_Information,Box_NOT_CLOSABLE);
/***** Title *****/ /***** Title *****/
HieCfg_Title (PutLink,Hie_DEG); HieCfg_Title (PutLink,Hie_DEG);
@ -130,23 +127,21 @@ static void DegCfg_Configuration (bool PrintView)
HTM_TABLE_BeginWidePadding (2); HTM_TABLE_BeginWidePadding (2);
/***** Center *****/ /***** Center *****/
DegCfg_Center (PrintView,PutFormCtr); DegCfg_Center (ViewType,PutFormCtr);
/***** Degree name *****/ /***** Degree name *****/
DegCfg_FullName (PutFormName); DegCfg_FullName (PutFormName);
DegCfg_ShrtName (PutFormName); DegCfg_ShrtName (PutFormName);
/***** Degree WWW *****/ /***** Degree WWW *****/
DegCfg_WWW (PrintView,PutFormWWW); DegCfg_WWW (ViewType,PutFormWWW);
/***** Shortcut to the degree *****/ /***** Shortcut to the degree *****/
DegCfg_Shortcut (PrintView); DegCfg_Shortcut (ViewType);
if (PrintView) switch (ViewType)
/***** QR code with link to the degree *****/
DegCfg_QR ();
else
{ {
case Vie_VIEW:
/***** Number of courses *****/ /***** Number of courses *****/
DegCfg_NumCrss (); DegCfg_NumCrss ();
@ -155,6 +150,13 @@ static void DegCfg_Configuration (bool PrintView)
HieCfg_NumUsrsInCrss (Hie_DEG,Gbl.Hierarchy.Node[Hie_DEG].HieCod,Rol_NET); HieCfg_NumUsrsInCrss (Hie_DEG,Gbl.Hierarchy.Node[Hie_DEG].HieCod,Rol_NET);
HieCfg_NumUsrsInCrss (Hie_DEG,Gbl.Hierarchy.Node[Hie_DEG].HieCod,Rol_STD); HieCfg_NumUsrsInCrss (Hie_DEG,Gbl.Hierarchy.Node[Hie_DEG].HieCod,Rol_STD);
HieCfg_NumUsrsInCrss (Hie_DEG,Gbl.Hierarchy.Node[Hie_DEG].HieCod,Rol_UNK); HieCfg_NumUsrsInCrss (Hie_DEG,Gbl.Hierarchy.Node[Hie_DEG].HieCod,Rol_UNK);
break;
case Vie_PRINT:
/***** QR code with link to the degree *****/
DegCfg_QR ();
break;
default:
Err_WrongTypeExit ();
} }
/***** End table *****/ /***** End table *****/
@ -188,7 +190,7 @@ static void DegCfg_PutIconsToPrintAndUpload (__attribute__((unused)) void *Args)
/******************** Show center in degree configuration ********************/ /******************** Show center in degree configuration ********************/
/*****************************************************************************/ /*****************************************************************************/
static void DegCfg_Center (bool PrintView,bool PutForm) static void DegCfg_Center (Vie_ViewType_t ViewType,bool PutForm)
{ {
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[];
extern const char *Txt_Center; extern const char *Txt_Center;
@ -235,7 +237,7 @@ static void DegCfg_Center (bool PrintView,bool PutForm)
} }
else // I can not move degree to another center else // I can not move degree to another center
{ {
if (!PrintView) if (ViewType == Vie_VIEW)
{ {
Frm_BeginFormGoTo (ActSeeCtrInf); Frm_BeginFormGoTo (ActSeeCtrInf);
ParCod_PutPar (ParCod_Ctr,Gbl.Hierarchy.Node[Hie_CTR].HieCod); ParCod_PutPar (ParCod_Ctr,Gbl.Hierarchy.Node[Hie_CTR].HieCod);
@ -249,7 +251,7 @@ static void DegCfg_Center (bool PrintView,bool PutForm)
20,"LM"); 20,"LM");
HTM_NBSP (); HTM_NBSP ();
HTM_Txt (Gbl.Hierarchy.Node[Hie_CTR].FullName); HTM_Txt (Gbl.Hierarchy.Node[Hie_CTR].FullName);
if (!PrintView) if (ViewType == Vie_VIEW)
{ {
HTM_BUTTON_End (); HTM_BUTTON_End ();
Frm_EndForm (); Frm_EndForm ();
@ -282,18 +284,18 @@ static void DegCfg_ShrtName (bool PutForm)
/***************** Show degree WWW in degree configuration *******************/ /***************** Show degree WWW in degree configuration *******************/
/*****************************************************************************/ /*****************************************************************************/
static void DegCfg_WWW (bool PrintView,bool PutForm) static void DegCfg_WWW (Vie_ViewType_t ViewType,bool PutForm)
{ {
HieCfg_WWW (PrintView,PutForm,ActChgDegWWWCfg,Gbl.Hierarchy.Node[Hie_DEG].WWW); HieCfg_WWW (ViewType,PutForm,ActChgDegWWWCfg,Gbl.Hierarchy.Node[Hie_DEG].WWW);
} }
/*****************************************************************************/ /*****************************************************************************/
/*************** Show degree shortcut in degree configuration ****************/ /*************** Show degree shortcut in degree configuration ****************/
/*****************************************************************************/ /*****************************************************************************/
static void DegCfg_Shortcut (bool PrintView) static void DegCfg_Shortcut (Vie_ViewType_t ViewType)
{ {
HieCfg_Shortcut (PrintView,ParCod_Deg,Gbl.Hierarchy.Node[Hie_DEG].HieCod); HieCfg_Shortcut (ViewType,ParCod_Deg,Gbl.Hierarchy.Node[Hie_DEG].HieCod);
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -581,7 +581,7 @@ static void ExaPrn_ShowExamPrintToFillIt (struct Exa_Exams *Exams,
/***** Heading *****/ /***** Heading *****/
/* Institution, degree and course */ /* Institution, degree and course */
Lay_WriteHeaderClassPhoto (false,false); Lay_WriteHeaderClassPhoto (Vie_VIEW,false);
/***** Show user and time *****/ /***** Show user and time *****/
HTM_TABLE_BeginWideMarginPadding (10); HTM_TABLE_BeginWideMarginPadding (10);

View File

@ -1348,7 +1348,7 @@ static void ExaRes_ShowExamResult (const struct Exa_Exam *Exam,
Hlp_ASSESSMENT_Exams_results,Box_NOT_CLOSABLE); Hlp_ASSESSMENT_Exams_results,Box_NOT_CLOSABLE);
/***** Header *****/ /***** Header *****/
Lay_WriteHeaderClassPhoto (false,false); Lay_WriteHeaderClassPhoto (Vie_VIEW,false);
/***** Check user data *****/ /***** Check user data *****/
/* Get data of the user who answered the exam print */ /* Get data of the user who answered the exam print */

View File

@ -147,7 +147,7 @@ void HieCfg_Name (bool PutForm,Hie_Level_t Level,Nam_ShrtOrFullName_t ShrtOrFull
/************************* Show web in configuration *************************/ /************************* Show web in configuration *************************/
/*****************************************************************************/ /*****************************************************************************/
void HieCfg_WWW (bool PrintView,bool PutForm,Act_Action_t NextAction, void HieCfg_WWW (Vie_ViewType_t ViewType,bool PutForm,Act_Action_t NextAction,
const char WWW[Cns_MAX_BYTES_WWW + 1]) const char WWW[Cns_MAX_BYTES_WWW + 1])
{ {
extern const char *Txt_Web; extern const char *Txt_Web;
@ -175,12 +175,12 @@ void HieCfg_WWW (bool PrintView,bool PutForm,Act_Action_t NextAction,
else // I can not change web else // I can not change web
{ {
HTM_DIV_Begin ("class=\"EXTERNAL_WWW_FULL\""); HTM_DIV_Begin ("class=\"EXTERNAL_WWW_FULL\"");
if (!PrintView) if (ViewType == Vie_VIEW)
HTM_A_Begin ("href=\"%s\" target=\"_blank\"" HTM_A_Begin ("href=\"%s\" target=\"_blank\""
" class=\"DAT_%s\"", " class=\"DAT_%s\"",
WWW,The_GetSuffix ()); WWW,The_GetSuffix ());
HTM_Txt (WWW); HTM_Txt (WWW);
if (!PrintView) if (ViewType == Vie_VIEW)
HTM_A_End (); HTM_A_End ();
HTM_DIV_End (); HTM_DIV_End ();
} }
@ -193,7 +193,7 @@ void HieCfg_WWW (bool PrintView,bool PutForm,Act_Action_t NextAction,
/********************** Show shortcut in configuration ***********************/ /********************** Show shortcut in configuration ***********************/
/*****************************************************************************/ /*****************************************************************************/
void HieCfg_Shortcut (bool PrintView,ParCod_Param_t ParCode,long HieCod) void HieCfg_Shortcut (Vie_ViewType_t ViewType,ParCod_Param_t ParCode,long HieCod)
{ {
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[];
extern const char *Txt_Shortcut; extern const char *Txt_Shortcut;
@ -206,7 +206,7 @@ void HieCfg_Shortcut (bool PrintView,ParCod_Param_t ParCode,long HieCod)
/* Data */ /* Data */
HTM_TD_Begin ("class=\"LB DAT_%s\"",The_GetSuffix ()); HTM_TD_Begin ("class=\"LB DAT_%s\"",The_GetSuffix ());
if (!PrintView) if (ViewType == Vie_VIEW)
{ {
if (ParCode == ParCod_None) if (ParCode == ParCod_None)
HTM_A_Begin ("href=\"%s/\" target=\"_blank\" class=\"DAT_%s\"", HTM_A_Begin ("href=\"%s/\" target=\"_blank\" class=\"DAT_%s\"",
@ -226,7 +226,7 @@ void HieCfg_Shortcut (bool PrintView,ParCod_Param_t ParCode,long HieCod)
HTM_TxtF ("%s/?%s=%ld", HTM_TxtF ("%s/?%s=%ld",
Cfg_URL_SWAD_CGI, Cfg_URL_SWAD_CGI,
Par_CodeStr[ParCode],HieCod); Par_CodeStr[ParCode],HieCod);
if (!PrintView) if (ViewType == Vie_VIEW)
HTM_A_End (); HTM_A_End ();
HTM_TD_End (); HTM_TD_End ();

View File

@ -35,9 +35,9 @@
void HieCfg_Title (bool PutLink,Hie_Level_t LogoScope); void HieCfg_Title (bool PutLink,Hie_Level_t LogoScope);
void HieCfg_Name (bool PutForm,Hie_Level_t Level,Nam_ShrtOrFullName_t ShrtOrFull); void HieCfg_Name (bool PutForm,Hie_Level_t Level,Nam_ShrtOrFullName_t ShrtOrFull);
void HieCfg_WWW (bool PrintView,bool PutForm,Act_Action_t NextAction, void HieCfg_WWW (Vie_ViewType_t ViewType,bool PutForm,Act_Action_t NextAction,
const char WWW[Cns_MAX_BYTES_WWW + 1]); const char WWW[Cns_MAX_BYTES_WWW + 1]);
void HieCfg_Shortcut (bool PrintView,ParCod_Param_t ParCode,long HieCod); void HieCfg_Shortcut (Vie_ViewType_t ViewType,ParCod_Param_t ParCode,long HieCod);
void HieCfg_NumCtrs (unsigned NumCtrs,bool PutForm); void HieCfg_NumCtrs (unsigned NumCtrs,bool PutForm);
void HieCfg_NumCtrsWithMap (unsigned NumCtrs,unsigned NumCtrsWithMap); void HieCfg_NumCtrsWithMap (unsigned NumCtrs,unsigned NumCtrsWithMap);
void HieCfg_QR (ParCod_Param_t ParCode,long HieCod); void HieCfg_QR (ParCod_Param_t ParCode,long HieCod);

View File

@ -1441,7 +1441,7 @@ static bool Inf_CheckAndShowPlainTxt (void)
if (Gbl.Crs.Info.Type == Inf_INTRODUCTION || if (Gbl.Crs.Info.Type == Inf_INTRODUCTION ||
Gbl.Crs.Info.Type == Inf_TEACHING_GUIDE) Gbl.Crs.Info.Type == Inf_TEACHING_GUIDE)
Lay_WriteHeaderClassPhoto (false,false); Lay_WriteHeaderClassPhoto (Vie_VIEW,false);
HTM_DIV_Begin ("class=\"LM DAT_%s\"",The_GetSuffix ()); HTM_DIV_Begin ("class=\"LM DAT_%s\"",The_GetSuffix ());
@ -1531,7 +1531,7 @@ static bool Inf_CheckAndShowRichTxt (void)
if (Gbl.Crs.Info.Type == Inf_INTRODUCTION || if (Gbl.Crs.Info.Type == Inf_INTRODUCTION ||
Gbl.Crs.Info.Type == Inf_TEACHING_GUIDE) Gbl.Crs.Info.Type == Inf_TEACHING_GUIDE)
Lay_WriteHeaderClassPhoto (false,false); Lay_WriteHeaderClassPhoto (Vie_VIEW,false);
HTM_DIV_Begin ("id=\"crs_info\" class=\"LM CRS_INFO_%s\"", HTM_DIV_Begin ("id=\"crs_info\" class=\"LM CRS_INFO_%s\"",
The_GetSuffix ()); The_GetSuffix ());
@ -1664,7 +1664,7 @@ void Inf_EditPlainTxtInfo (void)
if (Gbl.Crs.Info.Type == Inf_INTRODUCTION || if (Gbl.Crs.Info.Type == Inf_INTRODUCTION ||
Gbl.Crs.Info.Type == Inf_TEACHING_GUIDE) Gbl.Crs.Info.Type == Inf_TEACHING_GUIDE)
Lay_WriteHeaderClassPhoto (false,false); Lay_WriteHeaderClassPhoto (Vie_VIEW,false);
/***** Get info text from database *****/ /***** Get info text from database *****/
Inf_GetInfoTxtFromDB (Gbl.Hierarchy.Node[Hie_CRS].HieCod,Gbl.Crs.Info.Type, Inf_GetInfoTxtFromDB (Gbl.Hierarchy.Node[Hie_CRS].HieCod,Gbl.Crs.Info.Type,
@ -1732,7 +1732,7 @@ void Inf_EditRichTxtInfo (void)
if (Gbl.Crs.Info.Type == Inf_INTRODUCTION || if (Gbl.Crs.Info.Type == Inf_INTRODUCTION ||
Gbl.Crs.Info.Type == Inf_TEACHING_GUIDE) Gbl.Crs.Info.Type == Inf_TEACHING_GUIDE)
Lay_WriteHeaderClassPhoto (false,false); Lay_WriteHeaderClassPhoto (Vie_VIEW,false);
/***** Get info text from database *****/ /***** Get info text from database *****/
Inf_GetInfoTxtFromDB (Gbl.Hierarchy.Node[Hie_CRS].HieCod,Gbl.Crs.Info.Type, Inf_GetInfoTxtFromDB (Gbl.Hierarchy.Node[Hie_CRS].HieCod,Gbl.Crs.Info.Type,

View File

@ -62,14 +62,14 @@ extern struct Globals Gbl;
/***************************** Private prototypes ****************************/ /***************************** Private prototypes ****************************/
/*****************************************************************************/ /*****************************************************************************/
static void InsCfg_Configuration (bool PrintView); static void InsCfg_Configuration (Vie_ViewType_t ViewType);
static void InsCfg_PutIconsToPrintAndUpload (__attribute__((unused)) void *Args); static void InsCfg_PutIconsToPrintAndUpload (__attribute__((unused)) void *Args);
static void InsCfg_Map (void); static void InsCfg_Map (void);
static void InsCfg_Country (bool PrintView,bool PutForm); static void InsCfg_Country (Vie_ViewType_t ViewType,bool PutForm);
static void InsCfg_FullName (bool PutForm); static void InsCfg_FullName (bool PutForm);
static void InsCfg_ShrtName (bool PutForm); static void InsCfg_ShrtName (bool PutForm);
static void InsCfg_WWW (bool PrintView,bool PutForm); static void InsCfg_WWW (Vie_ViewType_t ViewType,bool PutForm);
static void InsCfg_Shortcut (bool PrintView); static void InsCfg_Shortcut (Vie_ViewType_t ViewType);
static void InsCfg_QR (void); static void InsCfg_QR (void);
static void InsCfg_NumUsrs (void); static void InsCfg_NumUsrs (void);
static void InsCfg_NumDegs (void); static void InsCfg_NumDegs (void);
@ -82,7 +82,7 @@ static void InsCfg_NumDpts (void);
void InsCfg_ShowConfiguration (void) void InsCfg_ShowConfiguration (void)
{ {
InsCfg_Configuration (false); InsCfg_Configuration (Vie_VIEW);
/***** Show help to enrol me *****/ /***** Show help to enrol me *****/
Hlp_ShowHelpWhatWouldYouLikeToDo (); Hlp_ShowHelpWhatWouldYouLikeToDo ();
@ -94,14 +94,14 @@ void InsCfg_ShowConfiguration (void)
void InsCfg_PrintConfiguration (void) void InsCfg_PrintConfiguration (void)
{ {
InsCfg_Configuration (true); InsCfg_Configuration (Vie_PRINT);
} }
/*****************************************************************************/ /*****************************************************************************/
/***************** Information of the current institution ********************/ /***************** Information of the current institution ********************/
/*****************************************************************************/ /*****************************************************************************/
static void InsCfg_Configuration (bool PrintView) static void InsCfg_Configuration (Vie_ViewType_t ViewType)
{ {
extern const char *Hlp_INSTITUTION_Information; extern const char *Hlp_INSTITUTION_Information;
bool PutLink; bool PutLink;
@ -116,21 +116,17 @@ static void InsCfg_Configuration (bool PrintView)
return; return;
/***** Initializations *****/ /***** Initializations *****/
PutLink = !PrintView && Gbl.Hierarchy.Node[Hie_INS].WWW[0]; PutLink = ViewType == Vie_VIEW && Gbl.Hierarchy.Node[Hie_INS].WWW[0];
PutFormCty = PutFormCty =
PutFormName = !PrintView && Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM; PutFormName = ViewType == Vie_VIEW && Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM;
PutFormWWW = !PrintView && Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM; PutFormWWW = ViewType == Vie_VIEW && Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM;
/***** Begin box *****/ /***** Begin box *****/
if (PrintView)
Box_BoxBegin (NULL,NULL, Box_BoxBegin (NULL,NULL,
ViewType == Vie_VIEW ? InsCfg_PutIconsToPrintAndUpload :
NULL,NULL, NULL,NULL,
ViewType == Vie_VIEW ? Hlp_INSTITUTION_Information :
NULL,Box_NOT_CLOSABLE); NULL,Box_NOT_CLOSABLE);
else
Box_BoxBegin (NULL,NULL,
InsCfg_PutIconsToPrintAndUpload,NULL,
Hlp_INSTITUTION_Information,Box_NOT_CLOSABLE);
/***** Title *****/ /***** Title *****/
HieCfg_Title (PutLink,Hie_INS); HieCfg_Title (PutLink,Hie_INS);
@ -142,24 +138,23 @@ static void InsCfg_Configuration (bool PrintView)
HTM_TABLE_BeginWidePadding (2); HTM_TABLE_BeginWidePadding (2);
/***** Country *****/ /***** Country *****/
InsCfg_Country (PrintView,PutFormCty); InsCfg_Country (ViewType,PutFormCty);
/***** Institution name *****/ /***** Institution name *****/
InsCfg_FullName (PutFormName); InsCfg_FullName (PutFormName);
InsCfg_ShrtName (PutFormName); InsCfg_ShrtName (PutFormName);
/***** Institution WWW *****/ /***** Institution WWW *****/
InsCfg_WWW (PrintView,PutFormWWW); InsCfg_WWW (ViewType,PutFormWWW);
/***** Shortcut to the institution *****/ /***** Shortcut to the institution *****/
InsCfg_Shortcut (PrintView); InsCfg_Shortcut (ViewType);
NumCtrsWithMap = Ctr_GetCachedNumCtrsWithMapInIns (Gbl.Hierarchy.Node[Hie_INS].HieCod); NumCtrsWithMap = Ctr_GetCachedNumCtrsWithMapInIns (Gbl.Hierarchy.Node[Hie_INS].HieCod);
if (PrintView)
/***** QR code with link to the institution *****/ switch (ViewType)
InsCfg_QR ();
else
{ {
case Vie_VIEW:
NumCtrs = Hie_GetCachedNumNodesInHieLvl (Hie_CTR, // Number of centers... NumCtrs = Hie_GetCachedNumNodesInHieLvl (Hie_CTR, // Number of centers...
Hie_INS, // ...in institution Hie_INS, // ...in institution
Gbl.Hierarchy.Node[Hie_INS].HieCod); Gbl.Hierarchy.Node[Hie_INS].HieCod);
@ -182,6 +177,14 @@ static void InsCfg_Configuration (bool PrintView)
HieCfg_NumUsrsInCrss (Hie_INS,Gbl.Hierarchy.Node[Hie_INS].HieCod,Rol_NET); HieCfg_NumUsrsInCrss (Hie_INS,Gbl.Hierarchy.Node[Hie_INS].HieCod,Rol_NET);
HieCfg_NumUsrsInCrss (Hie_INS,Gbl.Hierarchy.Node[Hie_INS].HieCod,Rol_STD); HieCfg_NumUsrsInCrss (Hie_INS,Gbl.Hierarchy.Node[Hie_INS].HieCod,Rol_STD);
HieCfg_NumUsrsInCrss (Hie_INS,Gbl.Hierarchy.Node[Hie_INS].HieCod,Rol_UNK); HieCfg_NumUsrsInCrss (Hie_INS,Gbl.Hierarchy.Node[Hie_INS].HieCod,Rol_UNK);
break;
case Vie_PRINT:
/***** QR code with link to the institution *****/
InsCfg_QR ();
break;
default:
Err_WrongTypeExit ();
break;
} }
/***** End table *****/ /***** End table *****/
@ -294,7 +297,7 @@ static void InsCfg_Map (void)
/***************** Show country in institution configuration *****************/ /***************** Show country in institution configuration *****************/
/*****************************************************************************/ /*****************************************************************************/
static void InsCfg_Country (bool PrintView,bool PutForm) static void InsCfg_Country (Vie_ViewType_t ViewType,bool PutForm)
{ {
extern const char *Par_CodeStr[]; extern const char *Par_CodeStr[];
extern const char *Txt_Country; extern const char *Txt_Country;
@ -338,7 +341,7 @@ static void InsCfg_Country (bool PrintView,bool PutForm)
} }
else // I can not move institution to another country else // I can not move institution to another country
{ {
if (!PrintView) if (ViewType == Vie_VIEW)
{ {
Frm_BeginFormGoTo (ActSeeCtyInf); Frm_BeginFormGoTo (ActSeeCtyInf);
ParCod_PutPar (ParCod_Cty,Gbl.Hierarchy.Node[Hie_CTY].HieCod); ParCod_PutPar (ParCod_Cty,Gbl.Hierarchy.Node[Hie_CTY].HieCod);
@ -349,7 +352,7 @@ static void InsCfg_Country (bool PrintView,bool PutForm)
Cty_DrawCountryMap (&Gbl.Hierarchy.Node[Hie_CTY],"COUNTRY_MAP_TINY"); Cty_DrawCountryMap (&Gbl.Hierarchy.Node[Hie_CTY],"COUNTRY_MAP_TINY");
HTM_NBSP (); HTM_NBSP ();
HTM_Txt (Gbl.Hierarchy.Node[Hie_CTY].FullName); HTM_Txt (Gbl.Hierarchy.Node[Hie_CTY].FullName);
if (!PrintView) if (ViewType == Vie_VIEW)
{ {
HTM_BUTTON_End (); HTM_BUTTON_End ();
Frm_EndForm (); Frm_EndForm ();
@ -384,18 +387,18 @@ static void InsCfg_ShrtName (bool PutForm)
/************ Show institution WWW in institution configuration **************/ /************ Show institution WWW in institution configuration **************/
/*****************************************************************************/ /*****************************************************************************/
static void InsCfg_WWW (bool PrintView,bool PutForm) static void InsCfg_WWW (Vie_ViewType_t ViewType,bool PutForm)
{ {
HieCfg_WWW (PrintView,PutForm,ActChgInsWWWCfg,Gbl.Hierarchy.Node[Hie_INS].WWW); HieCfg_WWW (ViewType,PutForm,ActChgInsWWWCfg,Gbl.Hierarchy.Node[Hie_INS].WWW);
} }
/*****************************************************************************/ /*****************************************************************************/
/********** Show institution shortcut in institution configuration ***********/ /********** Show institution shortcut in institution configuration ***********/
/*****************************************************************************/ /*****************************************************************************/
static void InsCfg_Shortcut (bool PrintView) static void InsCfg_Shortcut (Vie_ViewType_t ViewType)
{ {
HieCfg_Shortcut (PrintView,ParCod_Ins,Gbl.Hierarchy.Node[Hie_INS].HieCod); HieCfg_Shortcut (ViewType,ParCod_Ins,Gbl.Hierarchy.Node[Hie_INS].HieCod);
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -1462,7 +1462,7 @@ static void Lay_WriteFootFromHTMLFile (void)
/****** Write header and footer of the class photo or academic calendar ******/ /****** Write header and footer of the class photo or academic calendar ******/
/*****************************************************************************/ /*****************************************************************************/
void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto) void Lay_WriteHeaderClassPhoto (Vie_ViewType_t ViewType,bool DrawingClassPhoto)
{ {
struct Hie_Node Hie[Hie_NUM_LEVELS]; struct Hie_Node Hie[Hie_NUM_LEVELS];
@ -1492,13 +1492,13 @@ void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto)
HTM_TD_Begin ("class=\"LT\" style=\"width:60px;\""); HTM_TD_Begin ("class=\"LT\" style=\"width:60px;\"");
if (Hie[Hie_INS].HieCod > 0) if (Hie[Hie_INS].HieCod > 0)
{ {
if (!PrintView) if (ViewType == Vie_VIEW)
HTM_A_Begin ("href=\"%s\" target=\"_blank\"",Hie[Hie_INS].WWW); HTM_A_Begin ("href=\"%s\" target=\"_blank\"",Hie[Hie_INS].WWW);
Lgo_DrawLogo (Hie_INS, Lgo_DrawLogo (Hie_INS,
Hie[Hie_INS].HieCod, Hie[Hie_INS].HieCod,
Hie[Hie_INS].ShrtName, Hie[Hie_INS].ShrtName,
40,NULL); 40,NULL);
if (!PrintView) if (ViewType == Vie_VIEW)
HTM_A_End (); HTM_A_End ();
} }
HTM_TD_End (); HTM_TD_End ();
@ -1508,24 +1508,24 @@ void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto)
The_GetSuffix ()); The_GetSuffix ());
if (Hie[Hie_INS].HieCod > 0) if (Hie[Hie_INS].HieCod > 0)
{ {
if (!PrintView) if (ViewType == Vie_VIEW)
HTM_A_Begin ("href=\"%s\" target=\"_blank\"" HTM_A_Begin ("href=\"%s\" target=\"_blank\""
" class=\"CLASSPHOTO_TITLE CLASSPHOTO_%s\"", " class=\"CLASSPHOTO_TITLE CLASSPHOTO_%s\"",
Hie[Hie_INS].WWW,The_GetSuffix ()); Hie[Hie_INS].WWW,The_GetSuffix ());
HTM_Txt (Hie[Hie_INS].FullName); HTM_Txt (Hie[Hie_INS].FullName);
if (!PrintView) if (ViewType == Vie_VIEW)
HTM_A_End (); HTM_A_End ();
} }
if (Hie[Hie_DEG].HieCod > 0) if (Hie[Hie_DEG].HieCod > 0)
{ {
if (Hie[Hie_INS].HieCod > 0) if (Hie[Hie_INS].HieCod > 0)
HTM_Txt (" - "); HTM_Txt (" - ");
if (!PrintView) if (ViewType == Vie_VIEW)
HTM_A_Begin ("href=\"%s\" target=\"_blank\"" HTM_A_Begin ("href=\"%s\" target=\"_blank\""
" class=\"CLASSPHOTO_TITLE CLASSPHOTO_%s\"", " class=\"CLASSPHOTO_TITLE CLASSPHOTO_%s\"",
Hie[Hie_DEG].WWW,The_GetSuffix ()); Hie[Hie_DEG].WWW,The_GetSuffix ());
HTM_Txt (Hie[Hie_DEG].FullName); HTM_Txt (Hie[Hie_DEG].FullName);
if (!PrintView) if (ViewType == Vie_VIEW)
HTM_A_End (); HTM_A_End ();
} }
HTM_BR (); HTM_BR ();
@ -1544,7 +1544,7 @@ void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto)
HTM_TD_Begin ("class=\"RT\" style=\"width:60px;\""); HTM_TD_Begin ("class=\"RT\" style=\"width:60px;\"");
if (Hie[Hie_DEG].HieCod > 0) if (Hie[Hie_DEG].HieCod > 0)
{ {
if (!PrintView) if (ViewType == Vie_VIEW)
HTM_A_Begin ("href=\"%s\" target=\"_blank\"" HTM_A_Begin ("href=\"%s\" target=\"_blank\""
" class=\"CLASSPHOTO_TITLE CLASSPHOTO_%s\"", " class=\"CLASSPHOTO_TITLE CLASSPHOTO_%s\"",
Hie[Hie_DEG].WWW,The_GetSuffix ()); Hie[Hie_DEG].WWW,The_GetSuffix ());
@ -1552,7 +1552,7 @@ void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto)
Hie[Hie_DEG].HieCod, Hie[Hie_DEG].HieCod,
Hie[Hie_DEG].ShrtName, Hie[Hie_DEG].ShrtName,
40,NULL); 40,NULL);
if (!PrintView) if (ViewType == Vie_VIEW)
HTM_A_End (); HTM_A_End ();
} }
HTM_TD_End (); HTM_TD_End ();

View File

@ -29,6 +29,7 @@
#include "swad_action.h" #include "swad_action.h"
#include "swad_icon.h" #include "swad_icon.h"
#include "swad_view_edit.h"
/*****************************************************************************/ /*****************************************************************************/
/****************************** Public constants *****************************/ /****************************** Public constants *****************************/
@ -67,7 +68,7 @@ void Lay_WriteAboutZone (void);
void Lay_RefreshNotifsAndConnected (void); void Lay_RefreshNotifsAndConnected (void);
void Lay_RefreshLastClicks (void); void Lay_RefreshLastClicks (void);
void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto); void Lay_WriteHeaderClassPhoto (Vie_ViewType_t ViewType,bool DrawingClassPhoto);
void Lay_AdvertisementMobile (void); void Lay_AdvertisementMobile (void);

View File

@ -1097,7 +1097,7 @@ void MchRes_ShowOneMchResult (void)
Box_BoxBegin (NULL,Match.Title, Box_BoxBegin (NULL,Match.Title,
NULL,NULL, NULL,NULL,
Hlp_ASSESSMENT_Games_results,Box_NOT_CLOSABLE); Hlp_ASSESSMENT_Games_results,Box_NOT_CLOSABLE);
Lay_WriteHeaderClassPhoto (false,false); Lay_WriteHeaderClassPhoto (Vie_VIEW,false);
/***** Begin table *****/ /***** Begin table *****/
HTM_TABLE_BeginWideMarginPadding (10); HTM_TABLE_BeginWideMarginPadding (10);

View File

@ -130,7 +130,7 @@ static void Prg_WriteRowItem (Prg_ListingType_t ListingType,
long SelectedRscCod); long SelectedRscCod);
static void Prg_PutIconToContractOrExpandItem (struct Prg_Item *Item, static void Prg_PutIconToContractOrExpandItem (struct Prg_Item *Item,
ConExp_ContractedOrExpanded_t ContractedOrExpanded, ConExp_ContractedOrExpanded_t ContractedOrExpanded,
VieEdi_ViewOrEdit_t ViewingOrEditing); Vie_ViewType_t ViewType);
static void Prg_WriteItemText (long ItmCod,HidVis_HiddenOrVisible_t HiddenOrVisible); static void Prg_WriteItemText (long ItmCod,HidVis_HiddenOrVisible_t HiddenOrVisible);
static void Prg_WriteRowToCreateItem (long ParentItmCod,unsigned FormLevel); static void Prg_WriteRowToCreateItem (long ParentItmCod,unsigned FormLevel);
static void Prg_SetTitleClass (char **TitleClass,unsigned Level); static void Prg_SetTitleClass (char **TitleClass,unsigned Level);
@ -473,20 +473,20 @@ static void Prg_WriteRowItem (Prg_ListingType_t ListingType,
{ {
extern const char *HidVis_PrgClass[HidVis_NUM_HIDDEN_VISIBLE]; extern const char *HidVis_PrgClass[HidVis_NUM_HIDDEN_VISIBLE];
static unsigned UniqueId = 0; static unsigned UniqueId = 0;
static VieEdi_ViewOrEdit_t ViewingOrEditingProgram[Prg_NUM_LISTING_TYPES] = static Vie_ViewType_t ViewingOrEditingProgram[Prg_NUM_LISTING_TYPES] =
{ {
[Prg_PRINT ] = VieEdi_VIEW, [Prg_PRINT ] = Vie_VIEW,
[Prg_VIEW ] = VieEdi_VIEW, [Prg_VIEW ] = Vie_VIEW,
[Prg_EDIT_ITEMS ] = VieEdi_EDIT, [Prg_EDIT_ITEMS ] = Vie_EDIT,
[Prg_FORM_NEW_END_ITEM ] = VieEdi_EDIT, [Prg_FORM_NEW_END_ITEM ] = Vie_EDIT,
[Prg_FORM_NEW_CHILD_ITEM ] = VieEdi_EDIT, [Prg_FORM_NEW_CHILD_ITEM ] = Vie_EDIT,
[Prg_FORM_EDIT_ITEM ] = VieEdi_EDIT, [Prg_FORM_EDIT_ITEM ] = Vie_EDIT,
[Prg_END_EDIT_ITEM ] = VieEdi_EDIT, [Prg_END_EDIT_ITEM ] = Vie_EDIT,
[Prg_RECEIVE_ITEM ] = VieEdi_EDIT, [Prg_RECEIVE_ITEM ] = Vie_EDIT,
[Prg_EDIT_RESOURCES ] = VieEdi_EDIT, [Prg_EDIT_RESOURCES ] = Vie_EDIT,
[Prg_EDIT_RESOURCE_LINK ] = VieEdi_EDIT, [Prg_EDIT_RESOURCE_LINK ] = Vie_EDIT,
[Prg_CHANGE_RESOURCE_LINK] = VieEdi_EDIT, [Prg_CHANGE_RESOURCE_LINK] = Vie_EDIT,
[Prg_END_EDIT_RES ] = VieEdi_EDIT, [Prg_END_EDIT_RES ] = Vie_EDIT,
}; };
static const char *RowSpan[ConExp_NUM_CONTRACTED_EXPANDED] = static const char *RowSpan[ConExp_NUM_CONTRACTED_EXPANDED] =
{ {
@ -513,7 +513,7 @@ static void Prg_WriteRowItem (Prg_ListingType_t ListingType,
break; break;
} }
if (ViewingOrEditingProgram[ListingType] == VieEdi_EDIT || if (ViewingOrEditingProgram[ListingType] == Vie_EDIT ||
HiddenOrVisible == HidVis_VISIBLE) HiddenOrVisible == HidVis_VISIBLE)
{ {
/***** Increase number in level *****/ /***** Increase number in level *****/
@ -548,7 +548,7 @@ static void Prg_WriteRowItem (Prg_ListingType_t ListingType,
HTM_TD_End (); HTM_TD_End ();
/* Forms to remove/edit this program item */ /* Forms to remove/edit this program item */
if (ViewingOrEditingProgram[ListingType] == VieEdi_EDIT) if (ViewingOrEditingProgram[ListingType] == Vie_EDIT)
{ {
HTM_TD_Begin ("class=\"PRG_COL1 LT %s\"%s", HTM_TD_Begin ("class=\"PRG_COL1 LT %s\"%s",
The_GetColorRows (),RowSpan[ContractedOrExpanded]); The_GetColorRows (),RowSpan[ContractedOrExpanded]);
@ -670,14 +670,14 @@ static void Prg_WriteRowItem (Prg_ListingType_t ListingType,
static void Prg_PutIconToContractOrExpandItem (struct Prg_Item *Item, static void Prg_PutIconToContractOrExpandItem (struct Prg_Item *Item,
ConExp_ContractedOrExpanded_t ContractedOrExpanded, ConExp_ContractedOrExpanded_t ContractedOrExpanded,
VieEdi_ViewOrEdit_t ViewingOrEditing) Vie_ViewType_t ViewType)
{ {
static const Act_Action_t NextAction[ConExp_NUM_CONTRACTED_EXPANDED][2] = static const Act_Action_t NextAction[ConExp_NUM_CONTRACTED_EXPANDED][Vie_NUM_VIEW_TYPES] =
{ {
[ConExp_CONTRACTED][VieEdi_VIEW] = ActExpSeePrgItm, // Contracted, Not editing ==> action to expand [ConExp_CONTRACTED][Vie_VIEW] = ActExpSeePrgItm, // Contracted, Not editing ==> action to expand
[ConExp_CONTRACTED][VieEdi_EDIT] = ActExpEdiPrgItm, // Contracted, Editing ==> action to expand [ConExp_CONTRACTED][Vie_EDIT] = ActExpEdiPrgItm, // Contracted, Editing ==> action to expand
[ConExp_EXPANDED ][VieEdi_VIEW] = ActConSeePrgItm, // Expanded , Not editing ==> action to contract [ConExp_EXPANDED ][Vie_VIEW] = ActConSeePrgItm, // Expanded , Not editing ==> action to contract
[ConExp_EXPANDED ][VieEdi_EDIT] = ActConEdiPrgItm, // Expanded , Editing ==> action to contract [ConExp_EXPANDED ][Vie_EDIT] = ActConEdiPrgItm, // Expanded , Editing ==> action to contract
}; };
static void (*PutContextualIcon[ConExp_NUM_CONTRACTED_EXPANDED]) (const Act_Action_t NextAction,const char *Anchor, static void (*PutContextualIcon[ConExp_NUM_CONTRACTED_EXPANDED]) (const Act_Action_t NextAction,const char *Anchor,
void (*FuncPars) (void *Args),void *Args) = void (*FuncPars) (void *Args),void *Args) =
@ -687,7 +687,7 @@ static void Prg_PutIconToContractOrExpandItem (struct Prg_Item *Item,
}; };
/***** Icon to hide/unhide program item *****/ /***** Icon to hide/unhide program item *****/
PutContextualIcon[ContractedOrExpanded] (NextAction[ContractedOrExpanded][ViewingOrEditing], PutContextualIcon[ContractedOrExpanded] (NextAction[ContractedOrExpanded][ViewType],
Prg_HIGHLIGHTED_SECTION_ID, Prg_HIGHLIGHTED_SECTION_ID,
Prg_PutParItmCod,&Item->Hierarchy.ItmCod); Prg_PutParItmCod,&Item->Hierarchy.ItmCod);
} }

View File

@ -81,10 +81,10 @@ static void PrgRsc_WriteRowViewResource (unsigned NumRsc,
const struct Prg_Item *Item); const struct Prg_Item *Item);
static void PrgRsc_WriteRowEditResource (unsigned NumRsc,unsigned NumResources, static void PrgRsc_WriteRowEditResource (unsigned NumRsc,unsigned NumResources,
struct Prg_Item *Item, struct Prg_Item *Item,
VieEdi_ViewOrEdit_t ViewOrEditLink); Vie_ViewType_t LinkViewType);
static void PrgRsc_WriteRowNewResource (unsigned NumResources, static void PrgRsc_WriteRowNewResource (unsigned NumResources,
struct Prg_Item *Item, struct Prg_Item *Item,
VieEdi_ViewOrEdit_t ViewOrEditLink); Vie_ViewType_t LinkViewType);
static void PrgRsc_PutFormsToRemEditOneResource (struct Prg_Item *Item, static void PrgRsc_PutFormsToRemEditOneResource (struct Prg_Item *Item,
unsigned NumRsc, unsigned NumRsc,
unsigned NumResources); unsigned NumResources);
@ -155,42 +155,42 @@ void PrgRsc_ListItemResources (Prg_ListingType_t ListingType,
MYSQL_RES *mysql_res; MYSQL_RES *mysql_res;
unsigned NumRsc; unsigned NumRsc;
unsigned NumResources; unsigned NumResources;
VieEdi_ViewOrEdit_t ViewingOrEditingResourcesOfThisItem; Vie_ViewType_t ViewingOrEditingResourcesOfThisItem;
char *Title; char *Title;
static VieEdi_ViewOrEdit_t ViewingOrEditing[Prg_NUM_LISTING_TYPES] = static Vie_ViewType_t ViewingOrEditing[Prg_NUM_LISTING_TYPES] =
{ {
[Prg_PRINT ] = VieEdi_VIEW, [Prg_PRINT ] = Vie_VIEW,
[Prg_VIEW ] = VieEdi_VIEW, [Prg_VIEW ] = Vie_VIEW,
[Prg_EDIT_ITEMS ] = VieEdi_EDIT, [Prg_EDIT_ITEMS ] = Vie_EDIT,
[Prg_FORM_NEW_END_ITEM ] = VieEdi_EDIT, [Prg_FORM_NEW_END_ITEM ] = Vie_EDIT,
[Prg_FORM_NEW_CHILD_ITEM ] = VieEdi_EDIT, [Prg_FORM_NEW_CHILD_ITEM ] = Vie_EDIT,
[Prg_FORM_EDIT_ITEM ] = VieEdi_EDIT, [Prg_FORM_EDIT_ITEM ] = Vie_EDIT,
[Prg_END_EDIT_ITEM ] = VieEdi_EDIT, [Prg_END_EDIT_ITEM ] = Vie_EDIT,
[Prg_RECEIVE_ITEM ] = VieEdi_EDIT, [Prg_RECEIVE_ITEM ] = Vie_EDIT,
[Prg_EDIT_RESOURCES ] = VieEdi_EDIT, [Prg_EDIT_RESOURCES ] = Vie_EDIT,
[Prg_EDIT_RESOURCE_LINK ] = VieEdi_EDIT, [Prg_EDIT_RESOURCE_LINK ] = Vie_EDIT,
[Prg_CHANGE_RESOURCE_LINK] = VieEdi_EDIT, [Prg_CHANGE_RESOURCE_LINK] = Vie_EDIT,
[Prg_END_EDIT_RES ] = VieEdi_EDIT, [Prg_END_EDIT_RES ] = Vie_EDIT,
}; };
static VieEdi_ViewOrEdit_t ViewingOrEditingResources[Prg_NUM_LISTING_TYPES] = static Vie_ViewType_t ViewingOrEditingResources[Prg_NUM_LISTING_TYPES] =
{ {
[Prg_PRINT ] = VieEdi_VIEW, [Prg_PRINT ] = Vie_VIEW,
[Prg_VIEW ] = VieEdi_VIEW, [Prg_VIEW ] = Vie_VIEW,
[Prg_EDIT_ITEMS ] = VieEdi_VIEW, [Prg_EDIT_ITEMS ] = Vie_VIEW,
[Prg_FORM_NEW_END_ITEM ] = VieEdi_VIEW, [Prg_FORM_NEW_END_ITEM ] = Vie_VIEW,
[Prg_FORM_NEW_CHILD_ITEM ] = VieEdi_VIEW, [Prg_FORM_NEW_CHILD_ITEM ] = Vie_VIEW,
[Prg_FORM_EDIT_ITEM ] = VieEdi_VIEW, [Prg_FORM_EDIT_ITEM ] = Vie_VIEW,
[Prg_END_EDIT_ITEM ] = VieEdi_VIEW, [Prg_END_EDIT_ITEM ] = Vie_VIEW,
[Prg_RECEIVE_ITEM ] = VieEdi_VIEW, [Prg_RECEIVE_ITEM ] = Vie_VIEW,
[Prg_EDIT_RESOURCES ] = VieEdi_EDIT, [Prg_EDIT_RESOURCES ] = Vie_EDIT,
[Prg_EDIT_RESOURCE_LINK ] = VieEdi_EDIT, [Prg_EDIT_RESOURCE_LINK ] = Vie_EDIT,
[Prg_CHANGE_RESOURCE_LINK] = VieEdi_EDIT, [Prg_CHANGE_RESOURCE_LINK] = Vie_EDIT,
[Prg_END_EDIT_RES ] = VieEdi_VIEW, [Prg_END_EDIT_RES ] = Vie_VIEW,
}; };
static void (*PrgRsc_PutIconsResources[VieEdi_NUM_VIEW_EDIT]) (void *ItmCod) = static void (*PrgRsc_PutIconsResources[Vie_NUM_VIEW_TYPES]) (void *ItmCod) =
{ {
PrgRsc_PutIconsViewResources, [Vie_VIEW] = PrgRsc_PutIconsViewResources,
PrgRsc_PutIconsEditResources, [Vie_EDIT] = PrgRsc_PutIconsEditResources,
}; };
/***** Trivial check *****/ /***** Trivial check *****/
@ -199,9 +199,9 @@ void PrgRsc_ListItemResources (Prg_ListingType_t ListingType,
/***** Get list of item resources from database *****/ /***** Get list of item resources from database *****/
NumResources = Prg_DB_GetListResources (&mysql_res,Item->Hierarchy.ItmCod, NumResources = Prg_DB_GetListResources (&mysql_res,Item->Hierarchy.ItmCod,
ViewingOrEditingResources[ListingType] == VieEdi_EDIT); ViewingOrEditingResources[ListingType] == Vie_EDIT);
if (NumResources || ViewingOrEditing[ListingType] == VieEdi_EDIT) if (NumResources || ViewingOrEditing[ListingType] == Vie_EDIT)
{ {
if (Item->Hierarchy.ItmCod == SelectedItmCod) if (Item->Hierarchy.ItmCod == SelectedItmCod)
{ {
@ -219,18 +219,18 @@ void PrgRsc_ListItemResources (Prg_ListingType_t ListingType,
} }
/***** Begin box *****/ /***** Begin box *****/
ViewingOrEditingResourcesOfThisItem = ViewingOrEditingResources[ListingType] == VieEdi_EDIT && ViewingOrEditingResourcesOfThisItem = ViewingOrEditingResources[ListingType] == Vie_EDIT &&
(Item->Hierarchy.ItmCod == SelectedItmCod) ? VieEdi_EDIT : (Item->Hierarchy.ItmCod == SelectedItmCod) ? Vie_EDIT :
VieEdi_VIEW; Vie_VIEW;
switch (ViewingOrEditing[ListingType]) switch (ViewingOrEditing[ListingType])
{ {
case VieEdi_VIEW: case Vie_VIEW:
Box_BoxBegin ("100%",NULL, Box_BoxBegin ("100%",NULL,
NULL,NULL, NULL,NULL,
NULL,Box_NOT_CLOSABLE); NULL,Box_NOT_CLOSABLE);
break; break;
case VieEdi_EDIT: case Vie_EDIT:
if (asprintf (&Title,Txt_Resources_of_X,Item->Title) < 0) if (asprintf (&Title,Txt_Resources_of_X,Item->Title) < 0)
Err_NotEnoughMemoryExit (); Err_NotEnoughMemoryExit ();
Box_BoxBegin ("100%",Title, Box_BoxBegin ("100%",Title,
@ -239,6 +239,9 @@ void PrgRsc_ListItemResources (Prg_ListingType_t ListingType,
Hlp_COURSE_Program,Box_NOT_CLOSABLE); Hlp_COURSE_Program,Box_NOT_CLOSABLE);
free (Title); free (Title);
break; break;
default:
Err_WrongTypeExit ();
break;
} }
/***** Table *****/ /***** Table *****/
@ -256,25 +259,29 @@ void PrgRsc_ListItemResources (Prg_ListingType_t ListingType,
/* Show item */ /* Show item */
switch (ViewingOrEditingResourcesOfThisItem) switch (ViewingOrEditingResourcesOfThisItem)
{ {
case VieEdi_VIEW: case Vie_VIEW:
PrgRsc_WriteRowViewResource (NumRsc,Item); PrgRsc_WriteRowViewResource (NumRsc,Item);
break; break;
case VieEdi_EDIT: case Vie_EDIT:
PrgRsc_WriteRowEditResource (NumRsc,NumResources,Item, PrgRsc_WriteRowEditResource (NumRsc,NumResources,Item,
(ListingType == Prg_EDIT_RESOURCE_LINK && (ListingType == Prg_EDIT_RESOURCE_LINK &&
Item->Resource.Hierarchy.RscCod == SelectedRscCod) ? VieEdi_EDIT : Item->Resource.Hierarchy.RscCod == SelectedRscCod) ? Vie_EDIT :
VieEdi_VIEW); Vie_VIEW);
break;
default:
Err_WrongTypeExit ();
break;
} }
} }
/***** Form to create a new resource *****/ /***** Form to create a new resource *****/
if (ViewingOrEditingResourcesOfThisItem == VieEdi_EDIT) if (ViewingOrEditingResourcesOfThisItem == Vie_EDIT)
{ {
Prg_ResetResource (Item); Prg_ResetResource (Item);
PrgRsc_WriteRowNewResource (NumResources,Item, PrgRsc_WriteRowNewResource (NumResources,Item,
(ListingType == Prg_EDIT_RESOURCE_LINK && (ListingType == Prg_EDIT_RESOURCE_LINK &&
Item->Resource.Hierarchy.RscCod == SelectedRscCod) ? VieEdi_EDIT : Item->Resource.Hierarchy.RscCod == SelectedRscCod) ? Vie_EDIT :
VieEdi_VIEW); Vie_VIEW);
} }
/***** End table *****/ /***** End table *****/
@ -413,7 +420,7 @@ static void PrgRsc_WriteRowViewResource (unsigned NumRsc,
static void PrgRsc_WriteRowEditResource (unsigned NumRsc,unsigned NumResources, static void PrgRsc_WriteRowEditResource (unsigned NumRsc,unsigned NumResources,
struct Prg_Item *Item, struct Prg_Item *Item,
VieEdi_ViewOrEdit_t ViewOrEditLink) Vie_ViewType_t LinkViewType)
{ {
/***** Begin row *****/ /***** Begin row *****/
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
@ -445,19 +452,22 @@ static void PrgRsc_WriteRowEditResource (unsigned NumRsc,unsigned NumResources,
HTM_BR (); HTM_BR ();
/* Edit link showing clipboard / Show current link */ /* Edit link showing clipboard / Show current link */
switch (ViewOrEditLink) switch (LinkViewType)
{ {
case VieEdi_VIEW: case Vie_VIEW:
/* Show current link */ /* Show current link */
Rsc_WriteLinkName (&Item->Resource.Link,Frm_PUT_FORM_TO_GO); Rsc_WriteLinkName (&Item->Resource.Link,Frm_PUT_FORM_TO_GO);
break; break;
case VieEdi_EDIT: case Vie_EDIT:
/* Show clipboard to change resource link */ /* Show clipboard to change resource link */
Frm_BeginFormAnchor (ActChgLnkPrgRsc,PrgRsc_RESOURCE_SECTION_ID); Frm_BeginFormAnchor (ActChgLnkPrgRsc,PrgRsc_RESOURCE_SECTION_ID);
ParCod_PutPar (ParCod_Rsc,Item->Resource.Hierarchy.RscCod); ParCod_PutPar (ParCod_Rsc,Item->Resource.Hierarchy.RscCod);
Rsc_ShowClipboardToChangeLink (&Item->Resource.Link); Rsc_ShowClipboardToChangeLink (&Item->Resource.Link);
Frm_EndForm (); Frm_EndForm ();
break; break;
default:
Err_WrongTypeExit ();
break;
} }
HTM_TD_End (); HTM_TD_End ();
@ -472,7 +482,7 @@ static void PrgRsc_WriteRowEditResource (unsigned NumRsc,unsigned NumResources,
static void PrgRsc_WriteRowNewResource (unsigned NumResources, static void PrgRsc_WriteRowNewResource (unsigned NumResources,
struct Prg_Item *Item, struct Prg_Item *Item,
VieEdi_ViewOrEdit_t ViewOrEditLink) Vie_ViewType_t LinkViewType)
{ {
extern const char *Txt_New_resource; extern const char *Txt_New_resource;
@ -505,7 +515,7 @@ static void PrgRsc_WriteRowNewResource (unsigned NumResources,
Frm_EndForm (); Frm_EndForm ();
/* Edit link showing clipboard? */ /* Edit link showing clipboard? */
if (ViewOrEditLink == VieEdi_EDIT) if (LinkViewType == Vie_EDIT)
{ {
HTM_BR (); HTM_BR ();

View File

@ -1413,7 +1413,7 @@ void Prj_PrintOneProject (void)
Prj_GetProjectDataByCod (&Projects.Prj); Prj_GetProjectDataByCod (&Projects.Prj);
/***** Write header *****/ /***** Write header *****/
Lay_WriteHeaderClassPhoto (true,false); Lay_WriteHeaderClassPhoto (Vie_PRINT,false);
/***** Begin table *****/ /***** Begin table *****/
HTM_TABLE_BeginWideMarginPadding (2); HTM_TABLE_BeginWideMarginPadding (2);

View File

@ -136,7 +136,7 @@ void Syl_ResetSyllabus (struct Syl_Syllabus *Syllabus)
{ {
Syllabus->PathDir[0] = '\0'; Syllabus->PathDir[0] = '\0';
Syllabus->NumItem = 0; Syllabus->NumItem = 0;
Syllabus->ViewingOrEditing = VieEdi_VIEW; Syllabus->ViewType = Vie_VIEW;
Syllabus->WhichSyllabus = Syl_DEFAULT_WHICH_SYLLABUS; Syllabus->WhichSyllabus = Syl_DEFAULT_WHICH_SYLLABUS;
} }
@ -244,14 +244,14 @@ bool Syl_CheckAndEditSyllabus (struct Syl_Syllabus *Syllabus)
case ActLftIteSylLec: case ActLftIteSylPra: case ActLftIteSylLec: case ActLftIteSylPra:
case ActInsIteSylLec: case ActInsIteSylPra: case ActInsIteSylLec: case ActInsIteSylPra:
case ActModIteSylLec: case ActModIteSylPra: case ActModIteSylLec: case ActModIteSylPra:
Syllabus->ViewingOrEditing = VieEdi_EDIT; Syllabus->ViewType = Vie_EDIT;
break; break;
default: default:
Syllabus->ViewingOrEditing = VieEdi_VIEW; Syllabus->ViewType = Vie_VIEW;
break; break;
} }
if (Syllabus->ViewingOrEditing == VieEdi_EDIT || if (Syllabus->ViewType == Vie_EDIT ||
Syl_LstItemsSyllabus.NumItems) Syl_LstItemsSyllabus.NumItems)
{ {
/***** Write the current syllabus *****/ /***** Write the current syllabus *****/
@ -523,15 +523,15 @@ static void Syl_ShowSyllabus (struct Syl_Syllabus *Syllabus)
extern const char *Txt_Done; extern const char *Txt_Done;
unsigned NumItem; unsigned NumItem;
int Col; int Col;
static const char **HelpLink[VieEdi_NUM_VIEW_EDIT] = static const char **HelpLink[Vie_NUM_VIEW_TYPES] =
{ {
[VieEdi_VIEW] = &Hlp_COURSE_Syllabus, [Vie_VIEW] = &Hlp_COURSE_Syllabus,
[VieEdi_EDIT] = &Hlp_COURSE_Syllabus_edit, [Vie_EDIT] = &Hlp_COURSE_Syllabus_edit,
}; };
static int NumButtons[VieEdi_NUM_VIEW_EDIT] = static int NumButtons[Vie_NUM_VIEW_TYPES] =
{ {
[VieEdi_VIEW] = 0, [Vie_VIEW] = 0,
[VieEdi_EDIT] = 5, [Vie_EDIT] = 5,
}; };
bool ShowRowInsertNewItem = (Gbl.Action.Act == ActInsIteSylLec || Gbl.Action.Act == ActInsIteSylPra || bool ShowRowInsertNewItem = (Gbl.Action.Act == ActInsIteSylLec || Gbl.Action.Act == ActInsIteSylPra ||
Gbl.Action.Act == ActModIteSylLec || Gbl.Action.Act == ActModIteSylPra || Gbl.Action.Act == ActModIteSylLec || Gbl.Action.Act == ActModIteSylPra ||
@ -539,7 +539,7 @@ static void Syl_ShowSyllabus (struct Syl_Syllabus *Syllabus)
Gbl.Action.Act == ActLftIteSylLec || Gbl.Action.Act == ActLftIteSylPra); Gbl.Action.Act == ActLftIteSylLec || Gbl.Action.Act == ActLftIteSylPra);
bool ICanEdit = Gbl.Usrs.Me.Role.Logged == Rol_TCH || bool ICanEdit = Gbl.Usrs.Me.Role.Logged == Rol_TCH ||
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM; Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM;
bool PutIconToEdit = Syllabus->ViewingOrEditing == VieEdi_VIEW && ICanEdit; bool PutIconToEdit = Syllabus->ViewType == Vie_VIEW && ICanEdit;
/***** Begin box *****/ /***** Begin box *****/
Box_BoxBegin (NULL,Txt_INFO_TITLE[Gbl.Crs.Info.Type], Box_BoxBegin (NULL,Txt_INFO_TITLE[Gbl.Crs.Info.Type],
@ -547,7 +547,7 @@ static void Syl_ShowSyllabus (struct Syl_Syllabus *Syllabus)
NULL, NULL,
PutIconToEdit ? &Gbl.Crs.Info.Type : PutIconToEdit ? &Gbl.Crs.Info.Type :
NULL, NULL,
*HelpLink[Syllabus->ViewingOrEditing],Box_NOT_CLOSABLE); *HelpLink[Syllabus->ViewType],Box_NOT_CLOSABLE);
/****** Form to select syllabus *****/ /****** Form to select syllabus *****/
Syl_PutFormWhichSyllabus (Syllabus->WhichSyllabus); Syl_PutFormWhichSyllabus (Syllabus->WhichSyllabus);
@ -558,7 +558,7 @@ static void Syl_ShowSyllabus (struct Syl_Syllabus *Syllabus)
/***** Set width of columns of the table *****/ /***** Set width of columns of the table *****/
HTM_Txt ("<colgroup>"); HTM_Txt ("<colgroup>");
for (Col = 0; for (Col = 0;
Col < NumButtons[Syllabus->ViewingOrEditing]; Col < NumButtons[Syllabus->ViewType];
Col++) Col++)
HTM_Txt ("<col width=\"12\" />"); HTM_Txt ("<col width=\"12\" />");
for (Col = 1; for (Col = 1;
@ -584,7 +584,7 @@ static void Syl_ShowSyllabus (struct Syl_Syllabus *Syllabus)
Syl_LstItemsSyllabus.Lst[NumItem].Level,NULL, Syl_LstItemsSyllabus.Lst[NumItem].Level,NULL,
"",true); "",true);
} }
else if (Syllabus->ViewingOrEditing == VieEdi_EDIT) else if (Syllabus->ViewType == Vie_EDIT)
/***** If the syllabus is empty ==> /***** If the syllabus is empty ==>
show form to add a iten to the end *****/ show form to add a iten to the end *****/
Syl_ShowRowSyllabus (Syllabus,0, Syl_ShowRowSyllabus (Syllabus,0,
@ -594,7 +594,7 @@ static void Syl_ShowSyllabus (struct Syl_Syllabus *Syllabus)
HTM_TABLE_End (); HTM_TABLE_End ();
/***** Button to view *****/ /***** Button to view *****/
if (Syllabus->ViewingOrEditing == VieEdi_EDIT) if (Syllabus->ViewType == Vie_EDIT)
{ {
Frm_BeginForm (Inf_ActionsSeeInfo[Gbl.Crs.Info.Type]); Frm_BeginForm (Inf_ActionsSeeInfo[Gbl.Crs.Info.Type]);
Btn_PutConfirmButton (Txt_Done); Btn_PutConfirmButton (Txt_Done);
@ -629,9 +629,9 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem,
/***** Begin the row *****/ /***** Begin the row *****/
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
switch (Syllabus->ViewingOrEditing) switch (Syllabus->ViewType)
{ {
case VieEdi_VIEW: case Vie_VIEW:
/***** Indent depending on the level *****/ /***** Indent depending on the level *****/
if (Level > 1) if (Level > 1)
{ {
@ -658,7 +658,7 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem,
HTM_Txt (Text); HTM_Txt (Text);
HTM_TD_End (); HTM_TD_End ();
break; break;
case VieEdi_EDIT: case Vie_EDIT:
if (NewItem) if (NewItem)
{ {
HTM_TD_Begin ("colspan=\"5\" class=\"%s\"", HTM_TD_Begin ("colspan=\"5\" class=\"%s\"",
@ -737,6 +737,9 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem,
Syl_PutFormItemSyllabus (Syllabus,NewItem,NumItem,Level,CodItem,Text); Syl_PutFormItemSyllabus (Syllabus,NewItem,NumItem,Level,CodItem,Text);
break; break;
default:
Err_WrongTypeExit ();
break;
} }
/***** End of the row *****/ /***** End of the row *****/
@ -935,7 +938,7 @@ void Syl_RemoveItemSyllabus (void)
/***** Load syllabus from XML file to memory *****/ /***** Load syllabus from XML file to memory *****/
Syl_LoadListItemsSyllabusIntoMemory (&Syllabus,Gbl.Hierarchy.Node[Hie_CRS].HieCod); Syl_LoadListItemsSyllabusIntoMemory (&Syllabus,Gbl.Hierarchy.Node[Hie_CRS].HieCod);
Syllabus.ViewingOrEditing = VieEdi_EDIT; Syllabus.ViewType = Vie_EDIT;
/***** Get item number *****/ /***** Get item number *****/
Syllabus.NumItem = Syl_GetParItemNumber (); Syllabus.NumItem = Syl_GetParItemNumber ();
@ -1012,7 +1015,7 @@ static void Syl_ChangePlaceItemSyllabus (Syl_ChangePosItem_t UpOrDownPos)
/***** Load syllabus from XML file to memory *****/ /***** Load syllabus from XML file to memory *****/
Syl_LoadListItemsSyllabusIntoMemory (&Syllabus,Gbl.Hierarchy.Node[Hie_CRS].HieCod); Syl_LoadListItemsSyllabusIntoMemory (&Syllabus,Gbl.Hierarchy.Node[Hie_CRS].HieCod);
Syllabus.ViewingOrEditing = VieEdi_EDIT; Syllabus.ViewType = Vie_EDIT;
/***** Get item number *****/ /***** Get item number *****/
Syllabus.NumItem = Syl_GetParItemNumber (); Syllabus.NumItem = Syl_GetParItemNumber ();
@ -1198,7 +1201,7 @@ static void Syl_ChangeLevelItemSyllabus (Syl_ChangeLevelItem_t IncreaseOrDecreas
/***** Load syllabus from XML file to memory *****/ /***** Load syllabus from XML file to memory *****/
Syl_LoadListItemsSyllabusIntoMemory (&Syllabus,Gbl.Hierarchy.Node[Hie_CRS].HieCod); Syl_LoadListItemsSyllabusIntoMemory (&Syllabus,Gbl.Hierarchy.Node[Hie_CRS].HieCod);
Syllabus.ViewingOrEditing = VieEdi_EDIT; Syllabus.ViewType = Vie_EDIT;
/***** Get item number *****/ /***** Get item number *****/
Syllabus.NumItem = Syl_GetParItemNumber (); Syllabus.NumItem = Syl_GetParItemNumber ();
@ -1261,7 +1264,7 @@ void Syl_InsertItemSyllabus (void)
/***** Load syllabus from XML file to memory *****/ /***** Load syllabus from XML file to memory *****/
Syl_LoadListItemsSyllabusIntoMemory (&Syllabus,Gbl.Hierarchy.Node[Hie_CRS].HieCod); Syl_LoadListItemsSyllabusIntoMemory (&Syllabus,Gbl.Hierarchy.Node[Hie_CRS].HieCod);
Syllabus.ViewingOrEditing = VieEdi_EDIT; Syllabus.ViewType = Vie_EDIT;
/***** Get item number *****/ /***** Get item number *****/
Syllabus.NumItem = Syl_GetParItemNumber (); Syllabus.NumItem = Syl_GetParItemNumber ();
@ -1330,7 +1333,7 @@ void Syl_ModifyItemSyllabus (void)
/***** Load syllabus from XML file to memory *****/ /***** Load syllabus from XML file to memory *****/
Syl_LoadListItemsSyllabusIntoMemory (&Syllabus,Gbl.Hierarchy.Node[Hie_CRS].HieCod); Syl_LoadListItemsSyllabusIntoMemory (&Syllabus,Gbl.Hierarchy.Node[Hie_CRS].HieCod);
Syllabus.ViewingOrEditing = VieEdi_EDIT; Syllabus.ViewType = Vie_EDIT;
/***** Get item number *****/ /***** Get item number *****/
Syllabus.NumItem = Syl_GetParItemNumber (); Syllabus.NumItem = Syl_GetParItemNumber ();

View File

@ -77,7 +77,7 @@ struct Syl_Syllabus
char PathDir[PATH_MAX + 1]; char PathDir[PATH_MAX + 1];
unsigned NumItem; // Item being edited unsigned NumItem; // Item being edited
unsigned ParNumItem; // Used as parameter in forms unsigned ParNumItem; // Used as parameter in forms
VieEdi_ViewOrEdit_t ViewingOrEditing; Vie_ViewType_t ViewType;
Syl_WhichSyllabus_t WhichSyllabus; Syl_WhichSyllabus_t WhichSyllabus;
}; };

View File

@ -59,11 +59,11 @@ extern struct Globals Gbl;
/***************************** Private prototypes ****************************/ /***************************** Private prototypes ****************************/
/*****************************************************************************/ /*****************************************************************************/
static void SysCfg_Configuration (bool PrintView); static void SysCfg_Configuration (Vie_ViewType_t ViewType);
static void SysCfg_PutIconToPrint (__attribute__((unused)) void *Args); static void SysCfg_PutIconToPrint (__attribute__((unused)) void *Args);
static void SysCfg_Map (void); static void SysCfg_Map (void);
static void SysCfg_Platform (void); static void SysCfg_Platform (void);
static void SysCfg_Shortcut (bool PrintView); static void SysCfg_Shortcut (Vie_ViewType_t ViewType);
static void SysCfg_QR (void); static void SysCfg_QR (void);
static void SysCfg_NumCtys (void); static void SysCfg_NumCtys (void);
static void SysCfg_NumInss (void); static void SysCfg_NumInss (void);
@ -76,7 +76,7 @@ static void SysCfg_NumCrss (void);
void SysCfg_ShowConfiguration (void) void SysCfg_ShowConfiguration (void)
{ {
SysCfg_Configuration (false); SysCfg_Configuration (Vie_VIEW);
/***** Show help to enrol me *****/ /***** Show help to enrol me *****/
Hlp_ShowHelpWhatWouldYouLikeToDo (); Hlp_ShowHelpWhatWouldYouLikeToDo ();
@ -88,28 +88,25 @@ void SysCfg_ShowConfiguration (void)
void SysCfg_PrintConfiguration (void) void SysCfg_PrintConfiguration (void)
{ {
SysCfg_Configuration (true); SysCfg_Configuration (Vie_PRINT);
} }
/*****************************************************************************/ /*****************************************************************************/
/******************** Information of the current country *********************/ /******************** Information of the current country *********************/
/*****************************************************************************/ /*****************************************************************************/
static void SysCfg_Configuration (bool PrintView) static void SysCfg_Configuration (Vie_ViewType_t ViewType)
{ {
extern const char *Hlp_SYSTEM_Information; extern const char *Hlp_SYSTEM_Information;
unsigned NumCtrs; unsigned NumCtrs;
unsigned NumCtrsWithMap; unsigned NumCtrsWithMap;
/***** Begin box *****/ /***** Begin box *****/
if (PrintView)
Box_BoxBegin (NULL,Cfg_PLATFORM_SHORT_NAME, Box_BoxBegin (NULL,Cfg_PLATFORM_SHORT_NAME,
ViewType == Vie_VIEW ? SysCfg_PutIconToPrint :
NULL,NULL, NULL,NULL,
ViewType == Vie_VIEW ? Hlp_SYSTEM_Information :
NULL,Box_NOT_CLOSABLE); NULL,Box_NOT_CLOSABLE);
else
Box_BoxBegin (NULL,Cfg_PLATFORM_SHORT_NAME,
SysCfg_PutIconToPrint,NULL,
Hlp_SYSTEM_Information,Box_NOT_CLOSABLE);
/**************************** Left part ***********************************/ /**************************** Left part ***********************************/
HTM_DIV_Begin ("class=\"HIE_CFG_LEFT HIE_CFG_WIDTH\""); HTM_DIV_Begin ("class=\"HIE_CFG_LEFT HIE_CFG_WIDTH\"");
@ -121,16 +118,14 @@ static void SysCfg_Configuration (bool PrintView)
SysCfg_Platform (); SysCfg_Platform ();
/***** Shortcut to the country *****/ /***** Shortcut to the country *****/
SysCfg_Shortcut (PrintView); SysCfg_Shortcut (ViewType);
/***** Get number of centers with map *****/ /***** Get number of centers with map *****/
NumCtrsWithMap = Ctr_GetCachedNumCtrsWithMapInSys (); NumCtrsWithMap = Ctr_GetCachedNumCtrsWithMapInSys ();
if (PrintView) switch (ViewType)
/***** QR code with link to the country *****/
SysCfg_QR ();
else
{ {
case Vie_VIEW:
/***** Get number of centers *****/ /***** Get number of centers *****/
NumCtrs = Hie_GetCachedNumNodesInHieLvl (Hie_CTR, // Number of centers... NumCtrs = Hie_GetCachedNumNodesInHieLvl (Hie_CTR, // Number of centers...
Hie_SYS, // ...in system Hie_SYS, // ...in system
@ -154,6 +149,14 @@ static void SysCfg_Configuration (bool PrintView)
HieCfg_NumUsrsInCrss (Hie_SYS,-1L,Rol_NET); HieCfg_NumUsrsInCrss (Hie_SYS,-1L,Rol_NET);
HieCfg_NumUsrsInCrss (Hie_SYS,-1L,Rol_STD); HieCfg_NumUsrsInCrss (Hie_SYS,-1L,Rol_STD);
HieCfg_NumUsrsInCrss (Hie_SYS,-1L,Rol_UNK); HieCfg_NumUsrsInCrss (Hie_SYS,-1L,Rol_UNK);
break;
case Vie_PRINT:
/***** QR code with link to the country *****/
SysCfg_QR ();
break;
default:
Err_WrongTypeExit ();
break;
} }
/***** End table *****/ /***** End table *****/
@ -285,9 +288,9 @@ static void SysCfg_Platform (void)
/************** Show platform shortcut in system configuration ***************/ /************** Show platform shortcut in system configuration ***************/
/*****************************************************************************/ /*****************************************************************************/
static void SysCfg_Shortcut (bool PrintView) static void SysCfg_Shortcut (Vie_ViewType_t ViewType)
{ {
HieCfg_Shortcut (PrintView,ParCod_None,-1L); HieCfg_Shortcut (ViewType,ParCod_None,-1L);
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -347,7 +347,7 @@ void Tst_AssessTest (void)
Box_BoxBegin (NULL,Txt_Result, Box_BoxBegin (NULL,Txt_Result,
NULL,NULL, NULL,NULL,
Hlp_ASSESSMENT_Tests,Box_NOT_CLOSABLE); Hlp_ASSESSMENT_Tests,Box_NOT_CLOSABLE);
Lay_WriteHeaderClassPhoto (false,false); Lay_WriteHeaderClassPhoto (Vie_VIEW,false);
/***** Header *****/ /***** Header *****/
if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS]) if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS])

View File

@ -218,7 +218,7 @@ void TstPrn_ShowTestPrintToFillIt (struct TstPrn_Print *Print,
Box_BoxBegin (NULL,Txt_Test, Box_BoxBegin (NULL,Txt_Test,
NULL,NULL, NULL,NULL,
Hlp_ASSESSMENT_Tests,Box_NOT_CLOSABLE); Hlp_ASSESSMENT_Tests,Box_NOT_CLOSABLE);
Lay_WriteHeaderClassPhoto (false,false); Lay_WriteHeaderClassPhoto (Vie_VIEW,false);
if (Print->NumQsts.All) if (Print->NumQsts.All)
{ {
@ -2236,7 +2236,7 @@ void TstPrn_ShowOnePrint (void)
Box_BoxBegin (NULL,Txt_Result, Box_BoxBegin (NULL,Txt_Result,
NULL,NULL, NULL,NULL,
Hlp_ASSESSMENT_Tests_results,Box_NOT_CLOSABLE); Hlp_ASSESSMENT_Tests_results,Box_NOT_CLOSABLE);
Lay_WriteHeaderClassPhoto (false,false); Lay_WriteHeaderClassPhoto (Vie_VIEW,false);
/***** Begin table *****/ /***** Begin table *****/
HTM_TABLE_BeginWideMarginPadding (10); HTM_TABLE_BeginWideMarginPadding (10);

View File

@ -323,8 +323,9 @@ void Tmt_ShowClassTimeTable (void)
[Tmt_TUTORING_TIMETABLE] = ActUnk, [Tmt_TUTORING_TIMETABLE] = ActUnk,
}; };
struct Tmt_Timetable Timetable; struct Tmt_Timetable Timetable;
bool PrintView = (Gbl.Action.Act == ActPrnCrsTT || Vie_ViewType_t ViewType = (Gbl.Action.Act == ActPrnCrsTT ||
Gbl.Action.Act == ActPrnMyTT); Gbl.Action.Act == ActPrnMyTT) ? Vie_PRINT :
Vie_VIEW;
Grp_WhichGroups_t WhichGroups; Grp_WhichGroups_t WhichGroups;
/***** Initializations *****/ /***** Initializations *****/
@ -345,13 +346,13 @@ void Tmt_ShowClassTimeTable (void)
} }
Timetable.ContextualIcons.PutIconEditCrsTT = (Timetable.Type == Tmt_COURSE_TIMETABLE && Timetable.ContextualIcons.PutIconEditCrsTT = (Timetable.Type == Tmt_COURSE_TIMETABLE &&
!PrintView && ViewType == Vie_VIEW &&
Gbl.Usrs.Me.Role.Logged >= Rol_TCH); Gbl.Usrs.Me.Role.Logged >= Rol_TCH);
Timetable.ContextualIcons.PutIconEditOfficeHours = (Timetable.Type == Tmt_MY_TIMETABLE && Timetable.ContextualIcons.PutIconEditOfficeHours = (Timetable.Type == Tmt_MY_TIMETABLE &&
!PrintView && ViewType == Vie_VIEW &&
(Gbl.Usrs.Me.Role.Available & (1 << Rol_TCH | (Gbl.Usrs.Me.Role.Available & (1 << Rol_TCH |
1 << Rol_NET))); 1 << Rol_NET)));
Timetable.ContextualIcons.PutIconPrint = !PrintView; Timetable.ContextualIcons.PutIconPrint = (ViewType == Vie_VIEW);
/***** Get whether to show only my groups or all groups *****/ /***** Get whether to show only my groups or all groups *****/
Grp_GetParWhichGroups (); Grp_GetParWhichGroups ();
@ -370,13 +371,11 @@ void Tmt_ShowClassTimeTable (void)
/***** Begin time table drawing *****/ /***** Begin time table drawing *****/
if (Timetable.Type == Tmt_COURSE_TIMETABLE) if (Timetable.Type == Tmt_COURSE_TIMETABLE)
Lay_WriteHeaderClassPhoto (PrintView,false); Lay_WriteHeaderClassPhoto (ViewType,false);
if (PrintView) switch (ViewType)
/***** Show whether only my groups or all groups are selected *****/
Tmt_ShowTimeTableGrpsSelected ();
else
{ {
case Vie_VIEW:
/***** Setting selector *****/ /***** Setting selector *****/
Set_BeginSettingsHead (); Set_BeginSettingsHead ();
@ -392,6 +391,14 @@ void Tmt_ShowClassTimeTable (void)
Grp_PutParWhichGroups,&WhichGroups); Grp_PutParWhichGroups,&WhichGroups);
Set_EndSettingsHead (); Set_EndSettingsHead ();
break;
case Vie_PRINT:
/***** Show whether only my groups or all groups are selected *****/
Tmt_ShowTimeTableGrpsSelected ();
break;
default:
Err_WrongTypeExit ();
break;
} }
/***** Show the time table *****/ /***** Show the time table *****/

View File

@ -5082,7 +5082,7 @@ void Usr_SeeGuests (void)
/***** Draw a class photo with guests *****/ /***** Draw a class photo with guests *****/
if (Gbl.Usrs.Me.ListType == Set_USR_LIST_AS_CLASS_PHOTO) if (Gbl.Usrs.Me.ListType == Set_USR_LIST_AS_CLASS_PHOTO)
Lay_WriteHeaderClassPhoto (false,true); Lay_WriteHeaderClassPhoto (Vie_VIEW,true);
/* Set options allowed */ /* Set options allowed */
PutForm = Usr_SetOptionsListUsrsAllowed (Rol_GST,ICanChooseOption); PutForm = Usr_SetOptionsListUsrsAllowed (Rol_GST,ICanChooseOption);
@ -5232,7 +5232,7 @@ void Usr_SeeStudents (void)
/***** Draw a class photo with students of the course *****/ /***** Draw a class photo with students of the course *****/
if (Gbl.Usrs.Me.ListType == Set_USR_LIST_AS_CLASS_PHOTO) if (Gbl.Usrs.Me.ListType == Set_USR_LIST_AS_CLASS_PHOTO)
Lay_WriteHeaderClassPhoto (false,true); Lay_WriteHeaderClassPhoto (Vie_VIEW,true);
/* Set options allowed */ /* Set options allowed */
PutForm = Usr_SetOptionsListUsrsAllowed (Rol_STD,ICanChooseOption); PutForm = Usr_SetOptionsListUsrsAllowed (Rol_STD,ICanChooseOption);
@ -5398,7 +5398,7 @@ void Usr_SeeTeachers (void)
/***** Draw a class photo with teachers of the course *****/ /***** Draw a class photo with teachers of the course *****/
if (Gbl.Usrs.Me.ListType == Set_USR_LIST_AS_CLASS_PHOTO) if (Gbl.Usrs.Me.ListType == Set_USR_LIST_AS_CLASS_PHOTO)
Lay_WriteHeaderClassPhoto (false,true); Lay_WriteHeaderClassPhoto (Vie_VIEW,true);
/* Set options allowed */ /* Set options allowed */
PutForm = Usr_SetOptionsListUsrsAllowed (Rol_TCH,ICanChooseOption); PutForm = Usr_SetOptionsListUsrsAllowed (Rol_TCH,ICanChooseOption);
@ -5928,7 +5928,7 @@ void Usr_SeeGstClassPhotoPrn (void)
if (Gbl.Usrs.LstUsrs[Rol_GST].NumUsrs) if (Gbl.Usrs.LstUsrs[Rol_GST].NumUsrs)
{ {
/***** Draw the guests' class photo *****/ /***** Draw the guests' class photo *****/
Lay_WriteHeaderClassPhoto (true,true); Lay_WriteHeaderClassPhoto (Vie_PRINT,true);
HTM_TABLE_BeginWide (); HTM_TABLE_BeginWide ();
Usr_DrawClassPhoto (Usr_CLASS_PHOTO_PRN, Usr_DrawClassPhoto (Usr_CLASS_PHOTO_PRN,
Rol_GST,&Gbl.Usrs.Selected,false); Rol_GST,&Gbl.Usrs.Selected,false);
@ -5966,7 +5966,7 @@ void Usr_SeeStdClassPhotoPrn (void)
if (Gbl.Usrs.LstUsrs[Rol_STD].NumUsrs) if (Gbl.Usrs.LstUsrs[Rol_STD].NumUsrs)
{ {
/***** Draw the students' class photo *****/ /***** Draw the students' class photo *****/
Lay_WriteHeaderClassPhoto (true,true); Lay_WriteHeaderClassPhoto (Vie_PRINT,true);
HTM_TABLE_BeginWide (); HTM_TABLE_BeginWide ();
Usr_DrawClassPhoto (Usr_CLASS_PHOTO_PRN, Usr_DrawClassPhoto (Usr_CLASS_PHOTO_PRN,
Rol_STD,&Gbl.Usrs.Selected,false); Rol_STD,&Gbl.Usrs.Selected,false);
@ -6028,7 +6028,7 @@ void Usr_SeeTchClassPhotoPrn (void)
if (NumUsrs) if (NumUsrs)
{ {
/***** Draw the teachers' class photo *****/ /***** Draw the teachers' class photo *****/
Lay_WriteHeaderClassPhoto (true,true); Lay_WriteHeaderClassPhoto (Vie_PRINT,true);
HTM_TABLE_BeginWide (); HTM_TABLE_BeginWide ();
/* List teachers and non-editing teachers */ /* List teachers and non-editing teachers */

View File

@ -1,7 +1,7 @@
// swad_view_edit.h: types and constants related to view/edit // swad_view.h: types and constants related to view/edit/print
#ifndef _SWAD_VIE_EDI #ifndef _SWAD_VIEW
#define _SWAD_VIE_EDI #define _SWAD_VIEW
/* /*
SWAD (Shared Workspace At a Distance in Spanish), SWAD (Shared Workspace At a Distance in Spanish),
is a web platform developed at the University of Granada (Spain), is a web platform developed at the University of Granada (Spain),
@ -28,7 +28,7 @@
/***************************** Public constants ******************************/ /***************************** Public constants ******************************/
/*****************************************************************************/ /*****************************************************************************/
#define VieEdi_NUM_VIEW_EDIT 2 #define Vie_NUM_VIEW_TYPES 3
/*****************************************************************************/ /*****************************************************************************/
/******************************* Public types ********************************/ /******************************* Public types ********************************/
@ -36,8 +36,9 @@
typedef enum typedef enum
{ {
VieEdi_VIEW = 0, Vie_VIEW = 0,
VieEdi_EDIT = 1, Vie_EDIT = 1,
} VieEdi_ViewOrEdit_t; Vie_PRINT = 2,
} Vie_ViewType_t;
#endif #endif