mirror of https://github.com/acanas/swad-core.git
Version19.141.1
This commit is contained in:
parent
38409c42db
commit
5992efdf91
|
@ -1590,6 +1590,12 @@ a:hover img.CENTRE_PHOTO_SHOW
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
width:86px;
|
width:86px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.PRG_TITLE_DESCRIPTION_WIDTH
|
||||||
|
{
|
||||||
|
box-sizing:border-box;
|
||||||
|
width:100%;
|
||||||
|
}
|
||||||
|
|
||||||
/********************************** Notice ***********************************/
|
/********************************** Notice ***********************************/
|
||||||
.NOTICE_HIGHLIGHT
|
.NOTICE_HIGHLIGHT
|
||||||
|
|
|
@ -646,7 +646,7 @@ static void Agd_PutIconToCreateNewEvent (void)
|
||||||
|
|
||||||
static void Agd_PutIconToViewEditMyFullAgenda (void)
|
static void Agd_PutIconToViewEditMyFullAgenda (void)
|
||||||
{
|
{
|
||||||
Ico_PutContextualIconToEdit (ActSeeMyAgd,NULL);
|
Ico_PutContextualIconToEdit (ActSeeMyAgd,NULL,NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Agd_PutIconToShowQR (void)
|
static void Agd_PutIconToShowQR (void)
|
||||||
|
@ -845,7 +845,7 @@ static void Agd_PutFormsToRemEditOneEvent (struct AgendaEvent *AgdEvent,
|
||||||
Ico_PutContextualIconToHide (ActHidEvtMyAgd,Anchor,Agd_PutCurrentParamsMyAgenda);
|
Ico_PutContextualIconToHide (ActHidEvtMyAgd,Anchor,Agd_PutCurrentParamsMyAgenda);
|
||||||
|
|
||||||
/***** Put form to edit event *****/
|
/***** Put form to edit event *****/
|
||||||
Ico_PutContextualIconToEdit (ActEdiOneEvtMyAgd,Agd_PutCurrentParamsMyAgenda);
|
Ico_PutContextualIconToEdit (ActEdiOneEvtMyAgd,NULL,Agd_PutCurrentParamsMyAgenda);
|
||||||
|
|
||||||
/***** Put form to make event public/private *****/
|
/***** Put form to make event public/private *****/
|
||||||
if (AgdEvent->Public)
|
if (AgdEvent->Public)
|
||||||
|
|
|
@ -584,7 +584,7 @@ static void Asg_PutFormsToRemEditOneAsg (const struct Assignment *Asg,
|
||||||
Ico_PutContextualIconToHide (ActHidAsg,Anchor,Asg_PutParams);
|
Ico_PutContextualIconToHide (ActHidAsg,Anchor,Asg_PutParams);
|
||||||
|
|
||||||
/***** Put form to edit assignment *****/
|
/***** Put form to edit assignment *****/
|
||||||
Ico_PutContextualIconToEdit (ActEdiOneAsg,Asg_PutParams);
|
Ico_PutContextualIconToEdit (ActEdiOneAsg,NULL,Asg_PutParams);
|
||||||
/* falls through */
|
/* falls through */
|
||||||
/* no break */
|
/* no break */
|
||||||
case Rol_STD:
|
case Rol_STD:
|
||||||
|
|
|
@ -554,7 +554,7 @@ static void Att_PutFormsToRemEditOneAttEvent (const struct AttendanceEvent *Att,
|
||||||
Ico_PutContextualIconToHide (ActHidAtt,Anchor,Att_PutParams);
|
Ico_PutContextualIconToHide (ActHidAtt,Anchor,Att_PutParams);
|
||||||
|
|
||||||
/***** Put form to edit attendance event *****/
|
/***** Put form to edit attendance event *****/
|
||||||
Ico_PutContextualIconToEdit (ActEdiOneAtt,Att_PutParams);
|
Ico_PutContextualIconToEdit (ActEdiOneAtt,NULL,Att_PutParams);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -3114,7 +3114,7 @@ static void Att_ListEventsToSelect (void)
|
||||||
|
|
||||||
static void Att_PutIconToEditAttEvents (void)
|
static void Att_PutIconToEditAttEvents (void)
|
||||||
{
|
{
|
||||||
Ico_PutContextualIconToEdit (ActSeeAtt,NULL);
|
Ico_PutContextualIconToEdit (ActSeeAtt,NULL,NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -186,7 +186,7 @@ static void Ban_PutIconsListingBanners (void)
|
||||||
|
|
||||||
static void Ban_PutIconToEditBanners (void)
|
static void Ban_PutIconToEditBanners (void)
|
||||||
{
|
{
|
||||||
Ico_PutContextualIconToEdit (ActEdiBan,NULL);
|
Ico_PutContextualIconToEdit (ActEdiBan,NULL,NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -340,7 +340,7 @@ static void Ctr_PutIconsListingCentres (void)
|
||||||
|
|
||||||
static void Ctr_PutIconToEditCentres (void)
|
static void Ctr_PutIconToEditCentres (void)
|
||||||
{
|
{
|
||||||
Ico_PutContextualIconToEdit (ActEdiCtr,NULL);
|
Ico_PutContextualIconToEdit (ActEdiCtr,NULL,NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -497,7 +497,7 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
|
||||||
En OpenSWAD:
|
En OpenSWAD:
|
||||||
ps2pdf source.ps destination.pdf
|
ps2pdf source.ps destination.pdf
|
||||||
*/
|
*/
|
||||||
#define Log_PLATFORM_VERSION "SWAD 19.141 (2020-03-03)"
|
#define Log_PLATFORM_VERSION "SWAD 19.141.1 (2020-03-03)"
|
||||||
#define CSS_FILE "swad19.136.css"
|
#define CSS_FILE "swad19.136.css"
|
||||||
#define JS_FILE "swad19.91.1.js"
|
#define JS_FILE "swad19.91.1.js"
|
||||||
/*
|
/*
|
||||||
|
@ -521,8 +521,10 @@ Param
|
||||||
// TODO: No se puede entrar con DNI '1' suponiendo que no tenga password ¿por qué?
|
// TODO: No se puede entrar con DNI '1' suponiendo que no tenga password ¿por qué?
|
||||||
// TODO: En la lista de conectados central, poner el logo de la institución a la que pertenece el usuario
|
// TODO: En la lista de conectados central, poner el logo de la institución a la que pertenece el usuario
|
||||||
// TODO: Miguel Damas: por defecto, marcar "Permitir que los profesores..." en los test (que ya esté marcado en lugar de desmarcado)
|
// TODO: Miguel Damas: por defecto, marcar "Permitir que los profesores..." en los test (que ya esté marcado en lugar de desmarcado)
|
||||||
|
// TODO: Miguel Damas: al principio de los exámenes tendría que poner cuánto resta cada pregunta
|
||||||
// TODO: Si el alumno ha marcado "Permitir que los profesores...", entonces pedir confirmación al pulsar el botón azul, para evitar que se envíe por error antes de tiempo
|
// TODO: Si el alumno ha marcado "Permitir que los profesores...", entonces pedir confirmación al pulsar el botón azul, para evitar que se envíe por error antes de tiempo
|
||||||
|
|
||||||
|
Version 19.141.1: Mar 03, 2020 Form to create new item inside course program. (282123 lines)
|
||||||
Version 19.141: Mar 03, 2020 Remove groups in course program. (282052 lines)
|
Version 19.141: Mar 03, 2020 Remove groups in course program. (282052 lines)
|
||||||
1 change necessary in database:
|
1 change necessary in database:
|
||||||
DROP TABLE IF EXISTS prg_grp;
|
DROP TABLE IF EXISTS prg_grp;
|
||||||
|
|
|
@ -224,7 +224,7 @@ static void Cla_PutIconsListingClassrooms (void)
|
||||||
|
|
||||||
static void Cla_PutIconToEditClassrooms (void)
|
static void Cla_PutIconToEditClassrooms (void)
|
||||||
{
|
{
|
||||||
Ico_PutContextualIconToEdit (ActEdiCla,NULL);
|
Ico_PutContextualIconToEdit (ActEdiCla,NULL,NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -482,7 +482,7 @@ bool Cty_CheckIfICanEditCountries (void)
|
||||||
|
|
||||||
static void Cty_PutIconToEditCountries (void)
|
static void Cty_PutIconToEditCountries (void)
|
||||||
{
|
{
|
||||||
Ico_PutContextualIconToEdit (ActEdiCty,NULL);
|
Ico_PutContextualIconToEdit (ActEdiCty,NULL,NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -868,7 +868,7 @@ static void Crs_PutIconsListCourses (void)
|
||||||
|
|
||||||
static void Crs_PutIconToEditCourses (void)
|
static void Crs_PutIconToEditCourses (void)
|
||||||
{
|
{
|
||||||
Ico_PutContextualIconToEdit (ActEdiCrs,NULL);
|
Ico_PutContextualIconToEdit (ActEdiCrs,NULL,NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -833,7 +833,7 @@ static void Deg_PutIconsListingDegrees (void)
|
||||||
|
|
||||||
static void Deg_PutIconToEditDegrees (void)
|
static void Deg_PutIconToEditDegrees (void)
|
||||||
{
|
{
|
||||||
Ico_PutContextualIconToEdit (ActEdiDeg,NULL);
|
Ico_PutContextualIconToEdit (ActEdiDeg,NULL,NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -369,7 +369,7 @@ static void DT_PutIconToEditDegTypes (void)
|
||||||
{
|
{
|
||||||
if (Gbl.Hierarchy.Level == Hie_CTR && // Only editable if centre tab is visible
|
if (Gbl.Hierarchy.Level == Hie_CTR && // Only editable if centre tab is visible
|
||||||
DT_CheckIfICanCreateDegreeTypes ())
|
DT_CheckIfICanCreateDegreeTypes ())
|
||||||
Ico_PutContextualIconToEdit (ActEdiDegTyp,NULL);
|
Ico_PutContextualIconToEdit (ActEdiDegTyp,NULL,NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -227,7 +227,7 @@ static void Dpt_GetParamDptOrder (void)
|
||||||
|
|
||||||
static void Dpt_PutIconToEditDpts (void)
|
static void Dpt_PutIconToEditDpts (void)
|
||||||
{
|
{
|
||||||
Ico_PutContextualIconToEdit (ActEdiDpt,NULL);
|
Ico_PutContextualIconToEdit (ActEdiDpt,NULL,NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -1505,7 +1505,7 @@ static void Exa_PutIconsExamAnnouncement (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Link to edit this exam announcement *****/
|
/***** Link to edit this exam announcement *****/
|
||||||
Ico_PutContextualIconToEdit (ActEdiExaAnn,Exa_PutParamExaCodToEdit);
|
Ico_PutContextualIconToEdit (ActEdiExaAnn,NULL,Exa_PutParamExaCodToEdit);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Link to print view *****/
|
/***** Link to print view *****/
|
||||||
|
|
|
@ -3731,6 +3731,7 @@ static void Brw_PutIconsFileBrowser (void)
|
||||||
break;
|
break;
|
||||||
case Brw_ICON_EDIT:
|
case Brw_ICON_EDIT:
|
||||||
Ico_PutContextualIconToEdit (Brw_ActFromSeeToAdm[Gbl.FileBrowser.Type],
|
Ico_PutContextualIconToEdit (Brw_ActFromSeeToAdm[Gbl.FileBrowser.Type],
|
||||||
|
NULL,
|
||||||
Brw_PutHiddenParamFullTreeIfSelected);
|
Brw_PutHiddenParamFullTreeIfSelected);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -648,7 +648,7 @@ static void Gam_PutFormsToRemEditOneGame (const struct Game *Game,
|
||||||
Ico_PutContextualIconToHide (ActHidGam,Anchor,Gam_PutParams);
|
Ico_PutContextualIconToHide (ActHidGam,Anchor,Gam_PutParams);
|
||||||
|
|
||||||
/***** Put icon to edit game *****/
|
/***** Put icon to edit game *****/
|
||||||
Ico_PutContextualIconToEdit (ActEdiOneGam,Gam_PutParams);
|
Ico_PutContextualIconToEdit (ActEdiOneGam,NULL,Gam_PutParams);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -1933,7 +1933,7 @@ static void Gam_ListOneOrMoreQuestionsForEdition (long GamCod,unsigned NumQsts,
|
||||||
|
|
||||||
/* Put icon to edit the question */
|
/* Put icon to edit the question */
|
||||||
if (ICanEditQuestions)
|
if (ICanEditQuestions)
|
||||||
Ico_PutContextualIconToEdit (ActEdiOneTstQst,Tst_PutParamQstCod);
|
Ico_PutContextualIconToEdit (ActEdiOneTstQst,NULL,Tst_PutParamQstCod);
|
||||||
|
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
|
|
@ -1834,7 +1834,7 @@ void Grp_ShowLstGrpsToChgMyGrps (void)
|
||||||
|
|
||||||
static void Grp_PutIconToEditGroups (void)
|
static void Grp_PutIconToEditGroups (void)
|
||||||
{
|
{
|
||||||
Ico_PutContextualIconToEdit (ActReqEdiGrp,NULL);
|
Ico_PutContextualIconToEdit (ActReqEdiGrp,NULL,NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -224,7 +224,7 @@ static void Hld_PutIconsSeeHolidays (void)
|
||||||
{
|
{
|
||||||
/***** Edit holidays calendar *****/
|
/***** Edit holidays calendar *****/
|
||||||
if (Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM)
|
if (Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM)
|
||||||
Ico_PutContextualIconToEdit (ActEdiHld,NULL);
|
Ico_PutContextualIconToEdit (ActEdiHld,NULL,NULL);
|
||||||
|
|
||||||
/***** View calendar *****/
|
/***** View calendar *****/
|
||||||
Cal_PutIconToSeeCalendar ();
|
Cal_PutIconToSeeCalendar ();
|
||||||
|
|
|
@ -235,11 +235,12 @@ void Ico_PutContextualIconToRemove (Act_Action_t NextAction,void (*FuncParams) (
|
||||||
Txt_Remove);
|
Txt_Remove);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Ico_PutContextualIconToEdit (Act_Action_t NextAction,void (*FuncParams) (void))
|
void Ico_PutContextualIconToEdit (Act_Action_t NextAction,const char *Anchor,
|
||||||
|
void (*FuncParams) (void))
|
||||||
{
|
{
|
||||||
extern const char *Txt_Edit;
|
extern const char *Txt_Edit;
|
||||||
|
|
||||||
Lay_PutContextualLinkOnlyIcon (NextAction,NULL,FuncParams,
|
Lay_PutContextualLinkOnlyIcon (NextAction,Anchor,FuncParams,
|
||||||
"pen.svg",
|
"pen.svg",
|
||||||
Txt_Edit);
|
Txt_Edit);
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,7 +59,8 @@ void Ico_PutContextualIconToAdd (Act_Action_t NextAction,const char *Anchor,
|
||||||
void (*FuncParams) (void),
|
void (*FuncParams) (void),
|
||||||
const char *Txt);
|
const char *Txt);
|
||||||
void Ico_PutContextualIconToRemove (Act_Action_t NextAction,void (*FuncParams) (void));
|
void Ico_PutContextualIconToRemove (Act_Action_t NextAction,void (*FuncParams) (void));
|
||||||
void Ico_PutContextualIconToEdit (Act_Action_t NextAction,void (*FuncParams) (void));
|
void Ico_PutContextualIconToEdit (Act_Action_t NextAction,const char *Anchor,
|
||||||
|
void (*FuncParams) (void));
|
||||||
void Ico_PutContextualIconToViewFiles (Act_Action_t NextAction,void (*FuncParams) (void));
|
void Ico_PutContextualIconToViewFiles (Act_Action_t NextAction,void (*FuncParams) (void));
|
||||||
void Ico_PutContextualIconToView (Act_Action_t NextAction,void (*FuncParams) (void));
|
void Ico_PutContextualIconToView (Act_Action_t NextAction,void (*FuncParams) (void));
|
||||||
void Ico_PutContextualIconToUnhide (Act_Action_t NextAction,const char *Anchor,void (*FuncParams) (void));
|
void Ico_PutContextualIconToUnhide (Act_Action_t NextAction,const char *Anchor,void (*FuncParams) (void));
|
||||||
|
|
|
@ -447,7 +447,7 @@ static void Inf_PutIconToViewInfo (void)
|
||||||
|
|
||||||
void Inf_PutIconToEditInfo (void)
|
void Inf_PutIconToEditInfo (void)
|
||||||
{
|
{
|
||||||
Ico_PutContextualIconToEdit (Inf_ActionsEditInfo[Gbl.Crs.Info.Type],NULL);
|
Ico_PutContextualIconToEdit (Inf_ActionsEditInfo[Gbl.Crs.Info.Type],NULL,NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -365,7 +365,7 @@ static void Ins_PutIconsListingInstitutions (void)
|
||||||
|
|
||||||
static void Ins_PutIconToEditInstitutions (void)
|
static void Ins_PutIconToEditInstitutions (void)
|
||||||
{
|
{
|
||||||
Ico_PutContextualIconToEdit (ActEdiIns,NULL);
|
Ico_PutContextualIconToEdit (ActEdiIns,NULL,NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -145,7 +145,7 @@ static void Lnk_PutIconsListingLinks (void)
|
||||||
|
|
||||||
static void Lnk_PutIconToEditLinks (void)
|
static void Lnk_PutIconToEditLinks (void)
|
||||||
{
|
{
|
||||||
Ico_PutContextualIconToEdit (ActEdiLnk,NULL);
|
Ico_PutContextualIconToEdit (ActEdiLnk,NULL,NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -199,7 +199,7 @@ static void Mai_GetParamMaiOrder (void)
|
||||||
|
|
||||||
static void Mai_PutIconToEditMailDomains (void)
|
static void Mai_PutIconToEditMailDomains (void)
|
||||||
{
|
{
|
||||||
Ico_PutContextualIconToEdit (ActEdiMai,NULL);
|
Ico_PutContextualIconToEdit (ActEdiMai,NULL,NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -253,7 +253,7 @@ static void Plc_PutIconsListingPlaces (void)
|
||||||
|
|
||||||
static void Plc_PutIconToEditPlaces (void)
|
static void Plc_PutIconToEditPlaces (void)
|
||||||
{
|
{
|
||||||
Ico_PutContextualIconToEdit (ActEdiPlc,NULL);
|
Ico_PutContextualIconToEdit (ActEdiPlc,NULL,NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -169,7 +169,7 @@ void Plg_ListPlugins (void)
|
||||||
|
|
||||||
static void Plg_PutIconToEditPlugins (void)
|
static void Plg_PutIconToEditPlugins (void)
|
||||||
{
|
{
|
||||||
Ico_PutContextualIconToEdit (ActEdiPlg,NULL);
|
Ico_PutContextualIconToEdit (ActEdiPlg,NULL,NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
129
swad_program.c
129
swad_program.c
|
@ -60,6 +60,13 @@ extern struct Globals Gbl;
|
||||||
/******************************* Private types *******************************/
|
/******************************* Private types *******************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
Prg_DONT_PUT_FORM_ITEM,
|
||||||
|
Prg_PUT_FORM_CREATE_ITEM,
|
||||||
|
Prg_PUT_FORM_CHANGE_ITEM,
|
||||||
|
} Prg_CreateOrChangeItem_t;
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/***************************** Private variables *****************************/
|
/***************************** Private variables *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -73,12 +80,15 @@ static unsigned *Prg_NumItem = NULL; // Numbers for each level from 1 to maximum
|
||||||
/***************************** Private prototypes ****************************/
|
/***************************** Private prototypes ****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
static void Prg_ShowAllItems (void);
|
static void Prg_ShowAllItems (Prg_CreateOrChangeItem_t CreateOrChangeItem,
|
||||||
|
long ItmCod);
|
||||||
static bool Prg_CheckIfICanCreateItems (void);
|
static bool Prg_CheckIfICanCreateItems (void);
|
||||||
static void Prg_PutIconsListItems (void);
|
static void Prg_PutIconsListItems (void);
|
||||||
static void Prg_PutIconToCreateNewItem (void);
|
static void Prg_PutIconToCreateNewItem (void);
|
||||||
static void Prg_PutButtonToCreateNewItem (void);
|
static void Prg_PutButtonToCreateNewItem (void);
|
||||||
static void Prg_ShowOneItem (unsigned NumItem,bool PrintView);
|
static void Prg_ShowOneItem (unsigned NumItem,
|
||||||
|
Prg_CreateOrChangeItem_t CreateOrChangeItem,
|
||||||
|
bool PrintView);
|
||||||
|
|
||||||
static void Prg_CreateNumbers (unsigned MaxLevel);
|
static void Prg_CreateNumbers (unsigned MaxLevel);
|
||||||
static void Prg_FreeNumbers (void);
|
static void Prg_FreeNumbers (void);
|
||||||
|
@ -119,8 +129,8 @@ static void Prg_MoveItemAndChildrenLeft (unsigned NumItem);
|
||||||
static void Prg_MoveItemAndChildrenRight (unsigned NumItem);
|
static void Prg_MoveItemAndChildrenRight (unsigned NumItem);
|
||||||
|
|
||||||
static bool Prg_CheckIfSimilarPrgItemExists (const char *Field,const char *Value,long ItmCod);
|
static bool Prg_CheckIfSimilarPrgItemExists (const char *Field,const char *Value,long ItmCod);
|
||||||
static void Prg_ShowFormToCreatePrgItem (void);
|
static void Prg_ShowFormToCreatePrgItem (long ParentItmCod);
|
||||||
static void Prg_ShowFormToChangePrgItem (void);
|
static void Prg_ShowFormToChangePrgItem (long ItmCod);
|
||||||
static void Prg_ShowFormToPrgItem (const struct ProgramItem *Item,
|
static void Prg_ShowFormToPrgItem (const struct ProgramItem *Item,
|
||||||
const Dat_SetHMS SetHMS[Dat_NUM_START_END_TIME],
|
const Dat_SetHMS SetHMS[Dat_NUM_START_END_TIME],
|
||||||
const char *Txt);
|
const char *Txt);
|
||||||
|
@ -136,14 +146,15 @@ static void Prg_UpdatePrgItem (struct ProgramItem *Item,const char *Txt);
|
||||||
void Prg_SeeCourseProgram (void)
|
void Prg_SeeCourseProgram (void)
|
||||||
{
|
{
|
||||||
/***** Show all the program items *****/
|
/***** Show all the program items *****/
|
||||||
Prg_ShowAllItems ();
|
Prg_ShowAllItems (Prg_DONT_PUT_FORM_ITEM,-1L);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*********************** Show all the program items **************************/
|
/*********************** Show all the program items **************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
static void Prg_ShowAllItems (void)
|
static void Prg_ShowAllItems (Prg_CreateOrChangeItem_t CreateOrChangeItem,
|
||||||
|
long ItmCod)
|
||||||
{
|
{
|
||||||
extern const char *Hlp_COURSE_Program;
|
extern const char *Hlp_COURSE_Program;
|
||||||
extern const char *Txt_Course_program;
|
extern const char *Txt_Course_program;
|
||||||
|
@ -174,6 +185,8 @@ static void Prg_ShowAllItems (void)
|
||||||
NumItem < Gbl.Prg.Num;
|
NumItem < Gbl.Prg.Num;
|
||||||
NumItem++)
|
NumItem++)
|
||||||
Prg_ShowOneItem (NumItem,
|
Prg_ShowOneItem (NumItem,
|
||||||
|
ItmCod == Gbl.Prg.LstItems[NumItem].ItmCod ? CreateOrChangeItem :
|
||||||
|
Prg_DONT_PUT_FORM_ITEM,
|
||||||
false); // Not print view
|
false); // Not print view
|
||||||
|
|
||||||
/***** End table *****/
|
/***** End table *****/
|
||||||
|
@ -255,7 +268,9 @@ static void Prg_PutButtonToCreateNewItem (void)
|
||||||
|
|
||||||
#define Prg_WIDTH_NUM_ITEM 20
|
#define Prg_WIDTH_NUM_ITEM 20
|
||||||
|
|
||||||
static void Prg_ShowOneItem (unsigned NumItem,bool PrintView)
|
static void Prg_ShowOneItem (unsigned NumItem,
|
||||||
|
Prg_CreateOrChangeItem_t CreateOrChangeItem,
|
||||||
|
bool PrintView)
|
||||||
{
|
{
|
||||||
char *Anchor = NULL;
|
char *Anchor = NULL;
|
||||||
static unsigned UniqueId = 0;
|
static unsigned UniqueId = 0;
|
||||||
|
@ -365,8 +380,61 @@ static void Prg_ShowOneItem (unsigned NumItem,bool PrintView)
|
||||||
free (Id);
|
free (Id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***** End row *****/
|
||||||
HTM_TR_End ();
|
HTM_TR_End ();
|
||||||
|
|
||||||
|
/***** Form to create/change item *****/
|
||||||
|
switch (CreateOrChangeItem)
|
||||||
|
{
|
||||||
|
case Prg_DONT_PUT_FORM_ITEM:
|
||||||
|
break;
|
||||||
|
case Prg_PUT_FORM_CREATE_ITEM:
|
||||||
|
case Prg_PUT_FORM_CHANGE_ITEM:
|
||||||
|
/* Start row */
|
||||||
|
HTM_TR_Begin (NULL);
|
||||||
|
|
||||||
|
/* Column under icons */
|
||||||
|
HTM_TD_Begin ("class=\"PRG_COL1 LT COLOR%u\"",Gbl.RowEvenOdd);
|
||||||
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
/* Indent depending on the level */
|
||||||
|
if (Item.Hierarchy.Level > 1)
|
||||||
|
{
|
||||||
|
HTM_TD_Begin ("colspan=\"%u\" class=\"COLOR%u\"",
|
||||||
|
Item.Hierarchy.Level - 1,Gbl.RowEvenOdd);
|
||||||
|
HTM_TD_End ();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (CreateOrChangeItem == Prg_PUT_FORM_CREATE_ITEM)
|
||||||
|
{
|
||||||
|
/* Column under item number */
|
||||||
|
HTM_TD_Begin ("class=\"COLOR%u\" style=\"width:%dpx;\"",
|
||||||
|
Gbl.RowEvenOdd,
|
||||||
|
Item.Hierarchy.Level * Prg_WIDTH_NUM_ITEM);
|
||||||
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
/* Show form to create new item as child */
|
||||||
|
ColSpan = Prg_MaxLevel - Item.Hierarchy.Level + 3;
|
||||||
|
HTM_TD_Begin ("colspan=\"%u\" class=\"LT COLOR%u\"",
|
||||||
|
ColSpan,Gbl.RowEvenOdd);
|
||||||
|
Prg_ShowFormToCreatePrgItem (Item.Hierarchy.ItmCod);
|
||||||
|
HTM_TD_End ();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* Show form to edit current item */
|
||||||
|
ColSpan = Prg_MaxLevel - Item.Hierarchy.Level + 4;
|
||||||
|
HTM_TD_Begin ("colspan=\"%u\" class=\"LT COLOR%u\"",
|
||||||
|
ColSpan,Gbl.RowEvenOdd);
|
||||||
|
Prg_ShowFormToChangePrgItem (Item.Hierarchy.ItmCod);
|
||||||
|
HTM_TD_End ();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* End row */
|
||||||
|
HTM_TR_End ();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
/***** Free anchor string *****/
|
/***** Free anchor string *****/
|
||||||
Frm_FreeAnchorStr (Anchor);
|
Frm_FreeAnchorStr (Anchor);
|
||||||
|
|
||||||
|
@ -477,7 +545,7 @@ static void Prg_PutFormsToRemEditOnePrgItem (unsigned NumItem,const char *Anchor
|
||||||
Ico_PutContextualIconToHide (ActHidPrgItm,Anchor,Prg_PutParams);
|
Ico_PutContextualIconToHide (ActHidPrgItm,Anchor,Prg_PutParams);
|
||||||
|
|
||||||
/***** Put form to edit program item *****/
|
/***** Put form to edit program item *****/
|
||||||
Ico_PutContextualIconToEdit (ActFrmChgPrgItm,Prg_PutParams);
|
Ico_PutContextualIconToEdit (ActFrmChgPrgItm,Anchor,Prg_PutParams);
|
||||||
|
|
||||||
/***** Put form to add a new child item inside this item *****/
|
/***** Put form to add a new child item inside this item *****/
|
||||||
Ico_PutContextualIconToAdd (ActFrmNewPrgItm,Anchor,Prg_PutParams,Txt_New_item);
|
Ico_PutContextualIconToAdd (ActFrmNewPrgItm,Anchor,Prg_PutParams,Txt_New_item);
|
||||||
|
@ -1432,27 +1500,31 @@ static bool Prg_CheckIfSimilarPrgItemExists (const char *Field,const char *Value
|
||||||
|
|
||||||
void Prg_RequestCreatePrgItem (void)
|
void Prg_RequestCreatePrgItem (void)
|
||||||
{
|
{
|
||||||
/***** Show form to create item *****/
|
long ParentItmCod;
|
||||||
Prg_ShowFormToCreatePrgItem ();
|
|
||||||
|
/***** Get the code of the parent program item *****/
|
||||||
|
ParentItmCod = Prg_GetParamItmCod ();
|
||||||
|
|
||||||
/***** Show current program items, if any *****/
|
/***** Show current program items, if any *****/
|
||||||
Prg_ShowAllItems ();
|
Prg_ShowAllItems (Prg_PUT_FORM_CREATE_ITEM,ParentItmCod);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Prg_RequestChangePrgItem (void)
|
void Prg_RequestChangePrgItem (void)
|
||||||
{
|
{
|
||||||
/***** Show form to change item *****/
|
long ItmCod;
|
||||||
Prg_ShowFormToChangePrgItem ();
|
|
||||||
|
/***** Get the code of the program item *****/
|
||||||
|
ItmCod = Prg_GetParamItmCod ();
|
||||||
|
|
||||||
/***** Show current program items, if any *****/
|
/***** Show current program items, if any *****/
|
||||||
Prg_ShowAllItems ();
|
Prg_ShowAllItems (Prg_PUT_FORM_CHANGE_ITEM,ItmCod);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/***************** Put a form to create a new program item *******************/
|
/***************** Put a form to create a new program item *******************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
static void Prg_ShowFormToCreatePrgItem (void)
|
static void Prg_ShowFormToCreatePrgItem (long ParentItmCod)
|
||||||
{
|
{
|
||||||
extern const char *Hlp_COURSE_Program_new_item;
|
extern const char *Hlp_COURSE_Program_new_item;
|
||||||
extern const char *Txt_New_item;
|
extern const char *Txt_New_item;
|
||||||
|
@ -1465,8 +1537,8 @@ static void Prg_ShowFormToCreatePrgItem (void)
|
||||||
Dat_HMS_TO_235959
|
Dat_HMS_TO_235959
|
||||||
};
|
};
|
||||||
|
|
||||||
/***** Get the code of the parent program item *****/
|
/***** Get data of the parent program item from database *****/
|
||||||
ParentItem.Hierarchy.ItmCod = Prg_GetParamItmCod ();
|
ParentItem.Hierarchy.ItmCod = ParentItmCod;
|
||||||
Prg_GetDataOfItemByCod (&ParentItem);
|
Prg_GetDataOfItemByCod (&ParentItem);
|
||||||
|
|
||||||
/***** Initialize to empty program item *****/
|
/***** Initialize to empty program item *****/
|
||||||
|
@ -1481,7 +1553,7 @@ static void Prg_ShowFormToCreatePrgItem (void)
|
||||||
Prg_PutParams ();
|
Prg_PutParams ();
|
||||||
|
|
||||||
/***** Begin box and table *****/
|
/***** Begin box and table *****/
|
||||||
Box_BoxTableBegin (NULL,Txt_New_item,NULL,
|
Box_BoxTableBegin ("100%",Txt_New_item,NULL,
|
||||||
Hlp_COURSE_Program_new_item,Box_NOT_CLOSABLE,2);
|
Hlp_COURSE_Program_new_item,Box_NOT_CLOSABLE,2);
|
||||||
|
|
||||||
/***** Show form *****/
|
/***** Show form *****/
|
||||||
|
@ -1498,7 +1570,7 @@ static void Prg_ShowFormToCreatePrgItem (void)
|
||||||
/***************** Put a form to create a new program item *******************/
|
/***************** Put a form to create a new program item *******************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
static void Prg_ShowFormToChangePrgItem (void)
|
static void Prg_ShowFormToChangePrgItem (long ItmCod)
|
||||||
{
|
{
|
||||||
extern const char *Hlp_COURSE_Program_edit_item;
|
extern const char *Hlp_COURSE_Program_edit_item;
|
||||||
extern const char *Txt_Edit_item;
|
extern const char *Txt_Edit_item;
|
||||||
|
@ -1511,14 +1583,9 @@ static void Prg_ShowFormToChangePrgItem (void)
|
||||||
Dat_HMS_DO_NOT_SET
|
Dat_HMS_DO_NOT_SET
|
||||||
};
|
};
|
||||||
|
|
||||||
/***** Get the code of the program item *****/
|
/***** Get data of the program item from database *****/
|
||||||
Item.Hierarchy.ItmCod = Prg_GetParamItmCod ();
|
Item.Hierarchy.ItmCod = ItmCod;
|
||||||
|
|
||||||
/***** Get from the database the data of the program item *****/
|
|
||||||
/* Get data of the program item from database */
|
|
||||||
Prg_GetDataOfItemByCod (&Item);
|
Prg_GetDataOfItemByCod (&Item);
|
||||||
|
|
||||||
/* Get text of the program item from database */
|
|
||||||
Prg_GetPrgItemTxtFromDB (Item.Hierarchy.ItmCod,Txt);
|
Prg_GetPrgItemTxtFromDB (Item.Hierarchy.ItmCod,Txt);
|
||||||
|
|
||||||
/***** Begin form *****/
|
/***** Begin form *****/
|
||||||
|
@ -1527,7 +1594,7 @@ static void Prg_ShowFormToChangePrgItem (void)
|
||||||
Prg_PutParams ();
|
Prg_PutParams ();
|
||||||
|
|
||||||
/***** Begin box and table *****/
|
/***** Begin box and table *****/
|
||||||
Box_BoxTableBegin (NULL,
|
Box_BoxTableBegin ("100%",
|
||||||
Item.Title[0] ? Item.Title :
|
Item.Title[0] ? Item.Title :
|
||||||
Txt_Edit_item,
|
Txt_Edit_item,
|
||||||
NULL,
|
NULL,
|
||||||
|
@ -1564,7 +1631,7 @@ static void Prg_ShowFormToPrgItem (const struct ProgramItem *Item,
|
||||||
HTM_TD_Begin ("class=\"LM\"");
|
HTM_TD_Begin ("class=\"LM\"");
|
||||||
HTM_INPUT_TEXT ("Title",Prg_MAX_CHARS_PROGRAM_ITEM_TITLE,Item->Title,false,
|
HTM_INPUT_TEXT ("Title",Prg_MAX_CHARS_PROGRAM_ITEM_TITLE,Item->Title,false,
|
||||||
"id=\"Title\" required=\"required\""
|
"id=\"Title\" required=\"required\""
|
||||||
" class=\"TITLE_DESCRIPTION_WIDTH\"");
|
" class=\"PRG_TITLE_DESCRIPTION_WIDTH\"");
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
HTM_TR_End ();
|
HTM_TR_End ();
|
||||||
|
@ -1583,7 +1650,7 @@ static void Prg_ShowFormToPrgItem (const struct ProgramItem *Item,
|
||||||
/* Data */
|
/* Data */
|
||||||
HTM_TD_Begin ("class=\"LT\"");
|
HTM_TD_Begin ("class=\"LT\"");
|
||||||
HTM_TEXTAREA_Begin ("id=\"Txt\" name=\"Txt\" rows=\"10\""
|
HTM_TEXTAREA_Begin ("id=\"Txt\" name=\"Txt\" rows=\"10\""
|
||||||
" class=\"TITLE_DESCRIPTION_WIDTH\"");
|
" class=\"PRG_TITLE_DESCRIPTION_WIDTH\"");
|
||||||
if (Txt)
|
if (Txt)
|
||||||
if (Txt[0])
|
if (Txt[0])
|
||||||
HTM_Txt (Txt);
|
HTM_Txt (Txt);
|
||||||
|
@ -1662,7 +1729,7 @@ void Prg_RecFormNewPrgItem (void)
|
||||||
else
|
else
|
||||||
/***** Show form to create item *****/
|
/***** Show form to create item *****/
|
||||||
// TODO: The form should be filled with partial data, now is always empty
|
// TODO: The form should be filled with partial data, now is always empty
|
||||||
Prg_ShowFormToCreatePrgItem ();
|
Prg_ShowFormToCreatePrgItem (ParentItem.Hierarchy.ItmCod);
|
||||||
|
|
||||||
/***** Show program items again *****/
|
/***** Show program items again *****/
|
||||||
Prg_SeeCourseProgram ();
|
Prg_SeeCourseProgram ();
|
||||||
|
@ -1736,7 +1803,7 @@ void Prg_RecFormChgPrgItem (void)
|
||||||
else
|
else
|
||||||
/***** Show form to change item *****/
|
/***** Show form to change item *****/
|
||||||
// TODO: The form should be filled with partial data, now is always empty
|
// TODO: The form should be filled with partial data, now is always empty
|
||||||
Prg_ShowFormToChangePrgItem ();
|
Prg_ShowFormToChangePrgItem (NewItem.Hierarchy.ItmCod);
|
||||||
|
|
||||||
/***** Show program items again *****/
|
/***** Show program items again *****/
|
||||||
Prg_SeeCourseProgram ();
|
Prg_SeeCourseProgram ();
|
||||||
|
|
|
@ -2606,7 +2606,7 @@ static void Prj_PutFormsToRemEditOnePrj (const struct Project *Prj,
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Put form to edit project *****/
|
/***** Put form to edit project *****/
|
||||||
Ico_PutContextualIconToEdit (ActEdiOnePrj,Prj_PutCurrentParams);
|
Ico_PutContextualIconToEdit (ActEdiOnePrj,NULL,Prj_PutCurrentParams);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Put form to admin project documents *****/
|
/***** Put form to admin project documents *****/
|
||||||
|
|
|
@ -851,7 +851,7 @@ static void Svy_PutFormsToRemEditOneSvy (const struct Survey *Svy,
|
||||||
Ico_PutContextualIconToUnhide (ActShoSvy,Anchor,Svy_PutParams);
|
Ico_PutContextualIconToUnhide (ActShoSvy,Anchor,Svy_PutParams);
|
||||||
|
|
||||||
/***** Put form to edit survey *****/
|
/***** Put form to edit survey *****/
|
||||||
Ico_PutContextualIconToEdit (ActEdiOneSvy,Svy_PutParams);
|
Ico_PutContextualIconToEdit (ActEdiOneSvy,NULL,Svy_PutParams);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -3247,7 +3247,7 @@ static void Svy_ListSvyQuestions (struct Survey *Svy)
|
||||||
/* Write icon to edit the question */
|
/* Write icon to edit the question */
|
||||||
Svy_CurrentSvyCod = Svy->SvyCod;
|
Svy_CurrentSvyCod = Svy->SvyCod;
|
||||||
Svy_CurrentQstCod = SvyQst.QstCod;
|
Svy_CurrentQstCod = SvyQst.QstCod;
|
||||||
Ico_PutContextualIconToEdit (ActEdiOneSvyQst,Svy_PutParamsToEditQuestion);
|
Ico_PutContextualIconToEdit (ActEdiOneSvyQst,NULL,Svy_PutParamsToEditQuestion);
|
||||||
|
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1350,7 +1350,7 @@ static void Tst_PutIconsTests (void)
|
||||||
{
|
{
|
||||||
/***** Put form to edit existing test questions *****/
|
/***** Put form to edit existing test questions *****/
|
||||||
if (Gbl.Action.Act != ActEdiTstQst)
|
if (Gbl.Action.Act != ActEdiTstQst)
|
||||||
Ico_PutContextualIconToEdit (ActEdiTstQst,NULL);
|
Ico_PutContextualIconToEdit (ActEdiTstQst,NULL,NULL);
|
||||||
|
|
||||||
/***** Put form to create a new test question *****/
|
/***** Put form to create a new test question *****/
|
||||||
if (Gbl.Action.Act != ActEdiOneTstQst)
|
if (Gbl.Action.Act != ActEdiOneTstQst)
|
||||||
|
@ -2817,7 +2817,7 @@ static void Tst_ListOneOrMoreQuestionsForEdition (unsigned long NumRows,
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
|
|
||||||
/* Write icon to edit the question */
|
/* Write icon to edit the question */
|
||||||
Ico_PutContextualIconToEdit (ActEdiOneTstQst,Tst_PutParamQstCod);
|
Ico_PutContextualIconToEdit (ActEdiOneTstQst,NULL,Tst_PutParamQstCod);
|
||||||
|
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
|
|
@ -401,15 +401,15 @@ void TT_ShowClassTimeTable (void)
|
||||||
static void TT_PutContextualIcons (void)
|
static void TT_PutContextualIcons (void)
|
||||||
{
|
{
|
||||||
if (Gbl.TimeTable.ContextualIcons.PutIconEditCrsTT)
|
if (Gbl.TimeTable.ContextualIcons.PutIconEditCrsTT)
|
||||||
Ico_PutContextualIconToEdit (ActEdiCrsTT,Grp_PutParamWhichGrps);
|
Ico_PutContextualIconToEdit (ActEdiCrsTT,NULL,Grp_PutParamWhichGrps);
|
||||||
|
|
||||||
if (Gbl.TimeTable.ContextualIcons.PutIconEditOfficeHours)
|
if (Gbl.TimeTable.ContextualIcons.PutIconEditOfficeHours)
|
||||||
Ico_PutContextualIconToEdit (ActEdiTut,NULL);
|
Ico_PutContextualIconToEdit (ActEdiTut,NULL,NULL);
|
||||||
|
|
||||||
if (Gbl.TimeTable.ContextualIcons.PutIconPrint)
|
if (Gbl.TimeTable.ContextualIcons.PutIconPrint)
|
||||||
Ico_PutContextualIconToPrint (Gbl.TimeTable.Type == TT_COURSE_TIMETABLE ? ActPrnCrsTT :
|
Ico_PutContextualIconToPrint (Gbl.TimeTable.Type == TT_COURSE_TIMETABLE ? ActPrnCrsTT :
|
||||||
ActPrnMyTT,
|
ActPrnMyTT,
|
||||||
Grp_PutParamWhichGrps);
|
Grp_PutParamWhichGrps);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
Loading…
Reference in New Issue