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')
|
||||
*/
|
||||
|
||||
#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 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.86: Jul 15, 2024 Fixed bug in list of centers.
|
||||
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_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_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_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);
|
||||
|
||||
|
@ -550,6 +550,22 @@ static void Prj_ShowPrjsInCurrentPage (void *Projects)
|
|||
extern const char *Txt_Review;
|
||||
extern const char *Txt_Department;
|
||||
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;
|
||||
unsigned NumPrj;
|
||||
|
||||
|
@ -572,107 +588,44 @@ static void Prj_ShowPrjsInCurrentPage (void *Projects)
|
|||
Box_BoxBegin (Txt_Projects,Prj_PutIconsListProjects,Projects,
|
||||
Hlp_ASSESSMENT_Projects,Box_NOT_CLOSABLE);
|
||||
|
||||
/***** Put filters to choice which projects to show *****/
|
||||
/* Begin fieldset */
|
||||
/***** Filters to choice which projects to show *****/
|
||||
HTM_FIELDSET_Begin (NULL);
|
||||
HTM_LEGEND (Txt_Filters);
|
||||
|
||||
HTM_TABLE_BeginPadding (2);
|
||||
|
||||
// TODO: Put the following in a loop
|
||||
|
||||
/***** Users *****/
|
||||
HTM_TABLE_BeginPadding (2);
|
||||
for (Filter = 0;
|
||||
Filter < Prj_NUM_FILTERS;
|
||||
Filter++)
|
||||
{
|
||||
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_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_TD_End ();
|
||||
HTM_TR_End ();
|
||||
|
||||
/***** Roles in project *****/
|
||||
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_TABLE_End ();
|
||||
HTM_FIELDSET_End ();
|
||||
|
||||
/***** Project listing *****/
|
||||
if (((struct Prj_Projects *) Projects)->Num)
|
||||
{
|
||||
/***** Write links to pages *****/
|
||||
/* Write links to pages */
|
||||
Pag_WriteLinksToPagesCentered (Pag_PROJECTS,&Pagination,
|
||||
(struct Prj_Projects *) Projects,-1L);
|
||||
|
||||
/***** Allocate memory for the project *****/
|
||||
/* Allocate memory for the project */
|
||||
Prj_AllocMemProject (&((struct Prj_Projects *) Projects)->Prj);
|
||||
|
||||
/***** Begin table *****/
|
||||
/* Begin table */
|
||||
HTM_TABLE_Begin ("TBL_SCROLL");
|
||||
|
||||
/***** Table head *****/
|
||||
/* Table head */
|
||||
((struct Prj_Projects *) Projects)->View = Prj_LIST_PROJECTS;
|
||||
Prj_ShowProjectsHead ((struct Prj_Projects *) Projects);
|
||||
|
||||
/***** Write all projects *****/
|
||||
/* Write all projects */
|
||||
for (NumPrj = Pagination.FirstItemVisible, The_ResetRowColor ();
|
||||
NumPrj <= Pagination.LastItemVisible;
|
||||
NumPrj++, The_ChangeRowColor ())
|
||||
|
@ -700,13 +653,13 @@ static void Prj_ShowPrjsInCurrentPage (void *Projects)
|
|||
Prj_ShowProjectRow ((struct Prj_Projects *) Projects);
|
||||
}
|
||||
|
||||
/***** End table *****/
|
||||
/* End table */
|
||||
HTM_TABLE_End ();
|
||||
|
||||
/***** Free memory of the project *****/
|
||||
/* Free memory of the project */
|
||||
Prj_FreeMemProject (&((struct Prj_Projects *) Projects)->Prj);
|
||||
|
||||
/***** Write again links to pages *****/
|
||||
/* Write again links to pages */
|
||||
Pag_WriteLinksToPagesCentered (Pag_PROJECTS,&Pagination,
|
||||
(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 ****/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Prj_ShowFormToFilterByMy_All (const struct Prj_Projects *Projects)
|
||||
static void Prj_ShowFormToFilterByUsrs (const struct Prj_Projects *Projects)
|
||||
{
|
||||
struct Prj_Filter Filter;
|
||||
Usr_Who_t Who;
|
||||
|
@ -834,7 +787,7 @@ static void Prj_ShowFormToFilterByAssignation (const struct Prj_Projects *Projec
|
|||
/************* 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];
|
||||
struct Prj_Filter Filter;
|
||||
|
@ -960,7 +913,7 @@ static void Prj_ShowFormToFilterByReview (const struct Prj_Projects *Projects)
|
|||
/*************** 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;
|
||||
struct Prj_Filter Filter;
|
||||
|
|
Loading…
Reference in New Issue
Block a user