mirror of
https://github.com/acanas/swad-core.git
synced 2024-09-19 00:01:11 +02:00
Version 23.87: Jul 16, 2024 Changes in layout of project filters.
This commit is contained in:
parent
3bdb133611
commit
eabfd1716f
|
@ -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.86 (2024-07-15)"
|
#define Log_PLATFORM_VERSION "SWAD 23.87 (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: 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.
|
||||||
Code refactoring in projects. (335225 lines)
|
Code refactoring in projects. (335225 lines)
|
||||||
|
|
|
@ -4295,10 +4295,7 @@ void Grp_ShowFormToSelWhichGrps (Act_Action_t Action,
|
||||||
extern const char *Txt_GROUP_WHICH_GROUPS[2];
|
extern const char *Txt_GROUP_WHICH_GROUPS[2];
|
||||||
Grp_WhichGroups_t WhichGrps;
|
Grp_WhichGroups_t WhichGrps;
|
||||||
|
|
||||||
/***** Begin setting selector *****/
|
|
||||||
Set_BeginOneSettingSelector ();
|
Set_BeginOneSettingSelector ();
|
||||||
|
|
||||||
/***** Put icons to select which groups *****/
|
|
||||||
for (WhichGrps = Grp_MY_GROUPS;
|
for (WhichGrps = Grp_MY_GROUPS;
|
||||||
WhichGrps <= Grp_ALL_GROUPS;
|
WhichGrps <= Grp_ALL_GROUPS;
|
||||||
WhichGrps++)
|
WhichGrps++)
|
||||||
|
@ -4314,8 +4311,6 @@ void Grp_ShowFormToSelWhichGrps (Act_Action_t Action,
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
Set_EndPref ();
|
Set_EndPref ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** End setting selector *****/
|
|
||||||
Set_EndOneSettingSelector ();
|
Set_EndOneSettingSelector ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2542,9 +2542,7 @@ static void Mch_ShowFormColumns (const struct Mch_Match *Match)
|
||||||
"4col.png", // 4 columns
|
"4col.png", // 4 columns
|
||||||
};
|
};
|
||||||
|
|
||||||
/***** Begin selector *****/
|
|
||||||
Set_BeginOneSettingSelector ();
|
Set_BeginOneSettingSelector ();
|
||||||
|
|
||||||
for (NumCols = 1;
|
for (NumCols = 1;
|
||||||
NumCols <= Mch_MAX_COLS;
|
NumCols <= Mch_MAX_COLS;
|
||||||
NumCols++)
|
NumCols++)
|
||||||
|
@ -2573,8 +2571,6 @@ static void Mch_ShowFormColumns (const struct Mch_Match *Match)
|
||||||
/* End container for this option */
|
/* End container for this option */
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** End selector *****/
|
|
||||||
Set_EndOneSettingSelector ();
|
Set_EndOneSettingSelector ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
131
swad_project.c
131
swad_project.c
|
@ -204,9 +204,9 @@ static void Prj_ShowPrjsInCurrentPage (void *Projects);
|
||||||
|
|
||||||
static void Prj_ShowFormToFilterByMy_All (const struct Prj_Projects *Projects);
|
static void Prj_ShowFormToFilterByMy_All (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_ShowFormToFilterByAssign (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_ShowFormToFilterByHidden (const struct Prj_Projects *Projects);
|
||||||
static void Prj_ShowFormToFilterByWarning (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_ShowFormToFilterByDpt (const struct Prj_Projects *Projects);
|
||||||
|
|
||||||
|
@ -542,12 +542,23 @@ static void Prj_ShowPrjsInCurrentPage (void *Projects)
|
||||||
extern const char *Hlp_ASSESSMENT_Projects;
|
extern const char *Hlp_ASSESSMENT_Projects;
|
||||||
extern const char *Txt_Projects;
|
extern const char *Txt_Projects;
|
||||||
extern const char *Txt_Filters;
|
extern const char *Txt_Filters;
|
||||||
|
extern const char *Txt_Users;
|
||||||
|
extern const char *Txt_Roles;
|
||||||
|
extern const char *Txt_Assignation;
|
||||||
|
extern const char *Txt_Visibility;
|
||||||
|
extern const char *Txt_Faultiness;
|
||||||
|
extern const char *Txt_Review;
|
||||||
|
extern const char *Txt_Department;
|
||||||
extern const char *Txt_No_projects;
|
extern const char *Txt_No_projects;
|
||||||
struct Pag_Pagination Pagination;
|
struct Pag_Pagination Pagination;
|
||||||
unsigned NumPrj;
|
unsigned NumPrj;
|
||||||
|
|
||||||
if (Projects)
|
if (Projects)
|
||||||
{
|
{
|
||||||
|
/***** Students will see only visible projects *****/
|
||||||
|
if (Gbl.Usrs.Me.Role.Logged == Rol_STD)
|
||||||
|
((struct Prj_Projects *) Projects)->Filter.Hidden &= ~(1 << HidVis_HIDDEN);
|
||||||
|
|
||||||
/***** Get list of projects *****/
|
/***** Get list of projects *****/
|
||||||
Prj_GetListProjects ((struct Prj_Projects *) Projects);
|
Prj_GetListProjects ((struct Prj_Projects *) Projects);
|
||||||
|
|
||||||
|
@ -566,29 +577,81 @@ static void Prj_ShowPrjsInCurrentPage (void *Projects)
|
||||||
HTM_FIELDSET_Begin (NULL);
|
HTM_FIELDSET_Begin (NULL);
|
||||||
HTM_LEGEND (Txt_Filters);
|
HTM_LEGEND (Txt_Filters);
|
||||||
|
|
||||||
/* 1st. row */
|
HTM_TABLE_BeginPadding (2);
|
||||||
Set_BeginSettingsHead ();
|
|
||||||
|
|
||||||
|
// TODO: Put the following in a loop
|
||||||
|
|
||||||
|
/***** Users *****/
|
||||||
|
HTM_TR_Begin (NULL);
|
||||||
|
Frm_LabelColumn ("Frm_C1 RT","",Txt_Users);
|
||||||
|
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
|
||||||
|
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ());
|
||||||
Prj_ShowFormToFilterByMy_All ((struct Prj_Projects *) Projects);
|
Prj_ShowFormToFilterByMy_All ((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);
|
Prj_ShowFormToFilterByRoleInPrj ((struct Prj_Projects *) Projects);
|
||||||
Prj_ShowFormToFilterByAssign ((struct Prj_Projects *) Projects);
|
HTM_LABEL_End ();
|
||||||
switch (Gbl.Usrs.Me.Role.Logged)
|
HTM_TD_End ();
|
||||||
{
|
HTM_TR_End ();
|
||||||
case Rol_NET:
|
|
||||||
case Rol_TCH:
|
/***** Assignation to students *****/
|
||||||
case Rol_SYS_ADM:
|
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);
|
Prj_ShowFormToFilterByHidden ((struct Prj_Projects *) Projects);
|
||||||
break;
|
HTM_LABEL_End ();
|
||||||
default: // Students will see only visible projects
|
HTM_TD_End ();
|
||||||
break;
|
HTM_TR_End ();
|
||||||
}
|
|
||||||
Prj_ShowFormToFilterByWarning ((struct Prj_Projects *) Projects);
|
/***** 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);
|
Prj_ShowFormToFilterByReview ((struct Prj_Projects *) Projects);
|
||||||
|
HTM_LABEL_End ();
|
||||||
|
HTM_TD_End ();
|
||||||
|
HTM_TR_End ();
|
||||||
|
|
||||||
Set_EndSettingsHead ();
|
/***** Department *****/
|
||||||
|
HTM_TR_Begin (NULL);
|
||||||
/* 2nd. row */
|
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);
|
Prj_ShowFormToFilterByDpt ((struct Prj_Projects *) Projects);
|
||||||
|
HTM_LABEL_End ();
|
||||||
|
HTM_TD_End ();
|
||||||
|
HTM_TR_End ();
|
||||||
|
|
||||||
|
HTM_TABLE_End ();
|
||||||
|
|
||||||
/* End fieldset */
|
/* End fieldset */
|
||||||
HTM_FIELDSET_End ();
|
HTM_FIELDSET_End ();
|
||||||
|
@ -670,7 +733,6 @@ static void Prj_ShowFormToFilterByMy_All (const struct Prj_Projects *Projects)
|
||||||
1 << Usr_WHO_SELECTED |
|
1 << Usr_WHO_SELECTED |
|
||||||
1 << Usr_WHO_ALL;
|
1 << Usr_WHO_ALL;
|
||||||
|
|
||||||
Set_BeginOneSettingSelector ();
|
|
||||||
for (Who = (Usr_Who_t) 1;
|
for (Who = (Usr_Who_t) 1;
|
||||||
Who <= (Usr_Who_t) (Usr_NUM_WHO - 1);
|
Who <= (Usr_Who_t) (Usr_NUM_WHO - 1);
|
||||||
Who++)
|
Who++)
|
||||||
|
@ -696,7 +758,6 @@ static void Prj_ShowFormToFilterByMy_All (const struct Prj_Projects *Projects)
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
Set_EndPref ();
|
Set_EndPref ();
|
||||||
}
|
}
|
||||||
Set_EndOneSettingSelector ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -709,7 +770,6 @@ static void Prj_ShowFormToFilterByRoleInPrj (const struct Prj_Projects *Projects
|
||||||
struct Prj_Filter Filter;
|
struct Prj_Filter Filter;
|
||||||
Prj_RoleInProject_t RoleInPrj;
|
Prj_RoleInProject_t RoleInPrj;
|
||||||
|
|
||||||
Set_BeginOneSettingSelector ();
|
|
||||||
for (RoleInPrj = (Prj_RoleInProject_t) 0;
|
for (RoleInPrj = (Prj_RoleInProject_t) 0;
|
||||||
RoleInPrj <= (Prj_RoleInProject_t) (Prj_NUM_ROLES_IN_PROJECT - 1);
|
RoleInPrj <= (Prj_RoleInProject_t) (Prj_NUM_ROLES_IN_PROJECT - 1);
|
||||||
RoleInPrj++)
|
RoleInPrj++)
|
||||||
|
@ -733,20 +793,18 @@ static void Prj_ShowFormToFilterByRoleInPrj (const struct Prj_Projects *Projects
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
Set_EndPref ();
|
Set_EndPref ();
|
||||||
}
|
}
|
||||||
Set_EndOneSettingSelector ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*********** Show form to select assigned / non-assigned projects ************/
|
/*********** Show form to select assigned / non-assigned projects ************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
static void Prj_ShowFormToFilterByAssign (const struct Prj_Projects *Projects)
|
static void Prj_ShowFormToFilterByAssignation (const struct Prj_Projects *Projects)
|
||||||
{
|
{
|
||||||
extern const char *Txt_PROJECT_NONASSIGNED_ASSIGNED_PLURAL[Prj_NUM_ASSIGNED];
|
extern const char *Txt_PROJECT_NONASSIGNED_ASSIGNED_PLURAL[Prj_NUM_ASSIGNED];
|
||||||
struct Prj_Filter Filter;
|
struct Prj_Filter Filter;
|
||||||
Prj_Assigned_t Assign;
|
Prj_Assigned_t Assign;
|
||||||
|
|
||||||
Set_BeginOneSettingSelector ();
|
|
||||||
for (Assign = (Prj_Assigned_t) 0;
|
for (Assign = (Prj_Assigned_t) 0;
|
||||||
Assign <= (Prj_Assigned_t) (Prj_NUM_ASSIGNED - 1);
|
Assign <= (Prj_Assigned_t) (Prj_NUM_ASSIGNED - 1);
|
||||||
Assign++)
|
Assign++)
|
||||||
|
@ -770,7 +828,6 @@ static void Prj_ShowFormToFilterByAssign (const struct Prj_Projects *Projects)
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
Set_EndPref ();
|
Set_EndPref ();
|
||||||
}
|
}
|
||||||
Set_EndOneSettingSelector ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -792,7 +849,6 @@ static void Prj_ShowFormToFilterByHidden (const struct Prj_Projects *Projects)
|
||||||
[HidVis_VISIBLE] = {"eye.svg" ,Ico_GREEN},
|
[HidVis_VISIBLE] = {"eye.svg" ,Ico_GREEN},
|
||||||
};
|
};
|
||||||
|
|
||||||
Set_BeginOneSettingSelector ();
|
|
||||||
for (HidVis = (HidVis_HiddenOrVisible_t) 0;
|
for (HidVis = (HidVis_HiddenOrVisible_t) 0;
|
||||||
HidVis <= (HidVis_HiddenOrVisible_t) (HidVis_NUM_HIDDEN_VISIBLE - 1);
|
HidVis <= (HidVis_HiddenOrVisible_t) (HidVis_NUM_HIDDEN_VISIBLE - 1);
|
||||||
HidVis++)
|
HidVis++)
|
||||||
|
@ -817,14 +873,13 @@ static void Prj_ShowFormToFilterByHidden (const struct Prj_Projects *Projects)
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
Set_EndPref ();
|
Set_EndPref ();
|
||||||
}
|
}
|
||||||
Set_EndOneSettingSelector ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/************** Show form to select faulty/faultless projects ****************/
|
/************** Show form to select faulty/faultless projects ****************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
static void Prj_ShowFormToFilterByWarning (const struct Prj_Projects *Projects)
|
static void Prj_ShowFormToFilterByFaultiness (const struct Prj_Projects *Projects)
|
||||||
{
|
{
|
||||||
extern const char *Txt_PROJECT_FAULTY_FAULTLESS_PROJECTS[Prj_NUM_FAULTINESS];
|
extern const char *Txt_PROJECT_FAULTY_FAULTLESS_PROJECTS[Prj_NUM_FAULTINESS];
|
||||||
struct Prj_Filter Filter;
|
struct Prj_Filter Filter;
|
||||||
|
@ -839,7 +894,6 @@ static void Prj_ShowFormToFilterByWarning (const struct Prj_Projects *Projects)
|
||||||
[Prj_FAULTLESS] = {"check-circle.svg" ,Ico_GREEN },
|
[Prj_FAULTLESS] = {"check-circle.svg" ,Ico_GREEN },
|
||||||
};
|
};
|
||||||
|
|
||||||
Set_BeginOneSettingSelector ();
|
|
||||||
for (Faultiness = (Prj_Faultiness_t) 0;
|
for (Faultiness = (Prj_Faultiness_t) 0;
|
||||||
Faultiness <= (Prj_Faultiness_t) (Prj_NUM_FAULTINESS - 1);
|
Faultiness <= (Prj_Faultiness_t) (Prj_NUM_FAULTINESS - 1);
|
||||||
Faultiness++)
|
Faultiness++)
|
||||||
|
@ -864,7 +918,6 @@ static void Prj_ShowFormToFilterByWarning (const struct Prj_Projects *Projects)
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
Set_EndPref ();
|
Set_EndPref ();
|
||||||
}
|
}
|
||||||
Set_EndOneSettingSelector ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -877,7 +930,6 @@ static void Prj_ShowFormToFilterByReview (const struct Prj_Projects *Projects)
|
||||||
struct Prj_Filter Filter;
|
struct Prj_Filter Filter;
|
||||||
Prj_ReviewStatus_t ReviewStatus;
|
Prj_ReviewStatus_t ReviewStatus;
|
||||||
|
|
||||||
Set_BeginOneSettingSelector ();
|
|
||||||
for (ReviewStatus = (Prj_ReviewStatus_t) 0;
|
for (ReviewStatus = (Prj_ReviewStatus_t) 0;
|
||||||
ReviewStatus <= (Prj_ReviewStatus_t) (Prj_NUM_REVIEW_STATUS - 1);
|
ReviewStatus <= (Prj_ReviewStatus_t) (Prj_NUM_REVIEW_STATUS - 1);
|
||||||
ReviewStatus++)
|
ReviewStatus++)
|
||||||
|
@ -902,7 +954,6 @@ static void Prj_ShowFormToFilterByReview (const struct Prj_Projects *Projects)
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
Set_EndPref ();
|
Set_EndPref ();
|
||||||
}
|
}
|
||||||
Set_EndOneSettingSelector ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -916,7 +967,6 @@ static void Prj_ShowFormToFilterByDpt (const struct Prj_Projects *Projects)
|
||||||
char *SelectClass;
|
char *SelectClass;
|
||||||
|
|
||||||
/***** Begin form *****/
|
/***** Begin form *****/
|
||||||
HTM_DIV_Begin (NULL);
|
|
||||||
Frm_BeginForm (ActSeeAllPrj);
|
Frm_BeginForm (ActSeeAllPrj);
|
||||||
Filter.Who = Projects->Filter.Who;
|
Filter.Who = Projects->Filter.Who;
|
||||||
Filter.RolPrj = Projects->Filter.RolPrj;
|
Filter.RolPrj = Projects->Filter.RolPrj;
|
||||||
|
@ -932,8 +982,7 @@ static void Prj_ShowFormToFilterByDpt (const struct Prj_Projects *Projects)
|
||||||
Usr_USE_LIST_SELECTED_USERS);
|
Usr_USE_LIST_SELECTED_USERS);
|
||||||
|
|
||||||
/***** Write selector with departments *****/
|
/***** Write selector with departments *****/
|
||||||
if (asprintf (&SelectClass,"Frm_C2_INPUT INPUT_%s",
|
if (asprintf (&SelectClass,"Frm_C2_INPUT INPUT_%s",The_GetSuffix ()) < 0)
|
||||||
The_GetSuffix ()) < 0)
|
|
||||||
Err_NotEnoughMemoryExit ();
|
Err_NotEnoughMemoryExit ();
|
||||||
Dpt_WriteSelectorDepartment (Gbl.Hierarchy.Node[Hie_INS].HieCod, // Departments in current institution
|
Dpt_WriteSelectorDepartment (Gbl.Hierarchy.Node[Hie_INS].HieCod, // Departments in current institution
|
||||||
Projects->Filter.DptCod, // Selected department
|
Projects->Filter.DptCod, // Selected department
|
||||||
|
@ -946,7 +995,6 @@ static void Prj_ShowFormToFilterByDpt (const struct Prj_Projects *Projects)
|
||||||
|
|
||||||
/***** End form *****/
|
/***** End form *****/
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
HTM_DIV_End ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -1169,13 +1217,6 @@ static unsigned Prj_GetParAssign (void)
|
||||||
|
|
||||||
static unsigned Prj_GetParHidden (void)
|
static unsigned Prj_GetParHidden (void)
|
||||||
{
|
{
|
||||||
switch (Gbl.Usrs.Me.Role.Logged)
|
|
||||||
{
|
|
||||||
case Rol_STD: // Students can view only visible projects
|
|
||||||
return (unsigned) (1 << HidVis_VISIBLE); // Only visible projects
|
|
||||||
case Rol_NET:
|
|
||||||
case Rol_TCH:
|
|
||||||
case Rol_SYS_ADM:
|
|
||||||
return (unsigned)
|
return (unsigned)
|
||||||
Par_GetParUnsignedLong (Prj_PAR_FILTER_HID_VIS_NAME,
|
Par_GetParUnsignedLong (Prj_PAR_FILTER_HID_VIS_NAME,
|
||||||
0,
|
0,
|
||||||
|
@ -1183,10 +1224,6 @@ static unsigned Prj_GetParHidden (void)
|
||||||
(1 << HidVis_VISIBLE),
|
(1 << HidVis_VISIBLE),
|
||||||
(unsigned) Prj_FILTER_HIDDEN_DEFAULT |
|
(unsigned) Prj_FILTER_HIDDEN_DEFAULT |
|
||||||
(unsigned) Prj_FILTER_VISIBL_DEFAULT);
|
(unsigned) Prj_FILTER_VISIBL_DEFAULT);
|
||||||
default:
|
|
||||||
Err_WrongRoleExit ();
|
|
||||||
return Prj_NEW_PRJ_HIDDEN_VISIBL_DEFAULT; // Not reached
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned Prj_GetParFaulti (void)
|
static unsigned Prj_GetParFaulti (void)
|
||||||
|
|
|
@ -519,27 +519,6 @@ unsigned Prj_DB_GetListProjects (MYSQL_RES **mysql_res,
|
||||||
case Prj_ORDER_START_TIME:
|
case Prj_ORDER_START_TIME:
|
||||||
case Prj_ORDER_END_TIME:
|
case Prj_ORDER_END_TIME:
|
||||||
case Prj_ORDER_TITLE:
|
case Prj_ORDER_TITLE:
|
||||||
|
|
||||||
Ale_ShowAlert (Ale_INFO,
|
|
||||||
"SELECT prj_projects.PrjCod"
|
|
||||||
" FROM prj_projects LEFT JOIN prj_users"
|
|
||||||
" ON prj_projects.PrjCod=prj_users.PrjCod"
|
|
||||||
" WHERE prj_projects.CrsCod=%ld"
|
|
||||||
"%s"
|
|
||||||
"%s"
|
|
||||||
"%s"
|
|
||||||
"%s"
|
|
||||||
"%s"
|
|
||||||
" ORDER BY %s",
|
|
||||||
Gbl.Hierarchy.Node[Hie_CRS].HieCod,
|
|
||||||
AssignSubQuery,
|
|
||||||
HidVisSubQuery,
|
|
||||||
ReviewSubQuery,
|
|
||||||
DptCodSubQuery,
|
|
||||||
RolPrjSubQuery[Projects->Filter.RolPrj],
|
|
||||||
OrderBySubQuery[Projects->SelectedOrder]);
|
|
||||||
|
|
||||||
|
|
||||||
NumPrjsFromDB = (unsigned)
|
NumPrjsFromDB = (unsigned)
|
||||||
DB_QuerySELECT (mysql_res,"can not get projects",
|
DB_QuerySELECT (mysql_res,"can not get projects",
|
||||||
"SELECT prj_projects.PrjCod"
|
"SELECT prj_projects.PrjCod"
|
||||||
|
|
100
swad_text.c
100
swad_text.c
|
@ -2804,6 +2804,29 @@ const char *Txt_START_END_TIME[Dat_NUM_START_END_TIME] =
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const char *Txt_Assignation = // Project assigned/non-assigned to students
|
||||||
|
#if L==1 // ca
|
||||||
|
"Assignació";
|
||||||
|
#elif L==2 // de
|
||||||
|
"Zuweisung";
|
||||||
|
#elif L==3 // en
|
||||||
|
"Assignation";
|
||||||
|
#elif L==4 // es
|
||||||
|
"Asignación";
|
||||||
|
#elif L==5 // fr
|
||||||
|
"Assignation";
|
||||||
|
#elif L==6 // gn
|
||||||
|
"Assignación"; // Okoteve traducción
|
||||||
|
#elif L==7 // it
|
||||||
|
"Assegnazione";
|
||||||
|
#elif L==8 // pl
|
||||||
|
"Ustalenie";
|
||||||
|
#elif L==9 // pt
|
||||||
|
"Atribuiçã,o";
|
||||||
|
#elif L==10 // tr
|
||||||
|
"Atama";
|
||||||
|
#endif
|
||||||
|
|
||||||
const char *Txt_Assignments_area =
|
const char *Txt_Assignments_area =
|
||||||
#if L==1 // ca
|
#if L==1 // ca
|
||||||
"Zona d'activitats";
|
"Zona d'activitats";
|
||||||
|
@ -12445,6 +12468,29 @@ const char *Txt_Failed_email_confirmation_key =
|
||||||
"Failed email confirmation key."; // Çeviri lazim!
|
"Failed email confirmation key."; // Çeviri lazim!
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
const char *Txt_Faultiness = // In projects
|
||||||
|
#if L==1 // ca
|
||||||
|
"Defectuositat";
|
||||||
|
#elif L==2 // de
|
||||||
|
"Mangelhaftigkeit";
|
||||||
|
#elif L==3 // en
|
||||||
|
"Faultiness";
|
||||||
|
#elif L==4 // es
|
||||||
|
"Defectuosos";
|
||||||
|
#elif L==5 // fr
|
||||||
|
"Défectueux";
|
||||||
|
#elif L==6 // gn
|
||||||
|
"Defectuosos"; // Okoteve traducción
|
||||||
|
#elif L==7 // it
|
||||||
|
"Difettosi";
|
||||||
|
#elif L==8 // pl
|
||||||
|
"Wadliwość";
|
||||||
|
#elif L==9 // pt
|
||||||
|
"Defeituosos";
|
||||||
|
#elif L==10 // tr
|
||||||
|
"Kusurlu";
|
||||||
|
#endif
|
||||||
|
|
||||||
const char *Txt_Feedback =
|
const char *Txt_Feedback =
|
||||||
#if L==1 // ca
|
#if L==1 // ca
|
||||||
"Realimentació";
|
"Realimentació";
|
||||||
|
@ -34775,7 +34821,7 @@ const char *Txt_Review =
|
||||||
#elif L==5 // fr
|
#elif L==5 // fr
|
||||||
"Examen";
|
"Examen";
|
||||||
#elif L==6 // gn
|
#elif L==6 // gn
|
||||||
"Revisión"; // Okoteve traducción
|
"Hechajey";
|
||||||
#elif L==7 // it
|
#elif L==7 // it
|
||||||
"Revisione";
|
"Revisione";
|
||||||
#elif L==8 // pl
|
#elif L==8 // pl
|
||||||
|
@ -34798,7 +34844,7 @@ const char *Txt_Role =
|
||||||
#elif L==5 // fr
|
#elif L==5 // fr
|
||||||
"Rôle";
|
"Rôle";
|
||||||
#elif L==6 // gn
|
#elif L==6 // gn
|
||||||
"Rol"; // Okoteve traducción
|
"Kuatia";
|
||||||
#elif L==7 // it
|
#elif L==7 // it
|
||||||
"Ruolo";
|
"Ruolo";
|
||||||
#elif L==8 // pl
|
#elif L==8 // pl
|
||||||
|
@ -34806,7 +34852,30 @@ const char *Txt_Role =
|
||||||
#elif L==9 // pt
|
#elif L==9 // pt
|
||||||
"Papel";
|
"Papel";
|
||||||
#elif L==10 // tr
|
#elif L==10 // tr
|
||||||
"Role"; // Çeviri lazim!
|
"Rol";
|
||||||
|
#endif
|
||||||
|
|
||||||
|
const char *Txt_Roles =
|
||||||
|
#if L==1 // ca
|
||||||
|
"Rols";
|
||||||
|
#elif L==2 // de
|
||||||
|
"Rollen";
|
||||||
|
#elif L==3 // en
|
||||||
|
"Roles";
|
||||||
|
#elif L==4 // es
|
||||||
|
"Roles";
|
||||||
|
#elif L==5 // fr
|
||||||
|
"Rôles";
|
||||||
|
#elif L==6 // gn
|
||||||
|
"Kuatia";
|
||||||
|
#elif L==7 // it
|
||||||
|
"Ruoli";
|
||||||
|
#elif L==8 // pl
|
||||||
|
"Role";
|
||||||
|
#elif L==9 // pt
|
||||||
|
"Papéis";
|
||||||
|
#elif L==10 // tr
|
||||||
|
"Roller";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_ROLE_STATS[Sta_NUM_ROLES_STAT] =
|
const char *Txt_ROLE_STATS[Sta_NUM_ROLES_STAT] =
|
||||||
|
@ -56841,6 +56910,29 @@ const char *Txt_View_homework =
|
||||||
"View homework"; // Çeviri lazim!
|
"View homework"; // Çeviri lazim!
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
const char *Txt_Visibility =
|
||||||
|
#if L==1 // ca
|
||||||
|
"Visibilitat";
|
||||||
|
#elif L==2 // de
|
||||||
|
"Sichtweite";
|
||||||
|
#elif L==3 // en
|
||||||
|
"Visibility";
|
||||||
|
#elif L==4 // es
|
||||||
|
"Visibilidad";
|
||||||
|
#elif L==5 // fr
|
||||||
|
"Visibilité";
|
||||||
|
#elif L==6 // gn
|
||||||
|
"Visibilidad"; // Okoteve traducción
|
||||||
|
#elif L==7 // it
|
||||||
|
"Visibilità";
|
||||||
|
#elif L==8 // pl
|
||||||
|
"Widoczność";
|
||||||
|
#elif L==9 // pt
|
||||||
|
"Visibilidade";
|
||||||
|
#elif L==10 // tr
|
||||||
|
"Görünürlüğük";
|
||||||
|
#endif
|
||||||
|
|
||||||
const char *Txt_Visible =
|
const char *Txt_Visible =
|
||||||
#if L==1 // ca
|
#if L==1 // ca
|
||||||
"Visible";
|
"Visible";
|
||||||
|
@ -56853,7 +56945,7 @@ const char *Txt_Visible =
|
||||||
#elif L==5 // fr
|
#elif L==5 // fr
|
||||||
"Visible";
|
"Visible";
|
||||||
#elif L==6 // gn
|
#elif L==6 // gn
|
||||||
"Visible"; // Okoteve traducción
|
"Ojehecha";
|
||||||
#elif L==7 // it
|
#elif L==7 // it
|
||||||
"Visibile";
|
"Visibile";
|
||||||
#elif L==8 // pl
|
#elif L==8 // pl
|
||||||
|
|
Loading…
Reference in New Issue
Block a user