Version 21.109: Jul 19, 2022 Changes in edition of program items.

This commit is contained in:
acanas 2022-07-19 14:08:49 +02:00
parent 88a6c1f748
commit eb330da7f2
16 changed files with 344 additions and 276 deletions

View File

@ -442,6 +442,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActLftPrgItm ] = {1834,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prg_MoveLeftItem ,NULL},
[ActRgtPrgItm ] = {1833,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prg_MoveRightItem ,NULL},
[ActFrmSeePrgRsc ] = {1925,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,PrgRsc_ViewResources ,NULL},
[ActFrmEdiPrgRsc ] = {1918,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,PrgRsc_EditResources ,NULL},
[ActReqRemPrgRsc ] = {1919,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,PrgRsc_ReqRemResource ,NULL},
[ActRemPrgRsc ] = {1920,-1,TabUnk,ActSeePrg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,PrgRsc_RemoveResource ,NULL},
@ -3759,6 +3760,7 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un
ActUnhPrgRsc, // #1922
ActUp_PrgRsc, // #1923
ActDwnPrgRsc, // #1924
ActFrmSeePrgRsc, // #1925
};
/*****************************************************************************/

View File

@ -65,7 +65,7 @@ typedef enum
typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action
#define Act_MAX_ACTION_COD 1924
#define Act_MAX_ACTION_COD 1925
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 13
@ -408,114 +408,115 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to
#define ActDwnPrgItm (ActChgCrsSta + 25)
#define ActLftPrgItm (ActChgCrsSta + 26)
#define ActRgtPrgItm (ActChgCrsSta + 27)
#define ActFrmEdiPrgRsc (ActChgCrsSta + 28)
#define ActReqRemPrgRsc (ActChgCrsSta + 29)
#define ActRemPrgRsc (ActChgCrsSta + 30)
#define ActHidPrgRsc (ActChgCrsSta + 31)
#define ActUnhPrgRsc (ActChgCrsSta + 32)
#define ActUp_PrgRsc (ActChgCrsSta + 33)
#define ActDwnPrgRsc (ActChgCrsSta + 34)
#define ActEdiTchGui (ActChgCrsSta + 35)
#define ActSeeSylLec (ActChgCrsSta + 36)
#define ActSeeSylPra (ActChgCrsSta + 37)
#define ActEdiSylLec (ActChgCrsSta + 38)
#define ActEdiSylPra (ActChgCrsSta + 39)
#define ActDelItmSylLec (ActChgCrsSta + 40)
#define ActDelItmSylPra (ActChgCrsSta + 41)
#define ActUp_IteSylLec (ActChgCrsSta + 42)
#define ActUp_IteSylPra (ActChgCrsSta + 43)
#define ActDwnIteSylLec (ActChgCrsSta + 44)
#define ActDwnIteSylPra (ActChgCrsSta + 45)
#define ActRgtIteSylLec (ActChgCrsSta + 46)
#define ActRgtIteSylPra (ActChgCrsSta + 47)
#define ActLftIteSylLec (ActChgCrsSta + 48)
#define ActLftIteSylPra (ActChgCrsSta + 49)
#define ActInsIteSylLec (ActChgCrsSta + 50)
#define ActInsIteSylPra (ActChgCrsSta + 51)
#define ActModIteSylLec (ActChgCrsSta + 52)
#define ActModIteSylPra (ActChgCrsSta + 53)
#define ActFrmSeePrgRsc (ActChgCrsSta + 28)
#define ActFrmEdiPrgRsc (ActChgCrsSta + 29)
#define ActReqRemPrgRsc (ActChgCrsSta + 30)
#define ActRemPrgRsc (ActChgCrsSta + 31)
#define ActHidPrgRsc (ActChgCrsSta + 32)
#define ActUnhPrgRsc (ActChgCrsSta + 33)
#define ActUp_PrgRsc (ActChgCrsSta + 34)
#define ActDwnPrgRsc (ActChgCrsSta + 35)
#define ActEdiTchGui (ActChgCrsSta + 36)
#define ActSeeSylLec (ActChgCrsSta + 37)
#define ActSeeSylPra (ActChgCrsSta + 38)
#define ActEdiSylLec (ActChgCrsSta + 39)
#define ActEdiSylPra (ActChgCrsSta + 40)
#define ActDelItmSylLec (ActChgCrsSta + 41)
#define ActDelItmSylPra (ActChgCrsSta + 42)
#define ActUp_IteSylLec (ActChgCrsSta + 43)
#define ActUp_IteSylPra (ActChgCrsSta + 44)
#define ActDwnIteSylLec (ActChgCrsSta + 45)
#define ActDwnIteSylPra (ActChgCrsSta + 46)
#define ActRgtIteSylLec (ActChgCrsSta + 47)
#define ActRgtIteSylPra (ActChgCrsSta + 48)
#define ActLftIteSylLec (ActChgCrsSta + 49)
#define ActLftIteSylPra (ActChgCrsSta + 50)
#define ActInsIteSylLec (ActChgCrsSta + 51)
#define ActInsIteSylPra (ActChgCrsSta + 52)
#define ActModIteSylLec (ActChgCrsSta + 53)
#define ActModIteSylPra (ActChgCrsSta + 54)
#define ActEdiBib (ActChgCrsSta + 54)
#define ActEdiFAQ (ActChgCrsSta + 55)
#define ActEdiCrsLnk (ActChgCrsSta + 56)
#define ActEdiBib (ActChgCrsSta + 55)
#define ActEdiFAQ (ActChgCrsSta + 56)
#define ActEdiCrsLnk (ActChgCrsSta + 57)
#define ActChgFrcReaCrsInf (ActChgCrsSta + 57)
#define ActChgFrcReaTchGui (ActChgCrsSta + 58)
#define ActChgFrcReaSylLec (ActChgCrsSta + 59)
#define ActChgFrcReaSylPra (ActChgCrsSta + 60)
#define ActChgFrcReaBib (ActChgCrsSta + 61)
#define ActChgFrcReaFAQ (ActChgCrsSta + 62)
#define ActChgFrcReaCrsLnk (ActChgCrsSta + 63)
#define ActChgFrcReaCrsInf (ActChgCrsSta + 58)
#define ActChgFrcReaTchGui (ActChgCrsSta + 59)
#define ActChgFrcReaSylLec (ActChgCrsSta + 60)
#define ActChgFrcReaSylPra (ActChgCrsSta + 61)
#define ActChgFrcReaBib (ActChgCrsSta + 62)
#define ActChgFrcReaFAQ (ActChgCrsSta + 63)
#define ActChgFrcReaCrsLnk (ActChgCrsSta + 64)
#define ActChgHavReaCrsInf (ActChgCrsSta + 64)
#define ActChgHavReaTchGui (ActChgCrsSta + 65)
#define ActChgHavReaSylLec (ActChgCrsSta + 66)
#define ActChgHavReaSylPra (ActChgCrsSta + 67)
#define ActChgHavReaBib (ActChgCrsSta + 68)
#define ActChgHavReaFAQ (ActChgCrsSta + 69)
#define ActChgHavReaCrsLnk (ActChgCrsSta + 70)
#define ActChgHavReaCrsInf (ActChgCrsSta + 65)
#define ActChgHavReaTchGui (ActChgCrsSta + 66)
#define ActChgHavReaSylLec (ActChgCrsSta + 67)
#define ActChgHavReaSylPra (ActChgCrsSta + 68)
#define ActChgHavReaBib (ActChgCrsSta + 69)
#define ActChgHavReaFAQ (ActChgCrsSta + 70)
#define ActChgHavReaCrsLnk (ActChgCrsSta + 71)
#define ActSelInfSrcCrsInf (ActChgCrsSta + 71)
#define ActSelInfSrcTchGui (ActChgCrsSta + 72)
#define ActSelInfSrcSylLec (ActChgCrsSta + 73)
#define ActSelInfSrcSylPra (ActChgCrsSta + 74)
#define ActSelInfSrcBib (ActChgCrsSta + 75)
#define ActSelInfSrcFAQ (ActChgCrsSta + 76)
#define ActSelInfSrcCrsLnk (ActChgCrsSta + 77)
#define ActRcvURLCrsInf (ActChgCrsSta + 78)
#define ActRcvURLTchGui (ActChgCrsSta + 79)
#define ActRcvURLSylLec (ActChgCrsSta + 80)
#define ActRcvURLSylPra (ActChgCrsSta + 81)
#define ActRcvURLBib (ActChgCrsSta + 82)
#define ActRcvURLFAQ (ActChgCrsSta + 83)
#define ActRcvURLCrsLnk (ActChgCrsSta + 84)
#define ActRcvPagCrsInf (ActChgCrsSta + 85)
#define ActRcvPagTchGui (ActChgCrsSta + 86)
#define ActRcvPagSylLec (ActChgCrsSta + 87)
#define ActRcvPagSylPra (ActChgCrsSta + 88)
#define ActRcvPagBib (ActChgCrsSta + 89)
#define ActRcvPagFAQ (ActChgCrsSta + 90)
#define ActRcvPagCrsLnk (ActChgCrsSta + 91)
#define ActEditorCrsInf (ActChgCrsSta + 92)
#define ActEditorTchGui (ActChgCrsSta + 93)
#define ActEditorSylLec (ActChgCrsSta + 94)
#define ActEditorSylPra (ActChgCrsSta + 95)
#define ActEditorBib (ActChgCrsSta + 96)
#define ActEditorFAQ (ActChgCrsSta + 97)
#define ActEditorCrsLnk (ActChgCrsSta + 98)
#define ActPlaTxtEdiCrsInf (ActChgCrsSta + 99)
#define ActPlaTxtEdiTchGui (ActChgCrsSta + 100)
#define ActPlaTxtEdiSylLec (ActChgCrsSta + 101)
#define ActPlaTxtEdiSylPra (ActChgCrsSta + 102)
#define ActPlaTxtEdiBib (ActChgCrsSta + 103)
#define ActPlaTxtEdiFAQ (ActChgCrsSta + 104)
#define ActPlaTxtEdiCrsLnk (ActChgCrsSta + 105)
#define ActRchTxtEdiCrsInf (ActChgCrsSta + 106)
#define ActRchTxtEdiTchGui (ActChgCrsSta + 107)
#define ActRchTxtEdiSylLec (ActChgCrsSta + 108)
#define ActRchTxtEdiSylPra (ActChgCrsSta + 109)
#define ActRchTxtEdiBib (ActChgCrsSta + 110)
#define ActRchTxtEdiFAQ (ActChgCrsSta + 111)
#define ActRchTxtEdiCrsLnk (ActChgCrsSta + 112)
#define ActRcvPlaTxtCrsInf (ActChgCrsSta + 113)
#define ActRcvPlaTxtTchGui (ActChgCrsSta + 114)
#define ActRcvPlaTxtSylLec (ActChgCrsSta + 115)
#define ActRcvPlaTxtSylPra (ActChgCrsSta + 116)
#define ActRcvPlaTxtBib (ActChgCrsSta + 117)
#define ActRcvPlaTxtFAQ (ActChgCrsSta + 118)
#define ActRcvPlaTxtCrsLnk (ActChgCrsSta + 119)
#define ActRcvRchTxtCrsInf (ActChgCrsSta + 120)
#define ActRcvRchTxtTchGui (ActChgCrsSta + 121)
#define ActRcvRchTxtSylLec (ActChgCrsSta + 122)
#define ActRcvRchTxtSylPra (ActChgCrsSta + 123)
#define ActRcvRchTxtBib (ActChgCrsSta + 124)
#define ActRcvRchTxtFAQ (ActChgCrsSta + 125)
#define ActRcvRchTxtCrsLnk (ActChgCrsSta + 126)
#define ActSelInfSrcCrsInf (ActChgCrsSta + 72)
#define ActSelInfSrcTchGui (ActChgCrsSta + 73)
#define ActSelInfSrcSylLec (ActChgCrsSta + 74)
#define ActSelInfSrcSylPra (ActChgCrsSta + 75)
#define ActSelInfSrcBib (ActChgCrsSta + 76)
#define ActSelInfSrcFAQ (ActChgCrsSta + 77)
#define ActSelInfSrcCrsLnk (ActChgCrsSta + 78)
#define ActRcvURLCrsInf (ActChgCrsSta + 79)
#define ActRcvURLTchGui (ActChgCrsSta + 80)
#define ActRcvURLSylLec (ActChgCrsSta + 81)
#define ActRcvURLSylPra (ActChgCrsSta + 82)
#define ActRcvURLBib (ActChgCrsSta + 83)
#define ActRcvURLFAQ (ActChgCrsSta + 84)
#define ActRcvURLCrsLnk (ActChgCrsSta + 85)
#define ActRcvPagCrsInf (ActChgCrsSta + 86)
#define ActRcvPagTchGui (ActChgCrsSta + 87)
#define ActRcvPagSylLec (ActChgCrsSta + 88)
#define ActRcvPagSylPra (ActChgCrsSta + 89)
#define ActRcvPagBib (ActChgCrsSta + 90)
#define ActRcvPagFAQ (ActChgCrsSta + 91)
#define ActRcvPagCrsLnk (ActChgCrsSta + 92)
#define ActEditorCrsInf (ActChgCrsSta + 93)
#define ActEditorTchGui (ActChgCrsSta + 94)
#define ActEditorSylLec (ActChgCrsSta + 95)
#define ActEditorSylPra (ActChgCrsSta + 96)
#define ActEditorBib (ActChgCrsSta + 97)
#define ActEditorFAQ (ActChgCrsSta + 98)
#define ActEditorCrsLnk (ActChgCrsSta + 99)
#define ActPlaTxtEdiCrsInf (ActChgCrsSta + 100)
#define ActPlaTxtEdiTchGui (ActChgCrsSta + 101)
#define ActPlaTxtEdiSylLec (ActChgCrsSta + 102)
#define ActPlaTxtEdiSylPra (ActChgCrsSta + 103)
#define ActPlaTxtEdiBib (ActChgCrsSta + 104)
#define ActPlaTxtEdiFAQ (ActChgCrsSta + 105)
#define ActPlaTxtEdiCrsLnk (ActChgCrsSta + 106)
#define ActRchTxtEdiCrsInf (ActChgCrsSta + 107)
#define ActRchTxtEdiTchGui (ActChgCrsSta + 108)
#define ActRchTxtEdiSylLec (ActChgCrsSta + 109)
#define ActRchTxtEdiSylPra (ActChgCrsSta + 110)
#define ActRchTxtEdiBib (ActChgCrsSta + 111)
#define ActRchTxtEdiFAQ (ActChgCrsSta + 112)
#define ActRchTxtEdiCrsLnk (ActChgCrsSta + 113)
#define ActRcvPlaTxtCrsInf (ActChgCrsSta + 114)
#define ActRcvPlaTxtTchGui (ActChgCrsSta + 115)
#define ActRcvPlaTxtSylLec (ActChgCrsSta + 116)
#define ActRcvPlaTxtSylPra (ActChgCrsSta + 117)
#define ActRcvPlaTxtBib (ActChgCrsSta + 118)
#define ActRcvPlaTxtFAQ (ActChgCrsSta + 119)
#define ActRcvPlaTxtCrsLnk (ActChgCrsSta + 120)
#define ActRcvRchTxtCrsInf (ActChgCrsSta + 121)
#define ActRcvRchTxtTchGui (ActChgCrsSta + 122)
#define ActRcvRchTxtSylLec (ActChgCrsSta + 123)
#define ActRcvRchTxtSylPra (ActChgCrsSta + 124)
#define ActRcvRchTxtBib (ActChgCrsSta + 125)
#define ActRcvRchTxtFAQ (ActChgCrsSta + 126)
#define ActRcvRchTxtCrsLnk (ActChgCrsSta + 127)
#define ActPrnCrsTT (ActChgCrsSta + 127)
#define ActEdiCrsTT (ActChgCrsSta + 128)
#define ActChgCrsTT (ActChgCrsSta + 129)
#define ActChgCrsTT1stDay (ActChgCrsSta + 130)
#define ActPrnCrsTT (ActChgCrsSta + 128)
#define ActEdiCrsTT (ActChgCrsSta + 129)
#define ActChgCrsTT (ActChgCrsSta + 130)
#define ActChgCrsTT1stDay (ActChgCrsSta + 131)
/*****************************************************************************/
/***************************** Assessment tab ********************************/

View File

@ -2795,7 +2795,7 @@ static void Att_ListEventsToSelect (const struct Att_Events *Events,
static void Att_PutIconToViewAttEvents (__attribute__((unused)) void *Args)
{
Ico_PutContextualIconToView (ActSeeAtt,
Ico_PutContextualIconToView (ActSeeAtt,NULL,
NULL,NULL);
}

View File

@ -3590,7 +3590,7 @@ static void Brw_PutIconsFileBrowser (__attribute__((unused)) void *Args)
case Brw_ICON_NONE:
break;
case Brw_ICON_VIEW:
Ico_PutContextualIconToView (Brw_ActFromAdmToSee[Gbl.FileBrowser.Type],
Ico_PutContextualIconToView (Brw_ActFromAdmToSee[Gbl.FileBrowser.Type],NULL,
Brw_PutHiddenParamFullTreeIfSelected,&Gbl.FileBrowser.FullTree);
break;
case Brw_ICON_EDIT:

View File

@ -606,10 +606,11 @@ TODO: Fix bug: error al enviar un mensaje a dos recipientes, error on duplicate
TODO: Attach pdf files in multimedia.
*/
#define Log_PLATFORM_VERSION "SWAD 21.108 (2022-07-18)"
#define Log_PLATFORM_VERSION "SWAD 21.109 (2022-07-19)"
#define CSS_FILE "swad21.107.1.css"
#define JS_FILE "swad21.100.js"
/*
Version 21.109: Jul 19, 2022 Changes in edition of program items. (328975 lines)
Version 21.108: Jul 18, 2022 Changes in edition of program items. (328908 lines)
Version 21.107.1: Jul 17, 2022 Changes in layout of resources of program item. (? lines)
Version 21.107: Jul 15, 2022 Move up/down resource of program item. (328953 lines)

View File

@ -553,7 +553,7 @@ static void Gam_ShowOneGame (struct Gam_Games *Games,
Gam_PutFormsToRemEditOneGame (Games,Game,Anchor);
else
/* Put icon to view game listing its questions */
Ico_PutContextualIconToView (ActLstOneGam,
Ico_PutContextualIconToView (ActLstOneGam,NULL,
Gam_PutParams,Games);
HTM_TD_End ();

View File

@ -1359,7 +1359,7 @@ static void Grp_PutIconsEditingGroupTypes (__attribute__((unused)) void *Args)
static void Grp_PutIconToViewGroups (void)
{
Ico_PutContextualIconToView (ActReqSelGrp,
Ico_PutContextualIconToView (ActReqSelGrp,NULL,
NULL,NULL);
}

View File

@ -263,10 +263,10 @@ void Ico_PutContextualIconToViewFiles (Act_Action_t NextAction,
"folder-open.svg",Ico_BLACK);
}
void Ico_PutContextualIconToView (Act_Action_t NextAction,
void Ico_PutContextualIconToView (Act_Action_t NextAction,const char *Anchor,
void (*FuncParams) (void *Args),void *Args)
{
Lay_PutContextualLinkOnlyIcon (NextAction,NULL,
Lay_PutContextualLinkOnlyIcon (NextAction,Anchor,
FuncParams,Args,
"list.svg",Ico_BLACK);
}

View File

@ -72,7 +72,7 @@ void Ico_PutContextualIconToEdit (Act_Action_t NextAction,const char *Anchor,
void (*FuncParams) (void *Args),void *Args);
void Ico_PutContextualIconToViewFiles (Act_Action_t NextAction,
void (*FuncParams) (void *Args),void *Args);
void Ico_PutContextualIconToView (Act_Action_t NextAction,
void Ico_PutContextualIconToView (Act_Action_t NextAction,const char *Anchor,
void (*FuncParams) (void *Args),void *Args);
void Ico_PutContextualIconToUnhide (Act_Action_t NextAction,const char *Anchor,
void (*FuncParams) (void *Args),void *Args);

View File

@ -414,7 +414,7 @@ static void Inf_PutButtonToEditInfo (void)
static void Inf_PutIconToViewInfo (void *Type)
{
if (Type)
Ico_PutContextualIconToView (Inf_ActionsSeeInfo[*((Inf_Type_t *) Type)],
Ico_PutContextualIconToView (Inf_ActionsSeeInfo[*((Inf_Type_t *) Type)],NULL,
NULL,NULL);
}

View File

@ -109,8 +109,8 @@ static void Prg_PutIconsListItems (__attribute__((unused)) void *Args);
static void Prg_PutIconToCreateNewItem (void);
static void Prg_PutButtonToCreateNewItem (void);
static void Prg_WriteRowItem (unsigned NumItem,struct Prg_Item *Item,
Prg_ShowItemForm_t ShowItemForm);
static void Prg_WriteRowItem (Prg_ListingItem_t ListingItem,
unsigned NumItem,struct Prg_Item *Item);
static void Prg_WriteRowToCreateItem (long ItmCod,unsigned FormLevel);
static void Prg_SetTitleClass (char **TitleClass,unsigned Level,bool LightStyle);
static void Prg_FreeTitleClass (char *TitleClass);
@ -187,14 +187,14 @@ void Prg_ShowCourseProgram (void)
void Prg_ShowCourseProgramHighlightingItem (const struct Prg_ItemRange *ToHighlight)
{
/***** Show all program items *****/
Prg_ShowAllItems (Prg_ITEM_VIEW,ToHighlight,-1L,-1L,0);
Prg_ShowAllItems (Prg_EDIT_LIST,ToHighlight,-1L,-1L,0);
}
/*****************************************************************************/
/************************* Show all program items ****************************/
/*****************************************************************************/
void Prg_ShowAllItems (Prg_ShowItemForm_t ShowItemForm,
void Prg_ShowAllItems (Prg_ListingItem_t ListingItem,
const struct Prg_ItemRange *ToHighlight,
long ParentItmCod,long ItmCod,unsigned FormLevel)
{
@ -244,27 +244,24 @@ void Prg_ShowAllItems (Prg_ShowItemForm_t ShowItemForm,
}
/* Show form to create item */
switch (ShowItemForm)
switch (ListingItem)
{
case Prg_ITEM_PRINT:
case Prg_ITEM_VIEW:
case Prg_ITEM_EDIT_BUTTONS:
Prg_WriteRowItem (NumItem,&Item,Prg_ITEM_EDIT_BUTTONS);
case Prg_PRINT:
case Prg_VIEW:
case Prg_EDIT_LIST:
Prg_WriteRowItem (ListingItem,NumItem,&Item);
break;
case Prg_ITEM_CREATE_FORM:
Prg_WriteRowItem (NumItem,&Item,Prg_ITEM_EDIT_BUTTONS);
case Prg_NEW_ITEM:
Prg_WriteRowItem (Prg_EDIT_LIST,NumItem,&Item);
if (Item.Hierarchy.ItmCod == ItmCod)
Prg_WriteRowToCreateItem (ParentItmCod,FormLevel);
break;
case Prg_ITEM_CHANGE_FORM:
Prg_WriteRowItem (NumItem,&Item,
Item.Hierarchy.ItmCod == ItmCod ? Prg_ITEM_CHANGE_FORM :
Prg_ITEM_EDIT_BUTTONS);
break;
case Prg_ITEM_CHANGE_RESOURCES:
Prg_WriteRowItem (NumItem,&Item,
Item.Hierarchy.ItmCod == ItmCod ? Prg_ITEM_CHANGE_RESOURCES :
Prg_ITEM_EDIT_BUTTONS);
case Prg_EDIT_ITEM:
case Prg_EDIT_RESOURCES:
case Prg_END_EDIT_RES:
Prg_WriteRowItem (Item.Hierarchy.ItmCod == ItmCod ? ListingItem :
Prg_EDIT_LIST,
NumItem,&Item);
break;
}
@ -280,7 +277,7 @@ void Prg_ShowAllItems (Prg_ShowItemForm_t ShowItemForm,
}
/***** Create item at the end? *****/
if (ItmCod <= 0 && ShowItemForm == Prg_ITEM_CREATE_FORM)
if (ItmCod <= 0 && ListingItem == Prg_NEW_ITEM)
Prg_WriteRowToCreateItem (-1L,1);
/***** End table *****/
@ -353,8 +350,8 @@ static void Prg_PutButtonToCreateNewItem (void)
/************************** Show one program item ****************************/
/*****************************************************************************/
static void Prg_WriteRowItem (unsigned NumItem,struct Prg_Item *Item,
Prg_ShowItemForm_t ShowItemForm)
static void Prg_WriteRowItem (Prg_ListingItem_t ListingItem,
unsigned NumItem,struct Prg_Item *Item)
{
static unsigned UniqueId = 0;
bool LightStyle;
@ -382,11 +379,12 @@ static void Prg_WriteRowItem (unsigned NumItem,struct Prg_Item *Item,
HTM_TR_Begin (NULL);
/***** Forms to remove/edit this program item *****/
switch (ShowItemForm)
switch (ListingItem)
{
case Prg_ITEM_EDIT_BUTTONS:
case Prg_ITEM_CHANGE_FORM:
case Prg_ITEM_CHANGE_RESOURCES:
case Prg_EDIT_LIST:
case Prg_EDIT_ITEM:
case Prg_EDIT_RESOURCES:
case Prg_END_EDIT_RES:
HTM_TD_Begin ("rowspan=\"2\" class=\"PRG_COL1 LT %s\"",
The_GetColorRows ());
Prg_PutFormsToRemEditOneItem (NumItem,Item);
@ -413,9 +411,9 @@ static void Prg_WriteRowItem (unsigned NumItem,struct Prg_Item *Item,
/***** Title *****/
ColSpan = (Prg_GetMaxItemLevel () + 2) - Item->Hierarchy.Level;
switch (ShowItemForm)
switch (ListingItem)
{
case Prg_ITEM_PRINT:
case Prg_PRINT:
HTM_TD_Begin ("colspan=\"%u\" class=\"PRG_MAIN %s\"",
ColSpan,TitleClass);
break;
@ -436,9 +434,9 @@ static void Prg_WriteRowItem (unsigned NumItem,struct Prg_Item *Item,
{
if (asprintf (&Id,"scd_date_%u_%u",(unsigned) StartEndTime,UniqueId) < 0)
Err_NotEnoughMemoryExit ();
switch (ShowItemForm)
switch (ListingItem)
{
case Prg_ITEM_PRINT:
case Prg_PRINT:
HTM_TD_Begin ("id=\"%s\" class=\"PRG_DATE LT %s_%s\"",
Id,
LightStyle ? (Item->Open ? "DATE_GREEN_LIGHT" :
@ -473,9 +471,9 @@ static void Prg_WriteRowItem (unsigned NumItem,struct Prg_Item *Item,
/* Begin text and resources */
ColSpan += 2;
switch (ShowItemForm)
switch (ListingItem)
{
case Prg_ITEM_PRINT:
case Prg_PRINT:
HTM_TD_Begin ("colspan=\"%u\" class=\"PRG_MAIN\"",ColSpan);
break;
default:
@ -485,9 +483,9 @@ static void Prg_WriteRowItem (unsigned NumItem,struct Prg_Item *Item,
}
/* Item text / form */
switch (ShowItemForm)
switch (ListingItem)
{
case Prg_ITEM_CHANGE_FORM:
case Prg_EDIT_ITEM:
/* Form to change item title, dates and text */
HTM_ARTICLE_Begin ("item_form");
Prg_ShowFormToChangeItem (Item->Hierarchy.ItmCod);
@ -509,15 +507,7 @@ static void Prg_WriteRowItem (unsigned NumItem,struct Prg_Item *Item,
}
/* List of resources */
switch (ShowItemForm)
{
case Prg_ITEM_CHANGE_RESOURCES:
PrgRsc_ListResourcesToEdit (Item->Hierarchy.ItmCod);
break;
default:
PrgRsc_ListResourcesToShow (Item->Hierarchy.ItmCod);
break;
}
PrgRsc_ListItemResources (ListingItem,Item->Hierarchy.ItmCod);
/* End text and resources */
HTM_TD_End ();
@ -1625,7 +1615,7 @@ void Prg_RequestCreateItem (void)
/***** Show current program items, if any *****/
Prg_SetItemRangeEmpty (&ToHighlight);
Prg_ShowAllItems (Prg_ITEM_CREATE_FORM,
Prg_ShowAllItems (Prg_NEW_ITEM,
&ToHighlight,ParentItmCod,ItmCodBeforeForm,FormLevel);
/***** Free list of program items *****/
@ -1649,7 +1639,7 @@ void Prg_RequestChangeItem (void)
/***** Show current program items, if any *****/
Prg_SetItemRangeEmpty (&ToHighlight);
Prg_ShowAllItems (Prg_ITEM_CHANGE_FORM,
Prg_ShowAllItems (Prg_EDIT_ITEM,
&ToHighlight,-1L,ItmCod,FormLevel);
/***** Free list of program items *****/

View File

@ -71,15 +71,17 @@ typedef enum
Prg_MOVE_RIGHT,
} Prg_MoveLeftRight_t;
#define Prg_NUM_LISTING_ITEM_TYPES 7
typedef enum
{
Prg_ITEM_PRINT,
Prg_ITEM_VIEW,
Prg_ITEM_EDIT_BUTTONS,
Prg_ITEM_CREATE_FORM,
Prg_ITEM_CHANGE_FORM,
Prg_ITEM_CHANGE_RESOURCES,
} Prg_ShowItemForm_t;
Prg_PRINT, // List items ready to be printed
Prg_VIEW, // List items without any edition
Prg_EDIT_LIST, // Buttons to edit list of items
Prg_NEW_ITEM, // Form to create a new item
Prg_EDIT_ITEM, // Form to edit a selected item
Prg_EDIT_RESOURCES, // List resources of a selected item for edition
Prg_END_EDIT_RES, // List resources of a selected item after edition
} Prg_ListingItem_t;
/*****************************************************************************/
/***************************** Public prototypes *****************************/
@ -88,7 +90,7 @@ typedef enum
void Prg_ShowCourseProgram (void);
void Prg_ShowCourseProgramHighlightingItem (const struct Prg_ItemRange *ToHighlight);
void Prg_ShowAllItems (Prg_ShowItemForm_t ShowItemForm,
void Prg_ShowAllItems (Prg_ListingItem_t ListingItem,
const struct Prg_ItemRange *ToHighlight,
long ParentItmCod,long ItmCod,unsigned FormLevel);

View File

@ -61,14 +61,16 @@ static const char *PrgRsc_RESOURCE_SECTION_ID = "rsc_section";
/***************************** Private prototypes ****************************/
/*****************************************************************************/
static void PrgRsc_PutIconsListResources (__attribute__((unused)) void *Args);
static void PrgRsc_PutIconsViewResources (void *ItmCod);
static void PrgRsc_PutIconsEditResources (void *ItmCod);
static void PrgSrc_PutIconToViewResources (long ItmCod);
static void PrgSrc_PutIconToEditResources (long ItmCod);
static void PrgRsc_GetDataOfResourceByCod (struct PrgRsc_Resource *Resource);
static void PrgRsc_GetDataOfResource (struct PrgRsc_Resource *Resource,
MYSQL_RES **mysql_res);
static void PrgRsc_ResetResource (struct PrgRsc_Resource *Resource);
static void PrgRsc_WriteRowShowResource (unsigned NumRsc,
static void PrgRsc_WriteRowViewResource (unsigned NumRsc,
struct PrgRsc_Resource *Resource);
static void PrgRsc_WriteRowEditResource (unsigned NumRsc,unsigned NumResources,
struct PrgRsc_Resource *Resource);
@ -85,6 +87,34 @@ static void PrgRsc_MoveUpDownResource (PrgRsc_MoveUpDown_t UpDown);
static bool PrgRsc_ExchangeResources (const struct PrgRsc_Rsc *Rsc1,
const struct PrgRsc_Rsc *Rsc2);
/*****************************************************************************/
/****************************** View resources *******************************/
/*****************************************************************************/
void PrgRsc_ViewResources (void)
{
long ItmCod;
unsigned FormLevel;
struct Prg_ItemRange ToHighlight;
/***** Get list of program items *****/
Prg_GetListItems ();
/***** Get the code of the program item *****/
if ((ItmCod = Prg_GetParamItmCod ()) > 0)
FormLevel = Prg_GetLevelFromNumItem (Prg_GetNumItemFromItmCod (ItmCod));
else
FormLevel = 0;
/***** Show current program items, if any *****/
Prg_SetItemRangeEmpty (&ToHighlight);
Prg_ShowAllItems (Prg_END_EDIT_RES,
&ToHighlight,-1L,ItmCod,FormLevel);
/***** Free list of program items *****/
Prg_FreeListItems ();
}
/*****************************************************************************/
/****************************** Edit resources *******************************/
/*****************************************************************************/
@ -106,7 +136,7 @@ void PrgRsc_EditResources (void)
/***** Show current program items, if any *****/
Prg_SetItemRangeEmpty (&ToHighlight);
Prg_ShowAllItems (Prg_ITEM_CHANGE_RESOURCES,
Prg_ShowAllItems (Prg_EDIT_RESOURCES,
&ToHighlight,-1L,ItmCod,FormLevel);
/***** Free list of program items *****/
@ -114,56 +144,10 @@ void PrgRsc_EditResources (void)
}
/*****************************************************************************/
/****************************** Show resources *******************************/
/****************************** List resources *******************************/
/*****************************************************************************/
void PrgRsc_ListResourcesToShow (long ItmCod)
{
extern const char *Txt_Resources;
MYSQL_RES *mysql_res;
unsigned NumRsc;
unsigned NumResources;
struct PrgRsc_Resource Resource;
/***** Trivial check *****/
if (ItmCod <= 0)
return;
/***** Begin box *****/
Box_BoxBegin ("100%",Txt_Resources,
PrgRsc_PutIconsListResources,&ItmCod,
NULL,Box_NOT_CLOSABLE);
/***** Get list of item resources from database *****/
if ((NumResources = Prg_DB_GetListResources (&mysql_res,ItmCod,
false))) // Don't get hidden resources
{
/***** Table *****/
HTM_TABLE_BeginWideMarginPadding (2);
HTM_TBODY_Begin (NULL);
/***** Write all item resources *****/
for (NumRsc = 1;
NumRsc <= NumResources;
NumRsc++)
{
/* Get data of this item resource */
PrgRsc_GetDataOfResource (&Resource,&mysql_res);
/* Show item */
PrgRsc_WriteRowShowResource (NumRsc,&Resource);
}
/***** End table *****/
HTM_TBODY_End ();
HTM_TABLE_End ();
}
/***** End box *****/
Box_BoxEnd ();
}
void PrgRsc_ListResourcesToEdit (long ItmCod)
void PrgRsc_ListItemResources (Prg_ListingItem_t ListingItem,long ItmCod)
{
extern const char *Hlp_COURSE_Program;
extern const char *Txt_Remove_resource;
@ -172,6 +156,26 @@ void PrgRsc_ListResourcesToEdit (long ItmCod)
unsigned NumRsc;
unsigned NumResources;
struct PrgRsc_Resource Resource;
static bool GetHiddenResources[Prg_NUM_LISTING_ITEM_TYPES] =
{
[Prg_PRINT ] = false,
[Prg_VIEW ] = false,
[Prg_EDIT_LIST ] = false,
[Prg_NEW_ITEM ] = false,
[Prg_EDIT_ITEM ] = false,
[Prg_EDIT_RESOURCES] = true,
[Prg_END_EDIT_RES ] = false,
};
static bool FeaturedList[Prg_NUM_LISTING_ITEM_TYPES] =
{
[Prg_PRINT ] = false,
[Prg_VIEW ] = false,
[Prg_EDIT_LIST ] = false,
[Prg_NEW_ITEM ] = false,
[Prg_EDIT_ITEM ] = false,
[Prg_EDIT_RESOURCES] = true,
[Prg_END_EDIT_RES ] = true,
};
/***** Trivial check *****/
if (ItmCod <= 0)
@ -179,64 +183,102 @@ void PrgRsc_ListResourcesToEdit (long ItmCod)
/***** Get list of item resources from database *****/
NumResources = Prg_DB_GetListResources (&mysql_res,ItmCod,
true); // Get hidden resources
GetHiddenResources[ListingItem]);
/***** Begin section *****/
HTM_SECTION_Begin (PrgRsc_RESOURCE_SECTION_ID);
if (FeaturedList[ListingItem])
HTM_SECTION_Begin (PrgRsc_RESOURCE_SECTION_ID);
/***** Show possible alerts *****/
/***** Show possible alerts *****/
if (FeaturedList[ListingItem])
switch (Gbl.Action.Act)
{
{
case ActReqRemPrgRsc:
/* Alert with button to remove resource */
/* Alert with button to remove resource */
Ale_ShowLastAlertAndButton (ActRemPrgRsc,PrgRsc_RESOURCE_SECTION_ID,NULL,
PrgRsc_PutParams,&PrgSrc_RscCodToBeRemoved,
Btn_REMOVE_BUTTON,Txt_Remove_resource);
break;
default:
Ale_ShowAlerts (PrgRsc_RESOURCE_SECTION_ID);
break;
}
Ale_ShowAlerts (PrgRsc_RESOURCE_SECTION_ID);
break;
}
/***** Begin box *****/
Box_BoxBegin ("100%",Txt_Resources,
NULL,NULL,
Hlp_COURSE_Program,Box_NOT_CLOSABLE);
/***** Begin box *****/
switch (ListingItem)
{
case Prg_EDIT_LIST:
case Prg_NEW_ITEM:
case Prg_EDIT_ITEM:
case Prg_END_EDIT_RES:
Box_BoxBegin ("100%",Txt_Resources,
PrgRsc_PutIconsEditResources,&ItmCod,
Hlp_COURSE_Program,Box_NOT_CLOSABLE);
break;
case Prg_EDIT_RESOURCES:
Box_BoxBegin ("100%",Txt_Resources,
PrgRsc_PutIconsViewResources,&ItmCod,
Hlp_COURSE_Program,Box_NOT_CLOSABLE);
break;
default:
Box_BoxBegin ("100%",Txt_Resources,
NULL,NULL,
Hlp_COURSE_Program,Box_NOT_CLOSABLE);
break;
}
/***** Table *****/
HTM_TABLE_BeginWideMarginPadding (2);
HTM_TBODY_Begin (NULL);
/***** Table *****/
HTM_TABLE_BeginWideMarginPadding (2);
HTM_TBODY_Begin (NULL);
/***** Write all item resources *****/
for (NumRsc = 0;
NumRsc < NumResources;
NumRsc++)
{
/* Get data of this item resource */
PrgRsc_GetDataOfResource (&Resource,&mysql_res);
/***** Write all item resources *****/
for (NumRsc = 0;
NumRsc < NumResources;
NumRsc++)
{
/* Get data of this item resource */
PrgRsc_GetDataOfResource (&Resource,&mysql_res);
/* Show item */
PrgRsc_WriteRowEditResource (NumRsc,NumResources,&Resource);
/* Show item */
switch (ListingItem)
{
case Prg_EDIT_RESOURCES:
PrgRsc_WriteRowEditResource (NumRsc,NumResources,&Resource);
break;
default:
PrgRsc_WriteRowViewResource (NumRsc,&Resource);
break;
}
The_ChangeRowColor ();
}
The_ChangeRowColor ();
}
/***** End table *****/
HTM_TBODY_End ();
HTM_TABLE_End ();
/***** End table *****/
HTM_TBODY_End ();
HTM_TABLE_End ();
/***** End box *****/
Box_BoxEnd ();
/***** End box *****/
Box_BoxEnd ();
/***** End section *****/
HTM_SECTION_End ();
if (FeaturedList[ListingItem])
HTM_SECTION_End ();
}
/*****************************************************************************/
/************** Put contextual icons in list of item resources ***************/
/*****************************************************************************/
static void PrgRsc_PutIconsListResources (void *ItmCod)
static void PrgRsc_PutIconsViewResources (void *ItmCod)
{
/***** Put icon to create a new item resource *****/
if (ItmCod)
if (*((long *) ItmCod) > 0)
if (Prg_CheckIfICanCreateItems ())
PrgSrc_PutIconToViewResources (*((long *) ItmCod));
}
static void PrgRsc_PutIconsEditResources (void *ItmCod)
{
/***** Put icon to create a new item resource *****/
if (ItmCod)
@ -249,6 +291,12 @@ static void PrgRsc_PutIconsListResources (void *ItmCod)
/********************* Put icon to edit item resources ***********************/
/*****************************************************************************/
static void PrgSrc_PutIconToViewResources (long ItmCod)
{
Ico_PutContextualIconToView (ActFrmSeePrgRsc,PrgRsc_RESOURCE_SECTION_ID,
Prg_PutParams,&ItmCod);
}
static void PrgSrc_PutIconToEditResources (long ItmCod)
{
Ico_PutContextualIconToEdit (ActFrmEdiPrgRsc,PrgRsc_RESOURCE_SECTION_ID,
@ -329,7 +377,7 @@ static void PrgRsc_ResetResource (struct PrgRsc_Resource *Resource)
/************************** Show one item resource ***************************/
/*****************************************************************************/
static void PrgRsc_WriteRowShowResource (unsigned NumRsc,
static void PrgRsc_WriteRowViewResource (unsigned NumRsc,
struct PrgRsc_Resource *Resource)
{
/***** Begin row *****/
@ -338,7 +386,7 @@ static void PrgRsc_WriteRowShowResource (unsigned NumRsc,
/***** Resource number *****/
HTM_TD_Begin ("class=\"PRG_NUM PRG_RSC_%s RT %s\"",
The_GetSuffix (),The_GetColorRows ());
HTM_Unsigned (NumRsc);
HTM_Unsigned (NumRsc + 1);
HTM_TD_End ();
/***** Title *****/
@ -502,7 +550,7 @@ void PrgRsc_ReqRemResource (void)
/***** Show current program items, if any *****/
Prg_SetItemRangeEmpty (&ToHighlight);
Prg_ShowAllItems (Prg_ITEM_CHANGE_RESOURCES,
Prg_ShowAllItems (Prg_EDIT_RESOURCES,
&ToHighlight,-1L,ItmCod,FormLevel);
/***** Free list of program items *****/
@ -543,7 +591,7 @@ void PrgRsc_RemoveResource (void)
/***** Show current program items, if any *****/
Prg_SetItemRangeEmpty (&ToHighlight);
Prg_ShowAllItems (Prg_ITEM_CHANGE_RESOURCES,
Prg_ShowAllItems (Prg_EDIT_RESOURCES,
&ToHighlight,-1L,ItmCod,FormLevel);
/***** Free list of program items *****/
@ -589,7 +637,7 @@ static void PrgRsc_HideOrUnhideResource (bool Hide)
/***** Show current program items, if any *****/
Prg_SetItemRangeEmpty (&ToHighlight);
Prg_ShowAllItems (Prg_ITEM_CHANGE_RESOURCES,
Prg_ShowAllItems (Prg_EDIT_RESOURCES,
&ToHighlight,-1L,ItmCod,FormLevel);
/***** Free list of program items *****/
@ -652,7 +700,7 @@ static void PrgRsc_MoveUpDownResource (PrgRsc_MoveUpDown_t UpDown)
/***** Show current program items, if any *****/
Prg_SetItemRangeEmpty (&ToHighlight);
Prg_ShowAllItems (Prg_ITEM_CHANGE_RESOURCES,
Prg_ShowAllItems (Prg_EDIT_RESOURCES,
&ToHighlight,-1L,ItmCod,FormLevel);
/***** Free list of program items *****/

View File

@ -52,10 +52,11 @@ struct PrgRsc_Resource
/***************************** Public prototypes *****************************/
/*****************************************************************************/
void PrgRsc_ViewResources (void);
void PrgRsc_EditResources (void);
void PrgRsc_ListResourcesToShow (long ItmCod);
void PrgRsc_ListResourcesToEdit (long ItmCod);
void PrgRsc_ListItemResources (Prg_ListingItem_t ListingItem,long ItmCod);
void PrgRsc_RequestCreateResource (void);
void PrgRsc_ReqRemResource (void);

View File

@ -5695,29 +5695,52 @@ const char *Txt_Actions[Act_NUM_ACTIONS] =
"Move right program item" // Precisa de tradução
#elif L==10 // tr
"Move right program item" // Çeviri lazim!
#endif
,
[ActFrmSeePrgRsc] =
#if L==1 // ca
"Veure recursos"
#elif L==2 // de
"Siehe Ressourcen"
#elif L==3 // en
"See resources"
#elif L==4 // es
"Ver recursos"
#elif L==5 // fr
"Voir ressources"
#elif L==6 // gn
"Editar recursos" // Okoteve traducción
#elif L==7 // it
"Vedi risorse"
#elif L==8 // pl
"Zobacz zasoby"
#elif L==9 // pt
"Ver recursos"
#elif L==10 // tr
"Kaynaklar&inodot; d&uuml;zenle"
#endif
,
[ActFrmEdiPrgRsc] =
#if L==1 // ca
"Edit resources" // Necessita traducció
"Editar recursos"
#elif L==2 // de
"Edit resources" // Need Übersetzung
"Ressourcen bearbeiten"
#elif L==3 // en
"Edit resources"
#elif L==4 // es
"Editar recursos"
#elif L==5 // fr
"Edit resources" // Besoin de traduction
"Modifier ressources"
#elif L==6 // gn
"Editar recursos" // Okoteve traducción
#elif L==7 // it
"Edit resources" // Bisogno di traduzione
"Modifica risorse"
#elif L==8 // pl
"Edit resources" // Potrzebujesz tlumaczenie
"Edytuj zasoby"
#elif L==9 // pt
"Edit resources" // Precisa de tradução
"Editar recursos"
#elif L==10 // tr
"Edit resources" // Çeviri lazim!
"Kaynaklar&inodot; d&uuml;zenle"
#endif
,
[ActReqRemPrgRsc] =
@ -17360,25 +17383,25 @@ const char *Txt_Actions[Act_NUM_ACTIONS] =
,
[ActSeeDocCrs] =
#if L==1 // ca
"See documents zone of the course" // Necessita traducció
"Veure zona de documents de l'assignatura"
#elif L==2 // de
"See documents zone of the course" // Need Übersetzung
"Siehe Dokumentenbereich der Kurs"
#elif L==3 // en
"See documents zone of the course"
"See document area of the course"
#elif L==4 // es
"Ver zona de documentos de la asignatura"
#elif L==5 // fr
"See documents zone of the course" // Besoin de traduction
"Voir la zone de documents de la mati&egrave;re"
#elif L==6 // gn
"Ver zona de documentos de la asignatura" // Okoteve traducción
#elif L==7 // it
"See documents zone of the course" // Bisogno di traduzione
"Vedi area documenti del corso"
#elif L==8 // pl
"See documents zone of the course" // Potrzebujesz tlumaczenie
"Zobacz obszar dokumentu kursu"
#elif L==9 // pt
"See documents zone of the course" // Precisa de tradução
"Ver a &aacute;rea de documentos da disciplina"
#elif L==10 // tr
"See documents zone of the course" // Çeviri lazim!
"Kursun belge alan&inodot;na bak&inodot;n"
#endif
,
[ActExpSeeDocCrs] =

View File

@ -486,7 +486,7 @@ void Tmt_EditMyTutTimeTable (void)
static void Tmt_PutIconToViewCrsTT (__attribute__((unused)) void *Args)
{
Ico_PutContextualIconToView (ActSeeCrsTT,
Ico_PutContextualIconToView (ActSeeCrsTT,NULL,
NULL,NULL);
}
@ -496,7 +496,7 @@ static void Tmt_PutIconToViewCrsTT (__attribute__((unused)) void *Args)
static void Tmt_PutIconToViewMyTT (__attribute__((unused)) void *Args)
{
Ico_PutContextualIconToView (ActSeeMyTT,
Ico_PutContextualIconToView (ActSeeMyTT,NULL,
NULL,NULL);
}