Version 17.11

This commit is contained in:
Antonio Cañas Vargas 2017-09-29 15:05:23 +02:00
parent af32886848
commit c8bb6f7d88
4 changed files with 127 additions and 43 deletions

View File

@ -252,13 +252,14 @@
/****************************** 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 JS_FILE "swad16.206.3.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.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.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)

View File

@ -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)
@ -4868,7 +4868,7 @@ void Grp_GetParamWhichGrps (void)
if (!AlreadyGot)
{
/***** Get which grous (my groups or all groups) *****/
/***** Get which groups (my groups or all groups) *****/
/* Set default */
switch (Gbl.Action.Act)
{

View File

@ -70,8 +70,12 @@ typedef enum
/*****************************************************************************/
static void Prj_ShowProjectsInCurrentPage (void);
static void Prj_PutFormToSelectWhichProjecsToShow (void);
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_ShowTableAllProjectsHead (void);
static bool Prj_CheckIfICanCreateProjects (void);
@ -141,6 +145,7 @@ void Prj_SeeProjects (void)
{
/***** Get parameters *****/
Prj_GetParamPrjOrder ();
Prj_GetParamWhichPrjs ();
Gbl.Prjs.CurrentPage = Pag_GetParamPagNum (Pag_PROJECTS);
/***** Show all the projects *****/
@ -159,6 +164,7 @@ void Prj_ShowTableAllProjects (void)
/***** Get parameters *****/
Prj_GetParamPrjOrder ();
Prj_GetParamWhichPrjs ();
/***** Get list of projects *****/
Prj_GetListProjects ();
@ -319,6 +325,38 @@ static void Prj_ShowFormToSelWhichPrjs (Act_Action_t Action,void (*FuncParams) (
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 *******************/
/*****************************************************************************/
@ -340,6 +378,7 @@ static void Prj_ShowProjectsHead (bool PrintView)
if (!PrintView)
{
Act_FormStart (ActSeePrj);
Prj_PutParamWhichPrjs ();
Pag_PutHiddenParamPagNum (Pag_PROJECTS,Gbl.Prjs.CurrentPage);
Par_PutHiddenParamUnsigned ("Order",(unsigned) Order);
Act_LinkFormSubmit (Txt_PROJECT_ORDER_HELP[Order],"TIT_TBL",NULL);
@ -1322,6 +1361,7 @@ static void Prj_ReqRemUsrFromPrj (Prj_RoleInProject_t RoleInProject)
/***** Get parameters *****/
Prj_GetParamPrjOrder ();
Prj_GetParamWhichPrjs ();
Gbl.Prjs.CurrentPage = Pag_GetParamPagNum (Pag_PROJECTS);
if ((Prj.PrjCod = Prj_GetParamPrjCod ()) == -1L)
Lay_ShowErrorAndExit ("Code of project is missing.");
@ -1404,6 +1444,7 @@ static void Prj_RemUsrFromPrj (Prj_RoleInProject_t RoleInProject)
/***** Get parameters *****/
Prj_GetParamPrjOrder ();
Prj_GetParamWhichPrjs ();
Gbl.Prjs.CurrentPage = Pag_GetParamPagNum (Pag_PROJECTS);
if ((Prj.PrjCod = Prj_GetParamPrjCod ()) == -1L)
Lay_ShowErrorAndExit ("Code of project is missing.");
@ -1534,6 +1575,7 @@ static void Prj_PutParams (void)
if (Gbl.Prjs.PrjCodToEdit > 0)
Prj_PutParamPrjCod (Gbl.Prjs.PrjCodToEdit);
Prj_PutHiddenParamPrjOrder ();
Prj_PutParamWhichPrjs ();
Pag_PutHiddenParamPagNum (Pag_PROJECTS,Gbl.Prjs.CurrentPage);
if (Gbl.Usrs.Other.UsrDat.UsrCod > 0)
Usr_PutParamOtherUsrCodEncrypted ();
@ -1579,31 +1621,57 @@ void Prj_GetListProjects (void)
switch (Gbl.Prjs.SelectedOrder)
{
case Prj_ORDER_START_TIME:
sprintf (OrderBySubQuery,"StartTime DESC,"
"EndTime DESC,"
"Title");
if (Gbl.CurrentCrs.Prjs.WhichPrjs == Prj_ONLY_MY_PROJECTS)
sprintf (OrderBySubQuery,"projects.StartTime DESC,"
"projects.EndTime DESC,"
"projects.Title");
else
sprintf (OrderBySubQuery,"StartTime DESC,"
"EndTime DESC,"
"Title");
break;
case Prj_ORDER_END_TIME:
sprintf (OrderBySubQuery,"EndTime DESC,"
"StartTime DESC,"
"Title");
if (Gbl.CurrentCrs.Prjs.WhichPrjs == Prj_ONLY_MY_PROJECTS)
sprintf (OrderBySubQuery,"projects.EndTime DESC,"
"projects.StartTime DESC,"
"projects.Title");
else
sprintf (OrderBySubQuery,"EndTime DESC,"
"StartTime DESC,"
"Title");
break;
case Prj_ORDER_TITLE:
sprintf (OrderBySubQuery,"Title,"
"StartTime DESC,"
"EndTime DESC");
if (Gbl.CurrentCrs.Prjs.WhichPrjs == Prj_ONLY_MY_PROJECTS)
sprintf (OrderBySubQuery,"projects.Title,"
"projects.StartTime DESC,"
"projects.EndTime DESC");
else
sprintf (OrderBySubQuery,"Title,"
"StartTime DESC,"
"EndTime DESC");
break;
case Prj_ORDER_DEPARTMENT: // Not applicable
break;
}
/* Query */
sprintf (Query,"SELECT PrjCod"
" FROM projects"
" WHERE CrsCod=%ld%s"
" ORDER BY %s",
Gbl.CurrentCrs.Crs.CrsCod,HiddenSubQuery,
OrderBySubQuery);
if (Gbl.CurrentCrs.Prjs.WhichPrjs == Prj_ONLY_MY_PROJECTS)
sprintf (Query,"SELECT projects.PrjCod"
" FROM projects,prj_usr"
" WHERE projects.CrsCod=%ld%s"
" AND projects.PrjCod=prj_usr.PrjCod"
" 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;
case Prj_ORDER_DEPARTMENT:
/* Hidden subquery */
@ -1625,13 +1693,25 @@ void Prj_GetListProjects (void)
"projects.Title");
/* Query */
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);
if (Gbl.CurrentCrs.Prjs.WhichPrjs == Prj_ONLY_MY_PROJECTS)
sprintf (Query,"SELECT projects.PrjCod"
" FROM prj_usr,projects LEFT JOIN departments"
" ON projects.DptCod=departments.DptCod"
" WHERE projects.CrsCod=%ld%s"
" AND projects.PrjCod=prj_usr.PrjCod"
" 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;
}
@ -1860,6 +1940,7 @@ void Prj_ReqRemProject (void)
/***** Get parameters *****/
Prj_GetParamPrjOrder ();
Prj_GetParamWhichPrjs ();
Gbl.Prjs.CurrentPage = Pag_GetParamPagNum (Pag_PROJECTS);
if ((Prj.PrjCod = Prj_GetParamPrjCod ()) == -1L)
Lay_ShowErrorAndExit ("Code of project is missing.");
@ -1902,6 +1983,7 @@ void Prj_RemoveProject (void)
/***** Get parameters *****/
Prj_GetParamPrjOrder ();
Prj_GetParamWhichPrjs ();
Gbl.Prjs.CurrentPage = Pag_GetParamPagNum (Pag_PROJECTS);
if ((Prj.PrjCod = Prj_GetParamPrjCod ()) == -1L)
Lay_ShowErrorAndExit ("Code of project is missing.");
@ -2057,6 +2139,7 @@ static void Prj_RequestCreatOrEditPrj (long PrjCod)
/***** Get parameters *****/
Prj_GetParamPrjOrder ();
Prj_GetParamWhichPrjs ();
Gbl.Prjs.CurrentPage = Pag_GetParamPagNum (Pag_PROJECTS);
/***** Get the code of the project *****/

View File

@ -31168,43 +31168,43 @@ const char *Txt_PROJECT_ROLES_PLURAL_Abc[Prj_NUM_ROLES_IN_PROJECT] =
const char *Txt_PROJECT_WHICH_PROJECTS[2] =
{
#if L==1
"Nom&eacute;s els meus grups"
"Nom&eacute;s els meus projectes"
#elif L==2
"Nur meine Gruppen"
"Nur meine Projekte"
#elif L==3
"Only my groups"
"Only my projects"
#elif L==4
"Solo mis grupos"
"Solo mis proyectos"
#elif L==5
"Uniquement mes groupes"
"Uniquement mes projets"
#elif L==6
"Solo mis grupos" // Okoteve traducción
"Solo mis proyectos" // Okoteve traducción
#elif L==7
"Solo i miei gruppi"
"Solo i miei progetti"
#elif L==8
"Tylko moje grupy"
"Tylko moje projekty"
#elif L==9
"Apenas os meus grupos"
"Apenas os meus projetos"
#endif
,
#if L==1
"Tots els grups"
"Tots els projectes"
#elif L==2
"Alle Gruppen"
"Alle Projekte"
#elif L==3
"All groups"
"All projects"
#elif L==4
"Todos los grupos"
"Todos los proyectos"
#elif L==5
"Tous les groupes"
"Tous les projets"
#elif L==6
"Todos los grupos" // Okoteve traducción
"Todos los proyectos" // Okoteve traducción
#elif L==7
"Tutti i gruppi"
"Tutti i progetti"
#elif L==8
"Wszystkie grupy"
"Wszystkie projekty"
#elif L==9
"Todos os grupos"
"Todos os projetos"
#endif
};