Version 23.85.3: Jul 04, 2024 Code refactoring in selection of users in projects.

This commit is contained in:
acanas 2024-07-04 14:17:40 +02:00
parent a754b06bea
commit 0019ca0f34
6 changed files with 54 additions and 65 deletions

View File

@ -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.85.2 (2024-07-04)"
#define Log_PLATFORM_VERSION "SWAD 23.85.3 (2024-07-04)"
#define CSS_FILE "swad23.67.2.css"
#define JS_FILE "swad23.79.js"
/*
Version 23.85.3: Jul 04, 2024 Code refactoring in selection of users in projects. (335041 lines)
Version 23.85.2: Jul 04, 2024 Changes in selection of users in projects. (335053 lines)
Version 23.85.1: Jun 20, 2024 Names in hierarchy configuration. (335014 lines)
Version 23.85: Jun 20, 2024 Code refactoring in list of actions. (335012 lines)

View File

@ -189,7 +189,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
((struct Prj_Projects *) Context)->SelectedOrder,
1,
Cod,
true); // Put list of selected users
Usr_USE_LIST_SELECTED_USERS);
break;
case Pag_EXAMS:
Frm_BeginFormAnchor (ActSeeAllExa,Pagination->Anchor);
@ -322,7 +322,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
((struct Prj_Projects *) Context)->SelectedOrder,
1,
Cod,
true); // Put list of selected users
Usr_USE_LIST_SELECTED_USERS);
break;
case Pag_EXAMS:
Frm_BeginFormAnchor (ActSeeAllExa,Pagination->Anchor);
@ -442,7 +442,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
((struct Prj_Projects *) Context)->SelectedOrder,
Pagination->LeftPage,
Cod,
true); // Put list of selected users
Usr_USE_LIST_SELECTED_USERS);
break;
case Pag_EXAMS:
Frm_BeginFormAnchor (ActSeeAllExa,Pagination->Anchor);
@ -575,7 +575,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
((struct Prj_Projects *) Context)->SelectedOrder,
NumPage,
Cod,
true); // Put list of selected users
Usr_USE_LIST_SELECTED_USERS);
break;
case Pag_EXAMS:
Frm_BeginFormAnchor (ActSeeAllExa,Pagination->Anchor);
@ -695,7 +695,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
((struct Prj_Projects *) Context)->SelectedOrder,
Pagination->RightPage,
Cod,
true); // Put list of selected users
Usr_USE_LIST_SELECTED_USERS);
break;
case Pag_EXAMS:
Frm_BeginFormAnchor (ActSeeAllExa,Pagination->Anchor);
@ -816,7 +816,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
((struct Prj_Projects *) Context)->SelectedOrder,
Pagination->NumPags,
Cod,
true); // Put list of selected users
Usr_USE_LIST_SELECTED_USERS);
break;
case Pag_EXAMS:
Frm_BeginFormAnchor (ActSeeAllExa,Pagination->Anchor);

View File

@ -379,8 +379,7 @@ void Prj_ListUsrsToSelect (void)
Prj_ResetPrjsAndReadConfig (&Projects);
/***** Get parameters *****/
Prj_GetPars (&Projects,
false); // Don't get list of selected users
Prj_GetPars (&Projects,Usr_DONT_USE_LIST_SELECTED_USERS);
/***** Show list of users to select some of them *****/
Prj_ReqUsrsToSelect (&Projects);
@ -414,8 +413,7 @@ void Prj_SeeAllProjects (void)
Prj_ResetPrjsAndReadConfig (&Projects);
/***** Get parameters *****/
Prj_GetPars (&Projects,
true); // Get list of selected users
Prj_GetPars (&Projects,Usr_USE_LIST_SELECTED_USERS);
/***** Show projects *****/
Prj_ShowProjects (&Projects);
@ -469,8 +467,7 @@ void Prj_ShowTableSelectedPrjs (void)
Prj_ResetPrjsAndReadConfig (&Projects);
/***** Get parameters *****/
Prj_GetPars (&Projects,
true); // Get list of selected users
Prj_GetPars (&Projects,Usr_USE_LIST_SELECTED_USERS);
/***** Get list of projects *****/
Prj_GetListProjects (&Projects);
@ -656,7 +653,7 @@ static void Prj_ShowFormToFilterByMy_All (const struct Prj_Projects *Projects)
Projects->SelectedOrder,
Projects->CurrentPage,
-1L,
false); // Don't put list of selected users
Usr_DONT_USE_LIST_SELECTED_USERS);
Usr_PutWhoIcon (Who);
Frm_EndForm ();
Set_EndPref ();
@ -691,7 +688,7 @@ static void Prj_ShowFormToFilterByAssign (const struct Prj_Projects *Projects)
Projects->SelectedOrder,
Projects->CurrentPage,
-1L,
true); // Put list of selected users
Usr_USE_LIST_SELECTED_USERS);
Ico_PutSettingIconLink (AssignedNonassigIcon[Assign],Ico_BLACK,
Txt_PROJECT_ASSIGNED_NONASSIGNED_PLURAL[Assign]);
Frm_EndForm ();
@ -736,7 +733,7 @@ static void Prj_ShowFormToFilterByHidden (const struct Prj_Projects *Projects)
Projects->SelectedOrder,
Projects->CurrentPage,
-1L,
true); // Put list of selected users
Usr_USE_LIST_SELECTED_USERS);
Ico_PutSettingIconLink (HiddenVisiblIcon[HidVis].Icon,
HiddenVisiblIcon[HidVis].Color,
Txt_PROJECT_HIDDEN_VISIBL_PROJECTS[HidVis]);
@ -782,7 +779,7 @@ static void Prj_ShowFormToFilterByWarning (const struct Prj_Projects *Projects)
Projects->SelectedOrder,
Projects->CurrentPage,
-1L,
true); // Put list of selected users
Usr_USE_LIST_SELECTED_USERS);
Ico_PutSettingIconLink (FaultinessIcon[Faultiness].Icon,
FaultinessIcon[Faultiness].Color,
Txt_PROJECT_FAULTY_FAULTLESS_PROJECTS[Faultiness]);
@ -819,7 +816,7 @@ static void Prj_ShowFormToFilterByReview (const struct Prj_Projects *Projects)
Projects->SelectedOrder,
Projects->CurrentPage,
-1L,
true); // Put list of selected users
Usr_USE_LIST_SELECTED_USERS);
Ico_PutSettingIconLink (ReviewIcon[ReviewStatus].Icon,
ReviewIcon[ReviewStatus].Color,
Txt_PROJECT_REVIEW_PLURAL[ReviewStatus]);
@ -852,7 +849,7 @@ static void Prj_ShowFormToFilterByDpt (const struct Prj_Projects *Projects)
Projects->SelectedOrder,
Projects->CurrentPage,
-1L,
true); // Put list of selected users
Usr_USE_LIST_SELECTED_USERS);
/***** Write selector with departments *****/
if (asprintf (&SelectClass,"Frm_C2_INPUT INPUT_%s",
@ -944,7 +941,7 @@ void Prj_PutCurrentPars (void *Projects)
((struct Prj_Projects *) Projects)->SelectedOrder,
((struct Prj_Projects *) Projects)->CurrentPage,
((struct Prj_Projects *) Projects)->Prj.PrjCod,
true); // Put list of selected users
Usr_USE_LIST_SELECTED_USERS);
}
/* The following function is called
@ -955,7 +952,7 @@ void Prj_PutPars (const struct Prj_Filter *Filter,
Prj_Order_t Order,
unsigned NumPage,
long PrjCod,
bool PutSelectedUsers)
Usr_UseListSelectedUsrs UseListSelectedUsrs)
{
/***** Put filter parameters (which projects to show) *****/
if (Filter->Who != Prj_FILTER_WHO_DEFAULT)
@ -997,7 +994,8 @@ void Prj_PutPars (const struct Prj_Filter *Filter,
Usr_PutParOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EnUsrCod);
/***** Put selected users' codes *****/
if (PutSelectedUsers && Filter->Who == Usr_WHO_SELECTED)
if (Filter->Who == Usr_WHO_SELECTED &&
UseListSelectedUsrs == Usr_USE_LIST_SELECTED_USERS)
Usr_PutParSelectedUsrsCods (&Gbl.Usrs.Selected);
}
@ -1099,7 +1097,8 @@ static long Prj_GetParFilterDptCod (void)
/***************** Get generic parameters to list projects *******************/
/*****************************************************************************/
void Prj_GetPars (struct Prj_Projects *Projects,bool GetSelectedUsers)
void Prj_GetPars (struct Prj_Projects *Projects,
Usr_UseListSelectedUsrs UseListSelectedUsrs)
{
/***** Get filter (which projects to show) *****/
Projects->Filter.Who = Prj_GetParWho ();
@ -1114,7 +1113,8 @@ void Prj_GetPars (struct Prj_Projects *Projects,bool GetSelectedUsers)
Projects->CurrentPage = Pag_GetParPagNum (Pag_PROJECTS);
/***** Get selected users *****/
if (Projects->Filter.Who == Usr_WHO_SELECTED && GetSelectedUsers)
if (Projects->Filter.Who == Usr_WHO_SELECTED &&
UseListSelectedUsrs == Usr_USE_LIST_SELECTED_USERS)
Usr_GetListsSelectedEncryptedUsrsCods (&Gbl.Usrs.Selected);
}
@ -1185,7 +1185,7 @@ static void Prj_ShowProjectsHead (struct Prj_Projects *Projects)
Order,
Projects->CurrentPage,
-1L,
true); // Put list of selected users
Usr_USE_LIST_SELECTED_USERS);
HTM_BUTTON_Submit_Begin (Txt_PROJECT_ORDER_HELP[Order],
"class=\"BT_LINK\"");
if (Order == Projects->SelectedOrder)
@ -1334,8 +1334,7 @@ void Prj_ShowOneProject (void)
Prj_ResetPrjsAndReadConfig (&Projects);
/***** Get parameters *****/
Prj_GetPars (&Projects,
true); // Get list of selected users
Prj_GetPars (&Projects,Usr_USE_LIST_SELECTED_USERS);
Projects.Prj.PrjCod = ParCod_GetAndCheckPar (ParCod_Prj);
/***** Get project data,
@ -2900,8 +2899,7 @@ static void Prj_FormToSelectUsrs (struct Prj_Projects *Projects,
char *TxtButton;
/***** Get parameters *****/
Prj_GetPars (Projects,
true); // Get list of selected users
Prj_GetPars (Projects,Usr_USE_LIST_SELECTED_USERS);
Projects->Prj.PrjCod = ParCod_GetAndCheckPar (ParCod_Prj);
/***** Put form to select users *****/
@ -2991,8 +2989,7 @@ static void Prj_AddUsrsToProject (struct Prj_Projects *Projects,
const char *Ptr;
/***** Get parameters *****/
Prj_GetPars (Projects,
true); // Get list of selected users
Prj_GetPars (Projects,Usr_USE_LIST_SELECTED_USERS);
Projects->Prj.PrjCod = ParCod_GetAndCheckPar (ParCod_Prj);
/***** Add the selected users to project *****/
@ -3090,8 +3087,7 @@ static void Prj_ReqRemUsrFromPrj (struct Prj_Projects *Projects,
Prj_AllocMemProject (&Projects->Prj);
/***** Get parameters *****/
Prj_GetPars (Projects,
true); // Get list of selected users
Prj_GetPars (Projects,Usr_USE_LIST_SELECTED_USERS);
Projects->Prj.PrjCod = ParCod_GetAndCheckPar (ParCod_Prj);
/***** Get data of the project from database *****/
@ -3171,8 +3167,7 @@ static void Prj_RemUsrFromPrj (Prj_RoleInProject_t RoleInPrj)
Prj_AllocMemProject (&Projects.Prj);
/***** Get parameters *****/
Prj_GetPars (&Projects,
true); // Get list of selected users
Prj_GetPars (&Projects,Usr_USE_LIST_SELECTED_USERS);
Projects.Prj.PrjCod = ParCod_GetAndCheckPar (ParCod_Prj);
/***** Get data of the project from database *****/
@ -3560,8 +3555,7 @@ void Prj_ReqRemProject (void)
Prj_AllocMemProject (&Projects.Prj);
/***** Get parameters *****/
Prj_GetPars (&Projects,
true); // Get list of selected users
Prj_GetPars (&Projects,Usr_USE_LIST_SELECTED_USERS);
Projects.Prj.PrjCod = ParCod_GetAndCheckPar (ParCod_Prj);
/***** Get data of the project from database *****/
@ -3601,8 +3595,7 @@ void Prj_RemoveProject (void)
Prj_AllocMemProject (&Projects.Prj);
/***** Get parameters *****/
Prj_GetPars (&Projects,
true); // Get list of selected users
Prj_GetPars (&Projects,Usr_USE_LIST_SELECTED_USERS);
Projects.Prj.PrjCod = ParCod_GetAndCheckPar (ParCod_Prj);
/***** Get data of the project from database *****/
@ -3666,8 +3659,7 @@ static void Prj_HideUnhideProject (HidVis_HiddenOrVisible_t HiddenOrVisible)
Prj_AllocMemProject (&Projects.Prj);
/***** Get parameters *****/
Prj_GetPars (&Projects,
true); // Get list of selected users
Prj_GetPars (&Projects,Usr_USE_LIST_SELECTED_USERS);
Projects.Prj.PrjCod = ParCod_GetAndCheckPar (ParCod_Prj);
/***** Get data of the project from database *****/
@ -3703,8 +3695,7 @@ void Prj_ReqCreatePrj (void)
Err_NoPermissionExit ();
/***** Get parameters *****/
Prj_GetPars (&Projects,
true); // Get list of selected users
Prj_GetPars (&Projects,Usr_USE_LIST_SELECTED_USERS);
Projects.Prj.PrjCod = -1L; // It's a new, non existing, project
/***** Form to create project *****/
@ -3719,8 +3710,7 @@ void Prj_ReqEditPrj (void)
Prj_ResetPrjsAndReadConfig (&Projects);
/***** Get parameters *****/
Prj_GetPars (&Projects,
true); // Get list of selected users
Prj_GetPars (&Projects,Usr_USE_LIST_SELECTED_USERS);
Projects.Prj.PrjCod = ParCod_GetAndCheckPar (ParCod_Prj);
/***** Form to edit project *****/
@ -4073,8 +4063,7 @@ void Prj_ReceiveProject (void)
Prj_AllocMemProject (&Projects.Prj);
/***** Get parameters *****/
Prj_GetPars (&Projects,
true); // Get list of selected users
Prj_GetPars (&Projects,Usr_USE_LIST_SELECTED_USERS);
ItsANewProject = ((Projects.Prj.PrjCod = ParCod_GetPar (ParCod_Prj)) <= 0);
if (ItsANewProject)
@ -4235,8 +4224,7 @@ void Prj_ReqLockSelectedPrjsEdition (void)
Err_NoPermissionExit ();
/***** Get parameters *****/
Prj_GetPars (&Projects,
true); // Get list of selected users
Prj_GetPars (&Projects,Usr_USE_LIST_SELECTED_USERS);
/***** Show question and button to lock all selected projects *****/
/* Get list of projects */
@ -4274,8 +4262,7 @@ void Prj_ReqUnloSelectedPrjsEdition (void)
Err_NoPermissionExit ();
/***** Get parameters *****/
Prj_GetPars (&Projects,
true); // Get list of selected users
Prj_GetPars (&Projects,Usr_USE_LIST_SELECTED_USERS);
/***** Show question and button to unlock all selected projects *****/
/* Get list of projects */
@ -4316,8 +4303,7 @@ void Prj_LockSelectedPrjsEdition (void)
Err_NoPermissionExit ();
/***** Get parameters *****/
Prj_GetPars (&Projects,
true); // Get list of selected users
Prj_GetPars (&Projects,Usr_USE_LIST_SELECTED_USERS);
/***** Lock all selected projects *****/
/* Get list of projects */
@ -4353,8 +4339,7 @@ void Prj_UnloSelectedPrjsEdition (void)
Err_NoPermissionExit ();
/***** Get parameters *****/
Prj_GetPars (&Projects,
true); // Get list of selected users
Prj_GetPars (&Projects,Usr_USE_LIST_SELECTED_USERS);
/***** Unlock all selected projects *****/
/* Get list of projects */
@ -4447,8 +4432,7 @@ void Prj_LockProjectEdition (void)
Prj_AllocMemProject (&Projects.Prj);
/***** Get parameters *****/
Prj_GetPars (&Projects,
true); // Get list of selected users
Prj_GetPars (&Projects,Usr_USE_LIST_SELECTED_USERS);
Projects.Prj.PrjCod = ParCod_GetAndCheckPar (ParCod_Prj);
/***** Get data of the project from database *****/
@ -4484,8 +4468,7 @@ void Prj_UnloProjectEdition (void)
Prj_AllocMemProject (&Projects.Prj);
/***** Get parameters *****/
Prj_GetPars (&Projects,
true); // Get list of selected users
Prj_GetPars (&Projects,Usr_USE_LIST_SELECTED_USERS);
Projects.Prj.PrjCod = ParCod_GetAndCheckPar (ParCod_Prj);
/***** Get data of the project from database *****/
@ -4521,8 +4504,7 @@ void Prj_ChangeReviewStatus (void)
Prj_AllocMemProject (&Projects.Prj);
/***** Get parameters *****/
Prj_GetPars (&Projects,
true); // Get list of selected users
Prj_GetPars (&Projects,Usr_USE_LIST_SELECTED_USERS);
Projects.Prj.PrjCod = ParCod_GetAndCheckPar (ParCod_Prj);
/***** Get data of the project from database *****/

View File

@ -213,8 +213,9 @@ void Prj_PutPars (const struct Prj_Filter *Filter,
Prj_Order_t Order,
unsigned NumPage,
long PrjCod,
bool PutSelectedUsers);
void Prj_GetPars (struct Prj_Projects *Projects,bool GetSelectedUsers);
Usr_UseListSelectedUsrs UseListSelectedUsrs);
void Prj_GetPars (struct Prj_Projects *Projects,
Usr_UseListSelectedUsrs UseListSelectedUsrs);
void Prj_PutIconsListProjects (void *Projects);

View File

@ -49,8 +49,7 @@ void PrjRsc_GetLinkToProject (void)
Prj_ResetPrjsAndReadConfig (&Projects);
/***** Get parameters *****/
Prj_GetPars (&Projects,
true); // Get list of selected users
Prj_GetPars (&Projects,Usr_USE_LIST_SELECTED_USERS);
Projects.Prj.PrjCod = ParCod_GetPar (ParCod_Prj);
/***** Allocate memory for the project *****/

View File

@ -159,6 +159,12 @@ struct Usr_ListUsrs
unsigned NumUsrs; // Number of users in the list
};
typedef enum
{
Usr_DONT_USE_LIST_SELECTED_USERS,
Usr_USE_LIST_SELECTED_USERS,
} Usr_UseListSelectedUsrs;
struct Usr_SelectedUsrs
{
char *List[Rol_NUM_ROLES]; // Lists of encrypted codes of users selected from a form