From b6145ec0a7de84e99e3dedd817ba795cd90c35db Mon Sep 17 00:00:00 2001 From: acanas Date: Thu, 21 Jul 2022 19:30:03 +0200 Subject: [PATCH] Version 21.112: Jul 21, 2022 Code refactoring in hide/unhide icons. --- swad_action.c | 68 ++++++++-------- swad_action.h | 34 ++++---- swad_agenda.c | 23 +++--- swad_announcement.c | 23 +++--- swad_announcement.h | 4 +- swad_assignment.c | 23 +++--- swad_attendance.c | 21 ++--- swad_banner.c | 154 ++++++++++++++---------------------- swad_browser.c | 142 +++++++++++----------------------- swad_call_for_exam.c | 23 +++--- swad_changelog.h | 7 +- swad_exam.c | 17 ++-- swad_exam_database.c | 2 +- swad_exam_session.c | 15 ++-- swad_game.c | 21 ++--- swad_icon.c | 26 ++++--- swad_icon.h | 7 +- swad_notice.c | 24 +++--- swad_program.c | 26 ++++--- swad_program_resource.c | 24 +++--- swad_project.c | 34 ++++---- swad_survey.c | 167 ++++++++++++++++++++-------------------- swad_survey.h | 2 +- swad_text_action.c | 34 ++++---- 24 files changed, 432 insertions(+), 489 deletions(-) diff --git a/swad_action.c b/swad_action.c index b6897e23..0f3027b9 100644 --- a/swad_action.c +++ b/swad_action.c @@ -228,7 +228,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = [ActEdiBan ] = {1138,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Ban_EditBanners ,NULL}, [ActNewBan ] = {1139,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Ban_ReceiveFormNewBanner ,Ban_ContEditAfterChgBan ,NULL}, [ActRemBan ] = {1140,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Ban_RemoveBanner ,Ban_ContEditAfterChgBan ,NULL}, - [ActShoBan ] = {1212,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Ban_ShowBanner ,Ban_ContEditAfterChgBan ,NULL}, + [ActUnhBan ] = {1212,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Ban_ShowBanner ,Ban_ContEditAfterChgBan ,NULL}, [ActHidBan ] = {1213,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Ban_HideBanner ,Ban_ContEditAfterChgBan ,NULL}, [ActRenBanSho ] = {1141,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Ban_RenameBannerShort ,Ban_ContEditAfterChgBan ,NULL}, [ActRenBanFul ] = {1142,-1,TabUnk,ActSeeLnk , 0, 0, 0, 0, 0, 0,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Ban_RenameBannerFull ,Ban_ContEditAfterChgBan ,NULL}, @@ -596,7 +596,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = [ActReqRemAsg ] = { 813,-1,TabUnk,ActSeeAsg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Asg_ReqRemAssignment ,NULL}, [ActRemAsg ] = { 806,-1,TabUnk,ActSeeAsg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Asg_RemoveAssignment ,NULL}, [ActHidAsg ] = { 964,-1,TabUnk,ActSeeAsg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Asg_HideAssignment ,NULL}, - [ActShoAsg ] = { 965,-1,TabUnk,ActSeeAsg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Asg_UnhideAssignment ,NULL}, + [ActUnhAsg ] = { 965,-1,TabUnk,ActSeeAsg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Asg_UnhideAssignment ,NULL}, [ActReqUsrPrj ] = {1805,-1,TabUnk,ActSeePrj ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ListUsrsToSelect ,NULL}, [ActSeeTblAllPrj ] = {1696,-1,TabUnk,ActSeePrj ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_NEW_TAB,NULL ,Prj_ShowTableSelectedPrjs ,NULL}, @@ -614,7 +614,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = [ActReqRemPrj ] = {1680,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ReqRemProject ,NULL}, [ActRemPrj ] = {1681,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_RemoveProject ,NULL}, [ActHidPrj ] = {1682,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_HideProject ,NULL}, - [ActShoPrj ] = {1683,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_UnhideProject ,NULL}, + [ActUnhPrj ] = {1683,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_UnhideProject ,NULL}, [ActLckPrj ] = {1773,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_AJAX_NORMAL,NULL ,Prj_LockProjectEdition ,NULL}, [ActUnlPrj ] = {1774,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_AJAX_NORMAL,NULL ,Prj_UnloProjectEdition ,NULL}, [ActReqAddStdPrj ] = {1684,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ReqAddStds ,NULL}, @@ -719,7 +719,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = [ActReqRemExa ] = {1881,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_AskRemExam ,NULL}, [ActRemExa ] = {1882,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_RemoveExam ,NULL}, [ActHidExa ] = {1883,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_HideExam ,NULL}, - [ActShoExa ] = {1884,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_UnhideExam ,NULL}, + [ActUnhExa ] = {1884,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_UnhideExam ,NULL}, [ActFrmNewExaSet ] = {1892,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Dat_SetIniEndDates ,ExaSet_RequestCreatOrEditSet ,NULL}, [ActNewExaSet ] = {1898,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSet_ReceiveFormSet ,NULL}, @@ -809,7 +809,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = [ActReqRemGam ] = {1656,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_AskRemGame ,NULL}, [ActRemGam ] = {1657,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_RemoveGame ,NULL}, [ActHidGam ] = {1660,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_HideGame ,NULL}, - [ActShoGam ] = {1661,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_UnhideGame ,NULL}, + [ActUnhGam ] = {1661,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_UnhideGame ,NULL}, [ActAddOneGamQst ] = {1662,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Dat_SetIniEndDates ,Gam_ReqSelectQstsToAddToGame ,NULL}, [ActGamLstTstQst ] = {1666,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_ListQstsToAddToGame ,NULL}, [ActAddTstQstToGam ] = {1667,-1,TabUnk,ActSeeAllGam ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Gam_AddQstsToGame ,NULL}, @@ -829,7 +829,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = [ActReqRstSvy ] = { 984,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_AskResetSurvey ,NULL}, [ActRstSvy ] = { 985,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_ResetSurvey ,NULL}, [ActHidSvy ] = { 977,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_HideSurvey ,NULL}, - [ActShoSvy ] = { 978,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_UnhideSurvey ,NULL}, + [ActUnhSvy ] = { 978,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_UnhideSurvey ,NULL}, [ActEdiOneSvyQst ] = { 979,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_RequestEditQuestion ,NULL}, [ActRcvSvyQst ] = { 980,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_ReceiveQst ,NULL}, [ActReqRemSvyQst ] = {1524,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_RequestRemoveQst ,NULL}, @@ -879,7 +879,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = [ActExpAdmDocIns ] = {1329,-1,TabUnk,ActSeeAdmDocIns , 0, 0, 0, 0,0x300, 0, 0,Act_CONT_NORM,Act_204_NO_CONT,Brw_ExpandFileTree ,NULL ,NULL}, [ActConAdmDocIns ] = {1330,-1,TabUnk,ActSeeAdmDocIns , 0, 0, 0, 0,0x300, 0, 0,Act_CONT_NORM,Act_204_NO_CONT,Brw_ContractFileTree ,NULL ,NULL}, [ActZIPAdmDocIns ] = {1331,-1,TabUnk,ActSeeAdmDocIns , 0, 0, 0, 0,0x300, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ZIP_CompressFileTree ,NULL}, - [ActShoDocIns ] = {1332,-1,TabUnk,ActSeeAdmDocIns , 0, 0, 0, 0,0x300, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_SetDocumentAsVisible ,NULL}, + [ActUnhDocIns ] = {1332,-1,TabUnk,ActSeeAdmDocIns , 0, 0, 0, 0,0x300, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_SetDocumentAsVisible ,NULL}, [ActHidDocIns ] = {1333,-1,TabUnk,ActSeeAdmDocIns , 0, 0, 0, 0,0x300, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_SetDocumentAsHidden ,NULL}, [ActReqDatAdmDocIns ] = {1334,-1,TabUnk,ActSeeAdmDocIns , 0, 0, 0, 0,0x300, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ShowFileMetadata ,NULL}, [ActChgDatAdmDocIns ] = {1335,-1,TabUnk,ActSeeAdmDocIns , 0, 0, 0, 0,0x300, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ChgFileMetadata ,NULL}, @@ -931,7 +931,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = [ActExpAdmDocCtr ] = {1300,-1,TabUnk,ActSeeAdmDocCtr , 0, 0, 0,0x380, 0, 0, 0,Act_CONT_NORM,Act_204_NO_CONT,Brw_ExpandFileTree ,NULL ,NULL}, [ActConAdmDocCtr ] = {1301,-1,TabUnk,ActSeeAdmDocCtr , 0, 0, 0,0x380, 0, 0, 0,Act_CONT_NORM,Act_204_NO_CONT,Brw_ContractFileTree ,NULL ,NULL}, [ActZIPAdmDocCtr ] = {1302,-1,TabUnk,ActSeeAdmDocCtr , 0, 0, 0,0x380, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ZIP_CompressFileTree ,NULL}, - [ActShoDocCtr ] = {1303,-1,TabUnk,ActSeeAdmDocCtr , 0, 0, 0,0x380, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_SetDocumentAsVisible ,NULL}, + [ActUnhDocCtr ] = {1303,-1,TabUnk,ActSeeAdmDocCtr , 0, 0, 0,0x380, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_SetDocumentAsVisible ,NULL}, [ActHidDocCtr ] = {1304,-1,TabUnk,ActSeeAdmDocCtr , 0, 0, 0,0x380, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_SetDocumentAsHidden ,NULL}, [ActReqDatAdmDocCtr ] = {1305,-1,TabUnk,ActSeeAdmDocCtr , 0, 0, 0,0x380, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ShowFileMetadata ,NULL}, [ActChgDatAdmDocCtr ] = {1306,-1,TabUnk,ActSeeAdmDocCtr , 0, 0, 0,0x380, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ChgFileMetadata ,NULL}, @@ -983,7 +983,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = [ActExpAdmDocDeg ] = {1271,-1,TabUnk,ActSeeAdmDocDeg , 0, 0,0x3C0, 0, 0, 0, 0,Act_CONT_NORM,Act_204_NO_CONT,Brw_ExpandFileTree ,NULL ,NULL}, [ActConAdmDocDeg ] = {1272,-1,TabUnk,ActSeeAdmDocDeg , 0, 0,0x3C0, 0, 0, 0, 0,Act_CONT_NORM,Act_204_NO_CONT,Brw_ContractFileTree ,NULL ,NULL}, [ActZIPAdmDocDeg ] = {1273,-1,TabUnk,ActSeeAdmDocDeg , 0, 0,0x3C0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ZIP_CompressFileTree ,NULL}, - [ActShoDocDeg ] = {1274,-1,TabUnk,ActSeeAdmDocDeg , 0, 0,0x3C0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_SetDocumentAsVisible ,NULL}, + [ActUnhDocDeg ] = {1274,-1,TabUnk,ActSeeAdmDocDeg , 0, 0,0x3C0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_SetDocumentAsVisible ,NULL}, [ActHidDocDeg ] = {1275,-1,TabUnk,ActSeeAdmDocDeg , 0, 0,0x3C0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_SetDocumentAsHidden ,NULL}, [ActReqDatAdmDocDeg ] = {1276,-1,TabUnk,ActSeeAdmDocDeg , 0, 0,0x3C0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ShowFileMetadata ,NULL}, [ActChgDatAdmDocDeg ] = {1277,-1,TabUnk,ActSeeAdmDocDeg , 0, 0,0x3C0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ChgFileMetadata ,NULL}, @@ -1042,7 +1042,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = [ActExpAdmDocCrs ] = { 477,-1,TabUnk,ActSeeAdmDocCrsGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_204_NO_CONT,Brw_ExpandFileTree ,NULL ,NULL}, [ActConAdmDocCrs ] = { 494,-1,TabUnk,ActSeeAdmDocCrsGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_204_NO_CONT,Brw_ContractFileTree ,NULL ,NULL}, [ActZIPAdmDocCrs ] = {1126,-1,TabUnk,ActSeeAdmDocCrsGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ZIP_CompressFileTree ,NULL}, - [ActShoDocCrs ] = { 464,-1,TabUnk,ActSeeAdmDocCrsGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_SetDocumentAsVisible ,NULL}, + [ActUnhDocCrs ] = { 464,-1,TabUnk,ActSeeAdmDocCrsGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_SetDocumentAsVisible ,NULL}, [ActHidDocCrs ] = { 465,-1,TabUnk,ActSeeAdmDocCrsGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_SetDocumentAsHidden ,NULL}, [ActReqDatAdmDocCrs ] = {1029,-1,TabUnk,ActSeeAdmDocCrsGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ShowFileMetadata ,NULL}, [ActChgDatAdmDocCrs ] = { 996,-1,TabUnk,ActSeeAdmDocCrsGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ChgFileMetadata ,NULL}, @@ -1064,7 +1064,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = [ActExpAdmDocGrp ] = { 486,-1,TabUnk,ActSeeAdmDocCrsGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_204_NO_CONT,Brw_ExpandFileTree ,NULL ,NULL}, [ActConAdmDocGrp ] = { 487,-1,TabUnk,ActSeeAdmDocCrsGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_204_NO_CONT,Brw_ContractFileTree ,NULL ,NULL}, [ActZIPAdmDocGrp ] = {1127,-1,TabUnk,ActSeeAdmDocCrsGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ZIP_CompressFileTree ,NULL}, - [ActShoDocGrp ] = { 493,-1,TabUnk,ActSeeAdmDocCrsGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_SetDocumentAsVisible ,NULL}, + [ActUnhDocGrp ] = { 493,-1,TabUnk,ActSeeAdmDocCrsGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_SetDocumentAsVisible ,NULL}, [ActHidDocGrp ] = { 492,-1,TabUnk,ActSeeAdmDocCrsGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_SetDocumentAsHidden ,NULL}, [ActReqDatAdmDocGrp ] = {1030,-1,TabUnk,ActSeeAdmDocCrsGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ShowFileMetadata ,NULL}, [ActChgDatAdmDocGrp ] = { 998,-1,TabUnk,ActSeeAdmDocCrsGrp ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ChgFileMetadata ,NULL}, @@ -1263,7 +1263,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = [ActExpAdmMrkCrs ] = { 607,-1,TabUnk,ActSeeAdmMrk ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_204_NO_CONT,Brw_ExpandFileTree ,NULL ,NULL}, [ActConAdmMrkCrs ] = { 621,-1,TabUnk,ActSeeAdmMrk ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_204_NO_CONT,Brw_ContractFileTree ,NULL ,NULL}, [ActZIPAdmMrkCrs ] = {1134,-1,TabUnk,ActSeeAdmMrk ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ZIP_CompressFileTree ,NULL}, - [ActShoMrkCrs ] = {1191,-1,TabUnk,ActSeeAdmMrk ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_SetDocumentAsVisible ,NULL}, + [ActUnhMrkCrs ] = {1191,-1,TabUnk,ActSeeAdmMrk ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_SetDocumentAsVisible ,NULL}, [ActHidMrkCrs ] = {1192,-1,TabUnk,ActSeeAdmMrk ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_SetDocumentAsHidden ,NULL}, [ActReqDatAdmMrkCrs ] = {1035,-1,TabUnk,ActSeeAdmMrk ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ShowFileMetadata ,NULL}, [ActChgDatAdmMrkCrs ] = {1036,-1,TabUnk,ActSeeAdmMrk ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ChgFileMetadata ,NULL}, @@ -1286,7 +1286,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = [ActExpAdmMrkGrp ] = { 631,-1,TabUnk,ActSeeAdmMrk ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_204_NO_CONT,Brw_ExpandFileTree ,NULL ,NULL}, [ActConAdmMrkGrp ] = { 900,-1,TabUnk,ActSeeAdmMrk ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_204_NO_CONT,Brw_ContractFileTree ,NULL ,NULL}, [ActZIPAdmMrkGrp ] = {1135,-1,TabUnk,ActSeeAdmMrk ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ZIP_CompressFileTree ,NULL}, - [ActShoMrkGrp ] = {1193,-1,TabUnk,ActSeeAdmMrk ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_SetDocumentAsVisible ,NULL}, + [ActUnhMrkGrp ] = {1193,-1,TabUnk,ActSeeAdmMrk ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_SetDocumentAsVisible ,NULL}, [ActHidMrkGrp ] = {1194,-1,TabUnk,ActSeeAdmMrk ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_SetDocumentAsHidden ,NULL}, [ActReqDatAdmMrkGrp ] = {1037,-1,TabUnk,ActSeeAdmMrk ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ShowFileMetadata ,NULL}, [ActChgDatAdmMrkGrp ] = {1038,-1,TabUnk,ActSeeAdmMrk ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ChgFileMetadata ,NULL}, @@ -1405,7 +1405,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = [ActReqRemAtt ] = {1067,-1,TabUnk,ActSeeAtt ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_AskRemAttEvent ,NULL}, [ActRemAtt ] = {1068,-1,TabUnk,ActSeeAtt ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_GetAndRemAttEvent ,NULL}, [ActHidAtt ] = {1069,-1,TabUnk,ActSeeAtt ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_HideAttEvent ,NULL}, - [ActShoAtt ] = {1070,-1,TabUnk,ActSeeAtt ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_UnhideAttEvent ,NULL}, + [ActUnhAtt ] = {1070,-1,TabUnk,ActSeeAtt ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_UnhideAttEvent ,NULL}, [ActSeeOneAtt ] = {1071,-1,TabUnk,ActSeeAtt ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_SeeOneAttEvent ,NULL}, [ActRecAttStd ] = {1072,-1,TabUnk,ActSeeAtt ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_RegisterStudentsInAttEvent ,NULL}, [ActRecAttMe ] = {1076,-1,TabUnk,ActSeeAtt ,0x008, 0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_RegisterMeAsStdInAttEvent ,NULL}, @@ -1548,14 +1548,14 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = [ActWriAnn ] = {1237,-1,TabUnk,ActSeeAnn ,0x200,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Ann_ShowFormAnnouncement ,NULL}, [ActRcvAnn ] = {1238,-1,TabUnk,ActSeeAnn ,0x200,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Ann_ReceiveAnnouncement ,NULL}, [ActHidAnn ] = {1470,-1,TabUnk,ActSeeAnn ,0x200,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Ann_HideActiveAnnouncement ,Ann_ShowAllAnnouncements ,NULL}, - [ActRevAnn ] = {1471,-1,TabUnk,ActSeeAnn ,0x200,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Ann_RevealHiddenAnnouncement ,Ann_ShowAllAnnouncements ,NULL}, + [ActUnhAnn ] = {1471,-1,TabUnk,ActSeeAnn ,0x200,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,Ann_RevealHiddenAnnouncement ,Ann_ShowAllAnnouncements ,NULL}, [ActRemAnn ] = {1236,-1,TabUnk,ActSeeAnn ,0x200,0x200,0x200,0x200,0x200,0x200,0x200,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Ann_RemoveAnnouncement ,NULL}, [ActSeeOneNot ] = {1164,-1,TabUnk,ActSeeAllNot ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Not_GetHighLightedNotCod ,Not_ListFullNotices ,NULL}, [ActWriNot ] = { 59,-1,TabUnk,ActSeeAllNot ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Not_ShowFormNotice ,NULL}, [ActRcvNot ] = { 60,-1,TabUnk,ActSeeAllNot ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Not_ReceiveNotice ,Not_ListFullNotices ,NULL}, [ActHidNot ] = { 763,-1,TabUnk,ActSeeAllNot ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Not_HideActiveNotice ,Not_ListFullNotices ,NULL}, - [ActRevNot ] = { 764,-1,TabUnk,ActSeeAllNot ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Not_RevealHiddenNotice ,Not_ListFullNotices ,NULL}, + [ActUnhNot ] = { 764,-1,TabUnk,ActSeeAllNot ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Not_RevealHiddenNotice ,Not_ListFullNotices ,NULL}, [ActReqRemNot ] = {1472,-1,TabUnk,ActSeeAllNot ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Not_RequestRemNotice ,NULL}, [ActRemNot ] = { 73,-1,TabUnk,ActSeeAllNot ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Not_RemoveNotice ,Not_ListNoticesAfterRemoval ,NULL}, @@ -1770,7 +1770,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = [ActReqRemEvtMyAgd ] = {1607,-1,TabUnk,ActSeeMyAgd ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Agd_AskRemEvent ,NULL}, [ActRemEvtMyAgd ] = {1608,-1,TabUnk,ActSeeMyAgd ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Agd_RemoveEvent ,NULL}, [ActHidEvtMyAgd ] = {1612,-1,TabUnk,ActSeeMyAgd ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Agd_HideEvent ,NULL}, - [ActShoEvtMyAgd ] = {1613,-1,TabUnk,ActSeeMyAgd ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Agd_UnhideEvent ,NULL}, + [ActUnhEvtMyAgd ] = {1613,-1,TabUnk,ActSeeMyAgd ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Agd_UnhideEvent ,NULL}, [ActPrvEvtMyAgd ] = {1609,-1,TabUnk,ActSeeMyAgd ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Agd_MakeEventPrivate ,NULL}, [ActPubEvtMyAgd ] = {1610,-1,TabUnk,ActSeeMyAgd ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Agd_MakeEventPublic ,NULL}, [ActPrnAgdQR ] = {1618,-1,TabUnk,ActSeeMyAgd ,0x3F8,0x3C7,0x3C7,0x3C7,0x3C7,0x3C7,0x3C7,Act_CONT_NORM,Act_BRW_NEW_TAB,NULL ,Agd_PrintAgdQRCode ,NULL}, @@ -2301,7 +2301,7 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un ActAdmShaCrsGrp, // #461 ActExpSeeDocCrs, // #462 -1, // #463 (obsolete action) - ActShoDocCrs, // #464 + ActUnhDocCrs, // #464 ActHidDocCrs, // #465 -1, // #466 (obsolete action) -1, // #467 (obsolete action) @@ -2330,7 +2330,7 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un ActRenFolDocGrp, // #490 ActCreFolDocCrs, // #491 ActHidDocGrp, // #492 - ActShoDocGrp, // #493 + ActUnhDocGrp, // #493 ActConAdmDocCrs, // #494 ActEnaFilZonGrp, // #495 ActDisFilZonGrp, // #496 @@ -2601,7 +2601,7 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un ActReqUseGbl, // #761 ActSeeAllNot, // #762 ActHidNot, // #763 - ActRevNot, // #764 + ActUnhNot, // #764 ActRcvThrForGenTch, // #765 ActRenHld, // #766 ActReqStaCrs, // #767 @@ -2802,7 +2802,7 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un ActDisPstForInsTch, // #962 ActDisPstForGenUsr, // #963 ActHidAsg, // #964 - ActShoAsg, // #965 + ActUnhAsg, // #965 ActSeeAllSvy, // #966 -1, // #967 (obsolete action) ActNewSvy, // #968 @@ -2815,7 +2815,7 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un ActChgSvy, // #975 ActReqRemSvy, // #976 ActHidSvy, // #977 - ActShoSvy, // #978 + ActUnhSvy, // #978 ActEdiOneSvyQst, // #979 ActRcvSvyQst, // #980 ActRemSvyQst, // #981 @@ -2907,7 +2907,7 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un ActReqRemAtt, // #1067 ActRemAtt, // #1068 ActHidAtt, // #1069 - ActShoAtt, // #1070 + ActUnhAtt, // #1070 ActSeeOneAtt, // #1071 ActRecAttStd, // #1072 ActReqLstUsrAtt, // #1073 @@ -3028,9 +3028,9 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un ActPrnRecSevGst, // #1188 ActLstGstAll, // #1189 ActPrnGstPho, // #1190 - ActShoMrkCrs, // #1191 + ActUnhMrkCrs, // #1191 ActHidMrkCrs, // #1192 - ActShoMrkGrp, // #1193 + ActUnhMrkGrp, // #1193 ActHidMrkGrp, // #1194 ActChgToSeeDocCrs, // #1195 ActChgToAdmDocCrs, // #1196 @@ -3049,7 +3049,7 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un ActChgCtrSta, // #1209 ActReqIns, // #1210 ActChgInsSta, // #1211 - ActShoBan, // #1212 + ActUnhBan, // #1212 ActHidBan, // #1213 ActRcvFilDocCrsDZ, // #1214 ActRcvFilDocGrpDZ, // #1215 @@ -3111,7 +3111,7 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un ActExpAdmDocDeg, // #1271 ActConAdmDocDeg, // #1272 ActZIPAdmDocDeg, // #1273 - ActShoDocDeg, // #1274 + ActUnhDocDeg, // #1274 ActHidDocDeg, // #1275 ActReqDatAdmDocDeg, // #1276 ActChgDatAdmDocDeg, // #1277 @@ -3140,7 +3140,7 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un ActExpAdmDocCtr, // #1300 ActConAdmDocCtr, // #1301 ActZIPAdmDocCtr, // #1302 - ActShoDocCtr, // #1303 + ActUnhDocCtr, // #1303 ActHidDocCtr, // #1304 ActReqDatAdmDocCtr, // #1305 ActChgDatAdmDocCtr, // #1306 @@ -3169,7 +3169,7 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un ActExpAdmDocIns, // #1329 ActConAdmDocIns, // #1330 ActZIPAdmDocIns, // #1331 - ActShoDocIns, // #1332 + ActUnhDocIns, // #1332 ActHidDocIns, // #1333 ActReqDatAdmDocIns, // #1334 ActChgDatAdmDocIns, // #1335 @@ -3308,7 +3308,7 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un ActChgPwdStd, // #1468 ActChgPwdTch, // #1469 ActHidAnn, // #1470 - ActRevAnn, // #1471 + ActUnhAnn, // #1471 ActReqRemNot, // #1472 ActSeeLstMyAtt, // #1473 ActPrnLstMyAtt, // #1474 @@ -3450,7 +3450,7 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un ActPubEvtMyAgd, // #1610 ActSeeUsrAgd, // #1611 ActHidEvtMyAgd, // #1612 - ActShoEvtMyAgd, // #1613 + ActUnhEvtMyAgd, // #1613 ActFrmLogInUsrAgd, // #1614 ActLogInUsrAgd, // #1615 ActLogInUsrAgdLan, // #1616 @@ -3498,7 +3498,7 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un -1, // #1658 (obsolete action) -1, // #1659 (obsolete action) ActHidGam, // #1660 - ActShoGam, // #1661 + ActUnhGam, // #1661 ActAddOneGamQst, // #1662 -1, // #1663 (obsolete action) ActReqRemGamQst, // #1664 @@ -3520,7 +3520,7 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un ActReqRemPrj, // #1680 ActRemPrj, // #1681 ActHidPrj, // #1682 - ActShoPrj, // #1683 + ActUnhPrj, // #1683 ActReqAddStdPrj, // #1684 ActReqAddTutPrj, // #1685 ActReqAddEvlPrj, // #1686 @@ -3721,7 +3721,7 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un ActReqRemExa, // #1881 ActRemExa, // #1882 ActHidExa, // #1883 - ActShoExa, // #1884 + ActUnhExa, // #1884 ActReqAddQstExaSet, // #1885 ActLstTstQstForSet, // #1886 ActAddQstToExa, // #1887 diff --git a/swad_action.h b/swad_action.h index 11d4cc5e..a8a9cca9 100644 --- a/swad_action.h +++ b/swad_action.h @@ -186,7 +186,7 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to #define ActEdiBan (ActRenMaiFul + 14) #define ActNewBan (ActRenMaiFul + 15) #define ActRemBan (ActRenMaiFul + 16) -#define ActShoBan (ActRenMaiFul + 17) +#define ActUnhBan (ActRenMaiFul + 17) #define ActHidBan (ActRenMaiFul + 18) #define ActRenBanSho (ActRenMaiFul + 19) #define ActRenBanFul (ActRenMaiFul + 20) @@ -555,7 +555,7 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to #define ActReqRemAsg (ActChgCrsTT1stDay + 26) #define ActRemAsg (ActChgCrsTT1stDay + 27) #define ActHidAsg (ActChgCrsTT1stDay + 28) -#define ActShoAsg (ActChgCrsTT1stDay + 29) +#define ActUnhAsg (ActChgCrsTT1stDay + 29) #define ActReqUsrPrj (ActChgCrsTT1stDay + 30) #define ActSeeTblAllPrj (ActChgCrsTT1stDay + 31) @@ -573,7 +573,7 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to #define ActReqRemPrj (ActChgCrsTT1stDay + 43) #define ActRemPrj (ActChgCrsTT1stDay + 44) #define ActHidPrj (ActChgCrsTT1stDay + 45) -#define ActShoPrj (ActChgCrsTT1stDay + 46) +#define ActUnhPrj (ActChgCrsTT1stDay + 46) #define ActLckPrj (ActChgCrsTT1stDay + 47) #define ActUnlPrj (ActChgCrsTT1stDay + 48) #define ActReqAddStdPrj (ActChgCrsTT1stDay + 49) @@ -677,7 +677,7 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to #define ActReqRemExa (ActChgCrsTT1stDay + 138) #define ActRemExa (ActChgCrsTT1stDay + 139) #define ActHidExa (ActChgCrsTT1stDay + 140) -#define ActShoExa (ActChgCrsTT1stDay + 141) +#define ActUnhExa (ActChgCrsTT1stDay + 141) #define ActFrmNewExaSet (ActChgCrsTT1stDay + 142) #define ActNewExaSet (ActChgCrsTT1stDay + 143) #define ActReqRemExaSet (ActChgCrsTT1stDay + 144) @@ -763,7 +763,7 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to #define ActReqRemGam (ActChgCrsTT1stDay + 213) #define ActRemGam (ActChgCrsTT1stDay + 214) #define ActHidGam (ActChgCrsTT1stDay + 215) -#define ActShoGam (ActChgCrsTT1stDay + 216) +#define ActUnhGam (ActChgCrsTT1stDay + 216) #define ActAddOneGamQst (ActChgCrsTT1stDay + 217) #define ActGamLstTstQst (ActChgCrsTT1stDay + 218) #define ActAddTstQstToGam (ActChgCrsTT1stDay + 219) @@ -783,7 +783,7 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to #define ActReqRstSvy (ActChgCrsTT1stDay + 232) #define ActRstSvy (ActChgCrsTT1stDay + 233) #define ActHidSvy (ActChgCrsTT1stDay + 234) -#define ActShoSvy (ActChgCrsTT1stDay + 235) +#define ActUnhSvy (ActChgCrsTT1stDay + 235) #define ActEdiOneSvyQst (ActChgCrsTT1stDay + 236) #define ActRcvSvyQst (ActChgCrsTT1stDay + 237) #define ActReqRemSvyQst (ActChgCrsTT1stDay + 238) @@ -831,7 +831,7 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to #define ActExpAdmDocIns (ActRemSvyQst + 35) #define ActConAdmDocIns (ActRemSvyQst + 36) #define ActZIPAdmDocIns (ActRemSvyQst + 37) -#define ActShoDocIns (ActRemSvyQst + 38) +#define ActUnhDocIns (ActRemSvyQst + 38) #define ActHidDocIns (ActRemSvyQst + 39) #define ActReqDatAdmDocIns (ActRemSvyQst + 40) #define ActChgDatAdmDocIns (ActRemSvyQst + 41) @@ -880,7 +880,7 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to #define ActExpAdmDocCtr (ActRemSvyQst + 82) #define ActConAdmDocCtr (ActRemSvyQst + 83) #define ActZIPAdmDocCtr (ActRemSvyQst + 84) -#define ActShoDocCtr (ActRemSvyQst + 85) +#define ActUnhDocCtr (ActRemSvyQst + 85) #define ActHidDocCtr (ActRemSvyQst + 86) #define ActReqDatAdmDocCtr (ActRemSvyQst + 87) #define ActChgDatAdmDocCtr (ActRemSvyQst + 88) @@ -929,7 +929,7 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to #define ActExpAdmDocDeg (ActRemSvyQst + 129) #define ActConAdmDocDeg (ActRemSvyQst + 130) #define ActZIPAdmDocDeg (ActRemSvyQst + 131) -#define ActShoDocDeg (ActRemSvyQst + 132) +#define ActUnhDocDeg (ActRemSvyQst + 132) #define ActHidDocDeg (ActRemSvyQst + 133) #define ActReqDatAdmDocDeg (ActRemSvyQst + 134) #define ActChgDatAdmDocDeg (ActRemSvyQst + 135) @@ -986,7 +986,7 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to #define ActExpAdmDocCrs (ActRemSvyQst + 182) #define ActConAdmDocCrs (ActRemSvyQst + 183) #define ActZIPAdmDocCrs (ActRemSvyQst + 184) -#define ActShoDocCrs (ActRemSvyQst + 185) +#define ActUnhDocCrs (ActRemSvyQst + 185) #define ActHidDocCrs (ActRemSvyQst + 186) #define ActReqDatAdmDocCrs (ActRemSvyQst + 187) #define ActChgDatAdmDocCrs (ActRemSvyQst + 188) @@ -1008,7 +1008,7 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to #define ActExpAdmDocGrp (ActRemSvyQst + 203) #define ActConAdmDocGrp (ActRemSvyQst + 204) #define ActZIPAdmDocGrp (ActRemSvyQst + 205) -#define ActShoDocGrp (ActRemSvyQst + 206) +#define ActUnhDocGrp (ActRemSvyQst + 206) #define ActHidDocGrp (ActRemSvyQst + 207) #define ActReqDatAdmDocGrp (ActRemSvyQst + 208) #define ActChgDatAdmDocGrp (ActRemSvyQst + 209) @@ -1207,7 +1207,7 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to #define ActExpAdmMrkCrs (ActRemSvyQst + 386) #define ActConAdmMrkCrs (ActRemSvyQst + 387) #define ActZIPAdmMrkCrs (ActRemSvyQst + 388) -#define ActShoMrkCrs (ActRemSvyQst + 389) +#define ActUnhMrkCrs (ActRemSvyQst + 389) #define ActHidMrkCrs (ActRemSvyQst + 390) #define ActReqDatAdmMrkCrs (ActRemSvyQst + 391) #define ActChgDatAdmMrkCrs (ActRemSvyQst + 392) @@ -1230,7 +1230,7 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to #define ActExpAdmMrkGrp (ActRemSvyQst + 408) #define ActConAdmMrkGrp (ActRemSvyQst + 409) #define ActZIPAdmMrkGrp (ActRemSvyQst + 410) -#define ActShoMrkGrp (ActRemSvyQst + 411) +#define ActUnhMrkGrp (ActRemSvyQst + 411) #define ActHidMrkGrp (ActRemSvyQst + 412) #define ActReqDatAdmMrkGrp (ActRemSvyQst + 413) #define ActChgDatAdmMrkGrp (ActRemSvyQst + 414) @@ -1345,7 +1345,7 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to #define ActReqRemAtt (ActRemOldBrf + 72) #define ActRemAtt (ActRemOldBrf + 73) #define ActHidAtt (ActRemOldBrf + 74) -#define ActShoAtt (ActRemOldBrf + 75) +#define ActUnhAtt (ActRemOldBrf + 75) #define ActSeeOneAtt (ActRemOldBrf + 76) #define ActRecAttStd (ActRemOldBrf + 77) #define ActRecAttMe (ActRemOldBrf + 78) @@ -1478,13 +1478,13 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to #define ActWriAnn (ActUnfSevTch + 7) #define ActRcvAnn (ActUnfSevTch + 8) #define ActHidAnn (ActUnfSevTch + 9) -#define ActRevAnn (ActUnfSevTch + 10) +#define ActUnhAnn (ActUnfSevTch + 10) #define ActRemAnn (ActUnfSevTch + 11) #define ActSeeOneNot (ActUnfSevTch + 12) #define ActWriNot (ActUnfSevTch + 13) #define ActRcvNot (ActUnfSevTch + 14) #define ActHidNot (ActUnfSevTch + 15) -#define ActRevNot (ActUnfSevTch + 16) +#define ActUnhNot (ActUnfSevTch + 16) #define ActReqRemNot (ActUnfSevTch + 17) #define ActRemNot (ActUnfSevTch + 18) @@ -1689,7 +1689,7 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to #define ActReqRemEvtMyAgd (ActSeeMyUsgRep + 13) #define ActRemEvtMyAgd (ActSeeMyUsgRep + 14) #define ActHidEvtMyAgd (ActSeeMyUsgRep + 15) -#define ActShoEvtMyAgd (ActSeeMyUsgRep + 16) +#define ActUnhEvtMyAgd (ActSeeMyUsgRep + 16) #define ActPrvEvtMyAgd (ActSeeMyUsgRep + 17) #define ActPubEvtMyAgd (ActSeeMyUsgRep + 18) #define ActPrnAgdQR (ActSeeMyUsgRep + 19) diff --git a/swad_agenda.c b/swad_agenda.c index a62c40d7..7693ce4e 100644 --- a/swad_agenda.c +++ b/swad_agenda.c @@ -888,25 +888,28 @@ static void Agd_PutFormsToRemEditOneEvent (struct Agd_Agenda *Agenda, struct Agd_Event *AgdEvent, const char *Anchor) { + static Act_Action_t ActionHideUnhide[2] = + { + [false] = ActHidEvtMyAgd, // Visible ==> action to hide + [true ] = ActUnhEvtMyAgd, // Hidden ==> action to unhide + }; + Agenda->AgdCodToEdit = AgdEvent->AgdCod; // Used as parameter in contextual links - /***** Put form to remove event *****/ + /***** Icon to remove event *****/ Ico_PutContextualIconToRemove (ActReqRemEvtMyAgd,NULL, Agd_PutCurrentParamsMyAgenda,Agenda); - /***** Put form to hide/show event *****/ - if (AgdEvent->Hidden) - Ico_PutContextualIconToUnhide (ActShoEvtMyAgd,Anchor, - Agd_PutCurrentParamsMyAgenda,Agenda); - else - Ico_PutContextualIconToHide (ActHidEvtMyAgd,Anchor, - Agd_PutCurrentParamsMyAgenda,Agenda); + /***** Icon to hide/unhide event *****/ + Ico_PutContextualIconToHideUnhide (ActionHideUnhide,Anchor, + Agd_PutCurrentParamsMyAgenda,Agenda, + AgdEvent->Hidden); - /***** Put form to edit event *****/ + /***** Icon to edit event *****/ Ico_PutContextualIconToEdit (ActEdiOneEvtMyAgd,NULL, Agd_PutCurrentParamsMyAgenda,Agenda); - /***** Put form to make event public/private *****/ + /***** Icon to make event public/private *****/ if (AgdEvent->Public) Lay_PutContextualLinkOnlyIcon (ActPrvEvtMyAgd,NULL, Agd_PutCurrentParamsMyAgenda,Agenda, diff --git a/swad_announcement.c b/swad_announcement.c index 16c6c6c6..42d901dc 100644 --- a/swad_announcement.c +++ b/swad_announcement.c @@ -229,6 +229,11 @@ static void Ann_DrawAnAnnouncement (long AnnCod,Ann_Status_t Status, [Ann_ACTIVE_ANNOUNCEMENT ] = "NOTICE_BOX NOTICE_BOX_WIDE", [Ann_OBSOLETE_ANNOUNCEMENT] = "NOTICE_BOX NOTICE_BOX_WIDE LIGHT", }; + static Act_Action_t ActionHideUnhide[2] = + { + [false] = ActHidAnn, // Visible ==> action to hide + [true ] = ActUnhAnn, // Hidden ==> action to unhide + }; Rol_Role_t Role; bool SomeRolesAreSelected; @@ -237,22 +242,14 @@ static void Ann_DrawAnAnnouncement (long AnnCod,Ann_Status_t Status, if (ICanEdit) { - /***** Put form to remove announcement *****/ + /***** Icon to remove announcement *****/ Ico_PutContextualIconToRemove (ActRemAnn,NULL, Ann_PutParams,&AnnCod); - /***** Put form to change the status of the announcement *****/ - switch (Status) - { - case Ann_ACTIVE_ANNOUNCEMENT: - Ico_PutContextualIconToHide (ActHidAnn,NULL, - Ann_PutParams,&AnnCod); - break; - case Ann_OBSOLETE_ANNOUNCEMENT: - Ico_PutContextualIconToUnhide (ActRevAnn,NULL, - Ann_PutParams,&AnnCod); - break; - } + /***** Icon to hide/unhide the announcement *****/ + Ico_PutContextualIconToHideUnhide (ActionHideUnhide,NULL, // TODO: Put anchor + Ann_PutParams,&AnnCod, + Status == Ann_OBSOLETE_ANNOUNCEMENT); } /***** Write the subject of the announcement *****/ diff --git a/swad_announcement.h b/swad_announcement.h index 9e72cce8..fba63642 100644 --- a/swad_announcement.h +++ b/swad_announcement.h @@ -30,8 +30,8 @@ #define Ann_NUM_STATUS 2 typedef enum { - Ann_ACTIVE_ANNOUNCEMENT = 0, - Ann_OBSOLETE_ANNOUNCEMENT = 1, + Ann_ACTIVE_ANNOUNCEMENT = 0, // Visible + Ann_OBSOLETE_ANNOUNCEMENT = 1, // Hidden } Ann_Status_t; // Don't change these numbers because they are used in database /*****************************************************************************/ diff --git a/swad_assignment.c b/swad_assignment.c index 0432e17d..7c63a60c 100644 --- a/swad_assignment.c +++ b/swad_assignment.c @@ -628,6 +628,12 @@ static void Asg_PutFormsToRemEditOneAsg (struct Asg_Assignments *Assignments, const struct Asg_Assignment *Asg, const char *Anchor) { + static Act_Action_t ActionHideUnhide[2] = + { + [false] = ActHidAsg, // Visible ==> action to hide + [true ] = ActUnhAsg, // Hidden ==> action to unhide + }; + /***** Set assigment to edit (used as parameter in contextual links) *****/ Assignments->AsgCodToEdit = Asg->AsgCod; @@ -636,26 +642,23 @@ static void Asg_PutFormsToRemEditOneAsg (struct Asg_Assignments *Assignments, { case Rol_TCH: case Rol_SYS_ADM: - /***** Put form to remove assignment *****/ + /***** Icon to remove assignment *****/ Ico_PutContextualIconToRemove (ActReqRemAsg,NULL, Asg_PutParams,Assignments); - /***** Put form to hide/show assignment *****/ - if (Asg->Hidden) - Ico_PutContextualIconToUnhide (ActShoAsg,Anchor, - Asg_PutParams,Assignments); - else - Ico_PutContextualIconToHide (ActHidAsg,Anchor, - Asg_PutParams,Assignments); + /***** Icon to hide/unhide assignment *****/ + Ico_PutContextualIconToHideUnhide (ActionHideUnhide,Anchor, + Asg_PutParams,Assignments, + Asg->Hidden); - /***** Put form to edit assignment *****/ + /***** Icon to edit assignment *****/ Ico_PutContextualIconToEdit (ActEdiOneAsg,NULL, Asg_PutParams,Assignments); /* falls through */ /* no break */ case Rol_STD: case Rol_NET: - /***** Put form to print assignment *****/ + /***** Icon to print assignment *****/ Ico_PutContextualIconToPrint (ActPrnOneAsg, Asg_PutParams,Assignments); break; diff --git a/swad_attendance.c b/swad_attendance.c index 46d84dae..78f8edd2 100644 --- a/swad_attendance.c +++ b/swad_attendance.c @@ -604,21 +604,24 @@ static void Att_PutFormsToRemEditOneAttEvent (struct Att_Events *Events, const struct Att_Event *Event, const char *Anchor) { + static Act_Action_t ActionHideUnhide[2] = + { + [false] = ActHidAtt, // Visible ==> action to hide + [true ] = ActUnhAtt, // Hidden ==> action to unhide + }; + Events->AttCod = Event->AttCod; - /***** Put form to remove attendance event *****/ + /***** Icon to remove attendance event *****/ Ico_PutContextualIconToRemove (ActReqRemAtt,NULL, Att_PutParams,Events); - /***** Put form to hide/show attendance event *****/ - if (Event->Hidden) - Ico_PutContextualIconToUnhide (ActShoAtt,Anchor, - Att_PutParams,Events); - else - Ico_PutContextualIconToHide (ActHidAtt,Anchor, - Att_PutParams,Events); + /***** Icon to hide/unhide attendance event *****/ + Ico_PutContextualIconToHideUnhide (ActionHideUnhide,Anchor, + Att_PutParams,Events, + Event->Hidden); - /***** Put form to edit attendance event *****/ + /***** Icon to edit attendance event *****/ Ico_PutContextualIconToEdit (ActEdiOneAtt,NULL, Att_PutParams,Events); } diff --git a/swad_banner.c b/swad_banner.c index 45b56995..3d4d1cce 100644 --- a/swad_banner.c +++ b/swad_banner.c @@ -65,14 +65,13 @@ struct Ban_Banners /***************************** Private variables *****************************/ /*****************************************************************************/ -static struct Ban_Banner *Ban_EditingBan; +static struct Ban_Banner Ban_EditingBan; static long Ban_BanCodClicked; /*****************************************************************************/ /***************************** Private prototypes ****************************/ /*****************************************************************************/ -static void Ban_SetEditingBanner (struct Ban_Banner *Ban); static struct Ban_Banner *Ban_GetEditingBanner (void); static void Ban_WriteListOfBanners (const struct Ban_Banners *Banners); @@ -106,14 +105,9 @@ static void Ban_ResetBanner (struct Ban_Banner *Ban); /************************** Access to editing banner *************************/ /*****************************************************************************/ -static void Ban_SetEditingBanner (struct Ban_Banner *Ban) - { - Ban_EditingBan = Ban; - } - static struct Ban_Banner *Ban_GetEditingBanner (void) { - return Ban_EditingBan; + return &Ban_EditingBan; } /*****************************************************************************/ @@ -398,6 +392,11 @@ void Ban_PutIconToViewBanners (void) static void Ban_ListBannersForEdition (struct Ban_Banners *Banners) { + static Act_Action_t ActionHideUnhide[2] = + { + [false] = ActHidBan, // Visible ==> action to hide + [true ] = ActUnhBan, // Hidden ==> action to unhide + }; unsigned NumBan; struct Ban_Banner *Ban; char *Anchor = NULL; @@ -422,23 +421,19 @@ static void Ban_ListBannersForEdition (struct Ban_Banners *Banners) /* Begin table row */ HTM_TR_Begin (NULL); - /* Put icon to remove banner */ + /* Icon to remove banner */ HTM_TD_Begin ("class=\"BM\""); Ico_PutContextualIconToRemove (ActRemBan,NULL, Ban_PutParamBanCodToEdit, &Banners->BanCodToEdit); HTM_TD_End (); - /* Put icon to hide/show banner */ + /* Icon to hide/unhide banner */ HTM_TD_Begin ("class=\"BM\""); - if (Ban->Hidden) - Ico_PutContextualIconToUnhide (ActShoBan,Anchor, - Ban_PutParamBanCodToEdit, - &Banners->BanCodToEdit); - else - Ico_PutContextualIconToHide (ActHidBan,Anchor, - Ban_PutParamBanCodToEdit, - &Banners->BanCodToEdit); + Ico_PutContextualIconToHideUnhide (ActionHideUnhide,Anchor, + Ban_PutParamBanCodToEdit, + &Banners->BanCodToEdit, + Ban->Hidden); HTM_TD_End (); /* Banner code */ @@ -537,28 +532,25 @@ long Ban_GetParamBanCod (void) void Ban_RemoveBanner (void) { extern const char *Txt_Banner_X_removed; - struct Ban_Banner Ban; + struct Ban_Banner *Ban = Ban_GetEditingBanner (); /***** Reset banner *****/ - Ban_ResetBanner (&Ban); + Ban_ResetBanner (Ban); /***** Get banner code *****/ - if ((Ban.BanCod = Ban_GetParamBanCod ()) <= 0) + if ((Ban->BanCod = Ban_GetParamBanCod ()) <= 0) Err_WrongBannerExit (); /***** Get data of the banner from database *****/ - Ban_GetDataOfBannerByCod (&Ban); + Ban_GetDataOfBannerByCod (Ban); /***** Remove banner *****/ - Ban_DB_RemoveBanner (Ban.BanCod); + Ban_DB_RemoveBanner (Ban->BanCod); /***** Write message to show the change made *****/ Ale_CreateAlert (Ale_SUCCESS,NULL, Txt_Banner_X_removed, - Ban.ShrtName); - - /***** Set editing banner to use ot in a posterior function *****/ - Ban_SetEditingBanner (&Ban); + Ban->ShrtName); } /*****************************************************************************/ @@ -567,16 +559,13 @@ void Ban_RemoveBanner (void) void Ban_ShowBanner (void) { - struct Ban_Banner Ban; + struct Ban_Banner *Ban = Ban_GetEditingBanner (); /***** Reset banner *****/ - Ban_ResetBanner (&Ban); + Ban_ResetBanner (Ban); /***** Set banner as visible *****/ - Ban_ShowOrHideBanner (&Ban,false); - - /***** Set editing banner to use ot in a posterior function *****/ - Ban_SetEditingBanner (&Ban); + Ban_ShowOrHideBanner (Ban,false); } /*****************************************************************************/ @@ -585,16 +574,13 @@ void Ban_ShowBanner (void) void Ban_HideBanner (void) { - struct Ban_Banner Ban; + struct Ban_Banner *Ban = Ban_GetEditingBanner (); /***** Reset banner *****/ - Ban_ResetBanner (&Ban); + Ban_ResetBanner (Ban); /***** Set banner as hidden *****/ - Ban_ShowOrHideBanner (&Ban,true); - - /***** Set editing banner to use ot in a posterior function *****/ - Ban_SetEditingBanner (&Ban); + Ban_ShowOrHideBanner (Ban,true); } /*****************************************************************************/ @@ -621,16 +607,13 @@ static void Ban_ShowOrHideBanner (struct Ban_Banner *Ban,bool Hide) void Ban_RenameBannerShort (void) { - struct Ban_Banner Ban; + struct Ban_Banner *Ban = Ban_GetEditingBanner (); /***** Reset banner *****/ - Ban_ResetBanner (&Ban); + Ban_ResetBanner (Ban); /***** Rename banner *****/ - Ban_RenameBanner (&Ban,Cns_SHRT_NAME); - - /***** Set editing banner to use ot in a posterior function *****/ - Ban_SetEditingBanner (&Ban); + Ban_RenameBanner (Ban,Cns_SHRT_NAME); } /*****************************************************************************/ @@ -639,16 +622,13 @@ void Ban_RenameBannerShort (void) void Ban_RenameBannerFull (void) { - struct Ban_Banner Ban; + struct Ban_Banner *Ban = Ban_GetEditingBanner (); /***** Reset banner *****/ - Ban_ResetBanner (&Ban); + Ban_ResetBanner (Ban); /***** Rename banner *****/ - Ban_RenameBanner (&Ban,Cns_FULL_NAME); - - /***** Set editing banner to use ot in a posterior function *****/ - Ban_SetEditingBanner (&Ban); + Ban_RenameBanner (Ban,Cns_FULL_NAME); } /*****************************************************************************/ @@ -736,28 +716,28 @@ static void Ban_RenameBanner (struct Ban_Banner *Ban, void Ban_ChangeBannerImg (void) { extern const char *Txt_The_new_image_is_X; - struct Ban_Banner Ban; + struct Ban_Banner *Ban = Ban_GetEditingBanner (); char NewImg[Ban_MAX_BYTES_IMAGE + 1]; /***** Reset banner *****/ - Ban_ResetBanner (&Ban); + Ban_ResetBanner (Ban); /***** Get parameters from form *****/ /* Get the code of the banner */ - if ((Ban.BanCod = Ban_GetParamBanCod ()) <= 0) + if ((Ban->BanCod = Ban_GetParamBanCod ()) <= 0) Err_WrongBannerExit (); /* Get the new WWW for the banner */ Par_GetParToText ("Img",NewImg,Ban_MAX_BYTES_IMAGE); /***** Get banner data from the database *****/ - Ban_GetDataOfBannerByCod (&Ban); + Ban_GetDataOfBannerByCod (Ban); /***** Check if new image is empty *****/ if (NewImg[0]) { /* Update the table changing old image by new image */ - Ban_DB_UpdateBanImg (Ban.BanCod,NewImg); + Ban_DB_UpdateBanImg (Ban->BanCod,NewImg); /* Write message to show the change made */ Ale_CreateAlert (Ale_SUCCESS,NULL, @@ -769,10 +749,7 @@ void Ban_ChangeBannerImg (void) Ale_CreateAlertYouCanNotLeaveFieldEmpty (); /***** Update image *****/ - Str_Copy (Ban.Img,NewImg,sizeof (Ban.Img) - 1); - - /***** Set editing banner to use ot in a posterior function *****/ - Ban_SetEditingBanner (&Ban); + Str_Copy (Ban->Img,NewImg,sizeof (Ban->Img) - 1); } /*****************************************************************************/ @@ -782,28 +759,28 @@ void Ban_ChangeBannerImg (void) void Ban_ChangeBannerWWW (void) { extern const char *Txt_The_new_web_address_is_X; - struct Ban_Banner Ban; + struct Ban_Banner *Ban = Ban_GetEditingBanner (); char NewWWW[Cns_MAX_BYTES_WWW + 1]; /***** Reset banner *****/ - Ban_ResetBanner (&Ban); + Ban_ResetBanner (Ban); /***** Get parameters from form *****/ /* Get the code of the banner */ - if ((Ban.BanCod = Ban_GetParamBanCod ()) <= 0) + if ((Ban->BanCod = Ban_GetParamBanCod ()) <= 0) Err_WrongBannerExit (); /* Get the new WWW for the banner */ Par_GetParToText ("WWW",NewWWW,Cns_MAX_BYTES_WWW); /***** Get banner data from the database *****/ - Ban_GetDataOfBannerByCod (&Ban); + Ban_GetDataOfBannerByCod (Ban); /***** Check if new WWW is empty *****/ if (NewWWW[0]) { /* Update the table changing old WWW by new WWW */ - Ban_DB_UpdateBanWWW (Ban.BanCod,NewWWW); + Ban_DB_UpdateBanWWW (Ban->BanCod,NewWWW); /* Write message to show the change made */ Ale_CreateAlert (Ale_SUCCESS,NULL, @@ -815,10 +792,7 @@ void Ban_ChangeBannerWWW (void) Ale_CreateAlertYouCanNotLeaveFieldEmpty (); /***** Update web *****/ - Str_Copy (Ban.WWW,NewWWW,sizeof (Ban.WWW) - 1); - - /***** Set editing banner to use ot in a posterior function *****/ - Ban_SetEditingBanner (&Ban); + Str_Copy (Ban->WWW,NewWWW,sizeof (Ban->WWW) - 1); } /*****************************************************************************/ @@ -957,54 +931,44 @@ void Ban_ReceiveFormNewBanner (void) extern const char *Txt_You_must_specify_the_image_of_the_new_banner; extern const char *Txt_You_must_specify_the_web_address; extern const char *Txt_Created_new_banner_X; - struct Ban_Banner Ban; + struct Ban_Banner *Ban = Ban_GetEditingBanner (); /***** Reset banner *****/ - Ban_ResetBanner (&Ban); + Ban_ResetBanner (Ban); /***** Get parameters from form *****/ - /* Get banner short name */ - Par_GetParToText ("ShortName",Ban.ShrtName,Ban_MAX_BYTES_SHRT_NAME); + Par_GetParToText ("ShortName",Ban->ShrtName,Ban_MAX_BYTES_SHRT_NAME); + Par_GetParToText ("FullName" ,Ban->FullName,Ban_MAX_BYTES_FULL_NAME); + Par_GetParToText ("Img" ,Ban->Img ,Ban_MAX_BYTES_IMAGE); + Par_GetParToText ("WWW" ,Ban->WWW ,Cns_MAX_BYTES_WWW); - /* Get banner full name */ - Par_GetParToText ("FullName",Ban.FullName,Ban_MAX_BYTES_FULL_NAME); - - /* Get banner image */ - Par_GetParToText ("Img",Ban.Img,Ban_MAX_BYTES_IMAGE); - - /* Get banner URL */ - Par_GetParToText ("WWW",Ban.WWW,Cns_MAX_BYTES_WWW); - - if (Ban.ShrtName[0] && - Ban.FullName[0]) // If there's a banner name + if (Ban->ShrtName[0] && + Ban->FullName[0]) // If there's a banner name { /***** If name of banner was in database... *****/ - if (Ban_DB_CheckIfBannerNameExists ("ShortName",Ban.ShrtName,-1L)) + if (Ban_DB_CheckIfBannerNameExists ("ShortName",Ban->ShrtName,-1L)) Ale_CreateAlert (Ale_WARNING,NULL, Txt_The_banner_X_already_exists, - Ban.ShrtName); - else if (Ban_DB_CheckIfBannerNameExists ("FullName",Ban.FullName,-1L)) + Ban->ShrtName); + else if (Ban_DB_CheckIfBannerNameExists ("FullName",Ban->FullName,-1L)) Ale_CreateAlert (Ale_WARNING,NULL, Txt_The_banner_X_already_exists, - Ban.FullName); - else if (!Ban.Img[0]) + Ban->FullName); + else if (!Ban->Img[0]) Ale_CreateAlert (Ale_WARNING,NULL, Txt_You_must_specify_the_image_of_the_new_banner); - else if (!Ban.WWW[0]) + else if (!Ban->WWW[0]) Ale_CreateAlert (Ale_WARNING,NULL, Txt_You_must_specify_the_web_address); else // Add new banner to database { - Ban_DB_CreateBanner (&Ban); + Ban_DB_CreateBanner (Ban); Ale_CreateAlert (Ale_SUCCESS,Txt_Created_new_banner_X, - Ban.ShrtName); + Ban->ShrtName); } } else // If there is not a banner name Ale_ShowAlertYouMustSpecifyTheShortNameAndTheFullName (); - - /***** Set editing banner to use ot in a posterior function *****/ - Ban_SetEditingBanner (&Ban); } /*****************************************************************************/ diff --git a/swad_browser.c b/swad_browser.c index 0fde5d09..137e3446 100644 --- a/swad_browser.c +++ b/swad_browser.c @@ -383,70 +383,37 @@ static const Act_Action_t Brw_ActChgZone[Brw_NUM_TYPES_FILE_BROWSER] = [Brw_ADMI_ASS_PRJ] = ActUnk, }; -static const Act_Action_t Brw_ActShow[Brw_NUM_TYPES_FILE_BROWSER] = +static const Act_Action_t Brw_ActHideUnhide[Brw_NUM_TYPES_FILE_BROWSER][2] = { - [Brw_UNKNOWN ] = ActUnk, - [Brw_SHOW_DOC_CRS] = ActUnk, - [Brw_SHOW_MRK_CRS] = ActUnk, - [Brw_ADMI_DOC_CRS] = ActShoDocCrs, - [Brw_ADMI_SHR_CRS] = ActUnk, - [Brw_ADMI_SHR_GRP] = ActUnk, - [Brw_ADMI_WRK_USR] = ActUnk, - [Brw_ADMI_WRK_CRS] = ActUnk, - [Brw_ADMI_MRK_CRS] = ActShoMrkCrs, - [Brw_ADMI_BRF_USR] = ActUnk, - [Brw_SHOW_DOC_GRP] = ActUnk, - [Brw_ADMI_DOC_GRP] = ActShoDocGrp, - [Brw_SHOW_MRK_GRP] = ActUnk, - [Brw_ADMI_MRK_GRP] = ActShoMrkGrp, - [Brw_ADMI_ASG_USR] = ActUnk, - [Brw_ADMI_ASG_CRS] = ActUnk, - [Brw_SHOW_DOC_DEG] = ActUnk, - [Brw_ADMI_DOC_DEG] = ActShoDocDeg, - [Brw_SHOW_DOC_CTR] = ActUnk, - [Brw_ADMI_DOC_CTR] = ActShoDocCtr, - [Brw_SHOW_DOC_INS] = ActUnk, - [Brw_ADMI_DOC_INS] = ActShoDocIns, - [Brw_ADMI_SHR_DEG] = ActUnk, - [Brw_ADMI_SHR_CTR] = ActUnk, - [Brw_ADMI_SHR_INS] = ActUnk, - [Brw_ADMI_TCH_CRS] = ActUnk, - [Brw_ADMI_TCH_GRP] = ActUnk, - [Brw_ADMI_DOC_PRJ] = ActUnk, - [Brw_ADMI_ASS_PRJ] = ActUnk, - }; - -static const Act_Action_t Brw_ActHide[Brw_NUM_TYPES_FILE_BROWSER] = - { - [Brw_UNKNOWN ] = ActUnk, - [Brw_SHOW_DOC_CRS] = ActUnk, - [Brw_SHOW_MRK_CRS] = ActUnk, - [Brw_ADMI_DOC_CRS] = ActHidDocCrs, - [Brw_ADMI_SHR_CRS] = ActUnk, - [Brw_ADMI_SHR_GRP] = ActUnk, - [Brw_ADMI_WRK_USR] = ActUnk, - [Brw_ADMI_WRK_CRS] = ActUnk, - [Brw_ADMI_MRK_CRS] = ActHidMrkCrs, - [Brw_ADMI_BRF_USR] = ActUnk, - [Brw_SHOW_DOC_GRP] = ActUnk, - [Brw_ADMI_DOC_GRP] = ActHidDocGrp, - [Brw_SHOW_MRK_GRP] = ActUnk, - [Brw_ADMI_MRK_GRP] = ActHidMrkGrp, - [Brw_ADMI_ASG_USR] = ActUnk, - [Brw_ADMI_ASG_CRS] = ActUnk, - [Brw_SHOW_DOC_DEG] = ActUnk, - [Brw_ADMI_DOC_DEG] = ActHidDocDeg, - [Brw_SHOW_DOC_CTR] = ActUnk, - [Brw_ADMI_DOC_CTR] = ActHidDocCtr, - [Brw_SHOW_DOC_INS] = ActUnk, - [Brw_ADMI_DOC_INS] = ActHidDocIns, - [Brw_ADMI_SHR_DEG] = ActUnk, - [Brw_ADMI_SHR_CTR] = ActUnk, - [Brw_ADMI_SHR_INS] = ActUnk, - [Brw_ADMI_TCH_CRS] = ActUnk, - [Brw_ADMI_TCH_GRP] = ActUnk, - [Brw_ADMI_DOC_PRJ] = ActUnk, - [Brw_ADMI_ASS_PRJ] = ActUnk, + [Brw_UNKNOWN ] = {[false] = ActUnk ,[true] = ActUnk }, + [Brw_SHOW_DOC_CRS] = {[false] = ActUnk ,[true] = ActUnk }, + [Brw_SHOW_MRK_CRS] = {[false] = ActUnk ,[true] = ActUnk }, + [Brw_ADMI_DOC_CRS] = {[false] = ActHidDocCrs ,[true] = ActUnhDocCrs }, + [Brw_ADMI_SHR_CRS] = {[false] = ActUnk ,[true] = ActUnk }, + [Brw_ADMI_SHR_GRP] = {[false] = ActUnk ,[true] = ActUnk }, + [Brw_ADMI_WRK_USR] = {[false] = ActUnk ,[true] = ActUnk }, + [Brw_ADMI_WRK_CRS] = {[false] = ActUnk ,[true] = ActUnk }, + [Brw_ADMI_MRK_CRS] = {[false] = ActHidMrkCrs ,[true] = ActUnhMrkCrs }, + [Brw_ADMI_BRF_USR] = {[false] = ActUnk ,[true] = ActUnk }, + [Brw_SHOW_DOC_GRP] = {[false] = ActUnk ,[true] = ActUnk }, + [Brw_ADMI_DOC_GRP] = {[false] = ActHidDocGrp ,[true] = ActUnhDocGrp }, + [Brw_SHOW_MRK_GRP] = {[false] = ActUnk ,[true] = ActUnk }, + [Brw_ADMI_MRK_GRP] = {[false] = ActHidMrkGrp ,[true] = ActUnhMrkGrp }, + [Brw_ADMI_ASG_USR] = {[false] = ActUnk ,[true] = ActUnk }, + [Brw_ADMI_ASG_CRS] = {[false] = ActUnk ,[true] = ActUnk }, + [Brw_SHOW_DOC_DEG] = {[false] = ActUnk ,[true] = ActUnk }, + [Brw_ADMI_DOC_DEG] = {[false] = ActHidDocDeg ,[true] = ActUnhDocDeg }, + [Brw_SHOW_DOC_CTR] = {[false] = ActUnk ,[true] = ActUnk }, + [Brw_ADMI_DOC_CTR] = {[false] = ActHidDocCtr ,[true] = ActUnhDocCtr }, + [Brw_SHOW_DOC_INS] = {[false] = ActUnk ,[true] = ActUnk }, + [Brw_ADMI_DOC_INS] = {[false] = ActHidDocIns ,[true] = ActUnhDocIns }, + [Brw_ADMI_SHR_DEG] = {[false] = ActUnk ,[true] = ActUnk }, + [Brw_ADMI_SHR_CTR] = {[false] = ActUnk ,[true] = ActUnk }, + [Brw_ADMI_SHR_INS] = {[false] = ActUnk ,[true] = ActUnk }, + [Brw_ADMI_TCH_CRS] = {[false] = ActUnk ,[true] = ActUnk }, + [Brw_ADMI_TCH_GRP] = {[false] = ActUnk ,[true] = ActUnk }, + [Brw_ADMI_DOC_PRJ] = {[false] = ActUnk ,[true] = ActUnk }, + [Brw_ADMI_ASS_PRJ] = {[false] = ActUnk ,[true] = ActUnk }, }; static const Act_Action_t Brw_ActReqDatFile[Brw_NUM_TYPES_FILE_BROWSER] = @@ -1236,8 +1203,9 @@ static void Brw_PutIconToExpandFolder (const char *FileBrowserId,const char *Row static void Brw_PutIconToContractFolder (const char *FileBrowserId,const char *RowId, bool Hidden); -static void Brw_PutIconShow (const char *Anchor); -static void Brw_PutIconHide (const char *Anchor); +static void Brw_PutIconHideUnhide (const char *Anchor,bool RowSetAsHidden); +// static void Brw_PutIconShow (const char *Anchor); +// static void Brw_PutIconHide (const char *Anchor); static bool Brw_CheckIfAnyHigherLevelIsHidden (unsigned CurrentLevel); static void Brw_PutIconFolder (unsigned Level, @@ -1394,7 +1362,7 @@ void Brw_GetParAndInitFileBrowser (void) case ActExpAdmDocIns: case ActConAdmDocIns: case ActZIPAdmDocIns: - case ActShoDocIns: + case ActUnhDocIns: case ActHidDocIns: case ActReqDatAdmDocIns: case ActChgDatAdmDocIns: @@ -1453,7 +1421,7 @@ void Brw_GetParAndInitFileBrowser (void) case ActExpAdmDocCtr: case ActConAdmDocCtr: case ActZIPAdmDocCtr: - case ActShoDocCtr: + case ActUnhDocCtr: case ActHidDocCtr: case ActReqDatAdmDocCtr: case ActChgDatAdmDocCtr: @@ -1512,7 +1480,7 @@ void Brw_GetParAndInitFileBrowser (void) case ActExpAdmDocDeg: case ActConAdmDocDeg: case ActZIPAdmDocDeg: - case ActShoDocDeg: + case ActUnhDocDeg: case ActHidDocDeg: case ActReqDatAdmDocDeg: case ActChgDatAdmDocDeg: @@ -1587,7 +1555,7 @@ void Brw_GetParAndInitFileBrowser (void) case ActExpAdmDocCrs: case ActConAdmDocCrs: case ActZIPAdmDocCrs: - case ActShoDocCrs: + case ActUnhDocCrs: case ActHidDocCrs: case ActReqDatAdmDocCrs: case ActChgDatAdmDocCrs: @@ -1610,7 +1578,7 @@ void Brw_GetParAndInitFileBrowser (void) case ActExpAdmDocGrp: case ActConAdmDocGrp: case ActZIPAdmDocGrp: - case ActShoDocGrp: + case ActUnhDocGrp: case ActHidDocGrp: case ActReqDatAdmDocGrp: case ActChgDatAdmDocGrp: @@ -1913,7 +1881,7 @@ void Brw_GetParAndInitFileBrowser (void) case ActExpAdmMrkCrs: case ActConAdmMrkCrs: case ActZIPAdmMrkCrs: - case ActShoMrkCrs: + case ActUnhMrkCrs: case ActHidMrkCrs: case ActReqDatAdmMrkCrs: case ActChgDatAdmMrkCrs: @@ -1937,7 +1905,7 @@ void Brw_GetParAndInitFileBrowser (void) case ActExpAdmMrkGrp: case ActConAdmMrkGrp: case ActZIPAdmMrkGrp: - case ActShoMrkGrp: + case ActUnhMrkGrp: case ActHidMrkGrp: case ActReqDatAdmMrkGrp: case ActChgDatAdmMrkGrp: @@ -4605,14 +4573,9 @@ static bool Brw_WriteRowFileBrowser (unsigned Level,const char *RowId, if (Level) Brw_IndentAndWriteIconExpandContract (Level,FileBrowserId,RowId,IconThisRow); - /* Put icon to show/hide file or folder */ + /* Put icon to hide/unhide file or folder */ if (AdminDocsZone || AdminMarks) - { - if (RowSetAsHidden) // this row is marked as hidden - Brw_PutIconShow (Anchor); - else // this row is not marked as hidden - Brw_PutIconHide (Anchor); - } + Brw_PutIconHideUnhide (Anchor,RowSetAsHidden); /***** File or folder icon *****/ switch (Gbl.FileBrowser.FilFolLnk.Type) @@ -4950,26 +4913,15 @@ static void Brw_PutIconToContractFolder (const char *FileBrowserId,const char *R } /*****************************************************************************/ -/****************** Put link and icon to show file or folder *****************/ +/************* Put link and icon to hide/unhide file or folder ***************/ /*****************************************************************************/ -static void Brw_PutIconShow (const char *Anchor) +static void Brw_PutIconHideUnhide (const char *Anchor,bool RowSetAsHidden) { HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ()); - Ico_PutContextualIconToUnhide (Brw_ActShow[Gbl.FileBrowser.Type],Anchor, - Brw_PutImplicitParamsFileBrowser,&Gbl.FileBrowser.FilFolLnk); - HTM_TD_End (); - } - -/*****************************************************************************/ -/****************** Put link and icon to hide file or folder *****************/ -/*****************************************************************************/ - -static void Brw_PutIconHide (const char *Anchor) - { - HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ()); - Ico_PutContextualIconToHide (Brw_ActHide[Gbl.FileBrowser.Type],Anchor, - Brw_PutImplicitParamsFileBrowser,&Gbl.FileBrowser.FilFolLnk); + Ico_PutContextualIconToHideUnhide (Brw_ActHideUnhide[Gbl.FileBrowser.Type],Anchor, + Brw_PutImplicitParamsFileBrowser,&Gbl.FileBrowser.FilFolLnk, + RowSetAsHidden); HTM_TD_End (); } diff --git a/swad_call_for_exam.c b/swad_call_for_exam.c index 2a7f50dd..adecbe8e 100644 --- a/swad_call_for_exam.c +++ b/swad_call_for_exam.c @@ -1488,34 +1488,37 @@ static void Cfe_ShowCallForExam (struct Cfe_CallsForExams *CallsForExams, static void Cfe_PutIconsCallForExam (void *CallsForExams) { + static Act_Action_t ActionHideUnhide[2] = + { + [false] = ActHidCfe, // Visible ==> action to hide + [true ] = ActUnhCfe, // Hidden ==> action to unhide + }; + if (CallsForExams) { if (Gbl.Usrs.Me.Role.Logged == Rol_TCH || Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) { - /***** Link to remove this call for exam *****/ + /***** Icon to remove call for exam *****/ Ico_PutContextualIconToRemove (ActReqRemCfe,NULL, Cfe_PutParamExaCodToEdit, &((struct Cfe_CallsForExams *) CallsForExams)->ExaCod); - /***** Put form to hide/show call for exam *****/ + /***** Icon to hide/unhide call for exam *****/ switch (((struct Cfe_CallsForExams *) CallsForExams)->CallForExam.Status) { case Cfe_VISIBLE_CALL_FOR_EXAM: - Ico_PutContextualIconToHide (ActHidCfe,((struct Cfe_CallsForExams *) CallsForExams)->Anchor, - Cfe_PutParamExaCodToEdit, - &((struct Cfe_CallsForExams *) CallsForExams)->ExaCod); - break; case Cfe_HIDDEN_CALL_FOR_EXAM: - Ico_PutContextualIconToUnhide (ActUnhCfe,((struct Cfe_CallsForExams *) CallsForExams)->Anchor, - Cfe_PutParamExaCodToEdit, - &((struct Cfe_CallsForExams *) CallsForExams)->ExaCod); + Ico_PutContextualIconToHideUnhide (ActionHideUnhide,((struct Cfe_CallsForExams *) CallsForExams)->Anchor, + Cfe_PutParamExaCodToEdit, + &((struct Cfe_CallsForExams *) CallsForExams)->ExaCod, + ((struct Cfe_CallsForExams *) CallsForExams)->CallForExam.Status == Cfe_HIDDEN_CALL_FOR_EXAM); break; case Cfe_DELETED_CALL_FOR_EXAM: // Not applicable here break; } - /***** Link to edit this call for exam *****/ + /***** Icon to edit call for exam *****/ Ico_PutContextualIconToEdit (ActEdiCfe,NULL, Cfe_PutParamExaCodToEdit, &((struct Cfe_CallsForExams *) CallsForExams)->ExaCod); diff --git a/swad_changelog.h b/swad_changelog.h index 549664df..d257196a 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -606,10 +606,15 @@ 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.111 (2022-07-21)" +#define Log_PLATFORM_VERSION "SWAD 21.112 (2022-07-21)" #define CSS_FILE "swad21.107.1.css" #define JS_FILE "swad21.100.js" /* + Version 21.112: Jul 21, 2022 Code refactoring in hide/unhide icons. + Fixed bugs in edition of banners. + Fixed bug hidding/unhiding exam sessions. + Fixed bug in notices. + Code refactoring in surveys. (329064 lines) Version 21.111: Jul 21, 2022 Changes in edition of program items. (329115 lines) Version 21.110: Jul 19, 2022 Changes in edition of program items. (329031 lines) Version 21.109: Jul 19, 2022 Changes in edition of program items. (328975 lines) diff --git a/swad_exam.c b/swad_exam.c index 86ea62a0..2db12df5 100644 --- a/swad_exam.c +++ b/swad_exam.c @@ -683,19 +683,22 @@ static void Exa_PutIconsToRemEditOneExam (struct Exa_Exams *Exams, const struct Exa_Exam *Exam, const char *Anchor) { + static Act_Action_t ActionHideUnhide[2] = + { + [false] = ActHidExa, // Visible ==> action to hide + [true ] = ActUnhExa, // Hidden ==> action to unhide + }; + Exams->ExaCod = Exam->ExaCod; /***** Icon to remove exam *****/ Ico_PutContextualIconToRemove (ActReqRemExa,NULL, Exa_PutParams,Exams); - /***** Icon to unhide/hide exam *****/ - if (Exam->Hidden) - Ico_PutContextualIconToUnhide (ActShoExa,Anchor, - Exa_PutParams,Exams); - else - Ico_PutContextualIconToHide (ActHidExa,Anchor, - Exa_PutParams,Exams); + /***** Icon to hide/unhide exam *****/ + Ico_PutContextualIconToHideUnhide (ActionHideUnhide,Anchor, + Exa_PutParams,Exams, + Exam->Hidden); /***** Icon to edit exam *****/ Ico_PutContextualIconToEdit (ActEdiOneExa,NULL, diff --git a/swad_exam_database.c b/swad_exam_database.c index a960d016..62a302ac 100644 --- a/swad_exam_database.c +++ b/swad_exam_database.c @@ -1520,7 +1520,7 @@ void Exa_DB_HideUnhideSession (const struct ExaSes_Session *Session,bool Hide) DB_QueryUPDATE ("can not hide exam sessions", "UPDATE exa_sessions," "exa_exams" - " SET exa_sessions.Hidden='Y'" + " SET exa_sessions.Hidden='%c'" " WHERE exa_sessions.SesCod=%ld" " AND exa_sessions.ExaCod=%ld" // Extra check " AND exa_sessions.ExaCod=exa_exams.ExaCod" diff --git a/swad_exam_session.c b/swad_exam_session.c index 6f762759..52f3f32a 100644 --- a/swad_exam_session.c +++ b/swad_exam_session.c @@ -428,6 +428,12 @@ static void ExaSes_ListOneOrMoreSessionsIcons (struct Exa_Exams *Exams, const struct ExaSes_Session *Session, const char *Anchor) { + static Act_Action_t ActionHideUnhide[2] = + { + [false] = ActHidExaSes, // Visible ==> action to hide + [true ] = ActUnhExaSes, // Hidden ==> action to unhide + }; + Exams->ExaCod = Session->ExaCod; Exams->SesCod = Session->SesCod; @@ -439,12 +445,9 @@ static void ExaSes_ListOneOrMoreSessionsIcons (struct Exa_Exams *Exams, ExaSes_PutParamsEdit,Exams); /***** Icon to hide/unhide the exam session *****/ - if (Session->Hidden) - Ico_PutContextualIconToUnhide (ActUnhExaSes,Anchor, - ExaSes_PutParamsEdit,Exams); - else - Ico_PutContextualIconToHide (ActHidExaSes,Anchor, - ExaSes_PutParamsEdit,Exams); + Ico_PutContextualIconToHideUnhide (ActionHideUnhide,Anchor, + ExaSes_PutParamsEdit,Exams, + Session->Hidden); /***** Icon to edit the exam session *****/ Ico_PutContextualIconToEdit (ActEdiOneExaSes,Anchor, diff --git a/swad_game.c b/swad_game.c index 28646ebc..a2e48aae 100644 --- a/swad_game.c +++ b/swad_game.c @@ -734,19 +734,22 @@ static void Gam_PutFormsToRemEditOneGame (struct Gam_Games *Games, const struct Gam_Game *Game, const char *Anchor) { - /***** Put icon to remove game *****/ + static Act_Action_t ActionHideUnhide[2] = + { + [false] = ActHidGam, // Visible ==> action to hide + [true ] = ActUnhGam, // Hidden ==> action to unhide + }; + + /***** Icon to remove game *****/ Ico_PutContextualIconToRemove (ActReqRemGam,NULL, Gam_PutParams,Games); - /***** Put icon to unhide/hide game *****/ - if (Game->Hidden) - Ico_PutContextualIconToUnhide (ActShoGam,Anchor, - Gam_PutParams,Games); - else - Ico_PutContextualIconToHide (ActHidGam,Anchor, - Gam_PutParams,Games); + /***** Icon to unhide/hide game *****/ + Ico_PutContextualIconToHideUnhide (ActionHideUnhide,Anchor, + Gam_PutParams,Games, + Game->Hidden); - /***** Put icon to edit game *****/ + /***** Icon to edit game *****/ Ico_PutContextualIconToEdit (ActEdiOneGam,NULL, Gam_PutParams,Games); } diff --git a/swad_icon.c b/swad_icon.c index be509d1e..f62ce4c9 100644 --- a/swad_icon.c +++ b/swad_icon.c @@ -279,20 +279,24 @@ void Ico_PutContextualIconToConfigure (Act_Action_t NextAction, "cog.svg",Ico_BLACK); } -void Ico_PutContextualIconToHide (Act_Action_t NextAction,const char *Anchor, - void (*FuncParams) (void *Args),void *Args) +void Ico_PutContextualIconToHideUnhide (const Act_Action_t NextAction[2],const char *Anchor, + void (*FuncParams) (void *Args),void *Args, + bool Hidden) { - Lay_PutContextualLinkOnlyIcon (NextAction,Anchor, - FuncParams,Args, - "eye.svg",Ico_GREEN); - } + static const char *Icon[2] = + { + [false] = "eye.svg", // visible ==> icon to hide + [true ] = "eye-slash.svg", // hidden ==> icon to unhide + }; + static Ico_Color_t Color[2] = + { + [false] = Ico_GREEN, // visible ==> green icon to hide + [true ] = Ico_RED, // hidden ==> red icon to unhide + }; -void Ico_PutContextualIconToUnhide (Act_Action_t NextAction,const char *Anchor, - void (*FuncParams) (void *Args),void *Args) - { - Lay_PutContextualLinkOnlyIcon (NextAction,Anchor, + Lay_PutContextualLinkOnlyIcon (NextAction[Hidden],Anchor, FuncParams,Args, - "eye-slash.svg",Ico_RED); + Icon[Hidden],Color[Hidden]); } void Ico_PutContextualIconToPrint (Act_Action_t NextAction, diff --git a/swad_icon.h b/swad_icon.h index cf31e6b5..1b0ddd56 100644 --- a/swad_icon.h +++ b/swad_icon.h @@ -74,12 +74,11 @@ void Ico_PutContextualIconToViewFiles (Act_Action_t NextAction, void (*FuncParams) (void *Args),void *Args); 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); void Ico_PutContextualIconToConfigure (Act_Action_t NextAction, void (*FuncParams) (void *Args),void *Args); -void Ico_PutContextualIconToHide (Act_Action_t NextAction,const char *Anchor, - void (*FuncParams) (void *Args),void *Args); +void Ico_PutContextualIconToHideUnhide (const Act_Action_t NextAction[2],const char *Anchor, + void (*FuncParams) (void *Args),void *Args, + bool Hidden); void Ico_PutContextualIconToPrint (Act_Action_t NextAction, void (*FuncParams) (void *Args),void *Args); void Ico_PutContextualIconToCopy (Act_Action_t NextAction, diff --git a/swad_notice.c b/swad_notice.c index e9486414..e12e8278 100644 --- a/swad_notice.c +++ b/swad_notice.c @@ -541,6 +541,11 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing, Not_Status_t Status) { extern const char *Txt_See_full_notice; + static Act_Action_t ActionHideUnhide[2] = + { + [false] = ActHidNot, // Visible ==> action to hide + [true ] = ActUnhNot, // Hidden ==> action to unhide + }; static const char *ContainerClass[Not_NUM_STATUS] = { [Not_ACTIVE_NOTICE ] = "NOTICE_BOX", @@ -577,23 +582,14 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing, if (TypeNoticesListing == Not_LIST_FULL_NOTICES) if (Not_CheckIfICanEditNotices ()) { - /***** Put form to remove announcement *****/ + /***** Icon to remove announcement *****/ Ico_PutContextualIconToRemove (ActReqRemNot,NULL, Not_PutParams,&NotCod); - /***** Put form to change the status of the notice *****/ - switch (Status) - { - case Not_ACTIVE_NOTICE: - Ico_PutContextualIconToHide (ActHidNot,NULL, - Not_PutParams,&NotCod); - break; - case Not_OBSOLETE_NOTICE: - Ico_PutContextualIconToUnhide (ActRevNot,NULL, - Not_PutParams,&NotCod); - break; - } - Frm_EndForm (); + /***** Icon to change the status of the notice *****/ + Ico_PutContextualIconToHideUnhide (ActionHideUnhide,NULL, // TODO: Put anchor + Not_PutParams,&NotCod, + Status == Not_OBSOLETE_NOTICE); } /* Write the date */ diff --git a/swad_program.c b/swad_program.c index c752f0b8..ca1d9b10 100644 --- a/swad_program.c +++ b/swad_program.c @@ -846,6 +846,11 @@ static void Prg_PutFormsToRemEditOneItem (Prg_ListingType_t ListingType, struct Prg_Item *Item) { extern const char *Txt_Movement_not_allowed; + static Act_Action_t ActionHideUnhide[2] = + { + [false] = ActHidPrgItm, // Visible ==> action to hide + [true ] = ActUnhPrgItm, // Hidden ==> action to unhide + }; char StrItemIndex[Cns_MAX_DECIMAL_DIGITS_UINT + 1]; /***** Initialize item index string *****/ @@ -855,19 +860,16 @@ static void Prg_PutFormsToRemEditOneItem (Prg_ListingType_t ListingType, { case Rol_TCH: case Rol_SYS_ADM: - /***** Put form to remove program item *****/ + /***** Icon to remove program item *****/ Ico_PutContextualIconToRemove (ActReqRemPrgItm,NULL, Prg_PutParams,&Item->Hierarchy.ItmCod); - /***** Put form to hide/show program item *****/ - if (Item->Hierarchy.Hidden) - Ico_PutContextualIconToUnhide (ActUnhPrgItm,"prg_highlighted", - Prg_PutParams,&Item->Hierarchy.ItmCod); - else - Ico_PutContextualIconToHide (ActHidPrgItm,"prg_highlighted", - Prg_PutParams,&Item->Hierarchy.ItmCod); + /***** Icon to hide/unhide program item *****/ + Ico_PutContextualIconToHideUnhide (ActionHideUnhide,"prg_highlighted", + Prg_PutParams,&Item->Hierarchy.ItmCod, + Item->Hierarchy.Hidden); - /***** Put form to edit program item *****/ + /***** Icon to edit program item *****/ switch (ListingType) { case Prg_EDIT_ITEM: @@ -880,13 +882,13 @@ static void Prg_PutFormsToRemEditOneItem (Prg_ListingType_t ListingType, break; } - /***** Put form to add a new child item inside this item *****/ + /***** Icon to add a new child item inside this item *****/ Ico_PutContextualIconToAdd (ActFrmNewPrgItm,"item_form", Prg_PutParams,&Item->Hierarchy.ItmCod); HTM_BR (); - /***** Put icon to move up the item *****/ + /***** Icon to move up the item *****/ if (Prg_CheckIfMoveUpIsAllowed (NumItem)) Lay_PutContextualLinkOnlyIcon (ActUp_PrgItm,"prg_highlighted", Prg_PutParams,&Item->Hierarchy.ItmCod, @@ -894,7 +896,7 @@ static void Prg_PutFormsToRemEditOneItem (Prg_ListingType_t ListingType, else Ico_PutIconOff ("arrow-up.svg",Ico_BLACK,Txt_Movement_not_allowed); - /***** Put icon to move down the item *****/ + /***** Icon to move down the item *****/ if (Prg_CheckIfMoveDownIsAllowed (NumItem)) Lay_PutContextualLinkOnlyIcon (ActDwnPrgItm,"prg_highlighted", Prg_PutParams,&Item->Hierarchy.ItmCod, diff --git a/swad_program_resource.c b/swad_program_resource.c index 519b7ca4..8154e59e 100644 --- a/swad_program_resource.c +++ b/swad_program_resource.c @@ -444,33 +444,35 @@ static void PrgRsc_PutFormsToRemEditOneResource (unsigned NumRsc, unsigned NumResources, struct PrgRsc_Resource *Resource) { + static Act_Action_t ActionHideUnhide[2] = + { + [false] = ActHidPrgRsc, // Visible ==> action to hide + [true ] = ActUnhPrgRsc, // Hidden ==> action to unhide + }; extern const char *Txt_Movement_not_allowed; switch (Gbl.Usrs.Me.Role.Logged) { case Rol_TCH: case Rol_SYS_ADM: - /***** Put form to remove item resource *****/ + /***** Icon to remove item resource *****/ Ico_PutContextualIconToRemove (ActReqRemPrgRsc,PrgRsc_RESOURCE_SECTION_ID, PrgRsc_PutParams,&Resource->Rsc.Cod); - /***** Put form to hide/show item resource *****/ - if (Resource->Hidden) - Ico_PutContextualIconToUnhide (ActUnhPrgRsc,PrgRsc_RESOURCE_SECTION_ID, - PrgRsc_PutParams,&Resource->Rsc.Cod); - else - Ico_PutContextualIconToHide (ActHidPrgRsc,PrgRsc_RESOURCE_SECTION_ID, - PrgRsc_PutParams,&Resource->Rsc.Cod); + /***** Icon to hide/unhide item resource *****/ + Ico_PutContextualIconToHideUnhide (ActionHideUnhide,PrgRsc_RESOURCE_SECTION_ID, + PrgRsc_PutParams,&Resource->Rsc.Cod, + Resource->Hidden); - /***** Put form to edit program item *****/ + /***** Icon to edit program resource *****/ // Ico_PutContextualIconToEdit (ActFrmChgPrgItm,"item_form", // Prg_PutParams,&Item->Hierarchy.ItmCod); - /***** Put form to add a new child item inside this item *****/ + /***** Icon to add a new resource after this resource *****/ // Ico_PutContextualIconToAdd (ActFrmNewPrgItm,"item_form", // Prg_PutParams,&Item->Hierarchy.ItmCod); - /***** Put icon to move up the item *****/ + /***** Icon to move up the item *****/ if (NumRsc > 0) Lay_PutContextualLinkOnlyIcon (ActUp_PrgRsc,PrgRsc_RESOURCE_SECTION_ID, PrgRsc_PutParams,&Resource->Rsc.Cod, diff --git a/swad_project.c b/swad_project.c index b7eded0f..fcf9a268 100644 --- a/swad_project.c +++ b/swad_project.c @@ -2711,51 +2711,49 @@ static void Prj_PutFormsToRemEditOnePrj (struct Prj_Projects *Projects, const char *Anchor, bool ICanViewProjectFiles) { + static Act_Action_t ActionHideUnhide[2] = + { + [false] = ActHidPrj, // Visible ==> action to hide + [true ] = ActUnhPrj, // Hidden ==> action to unhide + }; + Projects->PrjCod = Prj->PrjCod; // Used as parameter in contextual links if (Prj_CheckIfICanEditProject (Prj)) { - /***** Put form to remove project *****/ + /***** Icon to remove project *****/ Ico_PutContextualIconToRemove (ActReqRemPrj,NULL, Prj_PutCurrentParams,Projects); - /***** Put form to hide/show project *****/ - switch (Prj->Hidden) - { - case Prj_HIDDEN: - Ico_PutContextualIconToUnhide (ActShoPrj,Anchor, - Prj_PutCurrentParams,Projects); - break; - case Prj_VISIBL: - Ico_PutContextualIconToHide (ActHidPrj,Anchor, - Prj_PutCurrentParams,Projects); - break; - } + /***** Icon to hide/unhide project *****/ + Ico_PutContextualIconToHideUnhide (ActionHideUnhide,Anchor, + Prj_PutCurrentParams,Projects, + Prj->Hidden == Prj_HIDDEN); - /***** Put form to edit project *****/ + /***** Icon to edit project *****/ Ico_PutContextualIconToEdit (ActEdiOnePrj,NULL, Prj_PutCurrentParams,Projects); } - /***** Put form to admin project documents *****/ + /***** Icon to admin project documents *****/ if (ICanViewProjectFiles) Ico_PutContextualIconToViewFiles (ActAdmDocPrj, Prj_PutCurrentParams,Projects); - /***** Put form to print project *****/ + /***** Icon to print project *****/ Ico_PutContextualIconToPrint (ActPrnOnePrj, Prj_PutCurrentParams,Projects); /***** Locked/unlocked project edition *****/ if (Prj_CheckIfICanConfigAllProjects ()) { - /* Put form to lock/unlock project edition */ + /* Icon to lock/unlock project edition */ HTM_DIV_Begin ("id=\"prj_lck_%ld\"",Prj->PrjCod); Prj_FormLockUnlock (Prj); HTM_DIV_End (); } else - /* Put icon toinform about locked/unlocked project edition */ + /* Icon to inform about locked/unlocked project edition */ Prj_PutIconOffLockedUnlocked (Prj); } diff --git a/swad_survey.c b/swad_survey.c index 9196f3e5..16bc0d7b 100644 --- a/swad_survey.c +++ b/swad_survey.c @@ -478,18 +478,18 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys, if (ShowOnlyThisSvyComplete) HTM_TD_Begin ("id=\"%s\" class=\"LT %s_%s\"", Id, - Svy.Status.Visible ? (Svy.Status.Open ? "DATE_GREEN" : - "DATE_RED") : - (Svy.Status.Open ? "DATE_GREEN_LIGHT" : - "DATE_RED_LIGHT"), + Svy.Status.Hidden ? (Svy.Status.Open ? "DATE_GREEN_LIGHT" : + "DATE_RED_LIGHT") : + (Svy.Status.Open ? "DATE_GREEN" : + "DATE_RED"), The_GetSuffix ()); else HTM_TD_Begin ("id=\"%s\" class=\"LT %s_%s %s\"", Id, - Svy.Status.Visible ? (Svy.Status.Open ? "DATE_GREEN" : - "DATE_RED") : - (Svy.Status.Open ? "DATE_GREEN_LIGHT" : - "DATE_RED_LIGHT"), + Svy.Status.Hidden ? (Svy.Status.Open ? "DATE_GREEN_LIGHT" : + "DATE_RED_LIGHT") : + (Svy.Status.Open ? "DATE_GREEN" : + "DATE_RED"), The_GetSuffix (), The_GetColorRows ()); Dat_WriteLocalDateHMSFromUTC (Id,Svy.TimeUTC[Dat_STR_TIME], @@ -504,18 +504,18 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys, if (ShowOnlyThisSvyComplete) HTM_TD_Begin ("id=\"%s\" class=\"LT %s_%s\"", Id, - Svy.Status.Visible ? (Svy.Status.Open ? "DATE_GREEN" : - "DATE_RED") : - (Svy.Status.Open ? "DATE_GREEN_LIGHT" : - "DATE_RED_LIGHT"), + Svy.Status.Hidden ? (Svy.Status.Open ? "DATE_GREEN_LIGHT" : + "DATE_RED_LIGHT") : + (Svy.Status.Open ? "DATE_GREEN" : + "DATE_RED"), The_GetSuffix ()); else HTM_TD_Begin ("id=\"%s\" class=\"LT %s_%s %s\"", Id, - Svy.Status.Visible ? (Svy.Status.Open ? "DATE_GREEN" : - "DATE_RED") : - (Svy.Status.Open ? "DATE_GREEN_LIGHT" : - "DATE_RED_LIGHT"), + Svy.Status.Hidden ? (Svy.Status.Open ? "DATE_GREEN_LIGHT" : + "DATE_RED_LIGHT") : + (Svy.Status.Open ? "DATE_GREEN" : + "DATE_RED"), The_GetSuffix (), The_GetColorRows ()); Dat_WriteLocalDateHMSFromUTC (Id,Svy.TimeUTC[Dat_END_TIME], @@ -538,8 +538,8 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys, Grp_PutParamWhichGroups (&WhichGroups); Pag_PutHiddenParamPagNum (Pag_SURVEYS,Surveys->CurrentPage); HTM_BUTTON_Submit_Begin (Txt_View_survey,"class=\"LT BT_LINK %s_%s\"", - Svy.Status.Visible ? "ASG_TITLE" : - "ASG_TITLE_LIGHT", + Svy.Status.Hidden ? "ASG_TITLE_LIGHT" : + "ASG_TITLE", The_GetSuffix ()); HTM_Txt (Svy.Title); HTM_BUTTON_End (); @@ -548,8 +548,8 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys, /* Number of questions and number of distinct users who have already answered this survey */ HTM_DIV_Begin ("class=\"%s_%s\"", - Svy.Status.Visible ? "ASG_GRP" : - "ASG_GRP_LIGHT", + Svy.Status.Hidden ? "ASG_GRP_LIGHT" : + "ASG_GRP", The_GetSuffix ()); HTM_TxtColonNBSP (Txt_Number_of_questions); HTM_Unsigned (Svy.NumQsts); @@ -627,8 +627,8 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys, /* Scope of the survey */ HTM_DIV_Begin ("class=\"%s_%s\"", - Svy.Status.Visible ? "ASG_GRP" : - "ASG_GRP_LIGHT", + Svy.Status.Hidden ? "ASG_GRP_LIGHT" : + "ASG_GRP", The_GetSuffix ()); HTM_TxtColonNBSP (Txt_Scope); switch (Svy.Scope) @@ -659,8 +659,8 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys, /* Users' roles who can answer the survey */ HTM_DIV_Begin ("class=\"%s_%s\"", - Svy.Status.Visible ? "ASG_GRP" : - "ASG_GRP_LIGHT", + Svy.Status.Hidden ? "ASG_GRP_LIGHT" : + "ASG_GRP", The_GetSuffix ()); HTM_TxtColon (Txt_Users); HTM_BR (); @@ -682,8 +682,8 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys, Txt,Cns_MAX_BYTES_TEXT,false); // Convert from HTML to rigorous HTML ALn_InsertLinks (Txt,Cns_MAX_BYTES_TEXT,60); // Insert links HTM_DIV_Begin ("class=\"PAR %s_%s\"", - Svy.Status.Visible ? "DAT" : - "DAT_LIGHT", + Svy.Status.Hidden ? "DAT_LIGHT" : + "DAT", The_GetSuffix ()); HTM_Txt (Txt); HTM_DIV_End (); @@ -726,7 +726,7 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys, static void Svy_WriteAuthor (struct Svy_Survey *Svy) { - Usr_WriteAuthor1Line (Svy->UsrCod,!Svy->Status.Visible); + Usr_WriteAuthor1Line (Svy->UsrCod,Svy->Status.Hidden); } /*****************************************************************************/ @@ -750,32 +750,32 @@ static void Svy_WriteStatus (struct Svy_Survey *Svy) HTM_UL_Begin (NULL); /* Write whether survey is visible or hidden */ - if (Svy->Status.Visible) - { - HTM_LI_Begin ("class=\"STATUS_GREEN_%s\"",The_GetSuffix ()); - HTM_Txt (Txt_Visible_survey); - } - else + if (Svy->Status.Hidden) { HTM_LI_Begin ("class=\"STATUS_RED_LIGHT_%s\"",The_GetSuffix ()); HTM_Txt (Txt_Hidden_survey); } + else + { + HTM_LI_Begin ("class=\"STATUS_GREEN_%s\"",The_GetSuffix ()); + HTM_Txt (Txt_Visible_survey); + } HTM_LI_End (); /* Write whether survey is open or closed */ if (Svy->Status.Open) { HTM_LI_Begin ("class=\"%s_%s\"", - Svy->Status.Visible ? "STATUS_GREEN" : - "STATUS_GREEN_LIGHT", + Svy->Status.Hidden ? "STATUS_GREEN_LIGHT" : + "STATUS_GREEN", The_GetSuffix ()); HTM_Txt (Txt_Open_survey); } else { HTM_LI_Begin ("class=\"%s_%s\"", - Svy->Status.Visible ? "STATUS_RED" : - "STATUS_RED_LIGHT", + Svy->Status.Hidden ? "STATUS_RED_LIGHT" : + "STATUS_RED", The_GetSuffix ()); HTM_Txt (Txt_Closed_survey); } @@ -785,16 +785,16 @@ static void Svy_WriteStatus (struct Svy_Survey *Svy) if (Svy->Status.IAmLoggedWithAValidRoleToAnswer) { HTM_LI_Begin ("class=\"%s_%s\"", - Svy->Status.Visible ? "STATUS_GREEN" : - "STATUS_GREEN_LIGHT", + Svy->Status.Hidden ? "STATUS_GREEN_LIGHT" : + "STATUS_GREEN", The_GetSuffix ()); HTM_Txt (Txt_SURVEY_Type_of_user_allowed); } else { HTM_LI_Begin ("class=\"%s_%s\"", - Svy->Status.Visible ? "STATUS_RED" : - "STATUS_RED_LIGHT", + Svy->Status.Hidden ? "STATUS_RED_LIGHT" : + "STATUS_RED", The_GetSuffix ()); HTM_Txt (Txt_SURVEY_Type_of_user_not_allowed); } @@ -804,16 +804,16 @@ static void Svy_WriteStatus (struct Svy_Survey *Svy) if (Svy->Status.IBelongToScope) { HTM_LI_Begin ("class=\"%s_%s\"", - Svy->Status.Visible ? "STATUS_GREEN" : - "STATUS_GREEN_LIGHT", + Svy->Status.Hidden ? "STATUS_GREEN_LIGHT" : + "STATUS_GREEN", The_GetSuffix ()); HTM_Txt (Txt_SURVEY_You_belong_to_the_scope_of_the_survey); } else { HTM_LI_Begin ("class=\"%s_%s\"", - Svy->Status.Visible ? "STATUS_RED" : - "STATUS_RED_LIGHT", + Svy->Status.Hidden ? "STATUS_RED_LIGHT" : + "STATUS_RED", The_GetSuffix ()); HTM_Txt (Txt_SURVEY_You_dont_belong_to_the_scope_of_the_survey); } @@ -823,16 +823,16 @@ static void Svy_WriteStatus (struct Svy_Survey *Svy) if (Svy->Status.IHaveAnswered) { HTM_LI_Begin ("class=\"%s_%s\"", - Svy->Status.Visible ? "STATUS_GREEN" : - "STATUS_GREEN_LIGHT", + Svy->Status.Hidden ? "STATUS_GREEN_LIGHT" : + "STATUS_GREEN", The_GetSuffix ()); HTM_Txt (Txt_SURVEY_You_have_already_answered); } else { HTM_LI_Begin ("class=\"%s_%s\"", - Svy->Status.Visible ? "STATUS_RED" : - "STATUS_RED_LIGHT", + Svy->Status.Hidden ? "STATUS_RED_LIGHT" : + "STATUS_RED", The_GetSuffix ()); HTM_Txt (Txt_SURVEY_You_have_not_answered); } @@ -872,26 +872,29 @@ static void Svy_PutFormsToRemEditOneSvy (struct Svy_Surveys *Surveys, const struct Svy_Survey *Svy, const char *Anchor) { + static Act_Action_t ActionHideUnhide[2] = + { + [false] = ActHidSvy, // Visible ==> action to hide + [true ] = ActUnhSvy, // Hidden ==> action to unhide + }; + Surveys->SvyCod = Svy->SvyCod; // Used as parameters in contextual links - /***** Put form to remove survey *****/ + /***** Icon to remove survey *****/ Ico_PutContextualIconToRemove (ActReqRemSvy,NULL, Svy_PutParams,Surveys); - /***** Put form to reset survey *****/ + /***** Icon to reset survey *****/ Lay_PutContextualLinkOnlyIcon (ActReqRstSvy,NULL, Svy_PutParams,Surveys, "recycle.svg",Ico_RED); - /***** Put form to hide/show survey *****/ - if (Svy->Status.Visible) - Ico_PutContextualIconToHide (ActHidSvy,Anchor, - Svy_PutParams,Surveys); - else - Ico_PutContextualIconToUnhide (ActShoSvy,Anchor, - Svy_PutParams,Surveys); + /***** Icon to hide/unhide survey *****/ + Ico_PutContextualIconToHideUnhide (ActionHideUnhide,Anchor, + Svy_PutParams,Surveys, + Svy->Status.Hidden); - /***** Put form to edit survey *****/ + /***** Icon to edit survey *****/ Ico_PutContextualIconToEdit (ActEdiOneSvy,NULL, Svy_PutParams,Surveys); } @@ -1152,7 +1155,7 @@ void Svy_GetDataOfSurveyByCod (struct Svy_Survey *Svy) Svy->Cod = Str_ConvertStrCodToLongCod (row[2]); /* Get whether the survey is hidden (row[3]) */ - Svy->Status.Visible = (row[3][0] == 'N'); + Svy->Status.Hidden = (row[3][0] == 'Y'); /* Get roles (row[4]) */ if (sscanf (row[4],"%u",&Svy->Roles) != 1) @@ -1210,30 +1213,30 @@ void Svy_GetDataOfSurveyByCod (struct Svy_Survey *Svy) Svy->Status.IHaveAnswered = Svy_DB_CheckIfIHaveAnsweredSvy (Svy->SvyCod); /* Can I answer survey? */ - Svy->Status.ICanAnswer = (Svy->NumQsts != 0) && - Svy->Status.Visible && - Svy->Status.Open && - Svy->Status.IAmLoggedWithAValidRoleToAnswer && - Svy->Status.IBelongToScope && - !Svy->Status.IHaveAnswered; + Svy->Status.ICanAnswer = ( Svy->NumQsts != 0) && + !Svy->Status.Hidden && + Svy->Status.Open && + Svy->Status.IAmLoggedWithAValidRoleToAnswer && + Svy->Status.IBelongToScope && + !Svy->Status.IHaveAnswered; /* Can I view results of the survey? Can I edit survey? */ switch (Gbl.Usrs.Me.Role.Logged) { case Rol_STD: - Svy->Status.ICanViewResults = (Svy->Scope == HieLvl_CRS || - Svy->Scope == HieLvl_DEG || - Svy->Scope == HieLvl_CTR || - Svy->Scope == HieLvl_INS || - Svy->Scope == HieLvl_CTY || - Svy->Scope == HieLvl_SYS) && - (Svy->NumQsts != 0) && - Svy->Status.Visible && - Svy->Status.Open && - Svy->Status.IAmLoggedWithAValidRoleToAnswer && - Svy->Status.IBelongToScope && - Svy->Status.IHaveAnswered; + Svy->Status.ICanViewResults = ( Svy->Scope == HieLvl_CRS || + Svy->Scope == HieLvl_DEG || + Svy->Scope == HieLvl_CTR || + Svy->Scope == HieLvl_INS || + Svy->Scope == HieLvl_CTY || + Svy->Scope == HieLvl_SYS) && + ( Svy->NumQsts != 0) && + !Svy->Status.Hidden && + Svy->Status.Open && + Svy->Status.IAmLoggedWithAValidRoleToAnswer && + Svy->Status.IBelongToScope && + Svy->Status.IHaveAnswered; Svy->Status.ICanEdit = false; break; case Rol_NET: @@ -1311,7 +1314,7 @@ void Svy_GetDataOfSurveyByCod (struct Svy_Survey *Svy) Svy->Title[0] = '\0'; Svy->NumQsts = 0; Svy->NumUsrs = 0; - Svy->Status.Visible = true; + Svy->Status.Hidden = false; Svy->Status.Open = false; Svy->Status.IAmLoggedWithAValidRoleToAnswer = false; Svy->Status.IBelongToScope = false; @@ -1704,7 +1707,7 @@ void Svy_RequestCreatOrEditSvy (void) Svy.Title[0] = '\0'; Svy.NumQsts = 0; Svy.NumUsrs = 0; - Svy.Status.Visible = true; + Svy.Status.Hidden = false; Svy.Status.Open = true; Svy.Status.IAmLoggedWithAValidRoleToAnswer = false; Svy.Status.IBelongToScope = false; @@ -2202,8 +2205,8 @@ static void Svy_GetAndWriteNamesOfGrpsAssociatedToSvy (struct Svy_Survey *Svy) /***** Write heading *****/ HTM_DIV_Begin ("class=\"%s_%s\"", - Svy->Status.Visible ? "ASG_GRP" : - "ASG_GRP_LIGHT", + Svy->Status.Hidden ? "ASG_GRP_LIGHT" : + "ASG_GRP", The_GetSuffix ()); HTM_TxtColonNBSP (NumGrps == 1 ? Txt_Group : Txt_Groups); diff --git a/swad_survey.h b/swad_survey.h index 251cbe95..b6812d70 100644 --- a/swad_survey.h +++ b/swad_survey.h @@ -62,7 +62,7 @@ struct Svy_Survey unsigned NumUsrs; // Number of distinct users who have already answered the survey struct { - bool Visible; // Survey is not hidden + bool Hidden; // Survey is hidden bool Open; // Start date <= now <= end date bool IAmLoggedWithAValidRoleToAnswer; // I am logged with a valid role to answer this survey bool IBelongToScope; // I belong to the scope of this survey diff --git a/swad_text_action.c b/swad_text_action.c index 12eb8981..f21c858f 100644 --- a/swad_text_action.c +++ b/swad_text_action.c @@ -2038,7 +2038,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = "Request removal of a banner" // Çeviri lazim! #endif , - [ActShoBan] = + [ActUnhBan] = #if L==1 // ca "Show a hidden banner" // Necessita traducció #elif L==2 // de @@ -9078,7 +9078,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = "Hide assignment" // Çeviri lazim! #endif , - [ActShoAsg] = + [ActUnhAsg] = #if L==1 // ca "Unhide assignment" // Necessita traducció #elif L==2 // de @@ -9469,7 +9469,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = "Hide project" // Çeviri lazim! #endif , - [ActShoPrj] = + [ActUnhPrj] = #if L==1 // ca "Unhide project" // Necessita traducció #elif L==2 // de @@ -11654,7 +11654,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = "Hide exam" // Çeviri lazim! #endif , - [ActShoExa] = + [ActUnhExa] = #if L==1 // ca "Unhide exam" // Necessita traducció #elif L==2 // de @@ -13310,7 +13310,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = "Hide game" // Çeviri lazim! #endif , - [ActShoGam] = + [ActUnhGam] = #if L==1 // ca "Show game" // Necessita traducció #elif L==2 // de @@ -13747,7 +13747,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = "Hide survey" // Çeviri lazim! #endif , - [ActShoSvy] = + [ActUnhSvy] = #if L==1 // ca "Unhide survey" // Necessita traducció #elif L==2 // de @@ -14713,7 +14713,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = "Compress folder when managing documents zone of institution" // Çeviri lazim! #endif , - [ActShoDocIns] = + [ActUnhDocIns] = #if L==1 // ca "Unhide folder/file of documents zone of institution" // Necessita traducció #elif L==2 // de @@ -15794,7 +15794,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = "Compress folder when managing documents zone of center" // Çeviri lazim! #endif , - [ActShoDocCtr] = + [ActUnhDocCtr] = #if L==1 // ca "Unhide folder/file of documents zone of center" // Necessita traducció #elif L==2 // de @@ -16875,7 +16875,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = "Compress folder when mamaging documents zone of degree" // Çeviri lazim! #endif , - [ActShoDocDeg] = + [ActUnhDocDeg] = #if L==1 // ca "Unhide folder/file in documents zone of degree" // Necessita traducció #elif L==2 // de @@ -18094,7 +18094,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = "Compress folder when managing documents zone of course" // Çeviri lazim! #endif , - [ActShoDocCrs] = + [ActUnhDocCrs] = #if L==1 // ca "Unhide folder/file in documents zone of course" // Necessita traducció #elif L==2 // de @@ -18577,7 +18577,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = "Compress folder when managing documents zone of group" // Çeviri lazim! #endif , - [ActShoDocGrp] = + [ActUnhDocGrp] = #if L==1 // ca "Unhide folder/file in documents zone of group" // Necessita traducció #elif L==2 // de @@ -22786,7 +22786,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = "Compress folder in marks management zone of course" // Çeviri lazim! #endif , - [ActShoMrkCrs] = + [ActUnhMrkCrs] = #if L==1 // ca "Unhide folder/file in marks management zone of course" // Necessita traducció #elif L==2 // de @@ -23292,7 +23292,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = "Compress folder in marks management zone of group" // Çeviri lazim! #endif , - [ActShoMrkGrp] = + [ActUnhMrkGrp] = #if L==1 // ca "Unhide folder/file of marks management zone of group" // Necessita traducció #elif L==2 // de @@ -25615,7 +25615,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = "Hide attendance event" // Çeviri lazim! #endif , - [ActShoAtt] = + [ActUnhAtt] = #if L==1 // ca "Unhide attendance event" // Necessita traducció #elif L==2 // de @@ -28168,7 +28168,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = "Hide global announcement" // Çeviri lazim! #endif , - [ActRevAnn] = + [ActUnhAnn] = #if L==1 // ca "Unhide global announcement" // Necessita traducció #elif L==2 // de @@ -28306,7 +28306,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = "Hide notice" // Çeviri lazim! #endif , - [ActRevNot] = + [ActUnhNot] = #if L==1 // ca "Unhide notice" // Necessita traducció #elif L==2 // de @@ -32561,7 +32561,7 @@ const char *Txt_Actions[Act_NUM_ACTIONS] = "Hide event from my agenda" // Çeviri lazim! #endif , - [ActShoEvtMyAgd] = + [ActUnhEvtMyAgd] = #if L==1 // ca "Unhide event from my agenda" // Necessita traducció #elif L==2 // de