Version 17.23.2

This commit is contained in:
Antonio Cañas Vargas 2017-10-10 10:55:09 +02:00
parent a9fd5d23ac
commit 1783c7d40a
5 changed files with 73 additions and 69 deletions

View File

@ -254,13 +254,14 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 17.23.1 (2017-10-10)"
#define Log_PLATFORM_VERSION "SWAD 17.23.2 (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.2: Oct 10, 2017 Code refactoring in filter of projects. (234137 lines)
Version 17.23.1: Oct 10, 2017 Changes in selectors of departments. (234133 lines)
Version 17.23: Oct 10, 2017 New filter to select preassigned/non-preassigned projects.
New filter to select hidden/visible projects.

View File

@ -350,14 +350,14 @@ void Gbl_InitializeGlobals (void)
Gbl.Asgs.SelectedOrder = Asg_ORDER_DEFAULT;
/* Projects */
Gbl.Prjs.Filter.My_All = Prj_WHOSE_PROJECTS_DEFAULT;
Gbl.Prjs.Filter.PreNon = Prj_PREASSIGNED_DEFAULT |
Prj_NONPREASSIG_DEFAULT;
Gbl.Prjs.Filter.HidVis = Prj_HIDDEN_DEFAULT |
Prj_VISIBL_DEFAULT;
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;

View File

@ -572,13 +572,16 @@ struct Globals
} Asgs;
struct
{
struct
{
Prj_WhoseProjects_t My_All; // Show my / all projects
unsigned PreNon; // Show preassigned / non preassigned projects
unsigned HidVis; // Show hidden / visible projects
} Filter;
bool LstIsRead; // Is the list already read from database, or it needs to be read?
unsigned Num; // Number of projects
long *LstPrjCods; // List of project codes
Prj_Order_t SelectedOrder;
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;

View File

@ -164,9 +164,9 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
break;
case Pag_PROJECTS:
Act_FormStartAnchor (ActSeePrj,Pagination->Anchor);
Prj_PutParams (Gbl.Prjs.My_All,
Gbl.Prjs.PreNon,
Gbl.Prjs.HidVis,
Prj_PutParams (Gbl.Prjs.Filter.My_All,
Gbl.Prjs.Filter.PreNon,
Gbl.Prjs.Filter.HidVis,
Gbl.Prjs.SelectedOrder,
1,
-1L);
@ -274,9 +274,9 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
break;
case Pag_PROJECTS:
Act_FormStartAnchor (ActSeePrj,Pagination->Anchor);
Prj_PutParams (Gbl.Prjs.My_All,
Gbl.Prjs.PreNon,
Gbl.Prjs.HidVis,
Prj_PutParams (Gbl.Prjs.Filter.My_All,
Gbl.Prjs.Filter.PreNon,
Gbl.Prjs.Filter.HidVis,
Gbl.Prjs.SelectedOrder,
1,
-1L);
@ -370,9 +370,9 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
break;
case Pag_PROJECTS:
Act_FormStartAnchor (ActSeePrj,Pagination->Anchor);
Prj_PutParams (Gbl.Prjs.My_All,
Gbl.Prjs.PreNon,
Gbl.Prjs.HidVis,
Prj_PutParams (Gbl.Prjs.Filter.My_All,
Gbl.Prjs.Filter.PreNon,
Gbl.Prjs.Filter.HidVis,
Gbl.Prjs.SelectedOrder,
Pagination->LeftPage,
-1L);
@ -477,9 +477,9 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
break;
case Pag_PROJECTS:
Act_FormStartAnchor (ActSeePrj,Pagination->Anchor);
Prj_PutParams (Gbl.Prjs.My_All,
Gbl.Prjs.PreNon,
Gbl.Prjs.HidVis,
Prj_PutParams (Gbl.Prjs.Filter.My_All,
Gbl.Prjs.Filter.PreNon,
Gbl.Prjs.Filter.HidVis,
Gbl.Prjs.SelectedOrder,
NumPage,
-1L);
@ -572,9 +572,9 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
break;
case Pag_PROJECTS:
Act_FormStartAnchor (ActSeePrj,Pagination->Anchor);
Prj_PutParams (Gbl.Prjs.My_All,
Gbl.Prjs.PreNon,
Gbl.Prjs.HidVis,
Prj_PutParams (Gbl.Prjs.Filter.My_All,
Gbl.Prjs.Filter.PreNon,
Gbl.Prjs.Filter.HidVis,
Gbl.Prjs.SelectedOrder,
Pagination->RightPage,
-1L);
@ -666,9 +666,9 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
break;
case Pag_PROJECTS:
Act_FormStartAnchor (ActSeePrj,Pagination->Anchor);
Prj_PutParams (Gbl.Prjs.My_All,
Gbl.Prjs.PreNon,
Gbl.Prjs.HidVis,
Prj_PutParams (Gbl.Prjs.Filter.My_All,
Gbl.Prjs.Filter.PreNon,
Gbl.Prjs.Filter.HidVis,
Gbl.Prjs.SelectedOrder,
Pagination->NumPags,
-1L);

View File

@ -340,12 +340,12 @@ static void Prj_ShowFormToSelMy_AllPrjs (void)
My_All++)
{
fprintf (Gbl.F.Out,"<div class=\"%s\">",
(Gbl.Prjs.My_All == My_All) ? "PREF_ON" :
"PREF_OFF");
(Gbl.Prjs.Filter.My_All == My_All) ? "PREF_ON" :
"PREF_OFF");
Act_FormStart (ActSeePrj);
Prj_PutParams (My_All,
Gbl.Prjs.PreNon,
Gbl.Prjs.HidVis,
Gbl.Prjs.Filter.PreNon,
Gbl.Prjs.Filter.HidVis,
Gbl.Prjs.SelectedOrder,
Gbl.Prjs.CurrentPage,
-1L);
@ -376,12 +376,12 @@ static void Prj_ShowFormToSelPreassignedOrNotProjects (void)
PreNon++)
{
fprintf (Gbl.F.Out,"<div class=\"%s\">",
(Gbl.Prjs.PreNon & (1 << PreNon)) ? "PREF_ON" :
"PREF_OFF");
(Gbl.Prjs.Filter.PreNon & (1 << PreNon)) ? "PREF_ON" :
"PREF_OFF");
Act_FormStart (ActSeePrj);
Prj_PutParams (Gbl.Prjs.My_All,
Gbl.Prjs.PreNon ^ (1 << PreNon), // Toggle
Gbl.Prjs.HidVis,
Prj_PutParams (Gbl.Prjs.Filter.My_All,
Gbl.Prjs.Filter.PreNon ^ (1 << PreNon), // Toggle
Gbl.Prjs.Filter.HidVis,
Gbl.Prjs.SelectedOrder,
Gbl.Prjs.CurrentPage,
-1L);
@ -417,12 +417,12 @@ static void Prj_ShowFormToSelHiddenVisiblProjects (void)
HidVis++)
{
fprintf (Gbl.F.Out,"<div class=\"%s\">",
(Gbl.Prjs.HidVis & (1 << HidVis)) ? "PREF_ON" :
"PREF_OFF");
(Gbl.Prjs.Filter.HidVis & (1 << HidVis)) ? "PREF_ON" :
"PREF_OFF");
Act_FormStart (ActSeePrj);
Prj_PutParams (Gbl.Prjs.My_All,
Gbl.Prjs.PreNon,
Gbl.Prjs.HidVis ^ (1 << HidVis), // Toggle
Prj_PutParams (Gbl.Prjs.Filter.My_All,
Gbl.Prjs.Filter.PreNon,
Gbl.Prjs.Filter.HidVis ^ (1 << HidVis), // Toggle
Gbl.Prjs.SelectedOrder,
Gbl.Prjs.CurrentPage,
-1L);
@ -445,9 +445,9 @@ static void Prj_ShowFormToSelHiddenVisiblProjects (void)
static void Prj_PutCurrentParams (void)
{
Prj_PutParams (Gbl.Prjs.My_All,
Gbl.Prjs.PreNon,
Gbl.Prjs.HidVis,
Prj_PutParams (Gbl.Prjs.Filter.My_All,
Gbl.Prjs.Filter.PreNon,
Gbl.Prjs.Filter.HidVis,
Gbl.Prjs.SelectedOrder,
Gbl.Prjs.CurrentPage,
Gbl.Prjs.PrjCod);
@ -513,20 +513,20 @@ static void Prj_PutHiddenParamHidVis (unsigned HidVis)
static void Prj_GetHiddenParamMy_All (void)
{
Gbl.Prjs.My_All = (Prj_WhoseProjects_t) Par_GetParToUnsignedLong (ParamMy_AllName,
0,
Prj_NUM_WHOSE_PROJECTS - 1,
Prj_WHOSE_PROJECTS_DEFAULT);
Gbl.Prjs.Filter.My_All = (Prj_WhoseProjects_t) Par_GetParToUnsignedLong (ParamMy_AllName,
0,
Prj_NUM_WHOSE_PROJECTS - 1,
Prj_WHOSE_PROJECTS_DEFAULT);
}
static void Prj_GetHiddenParamPreNon (void)
{
Gbl.Prjs.PreNon = (unsigned) Par_GetParToUnsignedLong (ParamPreNonName,
0,
(1 << Prj_PREASSIGNED) |
(1 << Prj_NONPREASSIG),
(unsigned) Prj_PREASSIGNED_DEFAULT |
(unsigned) Prj_NONPREASSIG_DEFAULT);
Gbl.Prjs.Filter.PreNon = (unsigned) Par_GetParToUnsignedLong (ParamPreNonName,
0,
(1 << Prj_PREASSIGNED) |
(1 << Prj_NONPREASSIG),
(unsigned) Prj_PREASSIGNED_DEFAULT |
(unsigned) Prj_NONPREASSIG_DEFAULT);
}
static void Prj_GetHiddenParamHidVis (void)
@ -534,17 +534,17 @@ static void Prj_GetHiddenParamHidVis (void)
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_STD: // Students can view only visible projects
Gbl.Prjs.HidVis = (1 << Prj_VISIBL); // Only visible projects
Gbl.Prjs.Filter.HidVis = (1 << Prj_VISIBL); // Only visible projects
break;
case Rol_NET:
case Rol_TCH:
case Rol_SYS_ADM:
Gbl.Prjs.HidVis = (unsigned) Par_GetParToUnsignedLong (ParamHidVisName,
0,
(1 << Prj_HIDDEN) |
(1 << Prj_VISIBL),
(unsigned) Prj_HIDDEN_DEFAULT |
(unsigned) Prj_VISIBL_DEFAULT);
Gbl.Prjs.Filter.HidVis = (unsigned) Par_GetParToUnsignedLong (ParamHidVisName,
0,
(1 << Prj_HIDDEN) |
(1 << Prj_VISIBL),
(unsigned) Prj_HIDDEN_DEFAULT |
(unsigned) Prj_VISIBL_DEFAULT);
break;
default:
Lay_ShowErrorAndExit ("Wrong role.");
@ -589,9 +589,9 @@ static void Prj_ShowProjectsHead (bool PrintView)
if (!PrintView)
{
Act_FormStart (ActSeePrj);
Prj_PutParams (Gbl.Prjs.My_All,
Gbl.Prjs.PreNon,
Gbl.Prjs.HidVis,
Prj_PutParams (Gbl.Prjs.Filter.My_All,
Gbl.Prjs.Filter.PreNon,
Gbl.Prjs.Filter.HidVis,
Order,
Gbl.Prjs.CurrentPage,
-1L);
@ -2087,13 +2087,13 @@ void Prj_GetListProjects (void)
Prj_FreeListProjects ();
/***** Get list of projects from database *****/
if (Gbl.Prjs.PreNon == 0 || // All selectors are off
Gbl.Prjs.HidVis == 0) // All selectors are off
if (Gbl.Prjs.Filter.PreNon == 0 || // All selectors are off
Gbl.Prjs.Filter.HidVis == 0) // All selectors are off
Gbl.Prjs.Num = 0; // Nothing to get from database
else
{
/* Preassigned subquery */
switch (Gbl.Prjs.PreNon)
switch (Gbl.Prjs.Filter.PreNon)
{
case (1 << Prj_PREASSIGNED):
Str_Copy (PreNonSubQuery," AND projects.Preassigned='Y'",
@ -2118,7 +2118,7 @@ void Prj_GetListProjects (void)
case Rol_NET:
case Rol_TCH:
case Rol_SYS_ADM:
switch (Gbl.Prjs.HidVis)
switch (Gbl.Prjs.Filter.HidVis)
{
case (1 << Prj_HIDDEN):
Str_Copy (HidVisSubQuery," AND projects.Hidden='Y'",
@ -2165,7 +2165,7 @@ void Prj_GetListProjects (void)
}
/* Query */
if (Gbl.Prjs.My_All == Prj_MY__PROJECTS)
if (Gbl.Prjs.Filter.My_All == Prj_MY__PROJECTS)
switch (Gbl.Prjs.SelectedOrder)
{
case Prj_ORDER_START_TIME: