mirror of https://github.com/acanas/swad-core.git
Version 17.11
This commit is contained in:
parent
af32886848
commit
c8bb6f7d88
|
@ -252,13 +252,14 @@
|
||||||
/****************************** Public constants *****************************/
|
/****************************** Public constants *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 17.10.7 (2017-09-29)"
|
#define Log_PLATFORM_VERSION "SWAD 17.11 (2017-09-29)"
|
||||||
#define CSS_FILE "swad17.0.css"
|
#define CSS_FILE "swad17.0.css"
|
||||||
#define JS_FILE "swad16.206.3.js"
|
#define JS_FILE "swad16.206.3.js"
|
||||||
|
|
||||||
// Number of lines (includes comments but not blank lines) has been got with the following command:
|
// 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
|
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*?.h sql/swad*.sql | tail -1
|
||||||
/*
|
/*
|
||||||
|
Version 17.11: Sep 29, 2017 Select which projects to show: only my projects or all projects. (231531 lines)
|
||||||
Version 17.10.7: Sep 29, 2017 Icons to select which projects to show: only my projects or all projects. (231456 lines)
|
Version 17.10.7: Sep 29, 2017 Icons to select which projects to show: only my projects or all projects. (231456 lines)
|
||||||
Version 17.10.6: Sep 25, 2017 Fixed bug when receiving projects. (231357 lines)
|
Version 17.10.6: Sep 25, 2017 Fixed bug when receiving projects. (231357 lines)
|
||||||
Version 17.10.5: Sep 25, 2017 Removed unused code in projects. (231354 lines)
|
Version 17.10.5: Sep 25, 2017 Removed unused code in projects. (231354 lines)
|
||||||
|
|
|
@ -4802,7 +4802,7 @@ void Grp_PutParamAllGroups (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/****** Parameter to show only my groups or all groups or in timetable *******/
|
/************* Parameter to show only my groups or all groups ****************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Grp_PutParamWhichGrps (void)
|
void Grp_PutParamWhichGrps (void)
|
||||||
|
@ -4868,7 +4868,7 @@ void Grp_GetParamWhichGrps (void)
|
||||||
|
|
||||||
if (!AlreadyGot)
|
if (!AlreadyGot)
|
||||||
{
|
{
|
||||||
/***** Get which grous (my groups or all groups) *****/
|
/***** Get which groups (my groups or all groups) *****/
|
||||||
/* Set default */
|
/* Set default */
|
||||||
switch (Gbl.Action.Act)
|
switch (Gbl.Action.Act)
|
||||||
{
|
{
|
||||||
|
|
127
swad_project.c
127
swad_project.c
|
@ -70,8 +70,12 @@ typedef enum
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
static void Prj_ShowProjectsInCurrentPage (void);
|
static void Prj_ShowProjectsInCurrentPage (void);
|
||||||
|
|
||||||
static void Prj_PutFormToSelectWhichProjecsToShow (void);
|
static void Prj_PutFormToSelectWhichProjecsToShow (void);
|
||||||
static void Prj_ShowFormToSelWhichPrjs (Act_Action_t Action,void (*FuncParams) ());
|
static void Prj_ShowFormToSelWhichPrjs (Act_Action_t Action,void (*FuncParams) ());
|
||||||
|
static void Prj_PutParamWhichPrjs (void);
|
||||||
|
static void Prj_GetParamWhichPrjs (void);
|
||||||
|
|
||||||
static void Prj_ShowProjectsHead (bool PrintView);
|
static void Prj_ShowProjectsHead (bool PrintView);
|
||||||
static void Prj_ShowTableAllProjectsHead (void);
|
static void Prj_ShowTableAllProjectsHead (void);
|
||||||
static bool Prj_CheckIfICanCreateProjects (void);
|
static bool Prj_CheckIfICanCreateProjects (void);
|
||||||
|
@ -141,6 +145,7 @@ void Prj_SeeProjects (void)
|
||||||
{
|
{
|
||||||
/***** Get parameters *****/
|
/***** Get parameters *****/
|
||||||
Prj_GetParamPrjOrder ();
|
Prj_GetParamPrjOrder ();
|
||||||
|
Prj_GetParamWhichPrjs ();
|
||||||
Gbl.Prjs.CurrentPage = Pag_GetParamPagNum (Pag_PROJECTS);
|
Gbl.Prjs.CurrentPage = Pag_GetParamPagNum (Pag_PROJECTS);
|
||||||
|
|
||||||
/***** Show all the projects *****/
|
/***** Show all the projects *****/
|
||||||
|
@ -159,6 +164,7 @@ void Prj_ShowTableAllProjects (void)
|
||||||
|
|
||||||
/***** Get parameters *****/
|
/***** Get parameters *****/
|
||||||
Prj_GetParamPrjOrder ();
|
Prj_GetParamPrjOrder ();
|
||||||
|
Prj_GetParamWhichPrjs ();
|
||||||
|
|
||||||
/***** Get list of projects *****/
|
/***** Get list of projects *****/
|
||||||
Prj_GetListProjects ();
|
Prj_GetListProjects ();
|
||||||
|
@ -319,6 +325,38 @@ static void Prj_ShowFormToSelWhichPrjs (Act_Action_t Action,void (*FuncParams) (
|
||||||
fprintf (Gbl.F.Out,"</div>");
|
fprintf (Gbl.F.Out,"</div>");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/************* Parameter to show only my projects or all projects ************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
static void Prj_PutParamWhichPrjs (void)
|
||||||
|
{
|
||||||
|
Prj_GetParamWhichPrjs ();
|
||||||
|
|
||||||
|
Par_PutHiddenParamUnsigned ("WhichPrjs",(unsigned) Gbl.CurrentCrs.Prjs.WhichPrjs);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/*********** Get whether to show only my projects or all projects ************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
static void Prj_GetParamWhichPrjs (void)
|
||||||
|
{
|
||||||
|
static bool AlreadyGot = false;
|
||||||
|
|
||||||
|
if (!AlreadyGot)
|
||||||
|
{
|
||||||
|
/***** Get which projects (my projects or all projects) *****/
|
||||||
|
Gbl.CurrentCrs.Prjs.WhichPrjs = (Prj_WhichProjects_t)
|
||||||
|
Par_GetParToUnsignedLong ("WhichPrjs",
|
||||||
|
0,
|
||||||
|
Prj_NUM_WHICH_PROJECTS - 1,
|
||||||
|
(unsigned long) Prj_WHICH_PROJECTS_DEFAULT);
|
||||||
|
|
||||||
|
AlreadyGot = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/******************* Write header with fields of a project *******************/
|
/******************* Write header with fields of a project *******************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -340,6 +378,7 @@ static void Prj_ShowProjectsHead (bool PrintView)
|
||||||
if (!PrintView)
|
if (!PrintView)
|
||||||
{
|
{
|
||||||
Act_FormStart (ActSeePrj);
|
Act_FormStart (ActSeePrj);
|
||||||
|
Prj_PutParamWhichPrjs ();
|
||||||
Pag_PutHiddenParamPagNum (Pag_PROJECTS,Gbl.Prjs.CurrentPage);
|
Pag_PutHiddenParamPagNum (Pag_PROJECTS,Gbl.Prjs.CurrentPage);
|
||||||
Par_PutHiddenParamUnsigned ("Order",(unsigned) Order);
|
Par_PutHiddenParamUnsigned ("Order",(unsigned) Order);
|
||||||
Act_LinkFormSubmit (Txt_PROJECT_ORDER_HELP[Order],"TIT_TBL",NULL);
|
Act_LinkFormSubmit (Txt_PROJECT_ORDER_HELP[Order],"TIT_TBL",NULL);
|
||||||
|
@ -1322,6 +1361,7 @@ static void Prj_ReqRemUsrFromPrj (Prj_RoleInProject_t RoleInProject)
|
||||||
|
|
||||||
/***** Get parameters *****/
|
/***** Get parameters *****/
|
||||||
Prj_GetParamPrjOrder ();
|
Prj_GetParamPrjOrder ();
|
||||||
|
Prj_GetParamWhichPrjs ();
|
||||||
Gbl.Prjs.CurrentPage = Pag_GetParamPagNum (Pag_PROJECTS);
|
Gbl.Prjs.CurrentPage = Pag_GetParamPagNum (Pag_PROJECTS);
|
||||||
if ((Prj.PrjCod = Prj_GetParamPrjCod ()) == -1L)
|
if ((Prj.PrjCod = Prj_GetParamPrjCod ()) == -1L)
|
||||||
Lay_ShowErrorAndExit ("Code of project is missing.");
|
Lay_ShowErrorAndExit ("Code of project is missing.");
|
||||||
|
@ -1404,6 +1444,7 @@ static void Prj_RemUsrFromPrj (Prj_RoleInProject_t RoleInProject)
|
||||||
|
|
||||||
/***** Get parameters *****/
|
/***** Get parameters *****/
|
||||||
Prj_GetParamPrjOrder ();
|
Prj_GetParamPrjOrder ();
|
||||||
|
Prj_GetParamWhichPrjs ();
|
||||||
Gbl.Prjs.CurrentPage = Pag_GetParamPagNum (Pag_PROJECTS);
|
Gbl.Prjs.CurrentPage = Pag_GetParamPagNum (Pag_PROJECTS);
|
||||||
if ((Prj.PrjCod = Prj_GetParamPrjCod ()) == -1L)
|
if ((Prj.PrjCod = Prj_GetParamPrjCod ()) == -1L)
|
||||||
Lay_ShowErrorAndExit ("Code of project is missing.");
|
Lay_ShowErrorAndExit ("Code of project is missing.");
|
||||||
|
@ -1534,6 +1575,7 @@ static void Prj_PutParams (void)
|
||||||
if (Gbl.Prjs.PrjCodToEdit > 0)
|
if (Gbl.Prjs.PrjCodToEdit > 0)
|
||||||
Prj_PutParamPrjCod (Gbl.Prjs.PrjCodToEdit);
|
Prj_PutParamPrjCod (Gbl.Prjs.PrjCodToEdit);
|
||||||
Prj_PutHiddenParamPrjOrder ();
|
Prj_PutHiddenParamPrjOrder ();
|
||||||
|
Prj_PutParamWhichPrjs ();
|
||||||
Pag_PutHiddenParamPagNum (Pag_PROJECTS,Gbl.Prjs.CurrentPage);
|
Pag_PutHiddenParamPagNum (Pag_PROJECTS,Gbl.Prjs.CurrentPage);
|
||||||
if (Gbl.Usrs.Other.UsrDat.UsrCod > 0)
|
if (Gbl.Usrs.Other.UsrDat.UsrCod > 0)
|
||||||
Usr_PutParamOtherUsrCodEncrypted ();
|
Usr_PutParamOtherUsrCodEncrypted ();
|
||||||
|
@ -1579,31 +1621,57 @@ void Prj_GetListProjects (void)
|
||||||
switch (Gbl.Prjs.SelectedOrder)
|
switch (Gbl.Prjs.SelectedOrder)
|
||||||
{
|
{
|
||||||
case Prj_ORDER_START_TIME:
|
case Prj_ORDER_START_TIME:
|
||||||
sprintf (OrderBySubQuery,"StartTime DESC,"
|
if (Gbl.CurrentCrs.Prjs.WhichPrjs == Prj_ONLY_MY_PROJECTS)
|
||||||
"EndTime DESC,"
|
sprintf (OrderBySubQuery,"projects.StartTime DESC,"
|
||||||
"Title");
|
"projects.EndTime DESC,"
|
||||||
|
"projects.Title");
|
||||||
|
else
|
||||||
|
sprintf (OrderBySubQuery,"StartTime DESC,"
|
||||||
|
"EndTime DESC,"
|
||||||
|
"Title");
|
||||||
break;
|
break;
|
||||||
case Prj_ORDER_END_TIME:
|
case Prj_ORDER_END_TIME:
|
||||||
sprintf (OrderBySubQuery,"EndTime DESC,"
|
if (Gbl.CurrentCrs.Prjs.WhichPrjs == Prj_ONLY_MY_PROJECTS)
|
||||||
"StartTime DESC,"
|
sprintf (OrderBySubQuery,"projects.EndTime DESC,"
|
||||||
"Title");
|
"projects.StartTime DESC,"
|
||||||
|
"projects.Title");
|
||||||
|
else
|
||||||
|
sprintf (OrderBySubQuery,"EndTime DESC,"
|
||||||
|
"StartTime DESC,"
|
||||||
|
"Title");
|
||||||
break;
|
break;
|
||||||
case Prj_ORDER_TITLE:
|
case Prj_ORDER_TITLE:
|
||||||
sprintf (OrderBySubQuery,"Title,"
|
if (Gbl.CurrentCrs.Prjs.WhichPrjs == Prj_ONLY_MY_PROJECTS)
|
||||||
"StartTime DESC,"
|
sprintf (OrderBySubQuery,"projects.Title,"
|
||||||
"EndTime DESC");
|
"projects.StartTime DESC,"
|
||||||
|
"projects.EndTime DESC");
|
||||||
|
else
|
||||||
|
sprintf (OrderBySubQuery,"Title,"
|
||||||
|
"StartTime DESC,"
|
||||||
|
"EndTime DESC");
|
||||||
break;
|
break;
|
||||||
case Prj_ORDER_DEPARTMENT: // Not applicable
|
case Prj_ORDER_DEPARTMENT: // Not applicable
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Query */
|
/* Query */
|
||||||
sprintf (Query,"SELECT PrjCod"
|
if (Gbl.CurrentCrs.Prjs.WhichPrjs == Prj_ONLY_MY_PROJECTS)
|
||||||
" FROM projects"
|
sprintf (Query,"SELECT projects.PrjCod"
|
||||||
" WHERE CrsCod=%ld%s"
|
" FROM projects,prj_usr"
|
||||||
" ORDER BY %s",
|
" WHERE projects.CrsCod=%ld%s"
|
||||||
Gbl.CurrentCrs.Crs.CrsCod,HiddenSubQuery,
|
" AND projects.PrjCod=prj_usr.PrjCod"
|
||||||
OrderBySubQuery);
|
" AND prj_usr.UsrCod=%ld"
|
||||||
|
" ORDER BY %s",
|
||||||
|
Gbl.CurrentCrs.Crs.CrsCod,HiddenSubQuery,
|
||||||
|
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
|
OrderBySubQuery);
|
||||||
|
else // Gbl.CurrentCrs.Prjs.WhichPrjs == Prj_ALL_PROJECTS
|
||||||
|
sprintf (Query,"SELECT PrjCod"
|
||||||
|
" FROM projects"
|
||||||
|
" WHERE CrsCod=%ld%s"
|
||||||
|
" ORDER BY %s",
|
||||||
|
Gbl.CurrentCrs.Crs.CrsCod,HiddenSubQuery,
|
||||||
|
OrderBySubQuery);
|
||||||
break;
|
break;
|
||||||
case Prj_ORDER_DEPARTMENT:
|
case Prj_ORDER_DEPARTMENT:
|
||||||
/* Hidden subquery */
|
/* Hidden subquery */
|
||||||
|
@ -1625,13 +1693,25 @@ void Prj_GetListProjects (void)
|
||||||
"projects.Title");
|
"projects.Title");
|
||||||
|
|
||||||
/* Query */
|
/* Query */
|
||||||
sprintf (Query,"SELECT projects.PrjCod"
|
if (Gbl.CurrentCrs.Prjs.WhichPrjs == Prj_ONLY_MY_PROJECTS)
|
||||||
" FROM projects LEFT JOIN departments"
|
sprintf (Query,"SELECT projects.PrjCod"
|
||||||
" ON projects.DptCod=departments.DptCod"
|
" FROM prj_usr,projects LEFT JOIN departments"
|
||||||
" WHERE projects.CrsCod=%ld%s"
|
" ON projects.DptCod=departments.DptCod"
|
||||||
" ORDER BY %s",
|
" WHERE projects.CrsCod=%ld%s"
|
||||||
Gbl.CurrentCrs.Crs.CrsCod,HiddenSubQuery,
|
" AND projects.PrjCod=prj_usr.PrjCod"
|
||||||
OrderBySubQuery);
|
" AND prj_usr.UsrCod=%ld"
|
||||||
|
" ORDER BY %s",
|
||||||
|
Gbl.CurrentCrs.Crs.CrsCod,HiddenSubQuery,
|
||||||
|
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
|
OrderBySubQuery);
|
||||||
|
else // Gbl.CurrentCrs.Prjs.WhichPrjs == Prj_ALL_PROJECTS
|
||||||
|
sprintf (Query,"SELECT projects.PrjCod"
|
||||||
|
" FROM projects LEFT JOIN departments"
|
||||||
|
" ON projects.DptCod=departments.DptCod"
|
||||||
|
" WHERE projects.CrsCod=%ld%s"
|
||||||
|
" ORDER BY %s",
|
||||||
|
Gbl.CurrentCrs.Crs.CrsCod,HiddenSubQuery,
|
||||||
|
OrderBySubQuery);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1860,6 +1940,7 @@ void Prj_ReqRemProject (void)
|
||||||
|
|
||||||
/***** Get parameters *****/
|
/***** Get parameters *****/
|
||||||
Prj_GetParamPrjOrder ();
|
Prj_GetParamPrjOrder ();
|
||||||
|
Prj_GetParamWhichPrjs ();
|
||||||
Gbl.Prjs.CurrentPage = Pag_GetParamPagNum (Pag_PROJECTS);
|
Gbl.Prjs.CurrentPage = Pag_GetParamPagNum (Pag_PROJECTS);
|
||||||
if ((Prj.PrjCod = Prj_GetParamPrjCod ()) == -1L)
|
if ((Prj.PrjCod = Prj_GetParamPrjCod ()) == -1L)
|
||||||
Lay_ShowErrorAndExit ("Code of project is missing.");
|
Lay_ShowErrorAndExit ("Code of project is missing.");
|
||||||
|
@ -1902,6 +1983,7 @@ void Prj_RemoveProject (void)
|
||||||
|
|
||||||
/***** Get parameters *****/
|
/***** Get parameters *****/
|
||||||
Prj_GetParamPrjOrder ();
|
Prj_GetParamPrjOrder ();
|
||||||
|
Prj_GetParamWhichPrjs ();
|
||||||
Gbl.Prjs.CurrentPage = Pag_GetParamPagNum (Pag_PROJECTS);
|
Gbl.Prjs.CurrentPage = Pag_GetParamPagNum (Pag_PROJECTS);
|
||||||
if ((Prj.PrjCod = Prj_GetParamPrjCod ()) == -1L)
|
if ((Prj.PrjCod = Prj_GetParamPrjCod ()) == -1L)
|
||||||
Lay_ShowErrorAndExit ("Code of project is missing.");
|
Lay_ShowErrorAndExit ("Code of project is missing.");
|
||||||
|
@ -2057,6 +2139,7 @@ static void Prj_RequestCreatOrEditPrj (long PrjCod)
|
||||||
|
|
||||||
/***** Get parameters *****/
|
/***** Get parameters *****/
|
||||||
Prj_GetParamPrjOrder ();
|
Prj_GetParamPrjOrder ();
|
||||||
|
Prj_GetParamWhichPrjs ();
|
||||||
Gbl.Prjs.CurrentPage = Pag_GetParamPagNum (Pag_PROJECTS);
|
Gbl.Prjs.CurrentPage = Pag_GetParamPagNum (Pag_PROJECTS);
|
||||||
|
|
||||||
/***** Get the code of the project *****/
|
/***** Get the code of the project *****/
|
||||||
|
|
36
swad_text.c
36
swad_text.c
|
@ -31168,43 +31168,43 @@ const char *Txt_PROJECT_ROLES_PLURAL_Abc[Prj_NUM_ROLES_IN_PROJECT] =
|
||||||
const char *Txt_PROJECT_WHICH_PROJECTS[2] =
|
const char *Txt_PROJECT_WHICH_PROJECTS[2] =
|
||||||
{
|
{
|
||||||
#if L==1
|
#if L==1
|
||||||
"Només els meus grups"
|
"Només els meus projectes"
|
||||||
#elif L==2
|
#elif L==2
|
||||||
"Nur meine Gruppen"
|
"Nur meine Projekte"
|
||||||
#elif L==3
|
#elif L==3
|
||||||
"Only my groups"
|
"Only my projects"
|
||||||
#elif L==4
|
#elif L==4
|
||||||
"Solo mis grupos"
|
"Solo mis proyectos"
|
||||||
#elif L==5
|
#elif L==5
|
||||||
"Uniquement mes groupes"
|
"Uniquement mes projets"
|
||||||
#elif L==6
|
#elif L==6
|
||||||
"Solo mis grupos" // Okoteve traducción
|
"Solo mis proyectos" // Okoteve traducción
|
||||||
#elif L==7
|
#elif L==7
|
||||||
"Solo i miei gruppi"
|
"Solo i miei progetti"
|
||||||
#elif L==8
|
#elif L==8
|
||||||
"Tylko moje grupy"
|
"Tylko moje projekty"
|
||||||
#elif L==9
|
#elif L==9
|
||||||
"Apenas os meus grupos"
|
"Apenas os meus projetos"
|
||||||
#endif
|
#endif
|
||||||
,
|
,
|
||||||
#if L==1
|
#if L==1
|
||||||
"Tots els grups"
|
"Tots els projectes"
|
||||||
#elif L==2
|
#elif L==2
|
||||||
"Alle Gruppen"
|
"Alle Projekte"
|
||||||
#elif L==3
|
#elif L==3
|
||||||
"All groups"
|
"All projects"
|
||||||
#elif L==4
|
#elif L==4
|
||||||
"Todos los grupos"
|
"Todos los proyectos"
|
||||||
#elif L==5
|
#elif L==5
|
||||||
"Tous les groupes"
|
"Tous les projets"
|
||||||
#elif L==6
|
#elif L==6
|
||||||
"Todos los grupos" // Okoteve traducción
|
"Todos los proyectos" // Okoteve traducción
|
||||||
#elif L==7
|
#elif L==7
|
||||||
"Tutti i gruppi"
|
"Tutti i progetti"
|
||||||
#elif L==8
|
#elif L==8
|
||||||
"Wszystkie grupy"
|
"Wszystkie projekty"
|
||||||
#elif L==9
|
#elif L==9
|
||||||
"Todos os grupos"
|
"Todos os projetos"
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue