mirror of
https://github.com/acanas/swad-core.git
synced 2024-05-28 20:43:27 +02:00
Version 15.155.1
This commit is contained in:
parent
21fed46c97
commit
0e33007fae
|
@ -119,6 +119,8 @@ static void Asg_ShowAllAssignments (void)
|
||||||
tAsgsOrderType Order;
|
tAsgsOrderType Order;
|
||||||
struct Pagination Pagination;
|
struct Pagination Pagination;
|
||||||
unsigned NumAsg;
|
unsigned NumAsg;
|
||||||
|
bool ICanEdit = (Gbl.Usrs.Me.LoggedRole == Rol_TEACHER ||
|
||||||
|
Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM);
|
||||||
|
|
||||||
/***** Get list of assignments *****/
|
/***** Get list of assignments *****/
|
||||||
Asg_GetListAssignments ();
|
Asg_GetListAssignments ();
|
||||||
|
@ -135,9 +137,8 @@ static void Asg_ShowAllAssignments (void)
|
||||||
|
|
||||||
/***** Start frame *****/
|
/***** Start frame *****/
|
||||||
Lay_StartRoundFrame ("100%",Txt_Assignments,
|
Lay_StartRoundFrame ("100%",Txt_Assignments,
|
||||||
(Gbl.Usrs.Me.LoggedRole == Rol_TEACHER ||
|
ICanEdit ? Asg_PutIconToCreateNewAsg :
|
||||||
Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) ? Asg_PutIconToCreateNewAsg :
|
NULL);
|
||||||
NULL);
|
|
||||||
|
|
||||||
/***** Select whether show only my groups or all groups *****/
|
/***** Select whether show only my groups or all groups *****/
|
||||||
if (Gbl.CurrentCrs.Grps.NumGrps)
|
if (Gbl.CurrentCrs.Grps.NumGrps)
|
||||||
|
@ -194,7 +195,8 @@ static void Asg_ShowAllAssignments (void)
|
||||||
Lay_ShowAlert (Lay_INFO,Txt_No_assignments);
|
Lay_ShowAlert (Lay_INFO,Txt_No_assignments);
|
||||||
|
|
||||||
/***** Button to create a new assignment *****/
|
/***** Button to create a new assignment *****/
|
||||||
Asg_PutButtonToCreateNewAsg ();
|
if (ICanEdit)
|
||||||
|
Asg_PutButtonToCreateNewAsg ();
|
||||||
|
|
||||||
/***** End frame *****/
|
/***** End frame *****/
|
||||||
Lay_EndRoundFrame ();
|
Lay_EndRoundFrame ();
|
||||||
|
|
|
@ -57,7 +57,8 @@ extern struct Globals Gbl;
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
Att_NORMAL_VIEW,
|
Att_NORMAL_VIEW_ONLY_ME,
|
||||||
|
Att_NORMAL_VIEW_STUDENTS,
|
||||||
Att_PRINT_VIEW,
|
Att_PRINT_VIEW,
|
||||||
} Att_TypeOfView_t;
|
} 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_GetListSelectedUsrCods (unsigned NumStdsInList,long **LstSelectedUsrCods);
|
||||||
static void Att_GetListSelectedAttCods (char **StrAttCodsSelected);
|
static void Att_GetListSelectedAttCods (char **StrAttCodsSelected);
|
||||||
|
|
||||||
static void Att_PutFormToPrintMyList (void);
|
static void Att_PutIconToPrintMyList (void);
|
||||||
static void Att_PutFormToPrintMyListParams (void);
|
static void Att_PutFormToPrintMyListParams (void);
|
||||||
static void Att_PutFormToPrintStdsList (void);
|
static void Att_PutIconToPrintStdsList (void);
|
||||||
static void Att_PutFormToPrintStdsListParams (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 (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_WriteTableHeadSeveralAttEvents (void);
|
||||||
static void Att_WriteRowStdSeveralAttEvents (unsigned NumStd,struct UsrData *UsrDat);
|
static void Att_WriteRowStdSeveralAttEvents (unsigned NumStd,struct UsrData *UsrDat);
|
||||||
static void Att_ListStdsWithAttEventsDetails (unsigned NumStdsInList,long *LstSelectedUsrCods);
|
static void Att_ListStdsWithAttEventsDetails (unsigned NumStdsInList,long *LstSelectedUsrCods);
|
||||||
|
@ -186,6 +189,8 @@ static void Att_ShowAllAttEvents (void)
|
||||||
Att_EventsOrderType_t Order;
|
Att_EventsOrderType_t Order;
|
||||||
struct Pagination Pagination;
|
struct Pagination Pagination;
|
||||||
unsigned NumAttEvent;
|
unsigned NumAttEvent;
|
||||||
|
bool ICanEdit = (Gbl.Usrs.Me.LoggedRole == Rol_TEACHER ||
|
||||||
|
Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM);
|
||||||
|
|
||||||
/***** Compute variables related to pagination *****/
|
/***** Compute variables related to pagination *****/
|
||||||
Pagination.NumItems = Gbl.AttEvents.Num;
|
Pagination.NumItems = Gbl.AttEvents.Num;
|
||||||
|
@ -199,9 +204,8 @@ static void Att_ShowAllAttEvents (void)
|
||||||
|
|
||||||
/***** Start frame *****/
|
/***** Start frame *****/
|
||||||
Lay_StartRoundFrame ("100%",Txt_Events,
|
Lay_StartRoundFrame ("100%",Txt_Events,
|
||||||
(Gbl.Usrs.Me.LoggedRole == Rol_TEACHER ||
|
ICanEdit ? Att_PutIconToCreateNewAttEvent :
|
||||||
Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) ? Att_PutIconToCreateNewAttEvent :
|
NULL);
|
||||||
NULL);
|
|
||||||
|
|
||||||
/***** Select whether show only my groups or all groups *****/
|
/***** Select whether show only my groups or all groups *****/
|
||||||
if (Gbl.CurrentCrs.Grps.NumGrps)
|
if (Gbl.CurrentCrs.Grps.NumGrps)
|
||||||
|
@ -254,7 +258,8 @@ static void Att_ShowAllAttEvents (void)
|
||||||
Lay_ShowAlert (Lay_INFO,Txt_No_events);
|
Lay_ShowAlert (Lay_INFO,Txt_No_events);
|
||||||
|
|
||||||
/***** Button to create a new attendance event *****/
|
/***** Button to create a new attendance event *****/
|
||||||
Att_PutButtonToCreateNewAttEvent ();
|
if (ICanEdit)
|
||||||
|
Att_PutButtonToCreateNewAttEvent ();
|
||||||
|
|
||||||
/***** End frame *****/
|
/***** End frame *****/
|
||||||
Lay_EndRoundFrame ();
|
Lay_EndRoundFrame ();
|
||||||
|
@ -2585,7 +2590,7 @@ void Usr_ReqListStdsAttendanceCrs (void)
|
||||||
|
|
||||||
void Usr_ListMyAttendanceCrs (void)
|
void Usr_ListMyAttendanceCrs (void)
|
||||||
{
|
{
|
||||||
Usr_ListOrPrintMyAttendanceCrs (Att_NORMAL_VIEW);
|
Usr_ListOrPrintMyAttendanceCrs (Att_NORMAL_VIEW_ONLY_ME);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Usr_PrintMyAttendanceCrs (void)
|
void Usr_PrintMyAttendanceCrs (void)
|
||||||
|
@ -2619,10 +2624,6 @@ static void Usr_ListOrPrintMyAttendanceCrs (Att_TypeOfView_t TypeOfView)
|
||||||
/***** Get list of attendance events selected *****/
|
/***** Get list of attendance events selected *****/
|
||||||
Att_GetListSelectedAttCods (&Gbl.AttEvents.StrAttCodsSelected);
|
Att_GetListSelectedAttCods (&Gbl.AttEvents.StrAttCodsSelected);
|
||||||
|
|
||||||
/***** Put link to print *****/
|
|
||||||
if (TypeOfView == Att_NORMAL_VIEW)
|
|
||||||
Att_PutFormToPrintMyList ();
|
|
||||||
|
|
||||||
/***** List events to select *****/
|
/***** List events to select *****/
|
||||||
Att_ListEventsToSelect (TypeOfView);
|
Att_ListEventsToSelect (TypeOfView);
|
||||||
|
|
||||||
|
@ -2652,7 +2653,7 @@ static void Usr_ListOrPrintMyAttendanceCrs (Att_TypeOfView_t TypeOfView)
|
||||||
|
|
||||||
void Usr_ListStdsAttendanceCrs (void)
|
void Usr_ListStdsAttendanceCrs (void)
|
||||||
{
|
{
|
||||||
Usr_ListOrPrintStdsAttendanceCrs (Att_NORMAL_VIEW);
|
Usr_ListOrPrintStdsAttendanceCrs (Att_NORMAL_VIEW_STUDENTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Usr_PrintStdsAttendanceCrs (void)
|
void Usr_PrintStdsAttendanceCrs (void)
|
||||||
|
@ -2698,10 +2699,6 @@ static void Usr_ListOrPrintStdsAttendanceCrs (Att_TypeOfView_t TypeOfView)
|
||||||
/***** Get list of attendance events selected *****/
|
/***** Get list of attendance events selected *****/
|
||||||
Att_GetListSelectedAttCods (&Gbl.AttEvents.StrAttCodsSelected);
|
Att_GetListSelectedAttCods (&Gbl.AttEvents.StrAttCodsSelected);
|
||||||
|
|
||||||
/***** Put link to print *****/
|
|
||||||
if (TypeOfView == Att_NORMAL_VIEW)
|
|
||||||
Att_PutFormToPrintStdsList ();
|
|
||||||
|
|
||||||
/***** List events to select *****/
|
/***** List events to select *****/
|
||||||
Att_ListEventsToSelect (TypeOfView);
|
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;
|
extern const char *Txt_Print;
|
||||||
|
|
||||||
/***** Link to print view *****/
|
/***** Link to print view *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
|
||||||
Lay_PutContextualLink (ActPrnLstMyAtt,Att_PutFormToPrintMyListParams,
|
Lay_PutContextualLink (ActPrnLstMyAtt,Att_PutFormToPrintMyListParams,
|
||||||
"print64x64.png",
|
"print64x64.png",Txt_Print,NULL);
|
||||||
Txt_Print,Txt_Print);
|
|
||||||
fprintf (Gbl.F.Out,"</div>");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Att_PutFormToPrintMyListParams (void)
|
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;
|
extern const char *Txt_Print;
|
||||||
|
|
||||||
/***** Link to print view *****/
|
/***** Link to print view *****/
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
Lay_PutContextualLink (ActPrnLstStdAtt,Att_PutParamsToPrintStdsList,
|
||||||
Lay_PutContextualLink (ActPrnLstStdAtt,Att_PutFormToPrintStdsListParams,
|
"print64x64.png",Txt_Print,NULL);
|
||||||
"print64x64.png",
|
|
||||||
Txt_Print,Txt_Print);
|
|
||||||
fprintf (Gbl.F.Out,"</div>");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Att_PutFormToPrintStdsListParams (void)
|
static void Att_PutParamsToPrintStdsList (void)
|
||||||
{
|
{
|
||||||
if (Gbl.AttEvents.ShowDetails)
|
if (Gbl.AttEvents.ShowDetails)
|
||||||
Par_PutHiddenParamChar ("ShowDetails",'Y');
|
Par_PutHiddenParamChar ("ShowDetails",'Y');
|
||||||
|
@ -2967,7 +2958,8 @@ static void Att_ListEventsToSelect (Att_TypeOfView_t TypeOfView)
|
||||||
|
|
||||||
/***** Start form to update the attendance
|
/***** Start form to update the attendance
|
||||||
depending on the events selected *****/
|
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);
|
Act_FormStart (Gbl.Action.Act);
|
||||||
Grp_PutParamsCodGrps ();
|
Grp_PutParamsCodGrps ();
|
||||||
|
@ -3033,7 +3025,8 @@ static void Att_ListEventsToSelect (Att_TypeOfView_t TypeOfView)
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Put button to refresh *****/
|
/***** 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,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td colspan=\"4\" class=\"CENTER_MIDDLE\">");
|
"<td colspan=\"4\" class=\"CENTER_MIDDLE\">");
|
||||||
|
@ -3049,7 +3042,8 @@ static void Att_ListEventsToSelect (Att_TypeOfView_t TypeOfView)
|
||||||
Lay_EndRoundFrameTable ();
|
Lay_EndRoundFrameTable ();
|
||||||
|
|
||||||
/***** End form *****/
|
/***** End form *****/
|
||||||
if (TypeOfView == Att_NORMAL_VIEW)
|
if (TypeOfView == Att_NORMAL_VIEW_ONLY_ME ||
|
||||||
|
TypeOfView == Att_NORMAL_VIEW_STUDENTS)
|
||||||
Act_FormEnd ();
|
Act_FormEnd ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3057,7 +3051,9 @@ static void Att_ListEventsToSelect (Att_TypeOfView_t TypeOfView)
|
||||||
/*********** Show table with attendances for every student in list ***********/
|
/*********** 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_Attendance;
|
||||||
extern const char *Txt_Number_of_students;
|
extern const char *Txt_Number_of_students;
|
||||||
|
@ -3070,7 +3066,11 @@ static void Att_ListStdsAttendanceTable (Att_TypeOfView_t TypeOfView,unsigned Nu
|
||||||
Usr_UsrDataConstructor (&UsrDat);
|
Usr_UsrDataConstructor (&UsrDat);
|
||||||
|
|
||||||
/***** Start frame *****/
|
/***** 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,"<table class=\"FRAME_TABLE CELLS_PAD_2\">");
|
||||||
|
|
||||||
/***** Heading row *****/
|
/***** Heading row *****/
|
||||||
Att_WriteTableHeadSeveralAttEvents ();
|
Att_WriteTableHeadSeveralAttEvents ();
|
||||||
|
@ -3118,19 +3118,17 @@ static void Att_ListStdsAttendanceTable (Att_TypeOfView_t TypeOfView,unsigned Nu
|
||||||
Total);
|
Total);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***** End table *****/
|
||||||
|
fprintf (Gbl.F.Out,"</table>");
|
||||||
|
|
||||||
/***** Button to show more details *****/
|
/***** Button to show more details *****/
|
||||||
if (TypeOfView == Att_NORMAL_VIEW && !Gbl.AttEvents.ShowDetails)
|
if (!Gbl.AttEvents.ShowDetails &&
|
||||||
{
|
(TypeOfView == Att_NORMAL_VIEW_ONLY_ME ||
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
TypeOfView == Att_NORMAL_VIEW_STUDENTS))
|
||||||
"<td colspan=\"%u\">",
|
|
||||||
4 + Gbl.AttEvents.Num + 1);
|
|
||||||
Att_PutButtonToShowDetails ();
|
Att_PutButtonToShowDetails ();
|
||||||
fprintf (Gbl.F.Out,"</td>"
|
|
||||||
"</tr>");
|
|
||||||
}
|
|
||||||
|
|
||||||
/***** End frame *****/
|
/***** End frame *****/
|
||||||
Lay_EndRoundFrameTable ();
|
Lay_EndRoundFrame ();
|
||||||
|
|
||||||
/***** Free memory used for user's data *****/
|
/***** Free memory used for user's data *****/
|
||||||
Usr_UsrDataDestructor (&UsrDat);
|
Usr_UsrDataDestructor (&UsrDat);
|
||||||
|
|
|
@ -132,13 +132,14 @@
|
||||||
/****************************** Public constants *****************************/
|
/****************************** 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 CSS_FILE "swad15.152.css"
|
||||||
#define JS_FILE "swad15.131.3.js"
|
#define JS_FILE "swad15.131.3.js"
|
||||||
|
|
||||||
// Number of lines (includes comments but not blank lines) has been got with the following command:
|
// 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
|
// 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.
|
Version 15.155: Mar 20, 2016 Icon to add new attendance event integrated in frame.
|
||||||
Changes in layout of attendance events. (196038 lines)
|
Changes in layout of attendance events. (196038 lines)
|
||||||
Version 15.154: Mar 19, 2016 Icon to add new survey integrated in frame.
|
Version 15.154: Mar 19, 2016 Icon to add new survey integrated in frame.
|
||||||
|
|
|
@ -177,6 +177,7 @@ static void Svy_ListAllSurveys (struct SurveyQuestion *SvyQst)
|
||||||
tSvysOrderType Order;
|
tSvysOrderType Order;
|
||||||
struct Pagination Pagination;
|
struct Pagination Pagination;
|
||||||
unsigned NumSvy;
|
unsigned NumSvy;
|
||||||
|
bool ICanEdit = Svy_CheckIfICanCreateSvy ();
|
||||||
|
|
||||||
/***** Get number of groups in current course *****/
|
/***** Get number of groups in current course *****/
|
||||||
if (!Gbl.CurrentCrs.Grps.NumGrps)
|
if (!Gbl.CurrentCrs.Grps.NumGrps)
|
||||||
|
@ -197,8 +198,8 @@ static void Svy_ListAllSurveys (struct SurveyQuestion *SvyQst)
|
||||||
|
|
||||||
/***** Start frame *****/
|
/***** Start frame *****/
|
||||||
Lay_StartRoundFrame ("100%",Txt_Surveys,
|
Lay_StartRoundFrame ("100%",Txt_Surveys,
|
||||||
Svy_CheckIfICanCreateSvy () ? Svy_PutIconToCreateNewSvy :
|
ICanEdit ? Svy_PutIconToCreateNewSvy :
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
/***** Select whether show only my groups or all groups *****/
|
/***** Select whether show only my groups or all groups *****/
|
||||||
if (Gbl.CurrentCrs.Grps.NumGrps)
|
if (Gbl.CurrentCrs.Grps.NumGrps)
|
||||||
|
@ -251,7 +252,8 @@ static void Svy_ListAllSurveys (struct SurveyQuestion *SvyQst)
|
||||||
Lay_ShowAlert (Lay_INFO,Txt_No_surveys);
|
Lay_ShowAlert (Lay_INFO,Txt_No_surveys);
|
||||||
|
|
||||||
/***** Button to create a new survey *****/
|
/***** Button to create a new survey *****/
|
||||||
Svy_PutButtonToCreateNewSvy ();
|
if (ICanEdit)
|
||||||
|
Svy_PutButtonToCreateNewSvy ();
|
||||||
|
|
||||||
/***** End frame *****/
|
/***** End frame *****/
|
||||||
Lay_EndRoundFrame ();
|
Lay_EndRoundFrame ();
|
||||||
|
|
Loading…
Reference in New Issue
Block a user