mirror of https://github.com/acanas/swad-core.git
Version 17.23
This commit is contained in:
parent
7920adedd1
commit
0c96d661ab
|
@ -248,21 +248,22 @@
|
|||
|
||||
// TODO: "Administrar varios profesores no editores" -> debería poder hacerlo un profesor (Perico)
|
||||
|
||||
// TODO: Mover PROFILE.Briefcase a FILES.Briefcase en la ayuda de GitHub (aquí ya está cambiado)
|
||||
|
||||
// TODO: Los profesores no editores no deberían recibir notificaciones de solicitudes de inscripción.
|
||||
|
||||
/*****************************************************************************/
|
||||
/****************************** Public constants *****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
#define Log_PLATFORM_VERSION "SWAD 17.22.1 (2017-10-08)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 17.23 (2017-10-10)"
|
||||
#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.23: Oct 10, 2017 New filter to select preassigned/non-preassigned projects.
|
||||
New filter to select hidden/visible projects.
|
||||
Code refactoring in parameters of projects. (234140 lines)
|
||||
Version 17.22.1: Oct 08, 2017 Changed commentars on actions. (233756 lines)
|
||||
Version 17.22: Oct 08, 2017 New file browser for project assessment. (233755 lines)
|
||||
19 changes necessary in database:
|
||||
|
|
|
@ -2363,7 +2363,7 @@ void Brw_GetParAndInitFileBrowser (void)
|
|||
/***** Get other parameters *****/
|
||||
if (Brw_GetIfProjectFileBrowser ())
|
||||
/* Get project code */
|
||||
Gbl.CurrentCrs.Prjs.PrjCod = Prj_GetParamPrjCod ();
|
||||
Gbl.Prjs.PrjCod = Prj_GetParamPrjCod ();
|
||||
else if (Brw_GetIfCrsAssigWorksFileBrowser ())
|
||||
{
|
||||
/* Get lists of the selected users */
|
||||
|
@ -2602,7 +2602,7 @@ void Brw_PutParamsFileBrowser (Act_Action_t NextAction,
|
|||
Grp_PutParamGrpCod (Gbl.CurrentCrs.Grps.GrpCod);
|
||||
else if (Brw_GetIfProjectFileBrowser ()) // This file browser needs specify a project
|
||||
/***** Project code *****/
|
||||
Prj_PutParamPrjCod (Gbl.CurrentCrs.Prjs.PrjCod);
|
||||
Prj_PutParamPrjCod (Gbl.Prjs.PrjCod);
|
||||
else if (NextAction != ActUnk)
|
||||
{
|
||||
if (Brw_GetIfCrsAssigWorksFileBrowser ())
|
||||
|
@ -2871,14 +2871,14 @@ static void Brw_SetPathFileBrowser (void)
|
|||
project-code mod 100 */
|
||||
sprintf (Path,"%s/%s/%02u",
|
||||
Gbl.CurrentCrs.PathPriv,Cfg_FOLDER_PRJ,
|
||||
(unsigned) (Gbl.CurrentCrs.Prjs.PrjCod % 100));
|
||||
(unsigned) (Gbl.Prjs.PrjCod % 100));
|
||||
Fil_CreateDirIfNotExists (Path);
|
||||
|
||||
/* Create path to the current project */
|
||||
sprintf (Gbl.FileBrowser.Priv.PathAboveRootFolder,"%s/%s/%02u/%ld",
|
||||
Gbl.CurrentCrs.PathPriv,Cfg_FOLDER_PRJ,
|
||||
(unsigned) (Gbl.CurrentCrs.Prjs.PrjCod % 100),
|
||||
Gbl.CurrentCrs.Prjs.PrjCod);
|
||||
(unsigned) (Gbl.Prjs.PrjCod % 100),
|
||||
Gbl.Prjs.PrjCod);
|
||||
break;
|
||||
case Brw_ADMI_BRF_USR:
|
||||
Str_Copy (Gbl.FileBrowser.Priv.PathAboveRootFolder,
|
||||
|
@ -3430,7 +3430,7 @@ static void Brw_ShowFileBrowserProject (void)
|
|||
/***** Get project data *****/
|
||||
Prj.PrjCod = Prj_GetParamPrjCod ();
|
||||
Prj_GetDataOfProjectByCod (&Prj);
|
||||
Gbl.CurrentCrs.Prjs.PrjCod = Prj.PrjCod;
|
||||
Gbl.Prjs.PrjCod = Prj.PrjCod;
|
||||
|
||||
/***** Start box *****/
|
||||
Box_StartBox (NULL,Prj.Title,NULL,
|
||||
|
@ -3440,7 +3440,7 @@ static void Brw_ShowFileBrowserProject (void)
|
|||
Prj_ShowOneUniqueProject (&Prj);
|
||||
|
||||
/***** Show project file browsers *****/
|
||||
MyRoleInProject = Prj_GetMyRoleInProject (Gbl.CurrentCrs.Prjs.PrjCod);
|
||||
MyRoleInProject = Prj_GetMyRoleInProject (Gbl.Prjs.PrjCod);
|
||||
if (Prj_CheckIfICanViewProjectFiles (MyRoleInProject))
|
||||
{
|
||||
Brw_WriteTopBeforeShowingFileBrowser ();
|
||||
|
@ -5252,7 +5252,7 @@ static void Brw_PutParamsFullTree (void)
|
|||
if (Brw_GetIfGroupFileBrowser ())
|
||||
Grp_PutParamGrpCod (Gbl.CurrentCrs.Grps.GrpCod);
|
||||
else if (Brw_GetIfProjectFileBrowser ()) // This file browser needs specify a project
|
||||
Prj_PutParamPrjCod (Gbl.CurrentCrs.Prjs.PrjCod);
|
||||
Prj_PutParamPrjCod (Gbl.Prjs.PrjCod);
|
||||
else if (Brw_GetIfCrsAssigWorksFileBrowser ())
|
||||
Usr_PutHiddenParUsrCodAll (Brw_ActSeeAdm[Gbl.FileBrowser.Type],
|
||||
Gbl.Usrs.Select[Rol_UNK]);
|
||||
|
@ -5445,7 +5445,7 @@ static void Brw_GetAndUpdateDateLastAccFileBrowser (void)
|
|||
break;
|
||||
case Brw_ADMI_DOC_PRJ:
|
||||
case Brw_ADMI_ASS_PRJ:
|
||||
Cod = Gbl.CurrentCrs.Prjs.PrjCod;
|
||||
Cod = Gbl.Prjs.PrjCod;
|
||||
break;
|
||||
case Brw_ADMI_BRF_USR:
|
||||
Cod = -1L;
|
||||
|
@ -7626,7 +7626,7 @@ static bool Brw_CheckIfClipboardIsInThisTree (void)
|
|||
break;
|
||||
case Brw_ADMI_DOC_PRJ:
|
||||
case Brw_ADMI_ASS_PRJ:
|
||||
if (Gbl.FileBrowser.Clipboard.Cod == Gbl.CurrentCrs.Prjs.PrjCod)
|
||||
if (Gbl.FileBrowser.Clipboard.Cod == Gbl.Prjs.PrjCod)
|
||||
return true; // I am in the project of the clipboard
|
||||
break;
|
||||
case Brw_ADMI_BRF_USR:
|
||||
|
@ -7714,7 +7714,7 @@ static long Brw_GetCodForClipboard (void)
|
|||
return Gbl.CurrentCrs.Grps.GrpCod;
|
||||
case Brw_ADMI_DOC_PRJ:
|
||||
case Brw_ADMI_ASS_PRJ:
|
||||
return Gbl.CurrentCrs.Prjs.PrjCod;
|
||||
return Gbl.Prjs.PrjCod;
|
||||
default:
|
||||
return -1L;
|
||||
}
|
||||
|
@ -8188,7 +8188,7 @@ static void Brw_RemoveAffectedClipboards (Brw_FileBrowser_t FileBrowser,
|
|||
sprintf (Query,"DELETE FROM clipboard"
|
||||
" WHERE FileBrowser=%u AND Cod=%ld",
|
||||
(unsigned) FileBrowser,
|
||||
Gbl.CurrentCrs.Prjs.PrjCod);
|
||||
Gbl.Prjs.PrjCod);
|
||||
break;
|
||||
case Brw_ADMI_BRF_USR:
|
||||
sprintf (Query,"DELETE FROM clipboard"
|
||||
|
@ -11439,7 +11439,7 @@ long Brw_GetCodForFiles (void)
|
|||
return Gbl.CurrentCrs.Grps.GrpCod;
|
||||
case Brw_ADMI_DOC_PRJ:
|
||||
case Brw_ADMI_ASS_PRJ:
|
||||
return Gbl.CurrentCrs.Prjs.PrjCod;
|
||||
return Gbl.Prjs.PrjCod;
|
||||
default:
|
||||
return -1L;
|
||||
}
|
||||
|
@ -11994,7 +11994,7 @@ static bool Brw_CheckIfICanModifyPrjDocFileOrFolder (void)
|
|||
case Rol_STD:
|
||||
case Rol_NET:
|
||||
case Rol_TCH:
|
||||
switch (Prj_GetMyRoleInProject (Gbl.CurrentCrs.Prjs.PrjCod))
|
||||
switch (Prj_GetMyRoleInProject (Gbl.Prjs.PrjCod))
|
||||
{
|
||||
case Prj_ROLE_UNK: // I am not a member
|
||||
return false;
|
||||
|
@ -12027,7 +12027,7 @@ static bool Brw_CheckIfICanModifyPrjAssFileOrFolder (void)
|
|||
case Rol_STD:
|
||||
case Rol_NET:
|
||||
case Rol_TCH:
|
||||
switch (Prj_GetMyRoleInProject (Gbl.CurrentCrs.Prjs.PrjCod))
|
||||
switch (Prj_GetMyRoleInProject (Gbl.Prjs.PrjCod))
|
||||
{
|
||||
case Prj_ROLE_UNK: // I am not a member
|
||||
case Prj_ROLE_STD: // Students can not view or edit project assessment
|
||||
|
|
|
@ -349,10 +349,17 @@ void Gbl_InitializeGlobals (void)
|
|||
Gbl.Asgs.LstAsgCods = NULL;
|
||||
Gbl.Asgs.SelectedOrder = Asg_ORDER_DEFAULT;
|
||||
|
||||
/* Projects */
|
||||
Gbl.Prjs.LstIsRead = false; // List is not read
|
||||
Gbl.Prjs.Num = 0;
|
||||
Gbl.Prjs.LstPrjCods = NULL;
|
||||
Gbl.Prjs.My_All = Prj_WHOSE_PROJECTS_DEFAULT;
|
||||
Gbl.Prjs.PreNon = Prj_PREASSIGNED_DEFAULT |
|
||||
Prj_NONPREASSIG_DEFAULT;
|
||||
Gbl.Prjs.HidVis = Prj_HIDDEN_DEFAULT |
|
||||
Prj_VISIBL_DEFAULT;
|
||||
Gbl.Prjs.SelectedOrder = Prj_ORDER_DEFAULT;
|
||||
Gbl.Prjs.PrjCod = -1L;
|
||||
|
||||
Gbl.AttEvents.LstIsRead = false; // List is not read
|
||||
Gbl.AttEvents.Num = 0;
|
||||
|
|
|
@ -460,11 +460,6 @@ struct Globals
|
|||
char PathPriv[PATH_MAX + 1]; // Absolute path to the private directory of the course
|
||||
char PathRelPubl[PATH_MAX + 1]; // Relative path to the public directory of the course
|
||||
char PathURLPubl[PATH_MAX + 1]; // Abolute URL to the public part of the course
|
||||
struct
|
||||
{
|
||||
Prj_WhichProjects_t WhichPrjs; // Show my projects or all projects
|
||||
long PrjCod;
|
||||
} Prjs;
|
||||
struct
|
||||
{
|
||||
unsigned NumGrps;
|
||||
|
@ -581,8 +576,11 @@ struct Globals
|
|||
unsigned Num; // Number of projects
|
||||
long *LstPrjCods; // List of project codes
|
||||
Prj_Order_t SelectedOrder;
|
||||
long PrjCodToEdit; // Used as parameter in contextual links
|
||||
Prj_WhoseProjects_t My_All; // Show my / all projects
|
||||
unsigned PreNon; // Show preassigned / non preassigned projects
|
||||
unsigned HidVis; // Show hidden / visible projects
|
||||
unsigned CurrentPage;
|
||||
long PrjCod; // Current project
|
||||
} Prjs;
|
||||
struct
|
||||
{
|
||||
|
|
|
@ -164,9 +164,12 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
|
|||
break;
|
||||
case Pag_PROJECTS:
|
||||
Act_FormStartAnchor (ActSeePrj,Pagination->Anchor);
|
||||
Pag_PutHiddenParamPagNum (WhatPaginate,1);
|
||||
Prj_PutHiddenParamPrjOrder ();
|
||||
Prj_PutParamWhichPrjs ();
|
||||
Prj_PutParams (Gbl.Prjs.My_All,
|
||||
Gbl.Prjs.PreNon,
|
||||
Gbl.Prjs.HidVis,
|
||||
Gbl.Prjs.SelectedOrder,
|
||||
1,
|
||||
-1L);
|
||||
break;
|
||||
case Pag_GAMES:
|
||||
Act_FormStartAnchor (ActSeeAllGam,Pagination->Anchor);
|
||||
|
@ -271,9 +274,12 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
|
|||
break;
|
||||
case Pag_PROJECTS:
|
||||
Act_FormStartAnchor (ActSeePrj,Pagination->Anchor);
|
||||
Pag_PutHiddenParamPagNum (WhatPaginate,1);
|
||||
Prj_PutHiddenParamPrjOrder ();
|
||||
Prj_PutParamWhichPrjs ();
|
||||
Prj_PutParams (Gbl.Prjs.My_All,
|
||||
Gbl.Prjs.PreNon,
|
||||
Gbl.Prjs.HidVis,
|
||||
Gbl.Prjs.SelectedOrder,
|
||||
1,
|
||||
-1L);
|
||||
break;
|
||||
case Pag_GAMES:
|
||||
Act_FormStartAnchor (ActSeeAllGam,Pagination->Anchor);
|
||||
|
@ -364,9 +370,12 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
|
|||
break;
|
||||
case Pag_PROJECTS:
|
||||
Act_FormStartAnchor (ActSeePrj,Pagination->Anchor);
|
||||
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage);
|
||||
Prj_PutHiddenParamPrjOrder ();
|
||||
Prj_PutParamWhichPrjs ();
|
||||
Prj_PutParams (Gbl.Prjs.My_All,
|
||||
Gbl.Prjs.PreNon,
|
||||
Gbl.Prjs.HidVis,
|
||||
Gbl.Prjs.SelectedOrder,
|
||||
Pagination->LeftPage,
|
||||
-1L);
|
||||
break;
|
||||
case Pag_GAMES:
|
||||
Act_FormStartAnchor (ActSeeAllGam,Pagination->Anchor);
|
||||
|
@ -468,9 +477,12 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
|
|||
break;
|
||||
case Pag_PROJECTS:
|
||||
Act_FormStartAnchor (ActSeePrj,Pagination->Anchor);
|
||||
Pag_PutHiddenParamPagNum (WhatPaginate,NumPage);
|
||||
Prj_PutHiddenParamPrjOrder ();
|
||||
Prj_PutParamWhichPrjs ();
|
||||
Prj_PutParams (Gbl.Prjs.My_All,
|
||||
Gbl.Prjs.PreNon,
|
||||
Gbl.Prjs.HidVis,
|
||||
Gbl.Prjs.SelectedOrder,
|
||||
NumPage,
|
||||
-1L);
|
||||
break;
|
||||
case Pag_GAMES:
|
||||
Act_FormStartAnchor (ActSeeAllGam,Pagination->Anchor);
|
||||
|
@ -560,9 +572,12 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
|
|||
break;
|
||||
case Pag_PROJECTS:
|
||||
Act_FormStartAnchor (ActSeePrj,Pagination->Anchor);
|
||||
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage);
|
||||
Prj_PutHiddenParamPrjOrder ();
|
||||
Prj_PutParamWhichPrjs ();
|
||||
Prj_PutParams (Gbl.Prjs.My_All,
|
||||
Gbl.Prjs.PreNon,
|
||||
Gbl.Prjs.HidVis,
|
||||
Gbl.Prjs.SelectedOrder,
|
||||
Pagination->RightPage,
|
||||
-1L);
|
||||
break;
|
||||
case Pag_GAMES:
|
||||
Act_FormStartAnchor (ActSeeAllGam,Pagination->Anchor);
|
||||
|
@ -651,9 +666,12 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
|
|||
break;
|
||||
case Pag_PROJECTS:
|
||||
Act_FormStartAnchor (ActSeePrj,Pagination->Anchor);
|
||||
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags);
|
||||
Prj_PutHiddenParamPrjOrder ();
|
||||
Prj_PutParamWhichPrjs ();
|
||||
Prj_PutParams (Gbl.Prjs.My_All,
|
||||
Gbl.Prjs.PreNon,
|
||||
Gbl.Prjs.HidVis,
|
||||
Gbl.Prjs.SelectedOrder,
|
||||
Pagination->NumPags,
|
||||
-1L);
|
||||
break;
|
||||
case Pag_GAMES:
|
||||
Act_FormStartAnchor (ActSeeAllGam,Pagination->Anchor);
|
||||
|
|
884
swad_project.c
884
swad_project.c
File diff suppressed because it is too large
Load Diff
|
@ -39,14 +39,6 @@
|
|||
#define Prj_MAX_CHARS_PROJECT_TITLE (128 - 1) // 127
|
||||
#define Prj_MAX_BYTES_PROJECT_TITLE ((Prj_MAX_CHARS_PROJECT_TITLE + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
|
||||
|
||||
#define Prj_NUM_TYPES_PREASSIGNED 2
|
||||
typedef enum
|
||||
{
|
||||
Prj_NOT_PREASSIGNED = 0,
|
||||
Prj_PREASSIGNED = 1,
|
||||
} Prj_Preassigned_t;
|
||||
#define Prj_PREASSIGNED_DEFAULT Prj_NOT_PREASSIGNED
|
||||
|
||||
#define Prj_NUM_PROPOSAL_TYPES 3
|
||||
typedef enum
|
||||
{
|
||||
|
@ -67,12 +59,50 @@ typedef enum
|
|||
Prj_ROLE_EVA = 3, // Evaluator
|
||||
} Prj_RoleInProject_t;
|
||||
|
||||
#define Prj_NUM_ORDERS 4
|
||||
typedef enum
|
||||
{
|
||||
Prj_ORDER_START_TIME = 0,
|
||||
Prj_ORDER_END_TIME = 1,
|
||||
Prj_ORDER_TITLE = 2,
|
||||
Prj_ORDER_DEPARTMENT = 3,
|
||||
} Prj_Order_t;
|
||||
#define Prj_ORDER_DEFAULT Prj_ORDER_START_TIME
|
||||
|
||||
#define Prj_NUM_WHOSE_PROJECTS 2
|
||||
typedef enum
|
||||
{
|
||||
Prj_MY__PROJECTS,
|
||||
Prj_ALL_PROJECTS,
|
||||
} Prj_WhoseProjects_t;
|
||||
#define Prj_WHOSE_PROJECTS_DEFAULT Prj_MY__PROJECTS
|
||||
|
||||
#define Prj_NUM_PREASSIGNED_NONPREASSIG 2
|
||||
typedef enum
|
||||
{
|
||||
Prj_PREASSIGNED = 0,
|
||||
Prj_NONPREASSIG = 1,
|
||||
} Prj_PreassignedNonpreassig_t;
|
||||
#define Prj_NEW_PRJ_PREASSIGNED_NONPREASSIG_DEFAULT Prj_NONPREASSIG
|
||||
#define Prj_PREASSIGNED_DEFAULT (1 << Prj_PREASSIGNED) // on
|
||||
#define Prj_NONPREASSIG_DEFAULT (1 << Prj_NONPREASSIG) // on
|
||||
|
||||
#define Prj_NUM_HIDDEN_VISIBL 2
|
||||
typedef enum
|
||||
{
|
||||
Prj_HIDDEN = 0,
|
||||
Prj_VISIBL = 1,
|
||||
} Prj_HiddenVisibl_t;
|
||||
#define Prj_NEW_PRJ_HIDDEN_VISIBL_DEFAULT Prj_VISIBL
|
||||
#define Prj_HIDDEN_DEFAULT (1 << Prj_HIDDEN) // on
|
||||
#define Prj_VISIBL_DEFAULT (1 << Prj_VISIBL) // on
|
||||
|
||||
struct Project
|
||||
{
|
||||
long PrjCod;
|
||||
long CrsCod;
|
||||
bool Hidden;
|
||||
Prj_Preassigned_t Preassigned;
|
||||
Prj_HiddenVisibl_t Hidden;
|
||||
Prj_PreassignedNonpreassig_t Preassigned;
|
||||
unsigned NumStds;
|
||||
Prj_Proposal_t Proposal;
|
||||
time_t CreatTime;
|
||||
|
@ -85,31 +115,19 @@ struct Project
|
|||
char URL[Cns_MAX_BYTES_WWW + 1];
|
||||
};
|
||||
|
||||
#define Prj_NUM_ORDERS 4
|
||||
typedef enum
|
||||
{
|
||||
Prj_ORDER_START_TIME = 0,
|
||||
Prj_ORDER_END_TIME = 1,
|
||||
Prj_ORDER_TITLE = 2,
|
||||
Prj_ORDER_DEPARTMENT = 3,
|
||||
} Prj_Order_t;
|
||||
#define Prj_ORDER_DEFAULT Prj_ORDER_START_TIME
|
||||
|
||||
#define Prj_NUM_WHICH_PROJECTS 2
|
||||
typedef enum
|
||||
{
|
||||
Prj_ONLY_MY_PROJECTS,
|
||||
Prj_ALL_PROJECTS,
|
||||
} Prj_WhichProjects_t;
|
||||
#define Prj_WHICH_PROJECTS_DEFAULT Prj_ONLY_MY_PROJECTS
|
||||
|
||||
/*****************************************************************************/
|
||||
/***************************** Public prototypes *****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Prj_SeeProjects (void);
|
||||
void Prj_ShowTableAllProjects (void);
|
||||
void Prj_PutParamWhichPrjs (void);
|
||||
|
||||
void Prj_PutParams (Prj_WhoseProjects_t My_All,
|
||||
unsigned PreNon,
|
||||
unsigned HidVis,
|
||||
Prj_Order_t Order,
|
||||
unsigned NumPage,
|
||||
long PrjCod);
|
||||
|
||||
void Prj_ShowOneUniqueProject (struct Project *Prj);
|
||||
|
||||
|
|
145
swad_text.c
145
swad_text.c
|
@ -30585,7 +30585,7 @@ const char *Txt_Preassigned_QUESTION =
|
|||
#if L==1
|
||||
"Preassignat?";
|
||||
#elif L==2
|
||||
"Vorzugeordnet?";
|
||||
"Vorbelegt?";
|
||||
#elif L==3
|
||||
"Preassigned?";
|
||||
#elif L==4
|
||||
|
@ -31444,7 +31444,7 @@ const char *Txt_PROJECT_ROLES_PLURAL_Abc[Prj_NUM_ROLES_IN_PROJECT] =
|
|||
};
|
||||
|
||||
const char *Txt_PROJECT_STATUS[Prj_NUM_PROPOSAL_TYPES] =
|
||||
{
|
||||
{
|
||||
#if L==1 // Prj_PROPOSAL_NEW
|
||||
"Projecte nou"
|
||||
#elif L==2
|
||||
|
@ -31506,8 +31506,9 @@ const char *Txt_PROJECT_STATUS[Prj_NUM_PROPOSAL_TYPES] =
|
|||
#endif
|
||||
};
|
||||
|
||||
const char *Txt_PROJECT_WHICH_PROJECTS[2] =
|
||||
{
|
||||
const char *Txt_PROJECT_MY_ALL_PROJECTS[Prj_NUM_WHOSE_PROJECTS] =
|
||||
{
|
||||
// Prj_MY__PROJECTS
|
||||
#if L==1
|
||||
"Només els meus projectes"
|
||||
#elif L==2
|
||||
|
@ -31528,6 +31529,7 @@ const char *Txt_PROJECT_WHICH_PROJECTS[2] =
|
|||
"Apenas os meus projetos"
|
||||
#endif
|
||||
,
|
||||
// Prj_ALL_PROJECTS
|
||||
#if L==1
|
||||
"Tots els projectes"
|
||||
#elif L==2
|
||||
|
@ -31549,6 +31551,141 @@ const char *Txt_PROJECT_WHICH_PROJECTS[2] =
|
|||
#endif
|
||||
};
|
||||
|
||||
const char *Txt_PROJECT_PREASSIGNED_NONPREASSIGNED_PLURAL[Prj_NUM_PREASSIGNED_NONPREASSIG] =
|
||||
{
|
||||
// Prj_PREASSIGNED
|
||||
#if L==1
|
||||
"Projectes preassignats"
|
||||
#elif L==2
|
||||
"Vorbelegt Projekte"
|
||||
#elif L==3
|
||||
"Preassigned projects"
|
||||
#elif L==4
|
||||
"Proyectos preasignados"
|
||||
#elif L==5
|
||||
"Projets préassignés"
|
||||
#elif L==6
|
||||
"Proyectos preasignados" // Okoteve traducción
|
||||
#elif L==7
|
||||
"Progetti preassegnati"
|
||||
#elif L==8
|
||||
"Zadany projekty"
|
||||
#elif L==9
|
||||
"Projetos pré-atribuídos"
|
||||
#endif
|
||||
,
|
||||
// Prj_NONPREASSIG
|
||||
#if L==1
|
||||
"Projectes no preassignats"
|
||||
#elif L==2
|
||||
"Nicht vorbelegt Projekte"
|
||||
#elif L==3
|
||||
"Non-preassigned projects"
|
||||
#elif L==4
|
||||
"Proyectos no preasignados"
|
||||
#elif L==5
|
||||
"Projets non préassignés"
|
||||
#elif L==6
|
||||
"Proyectos no preasignados" // Okoteve traducción
|
||||
#elif L==7
|
||||
"Progetti non-preassegnati"
|
||||
#elif L==8
|
||||
"Nieprzypisane projekty"
|
||||
#elif L==9
|
||||
"Projetos não pré-atribuídos"
|
||||
#endif
|
||||
};
|
||||
|
||||
const char *Txt_PROJECT_PREASSIGNED_NONPREASSIGNED_SINGUL[Prj_NUM_PREASSIGNED_NONPREASSIG] =
|
||||
{
|
||||
// Prj_PREASSIGNED
|
||||
#if L==1
|
||||
"Projecte preassignat"
|
||||
#elif L==2
|
||||
"Vorbelegt Projekt"
|
||||
#elif L==3
|
||||
"Preassigned project"
|
||||
#elif L==4
|
||||
"Proyecto preasignado"
|
||||
#elif L==5
|
||||
"Projet préassigné"
|
||||
#elif L==6
|
||||
"Proyecto preasignado" // Okoteve traducción
|
||||
#elif L==7
|
||||
"Progetto preassegnato"
|
||||
#elif L==8
|
||||
"Zadany projekt"
|
||||
#elif L==9
|
||||
"Projeto pré-atribuído"
|
||||
#endif
|
||||
,
|
||||
// Prj_NONPREASSIG
|
||||
#if L==1
|
||||
"Projecte no preassignat"
|
||||
#elif L==2
|
||||
"Nicht vorbelegt Projekt"
|
||||
#elif L==3
|
||||
"Non-preassigned project"
|
||||
#elif L==4
|
||||
"Proyecto no preasignado"
|
||||
#elif L==5
|
||||
"Projet non préassigné"
|
||||
#elif L==6
|
||||
"Proyecto no preasignado" // Okoteve traducción
|
||||
#elif L==7
|
||||
"Progetto non-preassegnato"
|
||||
#elif L==8
|
||||
"Nieprzypisane projekt"
|
||||
#elif L==9
|
||||
"Projeto não pré-atribuído"
|
||||
#endif
|
||||
};
|
||||
|
||||
const char *Txt_PROJECT_HIDDEN_VISIBL_PROJECTS[Prj_NUM_HIDDEN_VISIBL] =
|
||||
{
|
||||
// Prj_HIDDEN
|
||||
#if L==1
|
||||
"Projectes ocults"
|
||||
#elif L==2
|
||||
"Unsichtbare Projekte"
|
||||
#elif L==3
|
||||
"Hidden projects"
|
||||
#elif L==4
|
||||
"Proyectos ocultos"
|
||||
#elif L==5
|
||||
"Projets cachés"
|
||||
#elif L==6
|
||||
"Proyectos ocultos" // Okoteve traducción
|
||||
#elif L==7
|
||||
"Progetti nascosti"
|
||||
#elif L==8
|
||||
"Ukryte projekty"
|
||||
#elif L==9
|
||||
"Projetos ocultos"
|
||||
#endif
|
||||
,
|
||||
// Prj_VISIBL
|
||||
#if L==1
|
||||
"Projectes visibles"
|
||||
#elif L==2
|
||||
"Sichtbar Projekte"
|
||||
#elif L==3
|
||||
"Visible projects"
|
||||
#elif L==4
|
||||
"Proyectos visibles"
|
||||
#elif L==5
|
||||
"Projets visibles"
|
||||
#elif L==6
|
||||
"Proyectos visibles" // Okoteve traducción
|
||||
#elif L==7
|
||||
"Progetti visibili"
|
||||
#elif L==8
|
||||
"Widoczne projekty"
|
||||
#elif L==9
|
||||
"Projetos visíveis"
|
||||
#endif
|
||||
};
|
||||
|
||||
const char *Txt_Projects =
|
||||
#if L==1
|
||||
"Projectes (treballs fi de grau/màster, tesi…)";
|
||||
|
|
Loading…
Reference in New Issue