mirror of https://github.com/acanas/swad-core.git
Version 22.32: Sep 29, 2022 Code refactoring in program resources, assignments and projects.
This commit is contained in:
parent
051849f6e6
commit
5c093ff11e
|
@ -627,7 +627,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
|||
[ActUnlAllPrj ] = {1778,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_UnloSelectedPrjsEdition ,NULL},
|
||||
[ActFrmNewPrj ] = {1675,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_RequestCreatePrj ,NULL},
|
||||
[ActEdiOnePrj ] = {1676,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_RequestEditPrj ,NULL},
|
||||
[ActSeeOnePrj ] = {1949,-1,TabUnk,ActSeePrj ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ShowProjectWithFileBrowser ,NULL},
|
||||
[ActSeeOnePrj ] = {1949,-1,TabUnk,ActSeePrj ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ShowFileBrowserOrWorks ,NULL},
|
||||
[ActPrnOnePrj ] = {1677,-1,TabUnk,ActSeePrj ,0x3F8,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_NEW_TAB,NULL ,Prj_PrintOneProject ,NULL},
|
||||
[ActNewPrj ] = {1678,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ReceiveFormProject ,NULL},
|
||||
[ActChgPrj ] = {1679,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ReceiveFormProject ,NULL},
|
||||
|
|
|
@ -284,9 +284,20 @@ static void Asg_PutIconsListAssignments (void *Assignments)
|
|||
{
|
||||
/***** Put icon to create a new assignment *****/
|
||||
if (Assignments)
|
||||
{
|
||||
if (Asg_CheckIfICanCreateAssignments ())
|
||||
Asg_PutIconToCreateNewAsg (Assignments);
|
||||
|
||||
/***** Link to get resource link *****/
|
||||
if (Gbl.Usrs.Me.Role.Logged == Rol_TCH || // Only if I am a teacher
|
||||
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) // or a superuser
|
||||
{
|
||||
((struct Asg_Assignments *) Assignments)->AsgCod = -1L;
|
||||
Ico_PutContextualIconToGetLink (ActReqLnkAsg,NULL,
|
||||
Asg_PutParams,Assignments);
|
||||
}
|
||||
}
|
||||
|
||||
/***** Put icon to show a figure *****/
|
||||
Fig_PutIconToShowFigure (Fig_ASSIGNMENTS);
|
||||
}
|
||||
|
|
|
@ -53,8 +53,7 @@ void AsgRsc_GetLinkToAssignment (void)
|
|||
Assignments.CurrentPage = Pag_GetParamPagNum (Pag_ASSIGNMENTS);
|
||||
|
||||
/***** Get assignment code *****/
|
||||
if ((Assignments.AsgCod = Asg_GetParamAsgCod ()) <= 0)
|
||||
Err_WrongAssignmentExit ();
|
||||
Assignments.AsgCod = Asg_GetParamAsgCod ();
|
||||
|
||||
/***** Get assignment title *****/
|
||||
AsgRsc_GetTitleFromAsgCod (Assignments.AsgCod,Title,sizeof (Title) - 1);
|
||||
|
@ -67,7 +66,8 @@ void AsgRsc_GetLinkToAssignment (void)
|
|||
Title);
|
||||
|
||||
/***** Show selected assignment in a box *****/
|
||||
Asg_ShowOneAssignmentInBox (&Assignments);
|
||||
if (Assignments.AsgCod > 0)
|
||||
Asg_ShowOneAssignmentInBox (&Assignments);
|
||||
|
||||
/***** Show current assignments, if any *****/
|
||||
Asg_ShowAllAssignments (&Assignments);
|
||||
|
@ -126,6 +126,7 @@ void AsgRsc_WriteAssignmentInCrsProgram (long AsgCod,bool PutFormToGo,
|
|||
|
||||
void AsgRsc_GetTitleFromAsgCod (long AsgCod,char *Title,size_t TitleSize)
|
||||
{
|
||||
extern const char *Txt_Assignments;
|
||||
char TitleFromDB[Asg_MAX_BYTES_ASSIGNMENT_TITLE + 1];
|
||||
|
||||
if (AsgCod > 0)
|
||||
|
@ -135,5 +136,6 @@ void AsgRsc_GetTitleFromAsgCod (long AsgCod,char *Title,size_t TitleSize)
|
|||
Str_Copy (Title,TitleFromDB,TitleSize);
|
||||
}
|
||||
else
|
||||
Str_Copy (Title,"?",TitleSize);
|
||||
/***** Generic title for all assignments *****/
|
||||
Str_Copy (Title,Txt_Assignments,TitleSize);
|
||||
}
|
||||
|
|
|
@ -112,6 +112,7 @@ void AttRsc_WriteAttEventInCrsProgram (long AttCod,bool PutFormToGo,
|
|||
|
||||
void AttRsc_GetTitleFromAttCod (long AttCod,char *Title,size_t TitleSize)
|
||||
{
|
||||
extern const char *Txt_Control_of_class_attendance;
|
||||
char TitleFromDB[Att_MAX_BYTES_ATTENDANCE_EVENT_TITLE + 1];
|
||||
|
||||
if (AttCod > 0)
|
||||
|
@ -121,5 +122,6 @@ void AttRsc_GetTitleFromAttCod (long AttCod,char *Title,size_t TitleSize)
|
|||
Str_Copy (Title,TitleFromDB,TitleSize);
|
||||
}
|
||||
else
|
||||
Str_Copy (Title,"?",TitleSize);
|
||||
/***** Generic title for all attendance events *****/
|
||||
Str_Copy (Title,Txt_Control_of_class_attendance,TitleSize);
|
||||
}
|
||||
|
|
|
@ -1986,7 +1986,10 @@ void Brw_GetParAndInitFileBrowser (void)
|
|||
Brw_SetFullPathInTree ();
|
||||
|
||||
/***** Get other parameters *****/
|
||||
if (Brw_GetIfCrsAssigWorksFileBrowser ())
|
||||
if (Brw_GetIfProjectFileBrowser ())
|
||||
/* Get project code */
|
||||
Prj_SetPrjCod (Prj_GetParamPrjCod ());
|
||||
else if (Brw_GetIfCrsAssigWorksFileBrowser ())
|
||||
{
|
||||
/* Get lists of the selected users if not already got */
|
||||
Usr_GetListsSelectedEncryptedUsrsCods (&Gbl.Usrs.Selected);
|
||||
|
@ -3320,7 +3323,7 @@ void Brw_ShowAgainFileBrowserOrWorks (void)
|
|||
else if (Brw_GetIfCrsAssigWorksFileBrowser ())
|
||||
Brw_ShowFileBrowsersAsgWrkCrs ();
|
||||
else if (Brw_GetIfProjectFileBrowser ())
|
||||
Prj_ShowProjectWithFileBrowser ();
|
||||
Prj_ShowOneProject ();
|
||||
else
|
||||
Brw_ShowFileBrowserNormal ();
|
||||
|
||||
|
|
|
@ -196,25 +196,48 @@ void BrwRsc_WriteMrkFileNameInCrsProgram (long FilCod,bool PutFormToGo,
|
|||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/********************** Get file name from file code *************************/
|
||||
/******************** Get document name from file code ***********************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void BrwRsc_GetFileNameFromFilCod (long FilCod,char *FileName,size_t FileNameSize)
|
||||
void BrwRsc_GetDocTitleFromFilCod (long FilCod,char *Title,size_t TitleSize)
|
||||
{
|
||||
extern const char *Txt_Documents;
|
||||
struct Brw_FileMetadata FileMetadata;
|
||||
|
||||
if (FilCod > 0)
|
||||
{
|
||||
/***** Return nothing on error *****/
|
||||
FileName[0] = '\0'; // Return nothing on error
|
||||
|
||||
/***** Get file metadata *****/
|
||||
/***** Get file name *****/
|
||||
FileMetadata.FilCod = FilCod;
|
||||
Brw_GetFileMetadataByCod (&FileMetadata);
|
||||
Brw_GetFileNameByCod (&FileMetadata);
|
||||
|
||||
/***** Copy file name into summary string *****/
|
||||
Str_Copy (FileName,FileMetadata.FilFolLnk.Name,FileNameSize);
|
||||
/***** Copy file name into title *****/
|
||||
Str_Copy (Title,FileMetadata.FilFolLnk.Name,TitleSize);
|
||||
}
|
||||
else
|
||||
Str_Copy (FileName,"?",FileNameSize);
|
||||
/***** Generic title for all documents *****/
|
||||
Str_Copy (Title,Txt_Documents,TitleSize);
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************************************/
|
||||
/******************* Get marks file name from file code **********************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void BrwRsc_GetMrkTitleFromFilCod (long FilCod,char *Title,size_t TitleSize)
|
||||
{
|
||||
extern const char *Txt_Marks_area;
|
||||
struct Brw_FileMetadata FileMetadata;
|
||||
|
||||
if (FilCod > 0)
|
||||
{
|
||||
/***** Get file name *****/
|
||||
FileMetadata.FilCod = FilCod;
|
||||
Brw_GetFileNameByCod (&FileMetadata);
|
||||
|
||||
/***** Copy file name into title *****/
|
||||
Str_Copy (Title,FileMetadata.FilFolLnk.Name,TitleSize);
|
||||
}
|
||||
else
|
||||
/***** Generic title for marks area *****/
|
||||
Str_Copy (Title,Txt_Marks_area,TitleSize);
|
||||
}
|
||||
|
|
|
@ -38,6 +38,7 @@ void BrwRsc_WriteDocFileNameInCrsProgram (long FilCod,bool PutFormToGo,
|
|||
const char *Icon,const char *IconTitle);
|
||||
void BrwRsc_WriteMrkFileNameInCrsProgram (long FilCod,bool PutFormToGo,
|
||||
const char *Icon,const char *IconTitle);
|
||||
void BrwRsc_GetFileNameFromFilCod (long FilCod,char *FileName,size_t FileNameSize);
|
||||
void BrwRsc_GetDocTitleFromFilCod (long FilCod,char *Title,size_t TitleSize);
|
||||
void BrwRsc_GetMrkTitleFromFilCod (long FilCod,char *Title,size_t TitleSize);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -125,6 +125,7 @@ void CfeRsc_WriteCallForExamInCrsProgram (long ExaCod,bool PutFormToGo,
|
|||
void CfeRsc_GetTitleFromExaCod (long ExaCod,char *Title,size_t TitleSize)
|
||||
{
|
||||
extern const char *Txt_Call_for_exam;
|
||||
extern const char *Txt_Calls_for_exams;
|
||||
struct Cfe_CallsForExams CallsForExams;
|
||||
char SessionAndDate[Cfe_MAX_BYTES_SESSION_AND_DATE];
|
||||
|
||||
|
@ -145,5 +146,6 @@ void CfeRsc_GetTitleFromExaCod (long ExaCod,char *Title,size_t TitleSize)
|
|||
Cfe_FreeMemCallForExam (&CallsForExams);
|
||||
}
|
||||
else
|
||||
Str_Copy (Title,"?",TitleSize);
|
||||
/***** Generic title for all calls for exams *****/
|
||||
Str_Copy (Title,Txt_Calls_for_exams,TitleSize);
|
||||
}
|
||||
|
|
|
@ -606,10 +606,11 @@ TODO: Fix bug: error al enviar un mensaje a dos recipientes, error on duplicate
|
|||
|
||||
TODO: Attach pdf files in multimedia.
|
||||
*/
|
||||
#define Log_PLATFORM_VERSION "SWAD 22.31 (2022-09-28)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 22.32 (2022-09-29)"
|
||||
#define CSS_FILE "swad22.22.1.css"
|
||||
#define JS_FILE "swad21.100.js"
|
||||
/*
|
||||
Version 22.32: Sep 29, 2022 Code refactoring in program resources, assignments and projects. (332628 lines)
|
||||
Version 22.31: Sep 28, 2022 New action to view one project.
|
||||
Code refactoring in program resources. (332570 lines)
|
||||
Version 22.30: Sep 28, 2022 New module swad_project_resource. (332490 lines)
|
||||
|
|
|
@ -118,6 +118,7 @@ void ExaRsc_WriteExamInCrsProgram (long ExaCod,bool PutFormToGo,
|
|||
|
||||
void ExaRsc_GetTitleFromExaCod (long ExaCod,char *Title,size_t TitleSize)
|
||||
{
|
||||
extern const char *Txt_Exams;
|
||||
char TitleFromDB[Exa_MAX_BYTES_TITLE + 1];
|
||||
|
||||
if (ExaCod > 0)
|
||||
|
@ -127,5 +128,6 @@ void ExaRsc_GetTitleFromExaCod (long ExaCod,char *Title,size_t TitleSize)
|
|||
Str_Copy (Title,TitleFromDB,TitleSize);
|
||||
}
|
||||
else
|
||||
Str_Copy (Title,"?",TitleSize);
|
||||
/***** Generic title for all exams *****/
|
||||
Str_Copy (Title,Txt_Exams,TitleSize);
|
||||
}
|
||||
|
|
|
@ -134,6 +134,7 @@ void ForRsc_WriteThreadInCrsProgram (long ThrCod,bool PutFormToGo,
|
|||
|
||||
void ForRsc_GetTitleFromThrCod (long ThrCod,char *Title,size_t TitleSize)
|
||||
{
|
||||
extern const char *Txt_Forum;
|
||||
char Subject[Cns_MAX_BYTES_SUBJECT + 1];
|
||||
|
||||
if (ThrCod > 0)
|
||||
|
@ -143,5 +144,5 @@ void ForRsc_GetTitleFromThrCod (long ThrCod,char *Title,size_t TitleSize)
|
|||
Str_Copy (Title,Subject,TitleSize);
|
||||
}
|
||||
else
|
||||
Str_Copy (Title,"?",TitleSize);
|
||||
Str_Copy (Title,Txt_Forum,TitleSize);
|
||||
}
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
#include "swad_form.h"
|
||||
#include "swad_game.h"
|
||||
#include "swad_game_database.h"
|
||||
#include "swad_game_resource.h"
|
||||
#include "swad_program_database.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -115,6 +116,7 @@ void GamRsc_WriteGameInCrsProgram (long GamCod,bool PutFormToGo,
|
|||
|
||||
void GamRsc_GetTitleFromGamCod (long GamCod,char *Title,size_t TitleSize)
|
||||
{
|
||||
extern const char *Txt_Games;
|
||||
char TitleFromDB[Gam_MAX_BYTES_TITLE + 1];
|
||||
|
||||
if (GamCod > 0)
|
||||
|
@ -124,5 +126,6 @@ void GamRsc_GetTitleFromGamCod (long GamCod,char *Title,size_t TitleSize)
|
|||
Str_Copy (Title,TitleFromDB,TitleSize);
|
||||
}
|
||||
else
|
||||
Str_Copy (Title,"?",TitleSize);
|
||||
/***** Generic title for all games *****/
|
||||
Str_Copy (Title,Txt_Games,TitleSize);
|
||||
}
|
||||
|
|
|
@ -1022,7 +1022,7 @@ static void PrgRsc_WriteEmptyLinkInCrsProgram (__attribute__((unused)) long Cod,
|
|||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/* Get the title for a new resource from link title */
|
||||
/************* Get the title for a new resource from link title **************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void PrgRsc_GetResourceTitleFromLink (struct Prg_Item *Item)
|
||||
|
@ -1036,8 +1036,8 @@ static void PrgRsc_GetResourceTitleFromLink (struct Prg_Item *Item)
|
|||
[PrgRsc_EXAM ] = ExaRsc_GetTitleFromExaCod,
|
||||
[PrgRsc_GAME ] = GamRsc_GetTitleFromGamCod,
|
||||
[PrgRsc_SURVEY ] = SvyRsc_GetTitleFromSvyCod,
|
||||
[PrgRsc_DOCUMENT ] = BrwRsc_GetFileNameFromFilCod,
|
||||
[PrgRsc_MARKS ] = BrwRsc_GetFileNameFromFilCod,
|
||||
[PrgRsc_DOCUMENT ] = BrwRsc_GetDocTitleFromFilCod,
|
||||
[PrgRsc_MARKS ] = BrwRsc_GetMrkTitleFromFilCod,
|
||||
[PrgRsc_ATTENDANCE_EVENT] = AttRsc_GetTitleFromAttCod,
|
||||
[PrgRsc_FORUM_THREAD ] = ForRsc_GetTitleFromThrCod,
|
||||
};
|
||||
|
|
|
@ -150,8 +150,6 @@ static long Prj_PrjCod = -1L;
|
|||
/***************************** Private prototypes ****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Prj_SetPrjCod (long PrjCod);
|
||||
|
||||
static void Prj_ReqUsrsToSelect (void *Projects);
|
||||
static void Prj_GetSelectedUsrsAndShowTheirPrjs (struct Prj_Projects *Projects);
|
||||
static void Prj_ShowPrjsInCurrentPage (void *Projects);
|
||||
|
@ -182,10 +180,10 @@ static void Prj_PutIconToCreateNewPrj (struct Prj_Projects *Projects);
|
|||
static void Prj_PutButtonToCreateNewPrj (struct Prj_Projects *Projects);
|
||||
static void Prj_PutIconToShowAllData (struct Prj_Projects *Projects);
|
||||
|
||||
static void Prj_ShowOneProject (struct Prj_Projects *Projects,
|
||||
unsigned NumIndex,
|
||||
struct Prj_Project *Prj,
|
||||
Prj_ProjectView_t ProjectView);
|
||||
static void Prj_ShowProject (struct Prj_Projects *Projects,
|
||||
unsigned NumIndex,
|
||||
struct Prj_Project *Prj,
|
||||
Prj_ProjectView_t ProjectView);
|
||||
static bool Prj_CheckIfPrjIsFaulty (long PrjCod,struct Prj_Faults *Faults);
|
||||
static void Prj_PutWarningIcon (void);
|
||||
static void Prj_PutIconToToggleProject (unsigned UniqueId,
|
||||
|
@ -267,7 +265,7 @@ static void Prj_PutIconOffLockedUnlocked (const struct Prj_Project *Prj);
|
|||
/******* Set/get project code (used to pass parameter to file browser) *******/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Prj_SetPrjCod (long PrjCod)
|
||||
void Prj_SetPrjCod (long PrjCod)
|
||||
{
|
||||
Prj_PrjCod = PrjCod;
|
||||
}
|
||||
|
@ -383,7 +381,7 @@ static void Prj_GetSelectedUsrsAndShowTheirPrjs (struct Prj_Projects *Projects)
|
|||
{
|
||||
Usr_GetSelectedUsrsAndGoToAct (&Gbl.Usrs.Selected,
|
||||
Prj_ShowPrjsInCurrentPage,Projects, // when user(s) selected
|
||||
Prj_ReqUsrsToSelect,Projects); // when no user selected
|
||||
Prj_ReqUsrsToSelect,Projects); // when no user selected
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -529,7 +527,7 @@ static void Prj_ShowPrjsInCurrentPage (void *Projects)
|
|||
}
|
||||
|
||||
/* Show project */
|
||||
Prj_ShowOneProject ((struct Prj_Projects *) Projects,
|
||||
Prj_ShowProject ((struct Prj_Projects *) Projects,
|
||||
NumIndex,&Prj,Prj_LIST_PROJECTS);
|
||||
}
|
||||
|
||||
|
@ -1143,19 +1141,45 @@ static void Prj_PutIconToShowAllData (struct Prj_Projects *Projects)
|
|||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/***** Show a project and (if possible) a file browser with its documents ****/
|
||||
/************* Show a project followed by the list of projects ***************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Prj_ShowProjectWithFileBrowser (void)
|
||||
void Prj_ShowOneProject (void)
|
||||
{
|
||||
struct Prj_Projects Projects;
|
||||
|
||||
/***** Reset projects *****/
|
||||
Prj_ResetProjects (&Projects);
|
||||
|
||||
/***** Get parameters *****/
|
||||
Prj_GetParams (&Projects);
|
||||
Projects.PrjCod = Prj_GetParamPrjCod ();
|
||||
|
||||
/***** Show project and (if possible) its file browser *****/
|
||||
Prj_ShowOneProjectWithFileBrowser (&Projects);
|
||||
|
||||
/***** Show projects again *****/
|
||||
Prj_ShowProjects (&Projects);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/*** Show one project and (if possible) a file browser with its documents ****/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Prj_ShowOneProjectWithFileBrowser (struct Prj_Projects *Projects)
|
||||
{
|
||||
extern const char *Hlp_ASSESSMENT_Projects;
|
||||
struct Prj_Project Prj;
|
||||
|
||||
/***** Trivial check: show project only if code > 0 *****/
|
||||
if (Projects->PrjCod <= 0)
|
||||
return;
|
||||
|
||||
/***** Allocate memory for the project *****/
|
||||
Prj_AllocMemProject (&Prj);
|
||||
|
||||
/***** Get project data *****/
|
||||
Prj_SetPrjCod (Prj.PrjCod = Prj_GetParamPrjCod ());
|
||||
Prj.PrjCod = Projects->PrjCod;
|
||||
Prj_GetDataOfProjectByCod (&Prj);
|
||||
|
||||
/***** Begin box *****/
|
||||
|
@ -1163,8 +1187,17 @@ void Prj_ShowProjectWithFileBrowser (void)
|
|||
NULL,NULL,
|
||||
Hlp_ASSESSMENT_Projects,Box_NOT_CLOSABLE);
|
||||
|
||||
/***** Show the project *****/
|
||||
Prj_ShowOneUniqueProject (&Prj);
|
||||
/***** Begin table *****/
|
||||
HTM_TABLE_BeginWidePadding (2);
|
||||
|
||||
/***** Write project head *****/
|
||||
Prj_ShowProjectsHead (Projects,Prj_FILE_BROWSER_PROJECT);
|
||||
|
||||
/***** Show project *****/
|
||||
Prj_ShowProject (Projects,0,&Prj,Prj_FILE_BROWSER_PROJECT);
|
||||
|
||||
/***** End table *****/
|
||||
HTM_TABLE_End ();
|
||||
|
||||
/***** Show project file browsers *****/
|
||||
if (Prj_CheckIfICanViewProjectFiles (Prj.PrjCod))
|
||||
|
@ -1177,30 +1210,6 @@ void Prj_ShowProjectWithFileBrowser (void)
|
|||
Prj_FreeMemProject (&Prj);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/***************** View / edit file browser of one project *******************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Prj_ShowOneUniqueProject (struct Prj_Project *Prj)
|
||||
{
|
||||
struct Prj_Projects Projects;
|
||||
|
||||
/***** Reset projects *****/
|
||||
Prj_ResetProjects (&Projects);
|
||||
|
||||
/***** Begin table *****/
|
||||
HTM_TABLE_BeginWidePadding (2);
|
||||
|
||||
/***** Write project head *****/
|
||||
Prj_ShowProjectsHead (&Projects,Prj_FILE_BROWSER_PROJECT);
|
||||
|
||||
/***** Show project *****/
|
||||
Prj_ShowOneProject (&Projects,0,Prj,Prj_FILE_BROWSER_PROJECT);
|
||||
|
||||
/***** End table *****/
|
||||
HTM_TABLE_End ();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/********************** Show print view of one project ***********************/
|
||||
/*****************************************************************************/
|
||||
|
@ -1233,7 +1242,7 @@ void Prj_PrintOneProject (void)
|
|||
Prj_ShowProjectsHead (&Projects,Prj_PRINT_ONE_PROJECT);
|
||||
|
||||
/***** Write project *****/
|
||||
Prj_ShowOneProject (&Projects,0,&Prj,Prj_PRINT_ONE_PROJECT);
|
||||
Prj_ShowProject (&Projects,0,&Prj,Prj_PRINT_ONE_PROJECT);
|
||||
|
||||
/***** End table *****/
|
||||
HTM_TABLE_End ();
|
||||
|
@ -1246,10 +1255,10 @@ void Prj_PrintOneProject (void)
|
|||
/***************************** Show one project ******************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Prj_ShowOneProject (struct Prj_Projects *Projects,
|
||||
unsigned NumIndex,
|
||||
struct Prj_Project *Prj,
|
||||
Prj_ProjectView_t ProjectView)
|
||||
static void Prj_ShowProject (struct Prj_Projects *Projects,
|
||||
unsigned NumIndex,
|
||||
struct Prj_Project *Prj,
|
||||
Prj_ProjectView_t ProjectView)
|
||||
{
|
||||
extern const char *Txt_Actions[Act_NUM_ACTIONS];
|
||||
extern const char *Txt_Assigned_QUESTION;
|
||||
|
|
|
@ -172,6 +172,7 @@ struct Prj_Project
|
|||
/***************************** Public prototypes *****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Prj_SetPrjCod (long PrjCod);
|
||||
long Prj_GetPrjCod (void);
|
||||
|
||||
void Prj_ResetProjects (struct Prj_Projects *Projects);
|
||||
|
@ -187,8 +188,8 @@ void Prj_PutParams (struct Prj_Filter *Filter,
|
|||
long PrjCod);
|
||||
void Prj_GetParams (struct Prj_Projects *Projects);
|
||||
|
||||
void Prj_ShowProjectWithFileBrowser (void);
|
||||
void Prj_ShowOneUniqueProject (struct Prj_Project *Prj);
|
||||
void Prj_ShowOneProject (void);
|
||||
void Prj_ShowOneProjectWithFileBrowser (struct Prj_Projects *Projects);
|
||||
|
||||
void Prj_PrintOneProject (void);
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ void PrjRsc_GetLinkToProject (void)
|
|||
struct Prj_Projects Projects;
|
||||
char Title[Prj_MAX_BYTES_TITLE + 1];
|
||||
|
||||
/***** Reset projects context *****/
|
||||
/***** Reset projects *****/
|
||||
Prj_ResetProjects (&Projects);
|
||||
|
||||
/***** Get parameters *****/
|
||||
|
@ -60,6 +60,9 @@ void PrjRsc_GetLinkToProject (void)
|
|||
Ale_ShowAlert (Ale_SUCCESS,Txt_Link_to_resource_X_copied_into_clipboard,
|
||||
Title);
|
||||
|
||||
/***** Show project and (if possible) its file browser *****/
|
||||
Prj_ShowOneProjectWithFileBrowser (&Projects);
|
||||
|
||||
/***** Show projects again *****/
|
||||
Prj_ShowProjects (&Projects);
|
||||
}
|
||||
|
|
|
@ -116,6 +116,7 @@ void SvyRsc_WriteSurveyInCrsProgram (long SvyCod,bool PutFormToGo,
|
|||
|
||||
void SvyRsc_GetTitleFromSvyCod (long SvyCod,char *Title,size_t TitleSize)
|
||||
{
|
||||
extern const char *Txt_Surveys;
|
||||
char TitleFromDB[Svy_MAX_BYTES_SURVEY_TITLE + 1];
|
||||
|
||||
if (SvyCod > 0)
|
||||
|
@ -125,5 +126,6 @@ void SvyRsc_GetTitleFromSvyCod (long SvyCod,char *Title,size_t TitleSize)
|
|||
Str_Copy (Title,TitleFromDB,TitleSize);
|
||||
}
|
||||
else
|
||||
Str_Copy (Title,"?",TitleSize);
|
||||
/***** Generic title for all surveys *****/
|
||||
Str_Copy (Title,Txt_Surveys,TitleSize);
|
||||
}
|
||||
|
|
26
swad_text.c
26
swad_text.c
|
@ -4135,7 +4135,7 @@ const char *Txt_Calls_for_exams =
|
|||
#elif L==9 // pt
|
||||
"Chamadas para exames";
|
||||
#elif L==10 // tr
|
||||
"Calls for exams"; // Çeviri lazim!
|
||||
"Sınav çağrıları";
|
||||
#endif
|
||||
|
||||
const char *Txt_Can_not_create_the_folder_X_because_it_would_exceed_the_disk_quota = // Warning: it is very important to include %s in the following sentences
|
||||
|
@ -11099,7 +11099,7 @@ const char *Txt_Document =
|
|||
#elif L==5 // fr
|
||||
"Document";
|
||||
#elif L==6 // gn
|
||||
"Documento"; // Okoteve traducción
|
||||
"Terakuatia";
|
||||
#elif L==7 // it
|
||||
"Documento";
|
||||
#elif L==8 // pl
|
||||
|
@ -11149,7 +11149,7 @@ const char *Txt_Documents =
|
|||
#elif L==7 // it
|
||||
"Documenti";
|
||||
#elif L==8 // pl
|
||||
"Documents"; // Potrzebujesz tlumaczenie
|
||||
"Dokumenty";
|
||||
#elif L==9 // pt
|
||||
"Documentos";
|
||||
#elif L==10 // tr
|
||||
|
@ -12877,7 +12877,7 @@ const char *Txt_Exam =
|
|||
#elif L==5 // fr
|
||||
"Examen";
|
||||
#elif L==6 // gn
|
||||
"Kuaara'ã";
|
||||
"Aranduchauka";
|
||||
#elif L==7 // it
|
||||
"Esame";
|
||||
#elif L==8 // pl
|
||||
|
@ -13041,7 +13041,7 @@ const char *Txt_EXAM_Open =
|
|||
#elif L==5 // fr
|
||||
"Ouvert";
|
||||
#elif L==6 // gn
|
||||
"Abierto"; // Okoteve traducción
|
||||
"Ojei";
|
||||
#elif L==7 // it
|
||||
"Aperto";
|
||||
#elif L==8 // pl
|
||||
|
@ -13158,7 +13158,7 @@ const char *Txt_EXAMS_ORDER[Exa_NUM_ORDERS] =
|
|||
#elif L==5 // fr
|
||||
"Examen"
|
||||
#elif L==6 // gn
|
||||
"Kuaara'ã"
|
||||
"Aranduchauka"
|
||||
#elif L==7 // it
|
||||
"Esame"
|
||||
#elif L==8 // pl
|
||||
|
@ -24133,7 +24133,7 @@ const char *Txt_MSG_Open =
|
|||
#elif L==5 // fr
|
||||
"Ouvert";
|
||||
#elif L==6 // gn
|
||||
"Abierto"; // Okoteve traducción
|
||||
"Ojei";
|
||||
#elif L==7 // it
|
||||
"Aperto";
|
||||
#elif L==8 // pl
|
||||
|
@ -25053,7 +25053,7 @@ const char *Txt_New_institution =
|
|||
#elif L==5 // fr
|
||||
"Nouvel établissement (université, collège, école, académie, organisation, entreprise...)";
|
||||
#elif L==6 // gn
|
||||
"Nueva institución (universidad, instituto, colegio, academia, organización, empresa...)"; // Okoteve traducción
|
||||
"Nueva institución (universidad, instituto, mbo'ehao, academia, organización, empresa...)"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Nuova istituzione (università, istituto, scuola, accademia, organizzazione, società...)";
|
||||
#elif L==8 // pl
|
||||
|
@ -25720,7 +25720,7 @@ const char *Txt_Nickname =
|
|||
#elif L==5 // fr
|
||||
"Surnom";
|
||||
#elif L==6 // gn
|
||||
"Apodo"; // Okoteve traducción
|
||||
"Hero";
|
||||
#elif L==7 // it
|
||||
"Nome-utente";
|
||||
#elif L==8 // pl
|
||||
|
@ -28035,7 +28035,7 @@ const char *Txt_NOTIFY_EVENTS_SINGULAR[Ntf_NUM_NOTIFY_EVENTS] =
|
|||
#elif L==5 // fr
|
||||
"Fichier de document"
|
||||
#elif L==6 // gn
|
||||
"Documento" // Okoteve traducción
|
||||
"Terakuatia"
|
||||
#elif L==7 // it
|
||||
"Documento"
|
||||
#elif L==8 // pl
|
||||
|
@ -35778,7 +35778,7 @@ const char *Txt_RESOURCE_TYPES[PrgRsc_NUM_TYPES] =
|
|||
#elif L==5 // fr
|
||||
"Examen"
|
||||
#elif L==6 // gn
|
||||
"Kuaara'ã"
|
||||
"Aranduchauka"
|
||||
#elif L==7 // it
|
||||
"Esame"
|
||||
#elif L==8 // pl
|
||||
|
@ -35847,7 +35847,7 @@ const char *Txt_RESOURCE_TYPES[PrgRsc_NUM_TYPES] =
|
|||
#elif L==5 // fr
|
||||
"Document"
|
||||
#elif L==6 // gn
|
||||
"Documento" // Okoteve traducción
|
||||
"Terakuatia"
|
||||
#elif L==7 // it
|
||||
"Documento"
|
||||
#elif L==8 // pl
|
||||
|
@ -44749,7 +44749,7 @@ const char *Txt_STAT_COLOR_TYPES[Sta_NUM_COLOR_TYPES] =
|
|||
#elif L==5 // fr
|
||||
"couleur"
|
||||
#elif L==6 // gn
|
||||
"color" // Okoteve traducción
|
||||
"sa'y"
|
||||
#elif L==7 // it
|
||||
"colore"
|
||||
#elif L==8 // pl
|
||||
|
|
Loading…
Reference in New Issue