Version19.68.2

This commit is contained in:
Antonio Cañas Vargas 2019-11-14 17:53:50 +01:00
parent 56b52e34be
commit e91801139f
6 changed files with 189 additions and 187 deletions

View File

@ -2789,11 +2789,11 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActReqEnrSevNET */{1642,-1,TabUnk,ActLstTch ,0x3C0,0x3C0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Enr_ReqAdminNonEditingTchs ,NULL}, /* ActReqEnrSevNET */{1642,-1,TabUnk,ActLstTch ,0x3C0,0x3C0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Enr_ReqAdminNonEditingTchs ,NULL},
/* ActReqEnrSevTch */{1427,-1,TabUnk,ActLstTch ,0x3C0,0x3C0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Enr_ReqAdminTchs ,NULL}, /* ActReqEnrSevTch */{1427,-1,TabUnk,ActLstTch ,0x3C0,0x3C0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Enr_ReqAdminTchs ,NULL},
/* ActReqLstUsrAtt */{1073,-1,TabUnk,ActSeeAtt ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Usr_ReqListStdsAttendanceCrs ,NULL}, /* ActReqLstUsrAtt */{1073,-1,TabUnk,ActSeeAtt ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_ReqListUsrsAttendanceCrs ,NULL},
/* ActSeeLstMyAtt */{1473,-1,TabUnk,ActSeeAtt ,0x008, 0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Usr_ListMyAttendanceCrs ,NULL}, /* ActSeeLstMyAtt */{1473,-1,TabUnk,ActSeeAtt ,0x008, 0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_ListMyAttendanceCrs ,NULL},
/* ActPrnLstMyAtt */{1474,-1,TabUnk,ActSeeAtt ,0x008, 0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_NEW_TAB,NULL ,Usr_PrintMyAttendanceCrs ,NULL}, /* ActPrnLstMyAtt */{1474,-1,TabUnk,ActSeeAtt ,0x008, 0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_NEW_TAB,NULL ,Att_PrintMyAttendanceCrs ,NULL},
/* ActSeeLstUsrAtt */{1074,-1,TabUnk,ActSeeAtt ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Usr_ListUsrsAttendanceCrs ,NULL}, /* ActSeeLstUsrAtt */{1074,-1,TabUnk,ActSeeAtt ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_ListUsrsAttendanceCrs ,NULL},
/* ActPrnLstUsrAtt */{1075,-1,TabUnk,ActSeeAtt ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_NEW_TAB,NULL ,Usr_PrintUsrsAttendanceCrs ,NULL}, /* ActPrnLstUsrAtt */{1075,-1,TabUnk,ActSeeAtt ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_NEW_TAB,NULL ,Att_PrintUsrsAttendanceCrs ,NULL},
/* ActFrmNewAtt */{1063,-1,TabUnk,ActSeeAtt ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_RequestCreatOrEditAttEvent ,NULL}, /* ActFrmNewAtt */{1063,-1,TabUnk,ActSeeAtt ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_RequestCreatOrEditAttEvent ,NULL},
/* ActEdiOneAtt */{1064,-1,TabUnk,ActSeeAtt ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_RequestCreatOrEditAttEvent ,NULL}, /* ActEdiOneAtt */{1064,-1,TabUnk,ActSeeAtt ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_RequestCreatOrEditAttEvent ,NULL},
/* ActNewAtt */{1065,-1,TabUnk,ActSeeAtt ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_RecFormAttEvent ,NULL}, /* ActNewAtt */{1065,-1,TabUnk,ActSeeAtt ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Att_RecFormAttEvent ,NULL},

View File

@ -66,15 +66,18 @@ extern struct Globals Gbl;
typedef enum typedef enum
{ {
Att_NORMAL_VIEW_ONLY_ME, Att_VIEW_ONLY_ME, // View only me
Att_NORMAL_VIEW_STUDENTS, Att_VIEW_SEL_USR, // View selected users
Att_PRINT_VIEW, Att_PRNT_ONLY_ME, // Print only me
Att_PRNT_SEL_USR, // Print selected users
} Att_TypeOfView_t; } Att_TypeOfView_t;
/*****************************************************************************/ /*****************************************************************************/
/****************************** Private variables ****************************/ /****************************** Private variables ****************************/
/*****************************************************************************/ /*****************************************************************************/
Att_TypeOfView_t Att_TypeOfView;
/*****************************************************************************/ /*****************************************************************************/
/****************************** Private prototypes ***************************/ /****************************** Private prototypes ***************************/
/*****************************************************************************/ /*****************************************************************************/
@ -131,8 +134,9 @@ static void Att_RegUsrInAttEventChangingComments (long AttCod,long UsrCod,bool P
const char *CommentStd,const char *CommentTch); const char *CommentStd,const char *CommentTch);
static void Att_RemoveUsrFromAttEvent (long AttCod,long UsrCod); static void Att_RemoveUsrFromAttEvent (long AttCod,long UsrCod);
static void Usr_ListOrPrintMyAttendanceCrs (Att_TypeOfView_t TypeOfView); static void Att_ListOrPrintMyAttendanceCrs (void);
static void Usr_ListOrPrintUsrsAttendanceCrs (Att_TypeOfView_t TypeOfView); static void Att_GetUsrsAndListOrPrintAttendanceCrs (void);
static void Att_ListOrPrintUsrsAttendanceCrs (void);
static void Att_GetListSelectedAttCods (char **StrAttCodsSelected); static void Att_GetListSelectedAttCods (char **StrAttCodsSelected);
@ -142,11 +146,10 @@ static void Att_PutIconsStdsAttList (void);
static void Att_PutParamsToPrintStdsList (void); static void Att_PutParamsToPrintStdsList (void);
static void Att_PutButtonToShowDetails (void); static void Att_PutButtonToShowDetails (void);
static void Att_ListEventsToSelect (Att_TypeOfView_t TypeOfView); static void Att_ListEventsToSelect (void);
static void Att_PutIconToEditAttEvents (void); static void Att_PutIconToEditAttEvents (void);
static void Att_PutIconToViewAttEvents (void); static void Att_PutIconToViewAttEvents (void);
static void Att_ListUsrsAttendanceTable (Att_TypeOfView_t TypeOfView, static void Att_ListUsrsAttendanceTable (unsigned NumUsrsInList,
unsigned NumUsrsInList,
long *LstSelectedUsrCods); long *LstSelectedUsrCods);
static void Att_WriteTableHeadSeveralAttEvents (void); static void Att_WriteTableHeadSeveralAttEvents (void);
static void Att_WriteRowUsrSeveralAttEvents (unsigned NumUsr,struct UsrData *UsrDat); static void Att_WriteRowUsrSeveralAttEvents (unsigned NumUsr,struct UsrData *UsrDat);
@ -2644,7 +2647,7 @@ void Att_RemoveUsrsAbsentWithoutCommentsFromAttEvent (long AttCod)
/********** Request listing attendance of users to several events ************/ /********** Request listing attendance of users to several events ************/
/*****************************************************************************/ /*****************************************************************************/
void Usr_ReqListStdsAttendanceCrs (void) void Att_ReqListUsrsAttendanceCrs (void)
{ {
extern const char *Hlp_USERS_Attendance_attendance_list; extern const char *Hlp_USERS_Attendance_attendance_list;
extern const char *Txt_Attendance_list; extern const char *Txt_Attendance_list;
@ -2667,17 +2670,19 @@ void Usr_ReqListStdsAttendanceCrs (void)
/********** List my attendance (I am a student) to several events ************/ /********** List my attendance (I am a student) to several events ************/
/*****************************************************************************/ /*****************************************************************************/
void Usr_ListMyAttendanceCrs (void) void Att_ListMyAttendanceCrs (void)
{ {
Usr_ListOrPrintMyAttendanceCrs (Att_NORMAL_VIEW_ONLY_ME); Att_TypeOfView = Att_VIEW_ONLY_ME;
Att_ListOrPrintMyAttendanceCrs ();
} }
void Usr_PrintMyAttendanceCrs (void) void Att_PrintMyAttendanceCrs (void)
{ {
Usr_ListOrPrintMyAttendanceCrs (Att_PRINT_VIEW); Att_TypeOfView = Att_PRNT_ONLY_ME;
Att_ListOrPrintMyAttendanceCrs ();
} }
static void Usr_ListOrPrintMyAttendanceCrs (Att_TypeOfView_t TypeOfView) static void Att_ListOrPrintMyAttendanceCrs (void)
{ {
extern const char *Hlp_USERS_Attendance_attendance_list; extern const char *Hlp_USERS_Attendance_attendance_list;
extern const char *Txt_Attendance; extern const char *Txt_Attendance;
@ -2706,20 +2711,20 @@ static void Usr_ListOrPrintMyAttendanceCrs (Att_TypeOfView_t TypeOfView)
/***** Begin box *****/ /***** Begin box *****/
Box_BoxBegin (NULL,Txt_Attendance, Box_BoxBegin (NULL,Txt_Attendance,
TypeOfView == Att_NORMAL_VIEW_ONLY_ME ? Att_PutIconsMyAttList : Att_TypeOfView == Att_VIEW_ONLY_ME ? Att_PutIconsMyAttList :
NULL, NULL,
TypeOfView == Att_NORMAL_VIEW_ONLY_ME ? Hlp_USERS_Attendance_attendance_list : Att_TypeOfView == Att_VIEW_ONLY_ME ? Hlp_USERS_Attendance_attendance_list :
NULL, NULL,
Box_NOT_CLOSABLE); Box_NOT_CLOSABLE);
/***** List events to select *****/ /***** List events to select *****/
Att_ListEventsToSelect (TypeOfView); Att_ListEventsToSelect ();
/***** Get my preference about photos in users' list for current course *****/ /***** Get my preference about photos in users' list for current course *****/
Usr_GetMyPrefAboutListWithPhotosFromDB (); Usr_GetMyPrefAboutListWithPhotosFromDB ();
/***** Show table with attendances for every student in list *****/ /***** Show table with attendances for every student in list *****/
Att_ListUsrsAttendanceTable (TypeOfView,1,&Gbl.Usrs.Me.UsrDat.UsrCod); Att_ListUsrsAttendanceTable (1,&Gbl.Usrs.Me.UsrDat.UsrCod);
/***** Show details or put button to show details *****/ /***** Show details or put button to show details *****/
if (Gbl.AttEvents.ShowDetails) if (Gbl.AttEvents.ShowDetails)
@ -2742,44 +2747,50 @@ static void Usr_ListOrPrintMyAttendanceCrs (Att_TypeOfView_t TypeOfView)
/*************** List attendance of users to several events ******************/ /*************** List attendance of users to several events ******************/
/*****************************************************************************/ /*****************************************************************************/
void Usr_ListUsrsAttendanceCrs (void) void Att_ListUsrsAttendanceCrs (void)
{ {
Usr_ListOrPrintUsrsAttendanceCrs (Att_NORMAL_VIEW_STUDENTS); Att_TypeOfView = Att_VIEW_SEL_USR;
Att_GetUsrsAndListOrPrintAttendanceCrs ();
} }
void Usr_PrintUsrsAttendanceCrs (void) void Att_PrintUsrsAttendanceCrs (void)
{ {
Usr_ListOrPrintUsrsAttendanceCrs (Att_PRINT_VIEW); Att_TypeOfView = Att_PRNT_SEL_USR;
Att_GetUsrsAndListOrPrintAttendanceCrs ();
} }
static void Usr_ListOrPrintUsrsAttendanceCrs (Att_TypeOfView_t TypeOfView) static void Att_GetUsrsAndListOrPrintAttendanceCrs (void)
{
Usr_GetSelectedUsrsAndGoToAct (Att_ListOrPrintUsrsAttendanceCrs,
Att_ReqListUsrsAttendanceCrs);
}
static void Att_ListOrPrintUsrsAttendanceCrs (void)
{ {
extern const char *Hlp_USERS_Attendance_attendance_list; extern const char *Hlp_USERS_Attendance_attendance_list;
extern const char *Txt_Attendance_list; extern const char *Txt_Attendance_list;
extern const char *Txt_You_must_select_one_ore_more_users;
unsigned NumUsrsInList; unsigned NumUsrsInList;
long *LstSelectedUsrCods; long *LstSelectedUsrCods;
unsigned NumAttEvent; unsigned NumAttEvent;
/***** Get list of attendance events *****/ /***** Get parameters *****/
Att_GetListAttEvents (Att_OLDEST_FIRST); /* Get boolean parameter that indicates if details must be shown */
Gbl.AttEvents.ShowDetails = Par_GetParToBool ("ShowDetails");
/***** Get list of selected students if not already got *****/ /* Get list of groups selected */
Usr_GetListsSelectedUsrsCods (); Grp_GetParCodsSeveralGrpsToShowUsrs ();
/***** Count number of valid users in list of encrypted user codes *****/
NumUsrsInList = Usr_CountNumUsrsInListOfSelectedEncryptedUsrCods (); NumUsrsInList = Usr_CountNumUsrsInListOfSelectedEncryptedUsrCods ();
/***** Get list of users selected to show their attendance *****/
if (NumUsrsInList) if (NumUsrsInList)
{ {
/***** Get boolean parameter that indicates if details must be shown *****/
Gbl.AttEvents.ShowDetails = Par_GetParToBool ("ShowDetails");
/***** Get list of groups selected ******/
Grp_GetParCodsSeveralGrpsToShowUsrs ();
/***** Get list of students selected to show their attendances *****/ /***** Get list of students selected to show their attendances *****/
Usr_GetListSelectedUsrCods (NumUsrsInList,&LstSelectedUsrCods); Usr_GetListSelectedUsrCods (NumUsrsInList,&LstSelectedUsrCods);
/***** Get list of attendance events *****/
Att_GetListAttEvents (Att_OLDEST_FIRST);
/***** Get number of students in each event *****/ /***** Get number of students in each event *****/
for (NumAttEvent = 0; for (NumAttEvent = 0;
NumAttEvent < Gbl.AttEvents.Num; NumAttEvent < Gbl.AttEvents.Num;
@ -2794,20 +2805,20 @@ static void Usr_ListOrPrintUsrsAttendanceCrs (Att_TypeOfView_t TypeOfView)
/***** Begin box *****/ /***** Begin box *****/
Box_BoxBegin (NULL,Txt_Attendance_list, Box_BoxBegin (NULL,Txt_Attendance_list,
TypeOfView == Att_NORMAL_VIEW_STUDENTS ? Att_PutIconsStdsAttList : Att_TypeOfView == Att_VIEW_SEL_USR ? Att_PutIconsStdsAttList :
NULL, NULL,
TypeOfView == Att_NORMAL_VIEW_STUDENTS ? Hlp_USERS_Attendance_attendance_list : Att_TypeOfView == Att_VIEW_SEL_USR ? Hlp_USERS_Attendance_attendance_list :
NULL, NULL,
Box_NOT_CLOSABLE); Box_NOT_CLOSABLE);
/***** List events to select *****/ /***** List events to select *****/
Att_ListEventsToSelect (TypeOfView); Att_ListEventsToSelect ();
/***** Get my preference about photos in users' list for current course *****/ /***** Get my preference about photos in users' list for current course *****/
Usr_GetMyPrefAboutListWithPhotosFromDB (); Usr_GetMyPrefAboutListWithPhotosFromDB ();
/***** Show table with attendances for every student in list *****/ /***** Show table with attendances for every student in list *****/
Att_ListUsrsAttendanceTable (TypeOfView,NumUsrsInList,LstSelectedUsrCods); Att_ListUsrsAttendanceTable (NumUsrsInList,LstSelectedUsrCods);
/***** Show details or put button to show details *****/ /***** Show details or put button to show details *****/
if (Gbl.AttEvents.ShowDetails) if (Gbl.AttEvents.ShowDetails)
@ -2819,23 +2830,15 @@ static void Usr_ListOrPrintUsrsAttendanceCrs (Att_TypeOfView_t TypeOfView)
/***** Free memory for list of attendance events selected *****/ /***** Free memory for list of attendance events selected *****/
free (Gbl.AttEvents.StrAttCodsSelected); free (Gbl.AttEvents.StrAttCodsSelected);
/***** Free list of attendance events *****/
Att_FreeListAttEvents ();
/***** Free list of user codes *****/ /***** Free list of user codes *****/
Usr_FreeListSelectedUsrCods (LstSelectedUsrCods); Usr_FreeListSelectedUsrCods (LstSelectedUsrCods);
/***** Free list of groups selected *****/
Grp_FreeListCodSelectedGrps ();
}
else // No students selected
{
Ale_ShowAlert (Ale_WARNING,Txt_You_must_select_one_ore_more_users);
Usr_ReqListStdsAttendanceCrs (); // ...show again the form
} }
/***** Free memory used by list of selected users' codes *****/ /***** Free list of groups selected *****/
Usr_FreeListsSelectedEncryptedUsrsCods (); Grp_FreeListCodSelectedGrps ();
/***** Free list of attendance events *****/
Att_FreeListAttEvents ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -3017,7 +3020,7 @@ static void Att_PutButtonToShowDetails (void)
/********** Write list of those attendance events that have students *********/ /********** Write list of those attendance events that have students *********/
/*****************************************************************************/ /*****************************************************************************/
static void Att_ListEventsToSelect (Att_TypeOfView_t TypeOfView) static void Att_ListEventsToSelect (void)
{ {
extern const char *The_ClassFormInBoxBold[The_NUM_THEMES]; extern const char *The_ClassFormInBoxBold[The_NUM_THEMES];
extern const char *Txt_Events; extern const char *Txt_Events;
@ -3027,14 +3030,14 @@ static void Att_ListEventsToSelect (Att_TypeOfView_t TypeOfView)
unsigned UniqueId; unsigned UniqueId;
char *Id; char *Id;
unsigned NumAttEvent; unsigned NumAttEvent;
bool NormalView = (TypeOfView == Att_NORMAL_VIEW_ONLY_ME || bool NormalView = (Att_TypeOfView == Att_VIEW_ONLY_ME ||
TypeOfView == Att_NORMAL_VIEW_STUDENTS); Att_TypeOfView == Att_VIEW_SEL_USR);
/***** Begin box *****/ /***** Begin box *****/
Box_BoxBegin (NULL,Txt_Events, Box_BoxBegin (NULL,Txt_Events,
TypeOfView == Att_NORMAL_VIEW_ONLY_ME ? Att_PutIconToViewAttEvents : Att_TypeOfView == Att_VIEW_ONLY_ME ? Att_PutIconToViewAttEvents :
(TypeOfView == Att_NORMAL_VIEW_STUDENTS ? Att_PutIconToEditAttEvents : (Att_TypeOfView == Att_VIEW_SEL_USR ? Att_PutIconToEditAttEvents :
NULL), NULL),
NULL, NULL,
Box_NOT_CLOSABLE); Box_NOT_CLOSABLE);
@ -3156,8 +3159,7 @@ static void Att_PutIconToViewAttEvents (void)
/************ Show table with attendances for every user in list *************/ /************ Show table with attendances for every user in list *************/
/*****************************************************************************/ /*****************************************************************************/
static void Att_ListUsrsAttendanceTable (Att_TypeOfView_t TypeOfView, static void Att_ListUsrsAttendanceTable (unsigned NumUsrsInList,
unsigned NumUsrsInList,
long *LstSelectedUsrCods) long *LstSelectedUsrCods)
{ {
extern const char *Txt_Number_of_users; extern const char *Txt_Number_of_users;
@ -3165,8 +3167,9 @@ static void Att_ListUsrsAttendanceTable (Att_TypeOfView_t TypeOfView,
unsigned NumUsr; unsigned NumUsr;
unsigned NumAttEvent; unsigned NumAttEvent;
unsigned Total; unsigned Total;
bool PutButtonShowDetails = (TypeOfView != Att_PRINT_VIEW && bool PutButtonShowDetails = (Att_TypeOfView == Att_VIEW_ONLY_ME ||
!Gbl.AttEvents.ShowDetails); Att_TypeOfView == Att_VIEW_SEL_USR) &&
!Gbl.AttEvents.ShowDetails;
/***** Initialize structure with user's data *****/ /***** Initialize structure with user's data *****/
Usr_UsrDataConstructor (&UsrDat); Usr_UsrDataConstructor (&UsrDat);

View File

@ -117,10 +117,10 @@ void Att_RegisterStudentsInAttEvent (void);
void Att_RegUsrInAttEventNotChangingComments (long AttCod,long UsrCod); void Att_RegUsrInAttEventNotChangingComments (long AttCod,long UsrCod);
void Att_RemoveUsrsAbsentWithoutCommentsFromAttEvent (long AttCod); void Att_RemoveUsrsAbsentWithoutCommentsFromAttEvent (long AttCod);
void Usr_ReqListStdsAttendanceCrs (void); void Att_ReqListUsrsAttendanceCrs (void);
void Usr_ListMyAttendanceCrs (void); void Att_ListMyAttendanceCrs (void);
void Usr_PrintMyAttendanceCrs (void); void Att_PrintMyAttendanceCrs (void);
void Usr_ListUsrsAttendanceCrs (void); void Att_ListUsrsAttendanceCrs (void);
void Usr_PrintUsrsAttendanceCrs (void); void Att_PrintUsrsAttendanceCrs (void);
#endif #endif

View File

@ -487,7 +487,7 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
En OpenSWAD: En OpenSWAD:
ps2pdf source.ps destination.pdf ps2pdf source.ps destination.pdf
*/ */
#define Log_PLATFORM_VERSION "SWAD 19.68.1 (2019-11-14)" #define Log_PLATFORM_VERSION "SWAD 19.68.2 (2019-11-14)"
#define CSS_FILE "swad19.47.css" #define CSS_FILE "swad19.47.css"
#define JS_FILE "swad19.65.js" #define JS_FILE "swad19.65.js"
/* /*
@ -495,6 +495,7 @@ ps2pdf source.ps destination.pdf
// TODO: Impedir la creación y edición de proyectos si no son editables. // TODO: Impedir la creación y edición de proyectos si no son editables.
// TODO: Code refactoring in HTML h1, title, meta, video, p, iframe, input hidden, area // TODO: Code refactoring in HTML h1, title, meta, video, p, iframe, input hidden, area
Version 19.68.2: Nov 14, 2019 Code refactoring in users and attendance. (246625 lines)
Version 19.68.1: Nov 14, 2019 Code refactoring in match results. Version 19.68.1: Nov 14, 2019 Code refactoring in match results.
Code refactoring in test results. (246623 lines) Code refactoring in test results. (246623 lines)
Version 19.68: Nov 14, 2019 Code refactoring in projects. (246642 lines) Version 19.68: Nov 14, 2019 Code refactoring in projects. (246642 lines)

View File

@ -2774,8 +2774,7 @@ static void Prj_GetListProjects (void)
} }
break; break;
case Usr_WHO_SELECTED: case Usr_WHO_SELECTED:
/* Get list of selected users' codes if not already got */ /* Count number of valid users in list of encrypted user codes */
// Usr_GetListsSelectedUsrsCods ();
NumUsrsInList = Usr_CountNumUsrsInListOfSelectedEncryptedUsrCods (); NumUsrsInList = Usr_CountNumUsrsInListOfSelectedEncryptedUsrCods ();
if (NumUsrsInList) if (NumUsrsInList)
@ -2833,9 +2832,6 @@ static void Prj_GetListProjects (void)
} }
else else
NumRows = 0; NumRows = 0;
/* Free memory used by list of selected users' codes */
// Usr_FreeListsSelectedEncryptedUsrsCods ();
break; break;
case Usr_WHO_ALL: case Usr_WHO_ALL:
/* Get list of projects */ /* Get list of projects */

View File

@ -8473,113 +8473,112 @@ void Usr_DoActionOnSeveralUsrs1 (void)
Usr_GetListsSelectedUsrsCods (); Usr_GetListsSelectedUsrsCods ();
/* Check if there are selected users */ /* Check if there are selected users */
if (!Usr_CheckIfThereAreUsrsInListOfSelectedEncryptedUsrCods ())// If no users selected... if (Usr_CheckIfThereAreUsrsInListOfSelectedEncryptedUsrCods ())
{ // ...write warning notice
Ale_CreateAlert (Ale_WARNING,NULL,
Txt_You_must_select_one_ore_more_users);
return;
}
/* Get the action to do */
Gbl.Usrs.Selected.Option = Usr_GetListUsrsOption (Usr_OPTION_UNKNOWN);
/***** Change action depending on my selection *****/
Gbl.Action.Original = Gbl.Action.Act; // To check if action changes
switch (Gbl.Usrs.Selected.Option)
{ {
case Usr_OPTION_RECORDS: /* Get the action to do */
switch (Gbl.Action.Act) Gbl.Usrs.Selected.Option = Usr_GetListUsrsOption (Usr_OPTION_UNKNOWN);
{
case ActDoActOnSevGst:
Gbl.Action.Act = ActSeeRecSevGst;
break;
case ActDoActOnSevStd:
Gbl.Action.Act = ActSeeRecSevStd;
break;
case ActDoActOnSevTch:
Gbl.Action.Act = ActSeeRecSevTch;
break;
default:
break;
}
break;
case Usr_OPTION_HOMEWORK:
switch (Gbl.Action.Act)
{
case ActDoActOnSevStd:
case ActDoActOnSevTch:
Gbl.Action.Act = ActAdmAsgWrkCrs;
break;
default:
break;
}
break;
case Usr_OPTION_ATTENDANCE:
switch (Gbl.Action.Act)
{
case ActDoActOnSevStd:
Gbl.Action.Act = ActSeeLstUsrAtt;
break;
default:
break;
}
break;
case Usr_OPTION_MESSAGE:
switch (Gbl.Action.Act)
{
case ActDoActOnSevStd:
case ActDoActOnSevTch:
Gbl.Action.Act = ActReqMsgUsr;
break;
default:
break;
}
break;
case Usr_OPTION_EMAIL:
switch (Gbl.Action.Act)
{
case ActDoActOnSevStd:
Gbl.Action.Act = ActMaiUsr;
break;
default:
break;
}
break;
case Usr_OPTION_FOLLOW:
switch (Gbl.Action.Act)
{
case ActDoActOnSevStd:
Gbl.Action.Act = ActReqFolSevStd;
break;
case ActDoActOnSevTch:
Gbl.Action.Act = ActReqFolSevTch;
break;
default:
break;
}
break;
case Usr_OPTION_UNFOLLOW:
switch (Gbl.Action.Act)
{
case ActDoActOnSevStd:
Gbl.Action.Act = ActReqUnfSevStd;
break;
case ActDoActOnSevTch:
Gbl.Action.Act = ActReqUnfSevTch;
break;
default:
break;
}
break;
default:
break;
}
if (Gbl.Action.Act == Gbl.Action.Original) // Fail, no change in action /***** Change action depending on my selection *****/
Ale_CreateAlert (Ale_ERROR,NULL,"Wrong action."); Gbl.Action.Original = Gbl.Action.Act; // To check if action changes
else // Success, action has changed
Tab_SetCurrentTab (); switch (Gbl.Usrs.Selected.Option)
{
case Usr_OPTION_RECORDS:
switch (Gbl.Action.Act)
{
case ActDoActOnSevGst:
Gbl.Action.Act = ActSeeRecSevGst;
break;
case ActDoActOnSevStd:
Gbl.Action.Act = ActSeeRecSevStd;
break;
case ActDoActOnSevTch:
Gbl.Action.Act = ActSeeRecSevTch;
break;
default:
break;
}
break;
case Usr_OPTION_HOMEWORK:
switch (Gbl.Action.Act)
{
case ActDoActOnSevStd:
case ActDoActOnSevTch:
Gbl.Action.Act = ActAdmAsgWrkCrs;
break;
default:
break;
}
break;
case Usr_OPTION_ATTENDANCE:
switch (Gbl.Action.Act)
{
case ActDoActOnSevStd:
Gbl.Action.Act = ActSeeLstUsrAtt;
break;
default:
break;
}
break;
case Usr_OPTION_MESSAGE:
switch (Gbl.Action.Act)
{
case ActDoActOnSevStd:
case ActDoActOnSevTch:
Gbl.Action.Act = ActReqMsgUsr;
break;
default:
break;
}
break;
case Usr_OPTION_EMAIL:
switch (Gbl.Action.Act)
{
case ActDoActOnSevStd:
Gbl.Action.Act = ActMaiUsr;
break;
default:
break;
}
break;
case Usr_OPTION_FOLLOW:
switch (Gbl.Action.Act)
{
case ActDoActOnSevStd:
Gbl.Action.Act = ActReqFolSevStd;
break;
case ActDoActOnSevTch:
Gbl.Action.Act = ActReqFolSevTch;
break;
default:
break;
}
break;
case Usr_OPTION_UNFOLLOW:
switch (Gbl.Action.Act)
{
case ActDoActOnSevStd:
Gbl.Action.Act = ActReqUnfSevStd;
break;
case ActDoActOnSevTch:
Gbl.Action.Act = ActReqUnfSevTch;
break;
default:
break;
}
break;
default:
break;
}
if (Gbl.Action.Act == Gbl.Action.Original) // Fail, no change in action
Ale_CreateAlert (Ale_ERROR,NULL,"Wrong action.");
else // Success, action has changed
Tab_SetCurrentTab ();
}
else // If no users selected...
Ale_CreateAlert (Ale_WARNING,NULL, // ...write warning notice
Txt_You_must_select_one_ore_more_users);
} }
void Usr_DoActionOnSeveralUsrs2 (void) void Usr_DoActionOnSeveralUsrs2 (void)
@ -8604,6 +8603,9 @@ void Usr_DoActionOnSeveralUsrs2 (void)
default: default:
break; break;
} }
/***** Free memory used by list of selected users' codes *****/
Usr_FreeListsSelectedEncryptedUsrsCods ();
} }
/*****************************************************************************/ /*****************************************************************************/