diff --git a/swad_changelog.h b/swad_changelog.h index b9a053fe6..f7de682e9 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -256,13 +256,14 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 17.20.4 (2017-10-07)" +#define Log_PLATFORM_VERSION "SWAD 17.20.5 (2017-10-07)" #define CSS_FILE "swad17.0.css" #define JS_FILE "swad17.17.1.js" // 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 sql/swad*.sql | tail -1 /* + Version 17.20.5: Oct 07, 2017 Title of project is now a link to show the project and its documents. (233024 lines) Version 17.20.4: Oct 07, 2017 Changes in layout of project. (232972 lines) Version 17.20.3: Oct 07, 2017 Changes in layout of project. Fixed bug when hiding/shown a project. (232971 lines) diff --git a/swad_file_browser.c b/swad_file_browser.c index f1546df20..00af45757 100644 --- a/swad_file_browser.c +++ b/swad_file_browser.c @@ -3368,11 +3368,14 @@ static void Brw_ShowFileBrowserProject (void) /***** Show the project *****/ Prj_ShowOneUniqueProject (&Prj); - /***** Write top before showing file browser *****/ - Brw_WriteTopBeforeShowingFileBrowser (); - - /***** Show the file browser *****/ - Brw_ShowFileBrowser (); + /***** Show project documents *****/ + if (Prj_CheckIfICanAdminDocsProject (Prj.PrjCod)) + { + Brw_WriteTopBeforeShowingFileBrowser (); + Brw_ShowFileBrowser (); + } + else + Ale_ShowAlert (Ale_WARNING,"You have no access to project documents."); /***** End box *****/ Box_EndBox (); diff --git a/swad_icon.c b/swad_icon.c index cfbceacc4..1c1f7a855 100644 --- a/swad_icon.c +++ b/swad_icon.c @@ -204,11 +204,11 @@ void Ico_PutContextualIconToEdit (Act_Action_t NextAction,void (*FuncParams) ()) void Ico_PutContextualIconToViewFiles (Act_Action_t NextAction,void (*FuncParams) ()) { - extern const char *Txt_Files; + extern const char *Txt_Project_documents; Lay_PutContextualLink (NextAction,NULL,FuncParams, "folder64x64.gif", - Txt_Files,NULL, + Txt_Project_documents,NULL, NULL); } diff --git a/swad_project.c b/swad_project.c index 3bfa2d449..a721239a8 100644 --- a/swad_project.c +++ b/swad_project.c @@ -133,9 +133,11 @@ static void Prj_RemUsrFromPrj (Prj_RoleInProject_t RoleInProject); static void Prj_GetParamPrjOrder (void); -static void Prj_PutFormsToRemEditOnePrj (long PrjCod,bool Hidden); +static void Prj_PutFormsToRemEditOnePrj (long PrjCod,bool Hidden, + bool ICanAdminDocsProject); static bool Prj_CheckIfICanEditProject (long PrjCod); +static bool Prj_GetIfIAmMemberOfProject (long PrjCod); static bool Prj_GetIfIAmTutorInProject (long PrjCod); static void Prj_PutParams (void); @@ -610,6 +612,7 @@ void Prj_PrintOneProject (void) static void Prj_ShowOneProject (struct Project *Prj,Prj_ProjectView_t ProjectView) { extern const char *Txt_Today; + extern const char *Txt_Project_documents; extern const char *Txt_Preassigned_QUESTION; extern const char *Txt_Yes; extern const char *Txt_No; @@ -622,6 +625,7 @@ static void Prj_ShowOneProject (struct Project *Prj,Prj_ProjectView_t ProjectVie extern const char *Txt_Required_knowledge; extern const char *Txt_Required_materials; static unsigned UniqueId = 0; + bool ICanAdminDocsProject = Prj_CheckIfICanAdminDocsProject (Prj->PrjCod); /***** Write first row of data of this project *****/ /* Forms to remove/edit this project */ @@ -634,7 +638,8 @@ static void Prj_ShowOneProject (struct Project *Prj,Prj_ProjectView_t ProjectVie // no break case Prj_FILE_BROWSER_PROJECT: fprintf (Gbl.F.Out,"\">"); - Prj_PutFormsToRemEditOnePrj (Prj->PrjCod,Prj->Hidden); + Prj_PutFormsToRemEditOnePrj (Prj->PrjCod,Prj->Hidden, + ICanAdminDocsProject); break; default: fprintf (Gbl.F.Out,"\">"); @@ -684,11 +689,23 @@ static void Prj_ShowOneProject (struct Project *Prj,Prj_ProjectView_t ProjectVie fprintf (Gbl.F.Out,"