mirror of
https://github.com/acanas/swad-core.git
synced 2024-09-19 00:01:11 +02:00
Version 23.87.1: Jul 16, 2024 Code refactoring in project filters.
This commit is contained in:
parent
eabfd1716f
commit
e7e7b00398
|
@ -633,10 +633,11 @@ Me sale este error, no s
|
||||||
"can npt create received message (duplicated entry '243218-2160773' for key 'UsrCod_MsgCod')
|
"can npt create received message (duplicated entry '243218-2160773' for key 'UsrCod_MsgCod')
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 23.87 (2024-07-16)"
|
#define Log_PLATFORM_VERSION "SWAD 23.87.1 (2024-07-16)"
|
||||||
#define CSS_FILE "swad23.67.2.css"
|
#define CSS_FILE "swad23.67.2.css"
|
||||||
#define JS_FILE "swad23.79.js"
|
#define JS_FILE "swad23.79.js"
|
||||||
/*
|
/*
|
||||||
|
Version 23.87.1: Jul 16, 2024 Code refactoring in project filters. (335286 lines)
|
||||||
Version 23.87: Jul 16, 2024 Changes in layout of project filters. (335321 lines)
|
Version 23.87: Jul 16, 2024 Changes in layout of project filters. (335321 lines)
|
||||||
Version 23.86: Jul 15, 2024 Fixed bug in list of centers.
|
Version 23.86: Jul 15, 2024 Fixed bug in list of centers.
|
||||||
Changes in selection of users in projects.
|
Changes in selection of users in projects.
|
||||||
|
|
129
swad_project.c
129
swad_project.c
|
@ -202,13 +202,13 @@ static void Prj_ReqUsrsToSelect (void *Projects);
|
||||||
static void Prj_GetSelectedUsrsAndShowTheirPrjs (struct Prj_Projects *Projects);
|
static void Prj_GetSelectedUsrsAndShowTheirPrjs (struct Prj_Projects *Projects);
|
||||||
static void Prj_ShowPrjsInCurrentPage (void *Projects);
|
static void Prj_ShowPrjsInCurrentPage (void *Projects);
|
||||||
|
|
||||||
static void Prj_ShowFormToFilterByMy_All (const struct Prj_Projects *Projects);
|
static void Prj_ShowFormToFilterByUsrs (const struct Prj_Projects *Projects);
|
||||||
static void Prj_ShowFormToFilterByRoleInPrj (const struct Prj_Projects *Projects);
|
static void Prj_ShowFormToFilterByRoleInPrj (const struct Prj_Projects *Projects);
|
||||||
static void Prj_ShowFormToFilterByAssignation (const struct Prj_Projects *Projects);
|
static void Prj_ShowFormToFilterByAssignation (const struct Prj_Projects *Projects);
|
||||||
static void Prj_ShowFormToFilterByHidden (const struct Prj_Projects *Projects);
|
static void Prj_ShowFormToFilterByVisibility (const struct Prj_Projects *Projects);
|
||||||
static void Prj_ShowFormToFilterByFaultiness (const struct Prj_Projects *Projects);
|
static void Prj_ShowFormToFilterByFaultiness (const struct Prj_Projects *Projects);
|
||||||
static void Prj_ShowFormToFilterByReview (const struct Prj_Projects *Projects);
|
static void Prj_ShowFormToFilterByReview (const struct Prj_Projects *Projects);
|
||||||
static void Prj_ShowFormToFilterByDpt (const struct Prj_Projects *Projects);
|
static void Prj_ShowFormToFilterByDepartment (const struct Prj_Projects *Projects);
|
||||||
|
|
||||||
static Usr_Can_t Prj_CheckIfICanViewProjectFiles (long PrjCod);
|
static Usr_Can_t Prj_CheckIfICanViewProjectFiles (long PrjCod);
|
||||||
|
|
||||||
|
@ -550,6 +550,22 @@ static void Prj_ShowPrjsInCurrentPage (void *Projects)
|
||||||
extern const char *Txt_Review;
|
extern const char *Txt_Review;
|
||||||
extern const char *Txt_Department;
|
extern const char *Txt_Department;
|
||||||
extern const char *Txt_No_projects;
|
extern const char *Txt_No_projects;
|
||||||
|
#define Prj_NUM_FILTERS 7
|
||||||
|
static struct
|
||||||
|
{
|
||||||
|
const char **Label;
|
||||||
|
void (*FuncToShowForm) (const struct Prj_Projects *Projects);
|
||||||
|
} Filters[Prj_NUM_FILTERS] =
|
||||||
|
{
|
||||||
|
{&Txt_Users ,Prj_ShowFormToFilterByUsrs },
|
||||||
|
{&Txt_Roles ,Prj_ShowFormToFilterByRoleInPrj },
|
||||||
|
{&Txt_Assignation ,Prj_ShowFormToFilterByAssignation},
|
||||||
|
{&Txt_Visibility ,Prj_ShowFormToFilterByVisibility },
|
||||||
|
{&Txt_Faultiness ,Prj_ShowFormToFilterByFaultiness },
|
||||||
|
{&Txt_Review ,Prj_ShowFormToFilterByReview },
|
||||||
|
{&Txt_Department ,Prj_ShowFormToFilterByDepartment },
|
||||||
|
};
|
||||||
|
size_t Filter;
|
||||||
struct Pag_Pagination Pagination;
|
struct Pag_Pagination Pagination;
|
||||||
unsigned NumPrj;
|
unsigned NumPrj;
|
||||||
|
|
||||||
|
@ -572,107 +588,44 @@ static void Prj_ShowPrjsInCurrentPage (void *Projects)
|
||||||
Box_BoxBegin (Txt_Projects,Prj_PutIconsListProjects,Projects,
|
Box_BoxBegin (Txt_Projects,Prj_PutIconsListProjects,Projects,
|
||||||
Hlp_ASSESSMENT_Projects,Box_NOT_CLOSABLE);
|
Hlp_ASSESSMENT_Projects,Box_NOT_CLOSABLE);
|
||||||
|
|
||||||
/***** Put filters to choice which projects to show *****/
|
/***** Filters to choice which projects to show *****/
|
||||||
/* Begin fieldset */
|
|
||||||
HTM_FIELDSET_Begin (NULL);
|
HTM_FIELDSET_Begin (NULL);
|
||||||
HTM_LEGEND (Txt_Filters);
|
HTM_LEGEND (Txt_Filters);
|
||||||
|
HTM_TABLE_BeginPadding (2);
|
||||||
HTM_TABLE_BeginPadding (2);
|
for (Filter = 0;
|
||||||
|
Filter < Prj_NUM_FILTERS;
|
||||||
// TODO: Put the following in a loop
|
Filter++)
|
||||||
|
{
|
||||||
/***** Users *****/
|
|
||||||
HTM_TR_Begin (NULL);
|
HTM_TR_Begin (NULL);
|
||||||
Frm_LabelColumn ("Frm_C1 RT","",Txt_Users);
|
Frm_LabelColumn ("Frm_C1 RT","",*(Filters[Filter].Label));
|
||||||
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
|
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
|
||||||
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ());
|
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ());
|
||||||
Prj_ShowFormToFilterByMy_All ((struct Prj_Projects *) Projects);
|
Filters[Filter].FuncToShowForm ((struct Prj_Projects *) Projects);
|
||||||
HTM_LABEL_End ();
|
HTM_LABEL_End ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
HTM_TR_End ();
|
HTM_TR_End ();
|
||||||
|
}
|
||||||
/***** Roles in project *****/
|
HTM_TABLE_End ();
|
||||||
HTM_TR_Begin (NULL);
|
|
||||||
Frm_LabelColumn ("Frm_C1 RT","",Txt_Roles);
|
|
||||||
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
|
|
||||||
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ());
|
|
||||||
Prj_ShowFormToFilterByRoleInPrj ((struct Prj_Projects *) Projects);
|
|
||||||
HTM_LABEL_End ();
|
|
||||||
HTM_TD_End ();
|
|
||||||
HTM_TR_End ();
|
|
||||||
|
|
||||||
/***** Assignation to students *****/
|
|
||||||
HTM_TR_Begin (NULL);
|
|
||||||
Frm_LabelColumn ("Frm_C1 RT","",Txt_Assignation);
|
|
||||||
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
|
|
||||||
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ());
|
|
||||||
Prj_ShowFormToFilterByAssignation ((struct Prj_Projects *) Projects);
|
|
||||||
HTM_LABEL_End ();
|
|
||||||
HTM_TD_End ();
|
|
||||||
HTM_TR_End ();
|
|
||||||
|
|
||||||
/***** Hidden/visible projects *****/
|
|
||||||
HTM_TR_Begin (NULL);
|
|
||||||
Frm_LabelColumn ("Frm_C1 RT","",Txt_Visibility);
|
|
||||||
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
|
|
||||||
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ());
|
|
||||||
Prj_ShowFormToFilterByHidden ((struct Prj_Projects *) Projects);
|
|
||||||
HTM_LABEL_End ();
|
|
||||||
HTM_TD_End ();
|
|
||||||
HTM_TR_End ();
|
|
||||||
|
|
||||||
/***** Faultiness *****/
|
|
||||||
HTM_TR_Begin (NULL);
|
|
||||||
Frm_LabelColumn ("Frm_C1 RT","",Txt_Faultiness);
|
|
||||||
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
|
|
||||||
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ());
|
|
||||||
Prj_ShowFormToFilterByFaultiness ((struct Prj_Projects *) Projects);
|
|
||||||
HTM_LABEL_End ();
|
|
||||||
HTM_TD_End ();
|
|
||||||
HTM_TR_End ();
|
|
||||||
|
|
||||||
/***** Review status *****/
|
|
||||||
HTM_TR_Begin (NULL);
|
|
||||||
Frm_LabelColumn ("Frm_C1 RT","",Txt_Review);
|
|
||||||
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
|
|
||||||
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ());
|
|
||||||
Prj_ShowFormToFilterByReview ((struct Prj_Projects *) Projects);
|
|
||||||
HTM_LABEL_End ();
|
|
||||||
HTM_TD_End ();
|
|
||||||
HTM_TR_End ();
|
|
||||||
|
|
||||||
/***** Department *****/
|
|
||||||
HTM_TR_Begin (NULL);
|
|
||||||
Frm_LabelColumn ("Frm_C1 RT","",Txt_Department);
|
|
||||||
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
|
|
||||||
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ());
|
|
||||||
Prj_ShowFormToFilterByDpt ((struct Prj_Projects *) Projects);
|
|
||||||
HTM_LABEL_End ();
|
|
||||||
HTM_TD_End ();
|
|
||||||
HTM_TR_End ();
|
|
||||||
|
|
||||||
HTM_TABLE_End ();
|
|
||||||
|
|
||||||
/* End fieldset */
|
|
||||||
HTM_FIELDSET_End ();
|
HTM_FIELDSET_End ();
|
||||||
|
|
||||||
|
/***** Project listing *****/
|
||||||
if (((struct Prj_Projects *) Projects)->Num)
|
if (((struct Prj_Projects *) Projects)->Num)
|
||||||
{
|
{
|
||||||
/***** Write links to pages *****/
|
/* Write links to pages */
|
||||||
Pag_WriteLinksToPagesCentered (Pag_PROJECTS,&Pagination,
|
Pag_WriteLinksToPagesCentered (Pag_PROJECTS,&Pagination,
|
||||||
(struct Prj_Projects *) Projects,-1L);
|
(struct Prj_Projects *) Projects,-1L);
|
||||||
|
|
||||||
/***** Allocate memory for the project *****/
|
/* Allocate memory for the project */
|
||||||
Prj_AllocMemProject (&((struct Prj_Projects *) Projects)->Prj);
|
Prj_AllocMemProject (&((struct Prj_Projects *) Projects)->Prj);
|
||||||
|
|
||||||
/***** Begin table *****/
|
/* Begin table */
|
||||||
HTM_TABLE_Begin ("TBL_SCROLL");
|
HTM_TABLE_Begin ("TBL_SCROLL");
|
||||||
|
|
||||||
/***** Table head *****/
|
/* Table head */
|
||||||
((struct Prj_Projects *) Projects)->View = Prj_LIST_PROJECTS;
|
((struct Prj_Projects *) Projects)->View = Prj_LIST_PROJECTS;
|
||||||
Prj_ShowProjectsHead ((struct Prj_Projects *) Projects);
|
Prj_ShowProjectsHead ((struct Prj_Projects *) Projects);
|
||||||
|
|
||||||
/***** Write all projects *****/
|
/* Write all projects */
|
||||||
for (NumPrj = Pagination.FirstItemVisible, The_ResetRowColor ();
|
for (NumPrj = Pagination.FirstItemVisible, The_ResetRowColor ();
|
||||||
NumPrj <= Pagination.LastItemVisible;
|
NumPrj <= Pagination.LastItemVisible;
|
||||||
NumPrj++, The_ChangeRowColor ())
|
NumPrj++, The_ChangeRowColor ())
|
||||||
|
@ -700,13 +653,13 @@ static void Prj_ShowPrjsInCurrentPage (void *Projects)
|
||||||
Prj_ShowProjectRow ((struct Prj_Projects *) Projects);
|
Prj_ShowProjectRow ((struct Prj_Projects *) Projects);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** End table *****/
|
/* End table */
|
||||||
HTM_TABLE_End ();
|
HTM_TABLE_End ();
|
||||||
|
|
||||||
/***** Free memory of the project *****/
|
/* Free memory of the project */
|
||||||
Prj_FreeMemProject (&((struct Prj_Projects *) Projects)->Prj);
|
Prj_FreeMemProject (&((struct Prj_Projects *) Projects)->Prj);
|
||||||
|
|
||||||
/***** Write again links to pages *****/
|
/* Write again links to pages */
|
||||||
Pag_WriteLinksToPagesCentered (Pag_PROJECTS,&Pagination,
|
Pag_WriteLinksToPagesCentered (Pag_PROJECTS,&Pagination,
|
||||||
(struct Prj_Projects *) Projects,-1L);
|
(struct Prj_Projects *) Projects,-1L);
|
||||||
}
|
}
|
||||||
|
@ -725,7 +678,7 @@ static void Prj_ShowPrjsInCurrentPage (void *Projects)
|
||||||
/**** Show form to choice only my projects, some projects or all projects ****/
|
/**** Show form to choice only my projects, some projects or all projects ****/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
static void Prj_ShowFormToFilterByMy_All (const struct Prj_Projects *Projects)
|
static void Prj_ShowFormToFilterByUsrs (const struct Prj_Projects *Projects)
|
||||||
{
|
{
|
||||||
struct Prj_Filter Filter;
|
struct Prj_Filter Filter;
|
||||||
Usr_Who_t Who;
|
Usr_Who_t Who;
|
||||||
|
@ -834,7 +787,7 @@ static void Prj_ShowFormToFilterByAssignation (const struct Prj_Projects *Projec
|
||||||
/************* Show form to select hidden / visible projects *****************/
|
/************* Show form to select hidden / visible projects *****************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
static void Prj_ShowFormToFilterByHidden (const struct Prj_Projects *Projects)
|
static void Prj_ShowFormToFilterByVisibility (const struct Prj_Projects *Projects)
|
||||||
{
|
{
|
||||||
extern const char *Txt_PROJECT_HIDDEN_VISIBL_PROJECTS[HidVis_NUM_HIDDEN_VISIBLE];
|
extern const char *Txt_PROJECT_HIDDEN_VISIBL_PROJECTS[HidVis_NUM_HIDDEN_VISIBLE];
|
||||||
struct Prj_Filter Filter;
|
struct Prj_Filter Filter;
|
||||||
|
@ -960,7 +913,7 @@ static void Prj_ShowFormToFilterByReview (const struct Prj_Projects *Projects)
|
||||||
/*************** Show form to filter projects by department ******************/
|
/*************** Show form to filter projects by department ******************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
static void Prj_ShowFormToFilterByDpt (const struct Prj_Projects *Projects)
|
static void Prj_ShowFormToFilterByDepartment (const struct Prj_Projects *Projects)
|
||||||
{
|
{
|
||||||
extern const char *Txt_Any_department;
|
extern const char *Txt_Any_department;
|
||||||
struct Prj_Filter Filter;
|
struct Prj_Filter Filter;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user