diff --git a/swad_assignment.c b/swad_assignment.c
index 5b965be52..9488b09df 100644
--- a/swad_assignment.c
+++ b/swad_assignment.c
@@ -119,6 +119,8 @@ static void Asg_ShowAllAssignments (void)
tAsgsOrderType Order;
struct Pagination Pagination;
unsigned NumAsg;
+ bool ICanEdit = (Gbl.Usrs.Me.LoggedRole == Rol_TEACHER ||
+ Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM);
/***** Get list of assignments *****/
Asg_GetListAssignments ();
@@ -135,9 +137,8 @@ static void Asg_ShowAllAssignments (void)
/***** Start frame *****/
Lay_StartRoundFrame ("100%",Txt_Assignments,
- (Gbl.Usrs.Me.LoggedRole == Rol_TEACHER ||
- Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) ? Asg_PutIconToCreateNewAsg :
- NULL);
+ ICanEdit ? Asg_PutIconToCreateNewAsg :
+ NULL);
/***** Select whether show only my groups or all groups *****/
if (Gbl.CurrentCrs.Grps.NumGrps)
@@ -194,7 +195,8 @@ static void Asg_ShowAllAssignments (void)
Lay_ShowAlert (Lay_INFO,Txt_No_assignments);
/***** Button to create a new assignment *****/
- Asg_PutButtonToCreateNewAsg ();
+ if (ICanEdit)
+ Asg_PutButtonToCreateNewAsg ();
/***** End frame *****/
Lay_EndRoundFrame ();
diff --git a/swad_attendance.c b/swad_attendance.c
index 54ead7576..43c0f712d 100644
--- a/swad_attendance.c
+++ b/swad_attendance.c
@@ -57,7 +57,8 @@ extern struct Globals Gbl;
typedef enum
{
- Att_NORMAL_VIEW,
+ Att_NORMAL_VIEW_ONLY_ME,
+ Att_NORMAL_VIEW_STUDENTS,
Att_PRINT_VIEW,
} Att_TypeOfView_t;
@@ -112,14 +113,16 @@ static void Usr_ListOrPrintStdsAttendanceCrs (Att_TypeOfView_t TypeOfView);
static void Att_GetListSelectedUsrCods (unsigned NumStdsInList,long **LstSelectedUsrCods);
static void Att_GetListSelectedAttCods (char **StrAttCodsSelected);
-static void Att_PutFormToPrintMyList (void);
+static void Att_PutIconToPrintMyList (void);
static void Att_PutFormToPrintMyListParams (void);
-static void Att_PutFormToPrintStdsList (void);
-static void Att_PutFormToPrintStdsListParams (void);
+static void Att_PutIconToPrintStdsList (void);
+static void Att_PutParamsToPrintStdsList (void);
static void Att_PutButtonToShowDetails (void);
static void Att_ListEventsToSelect (Att_TypeOfView_t TypeOfView);
-static void Att_ListStdsAttendanceTable (Att_TypeOfView_t TypeOfView,unsigned NumStdsInList,long *LstSelectedUsrCods);
+static void Att_ListStdsAttendanceTable (Att_TypeOfView_t TypeOfView,
+ unsigned NumStdsInList,
+ long *LstSelectedUsrCods);
static void Att_WriteTableHeadSeveralAttEvents (void);
static void Att_WriteRowStdSeveralAttEvents (unsigned NumStd,struct UsrData *UsrDat);
static void Att_ListStdsWithAttEventsDetails (unsigned NumStdsInList,long *LstSelectedUsrCods);
@@ -186,6 +189,8 @@ static void Att_ShowAllAttEvents (void)
Att_EventsOrderType_t Order;
struct Pagination Pagination;
unsigned NumAttEvent;
+ bool ICanEdit = (Gbl.Usrs.Me.LoggedRole == Rol_TEACHER ||
+ Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM);
/***** Compute variables related to pagination *****/
Pagination.NumItems = Gbl.AttEvents.Num;
@@ -199,9 +204,8 @@ static void Att_ShowAllAttEvents (void)
/***** Start frame *****/
Lay_StartRoundFrame ("100%",Txt_Events,
- (Gbl.Usrs.Me.LoggedRole == Rol_TEACHER ||
- Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) ? Att_PutIconToCreateNewAttEvent :
- NULL);
+ ICanEdit ? Att_PutIconToCreateNewAttEvent :
+ NULL);
/***** Select whether show only my groups or all groups *****/
if (Gbl.CurrentCrs.Grps.NumGrps)
@@ -254,7 +258,8 @@ static void Att_ShowAllAttEvents (void)
Lay_ShowAlert (Lay_INFO,Txt_No_events);
/***** Button to create a new attendance event *****/
- Att_PutButtonToCreateNewAttEvent ();
+ if (ICanEdit)
+ Att_PutButtonToCreateNewAttEvent ();
/***** End frame *****/
Lay_EndRoundFrame ();
@@ -2585,7 +2590,7 @@ void Usr_ReqListStdsAttendanceCrs (void)
void Usr_ListMyAttendanceCrs (void)
{
- Usr_ListOrPrintMyAttendanceCrs (Att_NORMAL_VIEW);
+ Usr_ListOrPrintMyAttendanceCrs (Att_NORMAL_VIEW_ONLY_ME);
}
void Usr_PrintMyAttendanceCrs (void)
@@ -2619,10 +2624,6 @@ static void Usr_ListOrPrintMyAttendanceCrs (Att_TypeOfView_t TypeOfView)
/***** Get list of attendance events selected *****/
Att_GetListSelectedAttCods (&Gbl.AttEvents.StrAttCodsSelected);
- /***** Put link to print *****/
- if (TypeOfView == Att_NORMAL_VIEW)
- Att_PutFormToPrintMyList ();
-
/***** List events to select *****/
Att_ListEventsToSelect (TypeOfView);
@@ -2652,7 +2653,7 @@ static void Usr_ListOrPrintMyAttendanceCrs (Att_TypeOfView_t TypeOfView)
void Usr_ListStdsAttendanceCrs (void)
{
- Usr_ListOrPrintStdsAttendanceCrs (Att_NORMAL_VIEW);
+ Usr_ListOrPrintStdsAttendanceCrs (Att_NORMAL_VIEW_STUDENTS);
}
void Usr_PrintStdsAttendanceCrs (void)
@@ -2698,10 +2699,6 @@ static void Usr_ListOrPrintStdsAttendanceCrs (Att_TypeOfView_t TypeOfView)
/***** Get list of attendance events selected *****/
Att_GetListSelectedAttCods (&Gbl.AttEvents.StrAttCodsSelected);
- /***** Put link to print *****/
- if (TypeOfView == Att_NORMAL_VIEW)
- Att_PutFormToPrintStdsList ();
-
/***** List events to select *****/
Att_ListEventsToSelect (TypeOfView);
@@ -2879,19 +2876,16 @@ static void Att_GetListSelectedAttCods (char **StrAttCodsSelected)
}
/*****************************************************************************/
-/** Put a link (form) to print my assistance (as student) to several events **/
+/****** Put icon to print my assistance (as student) to several events *******/
/*****************************************************************************/
-static void Att_PutFormToPrintMyList (void)
+static void Att_PutIconToPrintMyList (void)
{
extern const char *Txt_Print;
/***** Link to print view *****/
- fprintf (Gbl.F.Out,"
");
+ "print64x64.png",Txt_Print,NULL);
}
static void Att_PutFormToPrintMyListParams (void)
@@ -2903,22 +2897,19 @@ static void Att_PutFormToPrintMyListParams (void)
}
/*****************************************************************************/
-/**** Put a link (form) to print assistance of students to several events ****/
+/******** Put icon to print assistance of students to several events *********/
/*****************************************************************************/
-static void Att_PutFormToPrintStdsList (void)
+static void Att_PutIconToPrintStdsList (void)
{
extern const char *Txt_Print;
/***** Link to print view *****/
- fprintf (Gbl.F.Out,"");
+ Lay_PutContextualLink (ActPrnLstStdAtt,Att_PutParamsToPrintStdsList,
+ "print64x64.png",Txt_Print,NULL);
}
-static void Att_PutFormToPrintStdsListParams (void)
+static void Att_PutParamsToPrintStdsList (void)
{
if (Gbl.AttEvents.ShowDetails)
Par_PutHiddenParamChar ("ShowDetails",'Y');
@@ -2967,7 +2958,8 @@ static void Att_ListEventsToSelect (Att_TypeOfView_t TypeOfView)
/***** Start form to update the attendance
depending on the events selected *****/
- if (TypeOfView == Att_NORMAL_VIEW)
+ if (TypeOfView == Att_NORMAL_VIEW_ONLY_ME ||
+ TypeOfView == Att_NORMAL_VIEW_STUDENTS)
{
Act_FormStart (Gbl.Action.Act);
Grp_PutParamsCodGrps ();
@@ -3033,7 +3025,8 @@ static void Att_ListEventsToSelect (Att_TypeOfView_t TypeOfView)
}
/***** Put button to refresh *****/
- if (TypeOfView == Att_NORMAL_VIEW)
+ if (TypeOfView == Att_NORMAL_VIEW_ONLY_ME ||
+ TypeOfView == Att_NORMAL_VIEW_STUDENTS)
{
fprintf (Gbl.F.Out,""
"");
@@ -3049,7 +3042,8 @@ static void Att_ListEventsToSelect (Att_TypeOfView_t TypeOfView)
Lay_EndRoundFrameTable ();
/***** End form *****/
- if (TypeOfView == Att_NORMAL_VIEW)
+ if (TypeOfView == Att_NORMAL_VIEW_ONLY_ME ||
+ TypeOfView == Att_NORMAL_VIEW_STUDENTS)
Act_FormEnd ();
}
@@ -3057,7 +3051,9 @@ static void Att_ListEventsToSelect (Att_TypeOfView_t TypeOfView)
/*********** Show table with attendances for every student in list ***********/
/*****************************************************************************/
-static void Att_ListStdsAttendanceTable (Att_TypeOfView_t TypeOfView,unsigned NumStdsInList,long *LstSelectedUsrCods)
+static void Att_ListStdsAttendanceTable (Att_TypeOfView_t TypeOfView,
+ unsigned NumStdsInList,
+ long *LstSelectedUsrCods)
{
extern const char *Txt_Attendance;
extern const char *Txt_Number_of_students;
@@ -3070,7 +3066,11 @@ static void Att_ListStdsAttendanceTable (Att_TypeOfView_t TypeOfView,unsigned Nu
Usr_UsrDataConstructor (&UsrDat);
/***** Start frame *****/
- Lay_StartRoundFrameTable (NULL,2,Txt_Attendance);
+ Lay_StartRoundFrame (NULL,Txt_Attendance,
+ (TypeOfView == Att_NORMAL_VIEW_ONLY_ME) ? Att_PutIconToPrintMyList :
+ ((TypeOfView == Att_NORMAL_VIEW_STUDENTS) ? Att_PutIconToPrintStdsList :
+ NULL));
+ fprintf (Gbl.F.Out,"");
/***** Heading row *****/
Att_WriteTableHeadSeveralAttEvents ();
@@ -3118,19 +3118,17 @@ static void Att_ListStdsAttendanceTable (Att_TypeOfView_t TypeOfView,unsigned Nu
Total);
}
+ /***** End table *****/
+ fprintf (Gbl.F.Out," ");
+
/***** Button to show more details *****/
- if (TypeOfView == Att_NORMAL_VIEW && !Gbl.AttEvents.ShowDetails)
- {
- fprintf (Gbl.F.Out," |
"
- "",
- 4 + Gbl.AttEvents.Num + 1);
+ if (!Gbl.AttEvents.ShowDetails &&
+ (TypeOfView == Att_NORMAL_VIEW_ONLY_ME ||
+ TypeOfView == Att_NORMAL_VIEW_STUDENTS))
Att_PutButtonToShowDetails ();
- fprintf (Gbl.F.Out," | "
- "
");
- }
/***** End frame *****/
- Lay_EndRoundFrameTable ();
+ Lay_EndRoundFrame ();
/***** Free memory used for user's data *****/
Usr_UsrDataDestructor (&UsrDat);
diff --git a/swad_changelog.h b/swad_changelog.h
index 120941428..d12a2a430 100644
--- a/swad_changelog.h
+++ b/swad_changelog.h
@@ -132,13 +132,14 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
-#define Log_PLATFORM_VERSION "SWAD 15.155 (2016-03-20)"
+#define Log_PLATFORM_VERSION "SWAD 15.155.1 (2016-03-20)"
#define CSS_FILE "swad15.152.css"
#define JS_FILE "swad15.131.3.js"
// Number of lines (includes comments but not blank lines) has been got with the following command:
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1
/*
+ Version 15.155.1: Mar 20, 2016 Icon to print list of attendance integrated in frame. (? lines)
Version 15.155: Mar 20, 2016 Icon to add new attendance event integrated in frame.
Changes in layout of attendance events. (196038 lines)
Version 15.154: Mar 19, 2016 Icon to add new survey integrated in frame.
diff --git a/swad_survey.c b/swad_survey.c
index 37f5924f7..84f6606e1 100644
--- a/swad_survey.c
+++ b/swad_survey.c
@@ -177,6 +177,7 @@ static void Svy_ListAllSurveys (struct SurveyQuestion *SvyQst)
tSvysOrderType Order;
struct Pagination Pagination;
unsigned NumSvy;
+ bool ICanEdit = Svy_CheckIfICanCreateSvy ();
/***** Get number of groups in current course *****/
if (!Gbl.CurrentCrs.Grps.NumGrps)
@@ -197,8 +198,8 @@ static void Svy_ListAllSurveys (struct SurveyQuestion *SvyQst)
/***** Start frame *****/
Lay_StartRoundFrame ("100%",Txt_Surveys,
- Svy_CheckIfICanCreateSvy () ? Svy_PutIconToCreateNewSvy :
- NULL);
+ ICanEdit ? Svy_PutIconToCreateNewSvy :
+ NULL);
/***** Select whether show only my groups or all groups *****/
if (Gbl.CurrentCrs.Grps.NumGrps)
@@ -251,7 +252,8 @@ static void Svy_ListAllSurveys (struct SurveyQuestion *SvyQst)
Lay_ShowAlert (Lay_INFO,Txt_No_surveys);
/***** Button to create a new survey *****/
- Svy_PutButtonToCreateNewSvy ();
+ if (ICanEdit)
+ Svy_PutButtonToCreateNewSvy ();
/***** End frame *****/
Lay_EndRoundFrame ();