Version 23.82: May 15, 2024 Fixed issue in groups. Reported by Mancia Anguita López and Christian Agustín Morillas Gutiérrez.

This commit is contained in:
acanas 2024-05-15 18:38:25 +02:00
parent 029d623394
commit c6716b0b32
38 changed files with 187 additions and 126 deletions

View File

@ -53,8 +53,14 @@ static const char *HTM_SelectedTxt[HTM_NUM_SELECTED] =
static const char *HTM_DisabledTxt[HTM_NUM_DISABLED] =
{
[HTM_DISABLED] = " disabled=\"disabled\"",
[HTM_ENABLED ] = "",
[HTM_DISABLED] = " disabled=\"disabled\"",
};
static const char *HTM_ReadonlyTxt[HTM_NUM_READONLY] =
{
[HTM_READWRITE] = "",
[HTM_READONLY ] = " readonly",
};
static const char *HTM_RequiredTxt[HTM_NUM_REQUIRED] =
@ -149,7 +155,7 @@ void HTM_TABLE_BeginPadding (unsigned CellPadding)
HTM_Txt ("<table");
if (CellPadding)
HTM_TxtF (" class=\"CELLS_PAD_%u\">",
HTM_TxtF (" class=\"CELLS_PAD_%u\"",
CellPadding); // CellPadding must be 0, 1, 2, 5 or 10
HTM_Txt (">");
@ -1378,7 +1384,9 @@ void HTM_INPUT_FLOAT (const char *Name,double Min,double Max,
}
void HTM_INPUT_RADIO (const char *Name,
Cns_Checked_t Checked,HTM_Disabled_t Disabled,
Cns_Checked_t Checked,
HTM_Disabled_t Disabled,
HTM_Readonly_t Readonly,
HTM_Required_t Required,HTM_SubmitOnClick_t SubmitOnClick,
const char *fmt,...)
{
@ -1407,6 +1415,7 @@ void HTM_INPUT_RADIO (const char *Name,
HTM_Txt (HTM_CheckedTxt[Checked]);
HTM_Txt (HTM_DisabledTxt[Disabled]);
HTM_Txt (HTM_ReadonlyTxt[Readonly]);
HTM_Txt (HTM_RequiredTxt[Required]);
if (SubmitOnClick == HTM_SUBMIT_ON_CLICK)
HTM_Txt (" onchange=\"this.form.submit();return false;\"");
@ -1415,7 +1424,9 @@ void HTM_INPUT_RADIO (const char *Name,
}
void HTM_INPUT_CHECKBOX (const char *Name,
Cns_Checked_t Checked,HTM_Disabled_t Disabled,
Cns_Checked_t Checked,
HTM_Disabled_t Disabled,
HTM_Readonly_t Readonly,
HTM_SubmitOnChange_t SubmitOnChange,
const char *fmt,...)
{
@ -1444,6 +1455,7 @@ void HTM_INPUT_CHECKBOX (const char *Name,
HTM_Txt (HTM_CheckedTxt[Checked]);
HTM_Txt (HTM_DisabledTxt[Disabled]);
HTM_Txt (HTM_ReadonlyTxt[Readonly]);
if (SubmitOnChange == HTM_SUBMIT_ON_CHANGE)
HTM_Txt (" onchange=\"this.form.submit();return false;\"");

View File

@ -75,6 +75,13 @@ typedef enum
HTM_DISABLED,
} HTM_Disabled_t;
#define HTM_NUM_READONLY 2
typedef enum
{
HTM_READWRITE,
HTM_READONLY,
} HTM_Readonly_t;
#define HTM_NUM_HEAD_ALIGN 3
typedef enum
{
@ -200,11 +207,15 @@ void HTM_INPUT_FLOAT (const char *Name,double Min,double Max,
HTM_Required_t Required,HTM_SubmitOnChange_t SubmitOnChange,
const char *fmt,...);
void HTM_INPUT_RADIO (const char *Name,
Cns_Checked_t Checked,HTM_Disabled_t Disabled,
Cns_Checked_t Checked,
HTM_Disabled_t Disabled,
HTM_Readonly_t Readonly,
HTM_Required_t Required,HTM_SubmitOnClick_t SubmitOnClick,
const char *fmt,...);
void HTM_INPUT_CHECKBOX (const char *Name,
Cns_Checked_t Checked,HTM_Disabled_t Disabled,
Cns_Checked_t Checked,
HTM_Disabled_t Disabled,
HTM_Readonly_t Readonly,
HTM_SubmitOnChange_t SubmitOnChange,
const char *fmt,...);

View File

@ -356,7 +356,7 @@ void Ann_ShowFormAnnouncement (void)
1 << Rol_STD |
1 << Rol_NET |
1 << Rol_TCH,
HTM_DISABLED,
HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE);
HTM_TD_End ();
HTM_TR_End ();

View File

@ -1329,7 +1329,8 @@ static void Asg_ShowLstGrpsToEditAssignment (long AsgCod)
"AsgCod",
AsgCod) ? Cns_UNCHECKED :
Cns_CHECKED;
HTM_INPUT_CHECKBOX ("WholeCrs",Checked,HTM_ENABLED,
HTM_INPUT_CHECKBOX ("WholeCrs",Checked,
HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"WholeCrs\" value=\"Y\""
" onclick=\"uncheckChildren(this,'GrpCods')\"");

View File

@ -1103,7 +1103,8 @@ static void Att_ShowLstGrpsToEditEvent (long AttCod)
"AttCod",
AttCod) ? Cns_UNCHECKED :
Cns_CHECKED;
HTM_INPUT_CHECKBOX ("WholeCrs",Checked,HTM_ENABLED,
HTM_INPUT_CHECKBOX ("WholeCrs",Checked,
HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"WholeCrs\" value=\"Y\""
" onclick=\"uncheckChildren(this,'GrpCods')\"");
@ -1659,7 +1660,7 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
};
bool Present;
Cns_Checked_t Checked;
HTM_Disabled_t Disabled;
HTM_Readonly_t Readonly;
char CommentStd[Cns_MAX_BYTES_TEXT + 1];
char CommentTch[Cns_MAX_BYTES_TEXT + 1];
Usr_Can_t ICanChangeStdAttendance;
@ -1712,9 +1713,9 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
/***** Checkbox to select user *****/
HTM_TD_Begin ("class=\"CT %s\"",The_GetColorRows ());
Disabled = (ICanChangeStdAttendance == Usr_CAN) ? HTM_ENABLED :
HTM_DISABLED;
HTM_INPUT_CHECKBOX ("UsrCodStd",Checked,Disabled,
Readonly = (ICanChangeStdAttendance == Usr_CAN) ? HTM_READWRITE :
HTM_READONLY;
HTM_INPUT_CHECKBOX ("UsrCodStd",Checked,HTM_ENABLED,Readonly,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Std%u\" value=\"%s\"",
NumUsr,UsrDat->EnUsrCod);
@ -2671,7 +2672,8 @@ static void Att_ListEventsToSelect (struct Att_Events *Events,
The_GetSuffix (),
The_GetColorRows ());
HTM_INPUT_CHECKBOX ("AttCods",
Events->Lst[NumAttEvent].Checked,HTM_ENABLED,
Events->Lst[NumAttEvent].Checked,
HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Event%u\" value=\"%ld\"",
NumAttEvent,Events->Event.AttCod);

View File

@ -2909,7 +2909,7 @@ static void Brw_FormToChangeCrsGrpZone (void)
Checked = Brw_TypeIsCrsBrw[Gbl.FileBrowser.Type] ? Cns_CHECKED :
Cns_UNCHECKED;
HTM_INPUT_RADIO (Par_CodeStr[ParCod_Grp],
Checked,HTM_ENABLED,HTM_NOT_REQUIRED,
Checked,HTM_ENABLED,HTM_READWRITE,HTM_NOT_REQUIRED,
HTM_SUBMIT_ON_CLICK,
"value=\"-1\"");
HTM_Txt (Gbl.Hierarchy.Node[Hie_CRS].FullName);
@ -2942,7 +2942,7 @@ static void Brw_FormToChangeCrsGrpZone (void)
GrpDat.GrpCod == Gbl.Crs.Grps.GrpCod) ? Cns_CHECKED :
Cns_UNCHECKED;
HTM_INPUT_RADIO (Par_CodeStr[ParCod_Grp],
Checked,HTM_ENABLED,HTM_NOT_REQUIRED,
Checked,HTM_ENABLED,HTM_READWRITE,HTM_NOT_REQUIRED,
HTM_SUBMIT_ON_CLICK,
"value=\"%ld\"",GrpDat.GrpCod);
HTM_TxtF ("%s&nbsp;%s",GrpDat.GrpTypName,GrpDat.GrpName);
@ -3600,7 +3600,9 @@ static void Brw_PutCheckboxFullTree (void)
Lay_PutContextualCheckbox (Brw_ActSeeAdm[Gbl.FileBrowser.Type],
Brw_PutParsFullTree,NULL,
"FullTree",
Gbl.FileBrowser.FullTree,false,
Gbl.FileBrowser.FullTree ? Cns_CHECKED :
Cns_UNCHECKED,
HTM_ENABLED,HTM_READWRITE,
Txt_Show_all_files,Txt_Show_all_files);
}

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.81 (2024-05-14)"
#define Log_PLATFORM_VERSION "SWAD 23.82 (2024-05-15)"
#define CSS_FILE "swad23.67.2.css"
#define JS_FILE "swad23.79.js"
/*
Version 23.82: May 15, 2024 Fixed issue in groups. Reported by Mancia Anguita López and Christian Agustín Morillas Gutiérrez (? lines)
Version 23.81: May 14, 2024 Code refactoring in HTML related to required field in forms. (335782 lines)
Version 23.80: May 09, 2024 Code refactoring in HTML related to disabled field in forms. (335713 lines)
Version 23.79.8: Apr 30, 2024 Code refactoring in HTML related to checked field in forms. (335817 lines)

View File

@ -95,8 +95,9 @@ void Coo_EditMyPrefsOnCookies (void)
HTM_LABEL_Begin (NULL);
Checked = (Gbl.Usrs.Me.UsrDat.Prefs.RefuseAcceptCookies == Coo_ACCEPT) ? Cns_CHECKED :
Cns_UNCHECKED;
HTM_INPUT_CHECKBOX ("cookies",
Checked,HTM_ENABLED,HTM_SUBMIT_ON_CHANGE,
HTM_INPUT_CHECKBOX ("cookies",Checked,
HTM_ENABLED,HTM_READWRITE,
HTM_SUBMIT_ON_CHANGE,
"value=\"Y\"");
HTM_Txt (Txt_Accept_third_party_cookies_to_view_multimedia_content_from_other_websites);
HTM_LABEL_End ();

View File

@ -315,7 +315,7 @@ void Dat_PutBoxToSelectDateFormat (void)
Checked = (Format == Gbl.Prefs.DateFormat) ? Cns_CHECKED :
Cns_UNCHECKED;
HTM_INPUT_RADIO ("DateFormat",
Checked,HTM_ENABLED,HTM_NOT_REQUIRED,
Checked,HTM_ENABLED,HTM_READWRITE,HTM_NOT_REQUIRED,
HTM_SUBMIT_ON_CLICK,
" value=\"%u\"",(unsigned) Format);
Dat_PutSpanDateFormat (Format);

View File

@ -818,7 +818,7 @@ static void Enr_PutActionsRegRemSeveralUsrs (void)
HTM_LI_Begin (NULL);
HTM_LABEL_Begin (NULL);
HTM_INPUT_RADIO ("RegRemAction",
Cns_CHECKED,HTM_ENABLED,HTM_NOT_REQUIRED,
Cns_CHECKED,HTM_ENABLED,HTM_READWRITE,HTM_NOT_REQUIRED,
HTM_DONT_SUBMIT_ON_CLICK,
" value=\"%u\"",
(unsigned) Enr_REGISTER_SPECIFIED_USRS_IN_CRS);
@ -829,7 +829,7 @@ static void Enr_PutActionsRegRemSeveralUsrs (void)
HTM_LI_Begin (NULL);
HTM_LABEL_Begin (NULL);
HTM_INPUT_RADIO ("RegRemAction",
Cns_UNCHECKED,HTM_ENABLED,HTM_NOT_REQUIRED,
Cns_UNCHECKED,HTM_ENABLED,HTM_READWRITE,HTM_NOT_REQUIRED,
HTM_DONT_SUBMIT_ON_CLICK,
" value=\"%u\"",
(unsigned) Enr_REMOVE_SPECIFIED_USRS_FROM_CRS);
@ -840,7 +840,7 @@ static void Enr_PutActionsRegRemSeveralUsrs (void)
HTM_LI_Begin (NULL);
HTM_LABEL_Begin (NULL);
HTM_INPUT_RADIO ("RegRemAction",
Cns_UNCHECKED,HTM_ENABLED,HTM_NOT_REQUIRED,
Cns_UNCHECKED,HTM_ENABLED,HTM_READWRITE,HTM_NOT_REQUIRED,
HTM_DONT_SUBMIT_ON_CLICK,
" value=\"%u\"",
(unsigned) Enr_REMOVE_NOT_SPECIFIED_USRS_FROM_CRS);
@ -851,7 +851,7 @@ static void Enr_PutActionsRegRemSeveralUsrs (void)
HTM_LI_Begin (NULL);
HTM_LABEL_Begin (NULL);
HTM_INPUT_RADIO ("RegRemAction",
Cns_UNCHECKED,HTM_ENABLED,HTM_NOT_REQUIRED,
Cns_UNCHECKED,HTM_ENABLED,HTM_READWRITE,HTM_NOT_REQUIRED,
HTM_DONT_SUBMIT_ON_CLICK,
" value=\"%u\"",
(unsigned) Enr_UPDATE_USRS_IN_CRS);
@ -866,7 +866,7 @@ static void Enr_PutActionsRegRemSeveralUsrs (void)
HTM_LI_Begin (NULL);
HTM_LABEL_Begin (NULL);
HTM_INPUT_RADIO ("RegRemAction",
Cns_UNCHECKED,HTM_ENABLED,HTM_NOT_REQUIRED,
Cns_UNCHECKED,HTM_ENABLED,HTM_READWRITE,HTM_NOT_REQUIRED,
HTM_DONT_SUBMIT_ON_CLICK,
" value=\"%u\"",
(unsigned) Enr_ELIMINATE_USRS_FROM_PLATFORM);
@ -1638,7 +1638,7 @@ static void Enr_RegRemOneUsrActionBegin (Enr_RegRemOneUsrAction_t RegRemOneUsrAc
HTM_LI_Begin (NULL);
HTM_LABEL_Begin (NULL);
HTM_INPUT_RADIO ("RegRemAction",
ThisChecked,HTM_ENABLED,HTM_NOT_REQUIRED,
ThisChecked,HTM_ENABLED,HTM_READWRITE,HTM_NOT_REQUIRED,
HTM_DONT_SUBMIT_ON_CLICK,
"value=\"%u\"",(unsigned) RegRemOneUsrAction);
@ -2188,7 +2188,7 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
1 << Rol_NET |
1 << Rol_TCH,
RolesSelected,
HTM_DISABLED,
HTM_ENABLED,HTM_READWRITE,
HTM_SUBMIT_ON_CHANGE);
HTM_TD_End ();

View File

@ -598,7 +598,8 @@ static void ExaRes_ListExamsToSelect (struct Exa_Exams *Exams)
The_GetSuffix (),
The_GetColorRows ());
HTM_INPUT_CHECKBOX (Par_CodeStr[ParCod_Exa],
Exams->Lst[NumExam].Checked,HTM_ENABLED,
Exams->Lst[NumExam].Checked,
HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Gam%u\" value=\"%ld\"",
NumExam,Exams->Lst[NumExam].ExaCod);

View File

@ -1011,7 +1011,8 @@ static void ExaSes_ShowLstGrpsToCreateSession (long SesCod)
"SesCod",
SesCod) ? Cns_CHECKED :
Cns_UNCHECKED;
HTM_INPUT_CHECKBOX ("WholeCrs",Checked,HTM_ENABLED,
HTM_INPUT_CHECKBOX ("WholeCrs",Checked,
HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"WholeCrs\" value=\"Y\""
" onclick=\"uncheckChildren(this,'GrpCods')\"");

View File

@ -1453,7 +1453,7 @@ static void For_PutFormWhichForums (const struct For_Forums *Forums)
Checked = (ForumSet == Forums->ForumSet) ? Cns_UNCHECKED :
Cns_CHECKED;
HTM_INPUT_RADIO ("ForumSet",
Checked,HTM_ENABLED,HTM_NOT_REQUIRED,
Checked,HTM_ENABLED,HTM_READWRITE,HTM_NOT_REQUIRED,
HTM_SUBMIT_ON_CLICK,
"value=\"%u\"",(unsigned) ForumSet);
HTM_Txt (Txt_FORUM_WHICH_FORUM[ForumSet]);

View File

@ -412,7 +412,7 @@ static void Grp_PutCheckboxAllGrps (void)
extern const char *Txt_All_groups;
Usr_Can_t ICanSelUnselGroup;
Cns_Checked_t Checked;
HTM_Disabled_t Disabled;
HTM_Readonly_t Readonly;
switch (Gbl.Usrs.Me.Role.Logged)
{
@ -431,12 +431,13 @@ static void Grp_PutCheckboxAllGrps (void)
HTM_DIV_Begin ("class=\"CONTEXT_OPT\"");
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ());
Checked = (ICanSelUnselGroup == Usr_CAN &&
Gbl.Crs.Grps.AllGrps) ? Cns_UNCHECKED :
Cns_CHECKED;
Disabled = (ICanSelUnselGroup == Usr_CAN) ? HTM_ENABLED :
HTM_DISABLED;
Gbl.Crs.Grps.AllGrps) ? Cns_UNCHECKED :
Cns_CHECKED;
Readonly = (ICanSelUnselGroup == Usr_CAN) ? HTM_READWRITE :
HTM_READONLY;
HTM_INPUT_CHECKBOX ("AllGroups",
Checked,Disabled,HTM_DONT_SUBMIT_ON_CHANGE,
Checked,HTM_ENABLED,Readonly,
HTM_DONT_SUBMIT_ON_CHANGE,
"value=\"Y\"%s",
(ICanSelUnselGroup == Usr_CAN) ? " onclick=\"togglecheckChildren(this,'GrpCods')\"" :
"");
@ -1658,7 +1659,7 @@ void Grp_ListGrpsToEditAsgAttSvyEvtMch (struct GroupType *GrpTyp,
bool IBelongToThisGroup;
struct Group *Grp;
Cns_Checked_t Checked;
HTM_Disabled_t Disabled;
HTM_Readonly_t Readonly;
/***** Write heading *****/
Grp_WriteGrpHead (GrpTyp);
@ -1687,11 +1688,12 @@ void Grp_ListGrpsToEditAsgAttSvyEvtMch (struct GroupType *GrpTyp,
HTM_TD_Begin (IBelongToThisGroup ? "class=\"LM BG_HIGHLIGHT\"" :
"class=\"LM\"");
Disabled = (IBelongToThisGroup ||
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? HTM_ENABLED :
HTM_DISABLED;
Readonly = (IBelongToThisGroup ||
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? HTM_READWRITE :
HTM_READONLY;
HTM_INPUT_CHECKBOX ("GrpCods",
Checked,Disabled,HTM_DONT_SUBMIT_ON_CHANGE,
Checked,HTM_ENABLED,Readonly,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Grp%ld\" value=\"%ld\""
" onclick=\"uncheckParent(this,'WholeCrs')\"",
Grp->GrpCod,Grp->GrpCod);
@ -1863,7 +1865,7 @@ static Usr_Can_t Grp_ListGrpsForChangeMySelection (struct GroupType *GrpTyp,
Usr_Can_t ICanChangeMySelectionForThisGrpTyp;
Usr_Can_t ICanChangeMySelectionForThisGrp;
Cns_Checked_t Checked;
HTM_Disabled_t Disabled;
HTM_Readonly_t Readonly;
char StrGrpCod[32];
/***** Write heading *****/
@ -1982,9 +1984,8 @@ static Usr_Can_t Grp_ListGrpsForChangeMySelection (struct GroupType *GrpTyp,
"class=\"LM\"");
Checked = IBelongToThisGroup ? Cns_CHECKED :
Cns_UNCHECKED;
Disabled = (ICanChangeMySelectionForThisGrp == Usr_CAN ||
IBelongToThisGroup) ? HTM_ENABLED :
HTM_DISABLED;
Readonly = ICanChangeMySelectionForThisGrp ? HTM_READWRITE :
HTM_READONLY;
snprintf (StrGrpCod,sizeof (StrGrpCod),"GrpCod%ld",GrpTyp->GrpTypCod);
if (Gbl.Usrs.Me.Role.Logged == Rol_STD && // If I am a student
!GrpTyp->MultipleEnrolment && // ...and the enrolment is single
@ -1993,34 +1994,26 @@ static Usr_Can_t Grp_ListGrpsForChangeMySelection (struct GroupType *GrpTyp,
/* Put a radio item */
if (GrpTyp->MandatoryEnrolment)
HTM_INPUT_RADIO (StrGrpCod,
Checked,Disabled,HTM_NOT_REQUIRED,
Checked,HTM_ENABLED,Readonly,HTM_NOT_REQUIRED,
HTM_DONT_SUBMIT_ON_CLICK,
"id=\"Grp%ld\" value=\"%ld\"%s",
Grp->GrpCod,Grp->GrpCod,
(ICanChangeMySelectionForThisGrp == Usr_CAN_NOT &&
IBelongToThisGroup) ? " readonly" : // I can not unregister (disabled does not work because the value is not submitted)
"");
"id=\"Grp%ld\" value=\"%ld\"",
Grp->GrpCod,Grp->GrpCod);
else // If the enrolment is not mandatory, I can select no groups
HTM_INPUT_RADIO (StrGrpCod,
Checked,Disabled,HTM_NOT_REQUIRED,
Checked,HTM_ENABLED,Readonly,HTM_NOT_REQUIRED,
HTM_DONT_SUBMIT_ON_CLICK,
"id=\"Grp%ld\" value=\"%ld\"%s"
"id=\"Grp%ld\" value=\"%ld\""
" onclick=\"selectUnselectRadio(this,this.form.GrpCod%ld,%u)\"",
Grp->GrpCod,Grp->GrpCod,
(ICanChangeMySelectionForThisGrp == Usr_CAN_NOT &&
IBelongToThisGroup) ? " readonly" : // I can not unregister (disabled does not work because the value is not submitted)
"",
GrpTyp->GrpTypCod,GrpTyp->NumGrps);
}
else
/* Put a checkbox item */
HTM_INPUT_CHECKBOX (StrGrpCod,
Checked,Disabled,HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Grp%ld\" value=\"%ld\"%s",
Grp->GrpCod,Grp->GrpCod,
(ICanChangeMySelectionForThisGrp == Usr_CAN_NOT &&
IBelongToThisGroup) ? " readonly" : // I can not unregister (disabled does not work because the value is not submitted)
"");
Checked,HTM_ENABLED,Readonly,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Grp%ld\" value=\"%ld\"",
Grp->GrpCod,Grp->GrpCod);
HTM_TD_End ();
@ -2115,7 +2108,8 @@ static void Grp_ListGrpsToAddOrRemUsrs (struct GroupType *GrpTyp,long UsrCod)
Checked = UsrBelongsToThisGroup ? Cns_CHECKED :
Cns_UNCHECKED;
HTM_INPUT_CHECKBOX (StrGrpCod,
Checked,HTM_ENABLED,HTM_DONT_SUBMIT_ON_CHANGE,
Checked,HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Grp%ld\" value=\"%ld\"",
Grp->GrpCod,Grp->GrpCod);
@ -2148,7 +2142,7 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp)
bool IBelongToThisGroup;
Usr_Can_t ICanSelUnselGroup;
Cns_Checked_t Checked;
HTM_Disabled_t Disabled;
HTM_Readonly_t Readonly;
struct Group *Grp;
Rol_Role_t Role;
@ -2211,10 +2205,11 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp)
HTM_TD_Begin (IBelongToThisGroup ? "class=\"LM BG_HIGHLIGHT\"" :
"class=\"LM\"");
Disabled = (ICanSelUnselGroup == Usr_CAN) ? HTM_ENABLED :
HTM_DISABLED;
Readonly = (ICanSelUnselGroup == Usr_CAN) ? HTM_READWRITE :
HTM_READONLY;
HTM_INPUT_CHECKBOX ("GrpCods",
Checked,Disabled,HTM_DONT_SUBMIT_ON_CHANGE,
Checked,HTM_ENABLED,Readonly,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Grp%ld\" value=\"%ld\"%s",
Grp->GrpCod,Grp->GrpCod,
(ICanSelUnselGroup == Usr_CAN) ? " onclick=\"checkParent(this,'AllGroups')\"" :
@ -2259,10 +2254,11 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp)
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"LM\"");
Disabled = (ICanSelUnselGroup == Usr_CAN_NOT) ? HTM_DISABLED :
HTM_ENABLED;
Readonly = (ICanSelUnselGroup == Usr_CAN_NOT) ? HTM_READWRITE :
HTM_READONLY;
HTM_INPUT_CHECKBOX ("GrpCods",
Checked,Disabled,HTM_DONT_SUBMIT_ON_CHANGE,
Checked,HTM_ENABLED,Readonly,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Grp%ld\" value=\"%ld\""
" onclick=\"checkParent(this,'AllGroups')\"",
-GrpTyp->GrpTypCod,-GrpTyp->GrpTypCod);

View File

@ -475,7 +475,8 @@ static void Ind_ShowNumCoursesWithIndicators (const struct Ind_Indicators *Indic
HTM_TD_Begin ("class=\"%s\"",Class);
HTM_INPUT_CHECKBOX ("Indicators",
Indicators->IndicatorsSelected[Ind],
HTM_ENABLED,HTM_SUBMIT_ON_CHANGE,
HTM_ENABLED,HTM_READWRITE,
HTM_SUBMIT_ON_CHANGE,
"id=\"Indicators%u\" value=\"%u\"",
Ind,Ind);
HTM_TD_End ();

View File

@ -368,7 +368,9 @@ static void Inf_PutCheckboxForceStdsToReadInfo (bool MustBeRead,
Inf_Actions[Gbl.Crs.Info.Type].FuncPars,
Inf_Actions[Gbl.Crs.Info.Type].Args,
"MustBeRead",
MustBeRead,Disabled,
MustBeRead ? Cns_CHECKED :
Cns_UNCHECKED,
Disabled,HTM_READWRITE,
Txt_Force_students_to_read_this_information,
Txt_Force_students_to_read_this_information);
}
@ -398,7 +400,9 @@ static void Inf_PutCheckboxConfirmIHaveReadInfo (void)
Inf_Actions[Gbl.Crs.Info.Type].FuncPars,
Inf_Actions[Gbl.Crs.Info.Type].Args,
"IHaveRead",
IHaveRead,false,
IHaveRead ? Cns_CHECKED :
Cns_UNCHECKED,
HTM_ENABLED,HTM_READWRITE,
Txt_I_have_read_this_information,
Txt_I_have_read_this_information);
}
@ -910,7 +914,7 @@ void Inf_FormsToSelSendInfo (void)
InfoAvailable[InfoSrc]) ? HTM_ENABLED :
HTM_DISABLED;
HTM_INPUT_RADIO ("InfoSrc",
Checked,Disabled,HTM_NOT_REQUIRED,
Checked,Disabled,HTM_READWRITE,HTM_NOT_REQUIRED,
(InfoSrc != FromDB.Src &&
(InfoSrc == Inf_NONE ||
InfoAvailable[InfoSrc])) ? HTM_SUBMIT_ON_CLICK :

View File

@ -1268,6 +1268,7 @@ void Lay_PutContextualCheckbox (Act_Action_t NextAction,
const char *CheckboxName,
Cns_Checked_t Checked,
HTM_Disabled_t Disabled,
HTM_Readonly_t Readonly,
const char *Title,const char *Text)
{
static const char *Class[Cns_NUM_CHECKED] =
@ -1295,7 +1296,8 @@ void Lay_PutContextualCheckbox (Act_Action_t NextAction,
/****** Checkbox *****/
HTM_INPUT_CHECKBOX (CheckboxName,
Checked,Disabled,HTM_SUBMIT_ON_CHANGE,
Checked,Disabled,Readonly,
HTM_SUBMIT_ON_CHANGE,
"value=\"Y\"");
/***** Text *****/

View File

@ -80,10 +80,11 @@ void Lay_PutContextualLinkIconText (Act_Action_t NextAction,const char *Anchor,
const char *Icon,Ico_Color_t Color,
const char *Text,const char *OnSubmit);
void Lay_PutContextualCheckbox (Act_Action_t NextAction,
void (*FuncPars) (void *Args),void *Args,
void (*FuncPars) (void *Args),void *Args,
const char *CheckboxName,
Cns_Checked_t Checked,
HTM_Disabled_t Disabled,
HTM_Readonly_t Readonly,
const char *Title,const char *Text);
void Lay_WriteAboutZone (void);

View File

@ -1267,7 +1267,8 @@ static void Mch_ShowLstGrpsToEditMatch (long MchCod)
"MchCod",
MchCod) ? Cns_CHECKED :
Cns_UNCHECKED;
HTM_INPUT_CHECKBOX ("WholeCrs",Checked,HTM_ENABLED,
HTM_INPUT_CHECKBOX ("WholeCrs",
Checked,HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"WholeCrs\" value=\"Y\""
" onclick=\"uncheckChildren(this,'GrpCods')\"");

View File

@ -562,7 +562,8 @@ static void MchRes_ListGamesToSelect (struct Gam_Games *Games)
The_GetSuffix (),The_GetColorRows ());
HTM_INPUT_CHECKBOX (Par_CodeStr[ParCod_Gam],
Games->Lst[NumGame].Checked,
HTM_ENABLED,HTM_DONT_SUBMIT_ON_CHANGE,
HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Gam%u\" value=\"%ld\"",
NumGame,Games->Lst[NumGame].GamCod);
HTM_TD_End ();

View File

@ -1913,7 +1913,8 @@ static void Msg_ShowFormToShowOnlyUnreadMessages (const struct Msg_Messages *Mes
Checked = Messages->ShowOnlyUnreadMsgs ? Cns_CHECKED :
Cns_UNCHECKED;
HTM_INPUT_CHECKBOX ("OnlyUnreadMsgs",
Checked,HTM_ENABLED,HTM_DONT_SUBMIT_ON_CHANGE,
Checked,HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"value=\"Y\"");
HTM_Txt (Txt_only_unread_messages);
HTM_LABEL_End ();

View File

@ -416,7 +416,9 @@ static void Ntf_PutContextualLinks (bool AllNotifications,
Lay_PutContextualCheckbox (ActSeeNtf,
NULL,NULL,
"All",
AllNotifications,false,
AllNotifications ? Cns_CHECKED :
Cns_UNCHECKED,
HTM_ENABLED,HTM_READWRITE,
Txt_Show_all_notifications,
Txt_Show_all_NOTIFICATIONS);
@ -1664,7 +1666,7 @@ void Ntf_PutFormChangeNotifSentByEMail (void)
(1 << NotifyEvent)) ? Cns_CHECKED :
Cns_UNCHECKED;
HTM_INPUT_CHECKBOX (Ntf_ParNotifMeAboutNotifyEvents[NotifyEvent],
Checked,HTM_ENABLED,
Checked,HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"value=\"Y\"");
HTM_TD_End ();
@ -1674,7 +1676,7 @@ void Ntf_PutFormChangeNotifSentByEMail (void)
(1 << NotifyEvent)) ? Cns_CHECKED :
Cns_UNCHECKED;
HTM_INPUT_CHECKBOX (Ntf_ParEmailMeAboutNotifyEvents[NotifyEvent],
Checked,HTM_ENABLED,
Checked,HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"value=\"Y\"");
HTM_TD_End ();

View File

@ -788,7 +788,7 @@ void Pwd_AskForConfirmationOnDangerousAction (void)
/***** Checkbox *****/
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ());
HTM_INPUT_CHECKBOX ("Consent",Cns_UNCHECKED,HTM_ENABLED,
HTM_INPUT_CHECKBOX ("Consent",Cns_UNCHECKED,HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"value=\"Y\"");
HTM_Txt (Txt_I_understand_that_this_action_can_not_be_undone);

View File

@ -196,7 +196,7 @@ static void Pri_PutFormVisibility (const char *TxtLabel,
Disabled = (Action == ActUnk) ? HTM_DISABLED :
HTM_ENABLED;
HTM_INPUT_RADIO (ParName,
Checked,Disabled,HTM_NOT_REQUIRED,
Checked,Disabled,HTM_READWRITE,HTM_NOT_REQUIRED,
(Action == ActUnk) ? HTM_DONT_SUBMIT_ON_CLICK :
HTM_SUBMIT_ON_CLICK,
"value=\"%u\"",(unsigned) Visibility);

View File

@ -315,7 +315,7 @@ static void PrjCfg_ShowFormNETCanCreate (const struct PrjCfg_Config *Config)
HTM_LABEL_Begin ("class=\"LT DAT_%s\"",The_GetSuffix ());
Checked = Config->NETCanCreate ? Cns_CHECKED :
Cns_UNCHECKED;
HTM_INPUT_CHECKBOX ("NETCanCreate",Checked,HTM_ENABLED,
HTM_INPUT_CHECKBOX ("NETCanCreate",Checked,HTM_ENABLED,HTM_READWRITE,
HTM_SUBMIT_ON_CHANGE,
"id=\"NETCanCreate\" value=\"Y\"");
HTM_Txt (Txt_Non_editing_teachers_can_create_new_projects);

View File

@ -237,7 +237,8 @@ void Qst_ShowFormAnswerTypes (const struct Qst_AnswerTypes *AnswerTypes)
The_GetSuffix ());
Checked = AnswerTypes->All ? Cns_CHECKED :
Cns_UNCHECKED;
HTM_INPUT_CHECKBOX ("AllAnsTypes",Checked,HTM_ENABLED,
HTM_INPUT_CHECKBOX ("AllAnsTypes",
Checked,HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"value=\"Y\""
" onclick=\"togglecheckChildren(this,'AnswerType');\"");
@ -267,7 +268,8 @@ void Qst_ShowFormAnswerTypes (const struct Qst_AnswerTypes *AnswerTypes)
}
HTM_TD_Begin ("class=\"LM\"");
HTM_LABEL_Begin ("class=\"DAT_%s\"",The_GetSuffix ());
HTM_INPUT_CHECKBOX ("AnswerType",Checked,HTM_ENABLED,
HTM_INPUT_CHECKBOX ("AnswerType",
Checked,HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"value=\"%u\""
" onclick=\"checkParent(this,'AllAnsTypes');\"",
@ -624,7 +626,7 @@ static void Qst_PutFormToEditQstMedia (const struct Med_Media *Media,int NumMedi
/***** Choice 1: No media *****/
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ());
HTM_INPUT_RADIO (ParUploadMedia.Action,
Cns_UNCHECKED,Disabled,HTM_NOT_REQUIRED,
Cns_UNCHECKED,Disabled,HTM_READWRITE,HTM_NOT_REQUIRED,
HTM_DONT_SUBMIT_ON_CLICK,
"value=\"%u\"",(unsigned) Med_ACTION_NO_MEDIA);
HTM_Txt (Txt_No_image_video);
@ -634,7 +636,7 @@ static void Qst_PutFormToEditQstMedia (const struct Med_Media *Media,int NumMedi
/***** Choice 2: Current media *****/
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ());
HTM_INPUT_RADIO (ParUploadMedia.Action,
Cns_CHECKED,Disabled,HTM_NOT_REQUIRED,
Cns_CHECKED,Disabled,HTM_READWRITE,HTM_NOT_REQUIRED,
HTM_DONT_SUBMIT_ON_CLICK,
"value=\"%u\"",(unsigned) Med_ACTION_KEEP_MEDIA);
HTM_Txt (Txt_Current_image_video);
@ -647,7 +649,7 @@ static void Qst_PutFormToEditQstMedia (const struct Med_Media *Media,int NumMedi
UniqueId++;
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ());
HTM_INPUT_RADIO (ParUploadMedia.Action,
Cns_UNCHECKED,Disabled,HTM_NOT_REQUIRED,
Cns_UNCHECKED,Disabled,HTM_READWRITE,HTM_NOT_REQUIRED,
HTM_DONT_SUBMIT_ON_CLICK,
"id=\"chg_img_%u\" value=\"%u\"",
UniqueId,(unsigned) Med_ACTION_NEW_MEDIA);
@ -988,7 +990,8 @@ void Qst_WriteQuestionListing (struct Qst_Questions *Questions,unsigned QstInd)
Par_PutParUnsigned (NULL,"Order",(unsigned) Questions->SelectedOrder);
Checked = Questions->Question.Answer.Shuffle ? Cns_CHECKED :
Cns_UNCHECKED;
HTM_INPUT_CHECKBOX ("Shuffle",Checked,HTM_ENABLED,
HTM_INPUT_CHECKBOX ("Shuffle",
Checked,HTM_ENABLED,HTM_READWRITE,
HTM_SUBMIT_ON_CHANGE,
"value=\"Y\"");
Frm_EndForm ();
@ -1222,7 +1225,7 @@ void Qst_PutCheckboxToSelectAllQuestions (void)
extern const char *Txt_All_questions;
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ());
HTM_INPUT_CHECKBOX ("AllQsts",Cns_UNCHECKED,HTM_ENABLED,
HTM_INPUT_CHECKBOX ("AllQsts",Cns_UNCHECKED,HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"value=\"Y\""
" onclick=\"togglecheckChildren(this,'QstCods');\"");
@ -1250,7 +1253,8 @@ void Qst_WriteQuestionRowForSelection (unsigned QstInd,
/* Write checkbox to select the question */
HTM_TD_Begin ("class=\"BT %s\"",The_GetColorRows ());
HTM_INPUT_CHECKBOX ("QstCods",Cns_UNCHECKED,HTM_ENABLED,
HTM_INPUT_CHECKBOX ("QstCods",
Cns_UNCHECKED,HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"value=\"%ld\""
" onclick=\"checkParent(this,'AllQsts');\"",
@ -1305,7 +1309,7 @@ void Qst_WriteQuestionRowForSelection (unsigned QstInd,
The_GetSuffix (),The_GetColorRows ());
Checked = Question->Answer.Shuffle ? Cns_CHECKED :
Cns_UNCHECKED;
HTM_INPUT_CHECKBOX ("Shuffle",Checked,HTM_DISABLED,
HTM_INPUT_CHECKBOX ("Shuffle",Checked,HTM_DISABLED,HTM_READONLY,
HTM_DONT_SUBMIT_ON_CHANGE,
"value=\"Y\"");
HTM_TD_End ();
@ -2025,7 +2029,7 @@ void Qst_PutFormEditOneQst (struct Qst_Question *Question)
Checked = (AnsType == Question->Answer.Type) ? Cns_CHECKED :
Cns_UNCHECKED;
HTM_INPUT_RADIO ("AnswerType",
Checked,HTM_ENABLED,HTM_NOT_REQUIRED,
Checked,HTM_ENABLED,HTM_READWRITE,HTM_NOT_REQUIRED,
HTM_DONT_SUBMIT_ON_CLICK,
"value=\"%u\""
" onclick=\"enableDisableAns(this.form);\"",
@ -2089,7 +2093,8 @@ void Qst_PutFormEditOneQst (struct Qst_Question *Question)
Disabled = (Question->Answer.Type != Qst_ANS_UNIQUE_CHOICE &&
Question->Answer.Type != Qst_ANS_MULTIPLE_CHOICE) ? HTM_DISABLED :
HTM_ENABLED;
HTM_INPUT_CHECKBOX ("Shuffle",Checked,Disabled,
HTM_INPUT_CHECKBOX ("Shuffle",
Checked,Disabled,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"value=\"Y\"");
HTM_Txt (Txt_Shuffle);
@ -2133,7 +2138,7 @@ void Qst_PutFormEditOneQst (struct Qst_Question *Question)
Required = (NumOpt < 2) ? HTM_REQUIRED : // First or second options required
HTM_NOT_REQUIRED;
HTM_INPUT_RADIO ("AnsUni",
Checked,Disabled,Required,
Checked,Disabled,HTM_READWRITE,Required,
HTM_DONT_SUBMIT_ON_CLICK,
"value=\"%u\""
" onclick=\"enableDisableAns(this.form);\"",
@ -2142,7 +2147,8 @@ void Qst_PutFormEditOneQst (struct Qst_Question *Question)
/* Checkbox for multiple choice answers */
Disabled = (Question->Answer.Type == Qst_ANS_MULTIPLE_CHOICE) ? HTM_ENABLED :
HTM_DISABLED;
HTM_INPUT_CHECKBOX ("AnsMulti",Checked,Disabled,
HTM_INPUT_CHECKBOX ("AnsMulti",
Checked,Disabled,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"value=\"%u\"",NumOpt);
@ -2284,7 +2290,7 @@ void Qst_PutTFInputField (const struct Qst_Question *Question,
Disabled = (Question->Answer.Type == Qst_ANS_TRUE_FALSE) ? HTM_ENABLED :
HTM_DISABLED;
HTM_INPUT_RADIO ("AnsTF",
Checked,Disabled,HTM_REQUIRED,HTM_DONT_SUBMIT_ON_CLICK,
Checked,Disabled,HTM_READWRITE,HTM_REQUIRED,HTM_DONT_SUBMIT_ON_CLICK,
"value=\"%c\"",Value);
HTM_Txt (Label);
HTM_LABEL_End ();

View File

@ -1440,7 +1440,9 @@ static void Rec_WriteFormShowOfficeHoursOneTch (bool ShowOfficeHours)
Lay_PutContextualCheckbox (ActSeeRecOneTch,
Rec_PutParsShowOfficeHoursOneTch,NULL,
"ShowOfficeHours",
ShowOfficeHours,false,
ShowOfficeHours ? Cns_CHECKED :
Cns_UNCHECKED,
HTM_ENABLED,HTM_READWRITE,
Txt_Show_tutoring_hours,
Txt_Show_tutoring_hours);
}
@ -1452,7 +1454,9 @@ static void Rec_WriteFormShowOfficeHoursSeveralTchs (bool ShowOfficeHours)
Lay_PutContextualCheckbox (ActSeeRecSevTch,
Rec_PutParsShowOfficeHoursSeveralTchs,NULL,
"ShowOfficeHours",
ShowOfficeHours,false,
ShowOfficeHours ? Cns_CHECKED :
Cns_UNCHECKED,
HTM_ENABLED,HTM_READWRITE,
Txt_Show_tutoring_hours,
Txt_Show_tutoring_hours);
}
@ -3023,7 +3027,7 @@ static void Rec_ShowFormSex (struct Usr_Data *UsrDat,Usr_Sex_t Sex)
Checked = (Sex == UsrDat->Sex) ? Cns_CHECKED :
Cns_UNCHECKED;
HTM_INPUT_RADIO ("Sex",
Checked,HTM_ENABLED,HTM_REQUIRED,HTM_DONT_SUBMIT_ON_CLICK,
Checked,HTM_ENABLED,HTM_READWRITE,HTM_REQUIRED,HTM_DONT_SUBMIT_ON_CLICK,
"value=\"%u\"",(unsigned) Sex);
HTM_TxtF ("%s&nbsp;%s",Usr_StringsSexIcons[Sex],Txt_SEX_SINGULAR_Abc[Sex]);
HTM_LABEL_End ();

View File

@ -207,7 +207,7 @@ void Rsc_WriteRowClipboard (const struct Rsc_Link *Link,
HTM_LABEL_Begin (NULL);
/***** Radio selector *****/
HTM_INPUT_RADIO ("Link",Checked,HTM_ENABLED,HTM_NOT_REQUIRED,
HTM_INPUT_RADIO ("Link",Checked,HTM_ENABLED,HTM_READWRITE,HTM_NOT_REQUIRED,
SubmitOnClick,
"value=\"%s_%ld\"",
Rsc_ResourceTypesDB[Link->Type],Link->Cod);

View File

@ -513,6 +513,7 @@ void Rol_ChangeMyRole (void)
void Rol_WriteSelectorRoles (unsigned RolesAllowed,unsigned RolesSelected,
HTM_Disabled_t Disabled,
HTM_Readonly_t Readonly,
HTM_SubmitOnChange_t SubmitOnChange)
{
extern const char *Txt_ROLES_PLURAL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
@ -526,7 +527,7 @@ void Rol_WriteSelectorRoles (unsigned RolesAllowed,unsigned RolesSelected,
{
HTM_LABEL_Begin (NULL);
Checked = (RolesSelected & (1 << Role));
HTM_INPUT_CHECKBOX ("Role",Checked,Disabled,SubmitOnChange,
HTM_INPUT_CHECKBOX ("Role",Checked,Disabled,Readonly,SubmitOnChange,
"id=\"Role\" value=\"%u\" class=\"INPUT_%s\"",
(unsigned) Role,The_GetSuffix ());
HTM_Txt (Txt_ROLES_PLURAL_abc[Role][Usr_SEX_UNKNOWN]);

View File

@ -54,6 +54,7 @@ void Rol_ChangeMyRole (void);
void Rol_WriteSelectorRoles (unsigned RolesAllowed,unsigned RolesSelected,
HTM_Disabled_t Disabled,
HTM_Readonly_t Readonly,
HTM_SubmitOnChange_t SubmitOnChange);
void Rol_PutParRoles (unsigned Roles);
unsigned Rol_GetSelectedRoles (void);

View File

@ -351,7 +351,7 @@ static void Sta_PutFormCrsHits (struct Sta_Stats *Stats)
Checked = (Stats->ClicksGroupedBy == Sta_CLICKS_CRS_DETAILED_LIST) ? Cns_UNCHECKED :
Cns_CHECKED;
HTM_INPUT_RADIO ("GroupedOrDetailed",
Checked,HTM_ENABLED,HTM_NOT_REQUIRED,
Checked,HTM_ENABLED,HTM_READWRITE,HTM_NOT_REQUIRED,
HTM_DONT_SUBMIT_ON_CLICK,
"value=\"%u\""
" onclick=\"disableDetailedClicks();\"",
@ -397,7 +397,7 @@ static void Sta_PutFormCrsHits (struct Sta_Stats *Stats)
Checked = (Stats->ClicksGroupedBy == Sta_CLICKS_CRS_DETAILED_LIST) ? Cns_CHECKED :
Cns_UNCHECKED;
HTM_INPUT_RADIO ("GroupedOrDetailed",
Checked,HTM_ENABLED,HTM_NOT_REQUIRED,
Checked,HTM_ENABLED,HTM_READWRITE,HTM_NOT_REQUIRED,
HTM_DONT_SUBMIT_ON_CLICK,
"value=\"%u\" onclick=\"enableDetailedClicks();\"",
(unsigned) Sta_CLICKS_DETAILED);

View File

@ -615,7 +615,7 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys,
1 << Rol_NET |
1 << Rol_TCH,
Surveys->Svy.Roles,
HTM_ENABLED,
HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE);
HTM_DIV_End ();
@ -1702,7 +1702,7 @@ void Svy_ReqCreatOrEditSvy (void)
1 << Rol_NET |
1 << Rol_TCH,
Surveys.Svy.Roles,
HTM_DISABLED,
HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE);
HTM_TD_End ();
HTM_TR_End ();
@ -1839,7 +1839,8 @@ static void Svy_ShowLstGrpsToEditSurvey (long SvyCod)
"SvyCod",
SvyCod) ? Cns_CHECKED :
Cns_UNCHECKED;
HTM_INPUT_CHECKBOX ("WholeCrs",Checked,HTM_ENABLED,
HTM_INPUT_CHECKBOX ("WholeCrs",
Checked,HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"WholeCrs\" value=\"Y\""
" onclick=\"uncheckChildren(this,'GrpCods')\"");
@ -2289,7 +2290,7 @@ static void Svy_ShowFormEditOneQst (struct Svy_Surveys *Surveys,
Checked = (AnsType == SvyQst->AnswerType) ? Cns_CHECKED :
Cns_UNCHECKED;
HTM_INPUT_RADIO ("AnswerType",
Checked,HTM_ENABLED,HTM_NOT_REQUIRED,
Checked,HTM_ENABLED,HTM_READWRITE,HTM_NOT_REQUIRED,
HTM_DONT_SUBMIT_ON_CLICK,
"value=\"%u\"",(unsigned) AnsType);
HTM_Txt (Txt_SURVEY_STR_ANSWER_TYPES[AnsType]);
@ -2345,7 +2346,8 @@ static void Svy_ShowFormEditOneQst (struct Svy_Surveys *Surveys,
HTM_LABEL_Begin (NULL);
Checked = SvyQst->CommentsAllowed ? Cns_CHECKED :
Cns_UNCHECKED;
HTM_INPUT_CHECKBOX ("Comment",Checked,HTM_ENABLED,
HTM_INPUT_CHECKBOX ("Comment",
Checked,HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"value=\"Y\"");
HTM_Txt (Txt_Comments_allowed);
@ -2863,7 +2865,7 @@ static void Svy_WriteAnswersOfAQst (struct Svy_Survey *Svy,
{
case Svy_ANS_UNIQUE_CHOICE:
HTM_INPUT_RADIO (StrAns,
Cns_UNCHECKED,HTM_ENABLED,HTM_NOT_REQUIRED,
Cns_UNCHECKED,HTM_ENABLED,HTM_READWRITE,HTM_NOT_REQUIRED,
HTM_DONT_SUBMIT_ON_CLICK,
"id=\"Ans%010u_%u\" value=\"%u\""
" onclick=\"selectUnselectRadio(this,this.form.Ans%010u,%u)\"",
@ -2872,7 +2874,8 @@ static void Svy_WriteAnswersOfAQst (struct Svy_Survey *Svy,
(unsigned) SvyQst->QstCod,NumAnswers);
break;
case Svy_ANS_MULTIPLE_CHOICE:
HTM_INPUT_CHECKBOX (StrAns,Cns_UNCHECKED,HTM_ENABLED,
HTM_INPUT_CHECKBOX (StrAns,
Cns_UNCHECKED,HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Ans%010u_%u\" value=\"%u\"",
(unsigned) SvyQst->QstCod,NumAns,

View File

@ -208,7 +208,7 @@ void Syl_PutFormWhichSyllabus (Syl_WhichSyllabus_t WhichSyllabus)
Checked = (WhichSyl == WhichSyllabus) ? Cns_CHECKED :
Cns_UNCHECKED;
HTM_INPUT_RADIO ("WhichSyllabus",
Checked,HTM_ENABLED,HTM_NOT_REQUIRED,
Checked,HTM_ENABLED,HTM_READWRITE,HTM_NOT_REQUIRED,
HTM_SUBMIT_ON_CLICK,
"value=\"%u\"",(unsigned) WhichSyl);
HTM_Txt (Txt_SYLLABUS_WHICH_SYLLABUS[WhichSyl]);

View File

@ -310,7 +310,8 @@ void Tag_ShowFormSelTags (const struct Tag_Tags *Tags,
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ());
Checked = Tags->All ? Cns_CHECKED :
Cns_UNCHECKED;
HTM_INPUT_CHECKBOX ("AllTags",Checked,HTM_ENABLED,
HTM_INPUT_CHECKBOX ("AllTags",
Checked,HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"value=\"Y\""
" onclick=\"togglecheckChildren(this,'ChkTag');\"");
@ -357,7 +358,8 @@ void Tag_ShowFormSelTags (const struct Tag_Tags *Tags,
HTM_TD_Begin ("class=\"LT\"");
HTM_LABEL_Begin ("class=\"DAT_%s\"",
The_GetSuffix ());
HTM_INPUT_CHECKBOX ("ChkTag",Checked,HTM_ENABLED,
HTM_INPUT_CHECKBOX ("ChkTag",
Checked,HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"value=\"%s\""
" onclick=\"checkParent(this,'AllTags');\"",

View File

@ -184,7 +184,7 @@ static void TstCfg_ShowFormConfig (void)
Checked = (Pluggable == TstCfg_GetConfigPluggable ()) ? Cns_CHECKED :
Cns_UNCHECKED;
HTM_INPUT_RADIO ("Pluggable",
Checked,HTM_ENABLED,HTM_NOT_REQUIRED,
Checked,HTM_ENABLED,HTM_READWRITE,HTM_NOT_REQUIRED,
HTM_DONT_SUBMIT_ON_CLICK,
"value=\"%u\"%s",(unsigned) Pluggable);
HTM_Txt (Txt_TST_PLUGGABLE[Pluggable]);

View File

@ -454,7 +454,7 @@ static void TstPrn_WriteChoAnsToFill (const struct TstPrn_PrintedQuestion *Print
{
case Qst_ANS_UNIQUE_CHOICE:
HTM_INPUT_RADIO (StrAns,
UsrAnswers[Indexes[NumOpt]],HTM_ENABLED,HTM_NOT_REQUIRED,
UsrAnswers[Indexes[NumOpt]],HTM_ENABLED,HTM_READWRITE,HTM_NOT_REQUIRED,
HTM_DONT_SUBMIT_ON_CLICK,
"id=\"%s\" value=\"%u\""
" onclick=\"selectUnselectRadio(this,this.form.Ans%010u,%u);\"",
@ -463,7 +463,7 @@ static void TstPrn_WriteChoAnsToFill (const struct TstPrn_PrintedQuestion *Print
break;
case Qst_ANS_MULTIPLE_CHOICE:
HTM_INPUT_CHECKBOX (StrAns,
UsrAnswers[Indexes[NumOpt]],HTM_ENABLED,
UsrAnswers[Indexes[NumOpt]],HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"%s\" value=\"%u\"",
Id,Indexes[NumOpt]);
@ -531,7 +531,8 @@ static void TstPrn_PutCheckBoxAllowTeachers (bool AllowTeachers)
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ());
Checked = AllowTeachers ? Cns_CHECKED : // Teachers can see test exam
Cns_UNCHECKED;
HTM_INPUT_CHECKBOX ("AllowTchs",Checked,HTM_ENABLED,
HTM_INPUT_CHECKBOX ("AllowTchs",
Checked,HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"value=\"Y\"");
HTM_NBSPTxt (Txt_Allow_teachers_to_consult_this_test);

View File

@ -113,7 +113,7 @@ void TstVis_PutVisibilityCheckboxes (unsigned SelectedVisibility)
/* Checkbox with icon and text */
Checked = ((SelectedVisibility & (1 << Visibility)) != 0) ? Cns_CHECKED :
Cns_UNCHECKED;
HTM_INPUT_CHECKBOX ("Visibility",Checked,HTM_ENABLED,
HTM_INPUT_CHECKBOX ("Visibility",Checked,HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"value=\"%u\"",(unsigned) Visibility);
Ico_PutIconOn (Icons[Visibility],Ico_BLACK,

View File

@ -3917,7 +3917,7 @@ static void Usr_PutCheckboxToSelectAllUsers (struct Usr_SelectedUsrs *SelectedUs
{
Usr_BuildParName (&ParName,Usr_ParUsrCod[Role],SelectedUsrs->ParSuffix);
HTM_INPUT_CHECKBOX (Usr_NameSelUnsel[Role],
Cns_UNCHECKED,HTM_ENABLED,
Cns_UNCHECKED,HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"value=\"\""
" onclick=\"togglecheckChildren(this,'%s')\"",
@ -3997,7 +3997,8 @@ static void Usr_PutCheckboxToSelectUser (Rol_Role_t Role,
/***** Check box *****/
Usr_BuildParName (&ParName,Usr_ParUsrCod[Role],SelectedUsrs->ParSuffix);
HTM_INPUT_CHECKBOX (ParName,Checked,HTM_ENABLED,HTM_DONT_SUBMIT_ON_CHANGE,
HTM_INPUT_CHECKBOX (ParName,Checked,HTM_ENABLED,HTM_READWRITE,
HTM_DONT_SUBMIT_ON_CHANGE,
"value=\"%s\" onclick=\"checkParent(this,'%s')\"",
EncryptedUsrCod,Usr_NameSelUnsel[Role]);
free (ParName);
@ -4021,7 +4022,8 @@ static void Usr_PutCheckboxListWithPhotos (void)
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ());
Checked = Gbl.Usrs.Listing.WithPhotos ? Cns_CHECKED :
Cns_UNCHECKED;
HTM_INPUT_CHECKBOX ("WithPhotos",Checked,HTM_ENABLED,HTM_SUBMIT_ON_CHANGE,
HTM_INPUT_CHECKBOX ("WithPhotos",Checked,HTM_ENABLED,HTM_READWRITE,
HTM_SUBMIT_ON_CHANGE,
"value=\"Y\"");
HTM_Txt (Txt_Display_photos);
HTM_LABEL_End ();
@ -5608,7 +5610,7 @@ static void Usr_ShowOneListUsrsOption (Usr_ListUsrsOption_t ListUsrsAction,
Checked = (ListUsrsAction == Gbl.Usrs.Selected.Option) ? Cns_CHECKED :
Cns_UNCHECKED;
HTM_INPUT_RADIO ("ListUsrsAction",
Checked,HTM_ENABLED,HTM_NOT_REQUIRED,
Checked,HTM_ENABLED,HTM_READWRITE,HTM_NOT_REQUIRED,
HTM_DONT_SUBMIT_ON_CLICK,
"value=\"%u\"",(unsigned) ListUsrsAction);
HTM_Txt (Label);