From 3b7c87c6033072fe40a65b66037f64dc82e1f581 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ca=C3=B1as=20Vargas?= Date: Tue, 20 Jan 2015 20:35:33 +0100 Subject: [PATCH] Version 14.62.2 --- swad_changelog.h | 3 +- swad_file_browser.c | 69 ++++++++++++++++++++++++++++++++++----------- 2 files changed, 54 insertions(+), 18 deletions(-) diff --git a/swad_changelog.h b/swad_changelog.h index f60af462c..3bdfc9d42 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -39,11 +39,12 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 14.61 (2015/01/20)" +#define Log_PLATFORM_VERSION "SWAD 14.62.2 (2015/01/20)" // Number of lines (includes comments but not blank lines) has been got with the following command: // nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h | tail -1 /* + Version 14.62.2: Jan 20, 2015 See/admin documents of degree, centre and institution (not finished). (175407 lines) Version 14.62.1: Jan 20, 2015 See/admin documents of degree, centre and institution (not finished). (175371 lines) Version 14.62: Jan 20, 2015 See/admin documents of degree, centre and institution (not finished). (175296 lines) 3 changes necessary in database: diff --git a/swad_file_browser.c b/swad_file_browser.c index de66e021d..048594f3b 100644 --- a/swad_file_browser.c +++ b/swad_file_browser.c @@ -8177,8 +8177,7 @@ void Brw_ShowFileMetadata (void) char FileNameToShow[NAME_MAX+1]; char URL[PATH_MAX+1]; bool Found; - bool IsHidden = false; - bool ICanView; + bool ICanView = false; bool ICanEdit; bool ICanChangePublic = false; bool ICanChangeLicense = false; @@ -8201,17 +8200,36 @@ void Brw_ShowFileMetadata (void) /* Add entry to the table of files/folders */ FileMetadata.FilCod = Brw_AddPathToDB (-1L,FileMetadata.FileType, Gbl.FileBrowser.Priv.FullPathInTree,false,Brw_LICENSE_DEFAULT); - Brw_GetFileMetadataByCod (&FileMetadata); + // Brw_GetFileMetadataByCod (&FileMetadata); } /***** Check if I can view this file. - It could be marked as hidden by teachers *****/ - if (Gbl.FileBrowser.Type == Brw_FILE_BRW_SEE_DOCUMENTS_CRS || - Gbl.FileBrowser.Type == Brw_FILE_BRW_SEE_DOCUMENTS_GRP) - IsHidden = Brw_CheckIfFileOrFolderIsHidden (&FileMetadata); + It could be marked as hidden or in a hidden folder *****/ + ICanView = true; + switch (Gbl.FileBrowser.Type) + { + case Brw_FILE_BRW_SEE_DOCUMENTS_INS: + if (Gbl.Usrs.Me.LoggedRole < Rol_ROLE_INS_ADMIN) + ICanView = !Brw_CheckIfFileOrFolderIsHidden (&FileMetadata); + break; + case Brw_FILE_BRW_SEE_DOCUMENTS_CTR: + if (Gbl.Usrs.Me.LoggedRole < Rol_ROLE_CTR_ADMIN) + ICanView = !Brw_CheckIfFileOrFolderIsHidden (&FileMetadata); + break; + case Brw_FILE_BRW_SEE_DOCUMENTS_DEG: + if (Gbl.Usrs.Me.LoggedRole < Rol_ROLE_DEG_ADMIN) + ICanView = !Brw_CheckIfFileOrFolderIsHidden (&FileMetadata); + break; + case Brw_FILE_BRW_SEE_DOCUMENTS_CRS: + case Brw_FILE_BRW_SEE_DOCUMENTS_GRP: + if (Gbl.Usrs.Me.LoggedRole < Rol_ROLE_TEACHER) + ICanView = !Brw_CheckIfFileOrFolderIsHidden (&FileMetadata); + break; + default: + break; + } } - ICanView = Found && (!IsHidden || Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_TEACHER); if (ICanView) { if (FileMetadata.FileType == Brw_IS_FILE || @@ -8583,8 +8601,7 @@ void Brw_DownloadFile (void) struct FileMetadata FileMetadata; char URL[PATH_MAX+1]; bool Found; - bool IsHidden = false; - bool ICanView; + bool ICanView = false; /***** Get parameters related to file browser *****/ Brw_GetParAndInitFileBrowser (); @@ -8600,18 +8617,36 @@ void Brw_DownloadFile (void) /* Add entry to the table of files/folders */ FileMetadata.FilCod = Brw_AddPathToDB (-1L,FileMetadata.FileType, Gbl.FileBrowser.Priv.FullPathInTree,false,Brw_LICENSE_DEFAULT); - Brw_GetFileMetadataByCod (&FileMetadata); + // Brw_GetFileMetadataByCod (&FileMetadata); } /***** Check if I can view this file. - It could be marked as hidden by teachers *****/ - if (Gbl.FileBrowser.Type == Brw_FILE_BRW_SEE_DOCUMENTS_CRS || - Gbl.FileBrowser.Type == Brw_FILE_BRW_SEE_DOCUMENTS_GRP) - IsHidden = Brw_CheckIfFileOrFolderIsHidden (&FileMetadata); + It could be marked as hidden or in a hidden folder *****/ + ICanView = true; + switch (Gbl.FileBrowser.Type) + { + case Brw_FILE_BRW_SEE_DOCUMENTS_INS: + if (Gbl.Usrs.Me.LoggedRole < Rol_ROLE_INS_ADMIN) + ICanView = !Brw_CheckIfFileOrFolderIsHidden (&FileMetadata); + break; + case Brw_FILE_BRW_SEE_DOCUMENTS_CTR: + if (Gbl.Usrs.Me.LoggedRole < Rol_ROLE_CTR_ADMIN) + ICanView = !Brw_CheckIfFileOrFolderIsHidden (&FileMetadata); + break; + case Brw_FILE_BRW_SEE_DOCUMENTS_DEG: + if (Gbl.Usrs.Me.LoggedRole < Rol_ROLE_DEG_ADMIN) + ICanView = !Brw_CheckIfFileOrFolderIsHidden (&FileMetadata); + break; + case Brw_FILE_BRW_SEE_DOCUMENTS_CRS: + case Brw_FILE_BRW_SEE_DOCUMENTS_GRP: + if (Gbl.Usrs.Me.LoggedRole < Rol_ROLE_TEACHER) + ICanView = !Brw_CheckIfFileOrFolderIsHidden (&FileMetadata); + break; + default: + break; + } } - ICanView = Found && - (!IsHidden || Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_TEACHER); if (ICanView) { if (FileMetadata.FileType == Brw_IS_FILE ||