Version 17.11.1

This commit is contained in:
Antonio Cañas Vargas 2017-09-29 18:23:31 +02:00
parent c8bb6f7d88
commit 4d8b340db9
2 changed files with 61 additions and 84 deletions

View File

@ -252,13 +252,14 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 17.11 (2017-09-29)"
#define Log_PLATFORM_VERSION "SWAD 17.11.1 (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.1: Sep 29, 2017 Code refactoring in projects. (231510 lines)
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)

View File

@ -1599,63 +1599,51 @@ void Prj_GetListProjects (void)
Prj_FreeListProjects ();
/***** Get list of projects from database *****/
/* Hidden subquery */
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_TCH:
case Rol_SYS_ADM:
HiddenSubQuery[0] = '\0';
break;
default:
sprintf (HiddenSubQuery," AND projects.Hidden='N'");
break;
}
/* Order subquery */
switch (Gbl.Prjs.SelectedOrder)
{
case Prj_ORDER_START_TIME:
sprintf (OrderBySubQuery,"projects.StartTime DESC,"
"projects.EndTime DESC,"
"projects.Title");
break;
case Prj_ORDER_END_TIME:
sprintf (OrderBySubQuery,"projects.EndTime DESC,"
"projects.StartTime DESC,"
"projects.Title");
break;
case Prj_ORDER_TITLE:
/* Hidden subquery */
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_NET:
case Rol_TCH:
case Rol_SYS_ADM:
HiddenSubQuery[0] = '\0';
break;
default:
sprintf (HiddenSubQuery," AND Hidden='N'");
break;
}
sprintf (OrderBySubQuery,"projects.Title,"
"projects.StartTime DESC,"
"projects.EndTime DESC");
break;
case Prj_ORDER_DEPARTMENT:
sprintf (OrderBySubQuery,"departments.FullName,"
"projects.StartTime DESC,"
"projects.EndTime DESC,"
"projects.Title");
break;
}
/* Order subquery */
switch (Gbl.Prjs.SelectedOrder)
{
case Prj_ORDER_START_TIME:
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:
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:
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 */
if (Gbl.CurrentCrs.Prjs.WhichPrjs == Prj_ONLY_MY_PROJECTS)
/* Query */
if (Gbl.CurrentCrs.Prjs.WhichPrjs == Prj_ONLY_MY_PROJECTS)
switch (Gbl.Prjs.SelectedOrder)
{
case Prj_ORDER_START_TIME:
case Prj_ORDER_END_TIME:
case Prj_ORDER_TITLE:
sprintf (Query,"SELECT projects.PrjCod"
" FROM projects,prj_usr"
" WHERE projects.CrsCod=%ld%s"
@ -1665,35 +1653,8 @@ void Prj_GetListProjects (void)
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 */
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_TCH:
case Rol_SYS_ADM:
HiddenSubQuery[0] = '\0';
break;
default:
sprintf (HiddenSubQuery," AND projects.Hidden='N'");
break;
}
/* Order subquery */
sprintf (OrderBySubQuery,"departments.FullName,"
"projects.StartTime DESC,"
"projects.EndTime DESC,"
"projects.Title");
/* Query */
if (Gbl.CurrentCrs.Prjs.WhichPrjs == Prj_ONLY_MY_PROJECTS)
break;
case Prj_ORDER_DEPARTMENT:
sprintf (Query,"SELECT projects.PrjCod"
" FROM prj_usr,projects LEFT JOIN departments"
" ON projects.DptCod=departments.DptCod"
@ -1704,7 +1665,22 @@ void Prj_GetListProjects (void)
Gbl.CurrentCrs.Crs.CrsCod,HiddenSubQuery,
Gbl.Usrs.Me.UsrDat.UsrCod,
OrderBySubQuery);
else // Gbl.CurrentCrs.Prjs.WhichPrjs == Prj_ALL_PROJECTS
break;
}
else // Gbl.CurrentCrs.Prjs.WhichPrjs == Prj_ALL_PROJECTS
switch (Gbl.Prjs.SelectedOrder)
{
case Prj_ORDER_START_TIME:
case Prj_ORDER_END_TIME:
case Prj_ORDER_TITLE:
sprintf (Query,"SELECT projects.PrjCod"
" FROM projects"
" WHERE projects.CrsCod=%ld%s"
" ORDER BY %s",
Gbl.CurrentCrs.Crs.CrsCod,HiddenSubQuery,
OrderBySubQuery);
break;
case Prj_ORDER_DEPARTMENT:
sprintf (Query,"SELECT projects.PrjCod"
" FROM projects LEFT JOIN departments"
" ON projects.DptCod=departments.DptCod"
@ -1712,8 +1688,8 @@ void Prj_GetListProjects (void)
" ORDER BY %s",
Gbl.CurrentCrs.Crs.CrsCod,HiddenSubQuery,
OrderBySubQuery);
break;
}
break;
}
NumRows = DB_QuerySELECT (Query,&mysql_res,"can not get projects");