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 *****************************/ /****************************** 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)

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) 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)
{ {

View File

@ -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 *****/

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] = const char *Txt_PROJECT_WHICH_PROJECTS[2] =
{ {
#if L==1 #if L==1
"Nom&eacute;s els meus grups" "Nom&eacute;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
}; };