mirror of
https://github.com/acanas/swad-core.git
synced 2024-09-20 00:02:42 +02:00
Version19.68.2
This commit is contained in:
parent
56b52e34be
commit
e91801139f
|
@ -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},
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
||||||
/***** Get list of selected students if not already got *****/
|
|
||||||
Usr_GetListsSelectedUsrsCods ();
|
|
||||||
NumUsrsInList = Usr_CountNumUsrsInListOfSelectedEncryptedUsrCods ();
|
|
||||||
|
|
||||||
/***** Get list of users selected to show their attendance *****/
|
|
||||||
if (NumUsrsInList)
|
|
||||||
{
|
|
||||||
/***** Get boolean parameter that indicates if details must be shown *****/
|
|
||||||
Gbl.AttEvents.ShowDetails = Par_GetParToBool ("ShowDetails");
|
Gbl.AttEvents.ShowDetails = Par_GetParToBool ("ShowDetails");
|
||||||
|
|
||||||
/***** Get list of groups selected ******/
|
/* Get list of groups selected */
|
||||||
Grp_GetParCodsSeveralGrpsToShowUsrs ();
|
Grp_GetParCodsSeveralGrpsToShowUsrs ();
|
||||||
|
|
||||||
|
/***** Count number of valid users in list of encrypted user codes *****/
|
||||||
|
NumUsrsInList = Usr_CountNumUsrsInListOfSelectedEncryptedUsrCods ();
|
||||||
|
|
||||||
|
if (NumUsrsInList)
|
||||||
|
{
|
||||||
/***** 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,24 +2830,16 @@ 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 *****/
|
/***** Free list of groups selected *****/
|
||||||
Grp_FreeListCodSelectedGrps ();
|
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 *****/
|
|
||||||
Usr_FreeListsSelectedEncryptedUsrsCods ();
|
|
||||||
|
|
||||||
/***** Free list of attendance events *****/
|
|
||||||
Att_FreeListAttEvents ();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/****************** Get list of attendance events selected *******************/
|
/****************** Get list of attendance events selected *******************/
|
||||||
|
@ -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,13 +3030,13 @@ 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);
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
16
swad_user.c
16
swad_user.c
|
@ -8473,13 +8473,8 @@ 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 */
|
/* Get the action to do */
|
||||||
Gbl.Usrs.Selected.Option = Usr_GetListUsrsOption (Usr_OPTION_UNKNOWN);
|
Gbl.Usrs.Selected.Option = Usr_GetListUsrsOption (Usr_OPTION_UNKNOWN);
|
||||||
|
|
||||||
|
@ -8581,6 +8576,10 @@ void Usr_DoActionOnSeveralUsrs1 (void)
|
||||||
else // Success, action has changed
|
else // Success, action has changed
|
||||||
Tab_SetCurrentTab ();
|
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 ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
Loading…
Reference in New Issue
Block a user