diff --git a/swad_changelog.h b/swad_changelog.h index 35e1bd6fd..c385fba43 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -259,6 +259,7 @@ // 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.2.2: Sep 17, 2017 New option for projects. Not finished. (? lines) Version 17.2.1: Sep 17, 2017 New option for projects. Not finished. (229884 lines) Version 17.2: Sep 17, 2017 New option for projects. Not finished. (229575 lines) 12 changes necessary in database: diff --git a/swad_project.c b/swad_project.c index 38285bd52..805e61dfb 100644 --- a/swad_project.c +++ b/swad_project.c @@ -74,7 +74,7 @@ static void Prj_PutFormToSelectWhichGroupsToShow (void); static void Prj_ParamsWhichGroupsToShow (void); static void Prj_ShowOneProject (long PrjCod,bool PrintView); static void Prj_WritePrjAuthor (struct Project *Prj); -static void Prj_WriteAssignmentFolder (struct Project *Prj,bool PrintView); +static void Prj_WriteProjectFolder (struct Project *Prj,bool PrintView); static void Prj_GetParamPrjOrder (void); static void Prj_PutFormsToRemEditOnePrj (long PrjCod,bool Hidden); @@ -190,7 +190,7 @@ static void Prj_PutHeadForSeeing (bool PrintView) { extern const char *Txt_START_END_TIME_HELP[Dat_NUM_START_END_TIME]; extern const char *Txt_START_END_TIME[Dat_NUM_START_END_TIME]; - extern const char *Txt_Assignment; + extern const char *Txt_Project; extern const char *Txt_Upload_files_QUESTION; extern const char *Txt_Folder; Dat_StartEndTime_t Order; @@ -234,7 +234,7 @@ static void Prj_PutHeadForSeeing (bool PrintView) "%s" "" "", - Txt_Assignment, + Txt_Project, Txt_Upload_files_QUESTION, Txt_Folder); } @@ -446,7 +446,7 @@ static void Prj_ShowOneProject (long PrjCod,bool PrintView) fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd); fprintf (Gbl.F.Out,"\">"); if (Prj.SendWork == Prj_SEND_WORK) - Prj_WriteAssignmentFolder (&Prj,PrintView); + Prj_WriteProjectFolder (&Prj,PrintView); fprintf (Gbl.F.Out,"" ""); @@ -500,7 +500,7 @@ static void Prj_WritePrjAuthor (struct Project *Prj) /*********************** Write the folder of a project ***********************/ /*****************************************************************************/ -static void Prj_WriteAssignmentFolder (struct Project *Prj,bool PrintView) +static void Prj_WriteProjectFolder (struct Project *Prj,bool PrintView) { extern const char *Txt_Upload_file_or_create_folder_in_FOLDER; extern const char *Txt_Folder; @@ -940,7 +940,7 @@ void Prj_ReqRemProject (void) void Prj_RemoveProject (void) { - extern const char *Txt_Assignment_X_removed; + extern const char *Txt_Project_X_removed; char Query[512]; struct Project Prj; @@ -965,7 +965,7 @@ void Prj_RemoveProject (void) DB_QueryDELETE (Query,"can not remove project"); /***** Write message to show the change made *****/ - sprintf (Gbl.Alert.Txt,Txt_Assignment_X_removed, + sprintf (Gbl.Alert.Txt,Txt_Project_X_removed, Prj.Title); Ale_ShowAlert (Ale_SUCCESS,Gbl.Alert.Txt); @@ -979,7 +979,7 @@ void Prj_RemoveProject (void) void Prj_HideProject (void) { - extern const char *Txt_Assignment_X_is_now_hidden; + extern const char *Txt_Project_X_is_now_hidden; char Query[512]; struct Project Prj; @@ -997,7 +997,7 @@ void Prj_HideProject (void) DB_QueryUPDATE (Query,"can not hide project"); /***** Write message to show the change made *****/ - sprintf (Gbl.Alert.Txt,Txt_Assignment_X_is_now_hidden, + sprintf (Gbl.Alert.Txt,Txt_Project_X_is_now_hidden, Prj.Title); Ale_ShowAlert (Ale_SUCCESS,Gbl.Alert.Txt); @@ -1011,7 +1011,7 @@ void Prj_HideProject (void) void Prj_ShowProject (void) { - extern const char *Txt_Assignment_X_is_now_visible; + extern const char *Txt_Project_X_is_now_visible; char Query[512]; struct Project Prj; @@ -1029,7 +1029,7 @@ void Prj_ShowProject (void) DB_QueryUPDATE (Query,"can not show project"); /***** Write message to show the change made *****/ - sprintf (Gbl.Alert.Txt,Txt_Assignment_X_is_now_visible, + sprintf (Gbl.Alert.Txt,Txt_Project_X_is_now_visible, Prj.Title); Ale_ShowAlert (Ale_SUCCESS,Gbl.Alert.Txt); @@ -1070,7 +1070,7 @@ void Prj_RequestCreatOrEditPrj (void) extern const char *Txt_Create_project; extern const char *Txt_Save; struct Project Prj; - bool ItsANewAssignment; + bool ItsANewProject; char Txt[Cns_MAX_BYTES_TEXT + 1]; /***** Get parameters *****/ @@ -1079,10 +1079,10 @@ void Prj_RequestCreatOrEditPrj (void) Gbl.Prjs.CurrentPage = Pag_GetParamPagNum (Pag_PROJECTS); /***** Get the code of the project *****/ - ItsANewAssignment = ((Prj.PrjCod = Prj_GetParamPrjCod ()) == -1L); + ItsANewProject = ((Prj.PrjCod = Prj_GetParamPrjCod ()) == -1L); /***** Get from the database the data of the project *****/ - if (ItsANewAssignment) + if (ItsANewProject) { /* Initialize to empty project */ Prj.PrjCod = -1L; @@ -1104,7 +1104,7 @@ void Prj_RequestCreatOrEditPrj (void) } /***** Start form *****/ - if (ItsANewAssignment) + if (ItsANewProject) { Act_FormStart (ActNewPrj); Gbl.Prjs.PrjCodToEdit = -1L; @@ -1117,7 +1117,7 @@ void Prj_RequestCreatOrEditPrj (void) Prj_PutParams (); /***** Start box and table *****/ - if (ItsANewAssignment) + if (ItsANewProject) Box_StartBoxTable (NULL,Txt_New_project,NULL, Hlp_ASSESSMENT_Projects_new_project,Box_NOT_CLOSABLE,2); else @@ -1167,7 +1167,7 @@ void Prj_RequestCreatOrEditPrj (void) "" "" @@ -1177,7 +1177,7 @@ void Prj_RequestCreatOrEditPrj (void) Prj_ShowLstGrpsToEditProject (Prj.PrjCod); /***** End table, send button and end box *****/ - if (ItsANewAssignment) + if (ItsANewProject) Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_project); else Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save); @@ -1263,15 +1263,15 @@ void Prj_RecFormProject (void) extern const char *Txt_You_can_not_disable_file_uploading_once_folders_have_been_created; struct Project OldPrj; // Current assigment data in database struct Project NewPrj; // Project data received from form - bool ItsANewAssignment; - bool NewAssignmentIsCorrect = true; + bool ItsANewProject; + bool NewProjectIsCorrect = true; char Txt[Cns_MAX_BYTES_TEXT + 1]; /***** Get the code of the project *****/ NewPrj.PrjCod = Prj_GetParamPrjCod (); - ItsANewAssignment = (NewPrj.PrjCod < 0); + ItsANewProject = (NewPrj.PrjCod < 0); - if (ItsANewAssignment) + if (ItsANewProject) { /***** Reset old (current, not existing) project data *****/ OldPrj.PrjCod = -1L; @@ -1311,7 +1311,7 @@ void Prj_RecFormProject (void) /* If title of project was in database... */ if (Prj_CheckIfSimilarProjectsExists ("Title",NewPrj.Title,NewPrj.PrjCod)) { - NewAssignmentIsCorrect = false; + NewProjectIsCorrect = false; sprintf (Gbl.Alert.Txt,Txt_Already_existed_a_project_with_the_title_X, NewPrj.Title); Ale_ShowAlert (Ale_WARNING,Gbl.Alert.Txt); @@ -1324,7 +1324,7 @@ void Prj_RecFormProject (void) { if (Prj_CheckIfSimilarProjectsExists ("Folder",NewPrj.Folder,NewPrj.PrjCod)) // If folder of project was in database... { - NewAssignmentIsCorrect = false; + NewProjectIsCorrect = false; sprintf (Gbl.Alert.Txt,Txt_Already_existed_a_project_with_the_folder_X, NewPrj.Folder); Ale_ShowAlert (Ale_WARNING,Gbl.Alert.Txt); @@ -1332,7 +1332,7 @@ void Prj_RecFormProject (void) } else // Folder name not valid { - NewAssignmentIsCorrect = false; + NewProjectIsCorrect = false; Ale_ShowAlert (Ale_WARNING,Gbl.Alert.Txt); } } @@ -1342,7 +1342,7 @@ void Prj_RecFormProject (void) { if (Brw_CheckIfExistsFolderAssigmentForAnyUsr (OldPrj.Folder)) { - NewAssignmentIsCorrect = false; + NewProjectIsCorrect = false; Ale_ShowAlert (Ale_WARNING,Txt_You_can_not_disable_file_uploading_once_folders_have_been_created); } } @@ -1351,17 +1351,17 @@ void Prj_RecFormProject (void) } else // If there is not a project title { - NewAssignmentIsCorrect = false; + NewProjectIsCorrect = false; Ale_ShowAlert (Ale_WARNING,Txt_You_must_specify_the_title_of_the_project); } /***** Create a new project or update an existing one *****/ - if (NewAssignmentIsCorrect) + if (NewProjectIsCorrect) { /* Get groups for this projects */ Grp_GetParCodsSeveralGrps (); - if (ItsANewAssignment) + if (ItsANewProject) { Prj_CreateProject (&NewPrj,Txt); // Add new project to database @@ -1373,8 +1373,8 @@ void Prj_RecFormProject (void) { if (OldPrj.Folder[0] && NewPrj.Folder[0]) if (strcmp (OldPrj.Folder,NewPrj.Folder)) // Folder name has changed - NewAssignmentIsCorrect = Brw_UpdateFoldersAssigmentsIfExistForAllUsrs (OldPrj.Folder,NewPrj.Folder); - if (NewAssignmentIsCorrect) + NewProjectIsCorrect = Brw_UpdateFoldersAssigmentsIfExistForAllUsrs (OldPrj.Folder,NewPrj.Folder); + if (NewProjectIsCorrect) { Prj_UpdateProject (&NewPrj,Txt); @@ -1777,8 +1777,7 @@ unsigned Prj_GetNumCoursesWithProjects (Sco_Scope_t Scope) /*****************************************************************************/ /************************** Get number of projects ***************************/ /*****************************************************************************/ -// Returns the number of projects -// in this location (all the platform, current degree or current course) +// Returns the number of projects in this location unsigned Prj_GetNumProjects (Sco_Scope_t Scope) { diff --git a/swad_text.c b/swad_text.c index 29ddb7f94..94cdbdd5e 100644 --- a/swad_text.c +++ b/swad_text.c @@ -3858,7 +3858,7 @@ const char *Txt_Banner = const char *Txt_Banner_X_removed = // Warning: it is very important to include %s in the following sentences #if L==1 - "Banner %s eliminado."; // Necessita traduccio + "Banner %s eliminat."; #elif L==2 "Werbebanner %s entfernt."; #elif L==3 @@ -3874,7 +3874,7 @@ const char *Txt_Banner_X_removed = // Warning: it is very important to include % #elif L==8 "Banner %s usuniety."; #elif L==9 - "Banner %s removed."; // Necessita de tradução + "Banner %s removido."; #endif const char *Txt_Banners = @@ -30638,6 +30638,90 @@ const char *Txt_Private_available_to_certain_users_identified = "Privado, disponível para alguns usuários identificados"; #endif +const char *Txt_Project = +#if L==1 + "Projecte"; +#elif L==2 + "Projekt"; +#elif L==3 + "Project"; +#elif L==4 + "Proyecto"; +#elif L==5 + "Projet"; +#elif L==6 + "Proyecto"; // Okoteve traducción +#elif L==7 + "Progetto"; +#elif L==8 + "Projekt"; +#elif L==9 + "Projeto"; +#endif + +const char *Txt_Project_X_is_now_hidden = // Warning: it is very important to include %s in the following sentences +#if L==1 + "El projecte %s ara està ocult."; +#elif L==2 + "Die Projekt %s ist jetzt ausgeblendet."; +#elif L==3 + "Project %s is now hidden."; +#elif L==4 + "El proyecto %s ahora está oculto."; +#elif L==5 + "Le project %s est maintenant caché."; +#elif L==6 + "El proyecto %s ahora está oculto."; // Okoteve traducción +#elif L==7 + "Il progetto %s è ora nascosto."; +#elif L==8 + "Projekt %s jest ukryte."; +#elif L==9 + "O projeto %s é agora oculto."; +#endif + +const char *Txt_Project_X_is_now_visible = // Warning: it is very important to include %s in the following sentences +#if L==1 + "El projecte %s ara està visible."; +#elif L==2 + "Die Projekt %s ist jetzt sichtbar."; +#elif L==3 + "Project %s is now visible."; +#elif L==4 + "El proyecto %s ahora está visible."; +#elif L==5 + "Le project %s est maintenant visible."; +#elif L==6 + "El proyecto %s ahora está visible."; // Okoteve traducción +#elif L==7 + "Il progetto %s è ora nascosto."; +#elif L==8 + "Projekt %s jest teraz widoczne."; +#elif L==9 + "O projeto %s é agora visível."; +#endif + +const char *Txt_Project_X_removed = // Warning: it is very important to include %s in the following sentences +#if L==1 + "Projecte %s eliminat."; +#elif L==2 + "Projekt %s entfernt."; +#elif L==3 + "Project %s removed."; +#elif L==4 + "Proyecto %s eliminado."; +#elif L==5 + "Projet %s supprimé."; +#elif L==6 + "Proyecto %s eliminado."; // Okoteve traducción +#elif L==7 + "Progetto %s rimosso."; +#elif L==8 + "Projekt %s usuniety."; +#elif L==9 + "Projeto %s removido."; +#endif + const char *Txt_Projects = #if L==1 "Projectes";