Version 23.79.4: Apr 25, 2024 Code refactoring in HTML related to checked field in forms.

This commit is contained in:
acanas 2024-04-25 19:10:43 +02:00
parent 2b4c87e572
commit b261b60b2a
19 changed files with 192 additions and 226 deletions

View File

@ -39,7 +39,7 @@ OBJS = swad_account.o swad_account_database.o swad_action.o swad_action_list.o \
swad_call_for_exam_database.o swad_center.o swad_center_config.o \
swad_center_database.o swad_chat.o swad_chat_database.o \
swad_closed_open.o swad_config.o swad_connected.o \
swad_connected_database.o swad_constant.o swad_cookie.o \
swad_connected_database.o swad_cookie.o \
swad_cookie_database.o swad_country.o swad_country_config.o \
swad_country_database.o swad_course.o swad_course_config.o \
swad_course_database.o swad_cryptography.o \

View File

@ -35,6 +35,22 @@
#include "swad_global.h"
#include "swad_HTML.h"
/*****************************************************************************/
/***************************** Public constants ******************************/
/*****************************************************************************/
const char *HTM_DisabledTxt[Cns_NUM_DISABLED_ENABLED] =
{
[Cns_DISABLED] = " disabled=\"disabled\"",
[Cns_ENABLED ] = "",
};
const char *HTM_CheckedTxt[Cns_NUM_UNCHECKED_CHECKED] =
{
[Cns_UNCHECKED] = "",
[Cns_CHECKED ] = " checked=\"checked\"",
};
/*****************************************************************************/
/**************************** Private constants ******************************/
/*****************************************************************************/

View File

@ -29,6 +29,8 @@
#include <stdbool.h> // For boolean type
#include "swad_constant.h"
/*****************************************************************************/
/********************************* Public types ******************************/
/*****************************************************************************/

View File

@ -1710,7 +1710,7 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
NumUsr,UsrDat->EnUsrCod,
Present ? " checked=\"checked\"" : "",
(ICanChangeStdAttendance == Usr_CAN) ? "" :
" disabled=\"disabled\"");
" disabled=\"disabled\"");
HTM_TD_End ();
/***** Write number of student in the list *****/

View File

@ -633,10 +633,12 @@ 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.79.2 (2024-04-24)"
#define Log_PLATFORM_VERSION "SWAD 23.79.4 (2024-04-25)"
#define CSS_FILE "swad23.67.2.css"
#define JS_FILE "swad23.79.js"
/*
Version 23.79.4: Apr 25, 2024 Code refactoring in HTML related to checked field in forms. (335739 lines)
Version 23.79.3: Apr 24, 2024 Code refactoring in HTML related to disabled field in forms. (335766 lines)
Version 23.79.2: Apr 24, 2024 Code refactoring in HTML related to disabled field in forms. (335766 lines)
Version 23.79.1: Apr 24, 2024 Code refactoring in HTML related to required field in forms. (335751 lines)
Version 23.79: Apr 24, 2024 Code refactoring writing dates. (335741 lines)

View File

@ -1,62 +0,0 @@
// swad_constant.c: common constants used in several modules
/*
SWAD (Shared Workspace At a Distance),
is a web platform developed at the University of Granada (Spain),
and used to support university teaching.
This file is part of SWAD core.
Copyright (C) 1999-2024 Antonio Cañas Vargas
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*****************************************************************************/
/*********************************** Headers *********************************/
/*****************************************************************************/
#include "swad_constant.h"
/*****************************************************************************/
/***************************** Public constants ******************************/
/*****************************************************************************/
const char *Cns_DisabledTxt[Cns_NUM_DISABLED_ENABLED] =
{
[Cns_DISABLED] = " disabled=\"disabled\"",
[Cns_ENABLED ] = "",
};
/*****************************************************************************/
/**************************** Private constants ******************************/
/*****************************************************************************/
/*****************************************************************************/
/******************************* Private types *******************************/
/*****************************************************************************/
/*****************************************************************************/
/************** External global variables from others modules ****************/
/*****************************************************************************/
/*****************************************************************************/
/************************** Public global variables **************************/
/*****************************************************************************/
/*****************************************************************************/
/************************* Private global variables **************************/
/*****************************************************************************/
/*****************************************************************************/
/***************************** Private prototypes ****************************/
/*****************************************************************************/

View File

@ -102,6 +102,13 @@ typedef enum
Cns_VERBOSE,
} Cns_QuietOrVerbose_t;
#define Cns_NUM_UNCHECKED_CHECKED 2
typedef enum
{
Cns_UNCHECKED,
Cns_CHECKED,
} Cns_UncheckedOrChecked_t;
#define Cns_NUM_DISABLED_ENABLED 2
typedef enum
{

View File

@ -94,8 +94,8 @@ void Coo_EditMyPrefsOnCookies (void)
HTM_LABEL_Begin (NULL);
HTM_INPUT_CHECKBOX ("cookies",HTM_SUBMIT_ON_CHANGE,
"value=\"Y\"%s",
Gbl.Usrs.Me.UsrDat.Prefs.RefuseAcceptCookies == Coo_ACCEPT ? " checked=\"checked\"" :
"");
(Gbl.Usrs.Me.UsrDat.Prefs.RefuseAcceptCookies == Coo_ACCEPT) ? " checked=\"checked\"" :
"");
HTM_Txt (Txt_Accept_third_party_cookies_to_view_multimedia_content_from_other_websites);
HTM_LABEL_End ();

View File

@ -314,8 +314,8 @@ void Dat_PutBoxToSelectDateFormat (void)
HTM_INPUT_RADIO ("DateFormat",HTM_SUBMIT_ON_CLICK,
" value=\"%u\"%s",
(unsigned) Format,
Format == Gbl.Prefs.DateFormat ? " checked=\"checked\"" :
"");
(Format == Gbl.Prefs.DateFormat) ? " checked=\"checked\"" :
"");
Dat_PutSpanDateFormat (Format);
Dat_PutScriptDateFormat (Format);
HTM_LABEL_End ();
@ -989,7 +989,7 @@ void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear,
HTM_SubmitOnChange_t SubmitOnChange,
Cns_DisabledOrEnabled_t DisabledOrEnabled)
{
extern const char *Cns_DisabledTxt[Cns_NUM_DISABLED_ENABLED];
extern const char *HTM_DisabledTxt[Cns_NUM_DISABLED_ENABLED];
extern const char *Txt_MONTHS_SMALL[12];
char *FuncOnChange;
unsigned Year;
@ -1001,75 +1001,69 @@ void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear,
Err_NotEnoughMemoryExit ();
/***** Year *****/
// HTM_TD_Begin ("class=\"CM\"");
HTM_SELECT_Begin (SubmitOnChange,FuncOnChange,
"id=\"%sYear\" name=\"%sYear\""
" class=\"INPUT_%s\"%s",
Id,Id,The_GetSuffix (),
Cns_DisabledTxt[DisabledOrEnabled]);
HTM_OPTION (HTM_Type_STRING,"0",
HTM_OPTION_UNSELECTED,
HTM_SELECT_Begin (SubmitOnChange,FuncOnChange,
"id=\"%sYear\" name=\"%sYear\""
" class=\"INPUT_%s\"%s",
Id,Id,The_GetSuffix (),
HTM_DisabledTxt[DisabledOrEnabled]);
HTM_OPTION (HTM_Type_STRING,"0",
HTM_OPTION_UNSELECTED,
HTM_OPTION_ENABLED,
"-");
for (Year = FirstYear;
Year <= LastYear;
Year++)
HTM_OPTION (HTM_Type_UNSIGNED,&Year,
(Year == DateSelected->Year) ? HTM_OPTION_SELECTED :
HTM_OPTION_UNSELECTED,
HTM_OPTION_ENABLED,
"-");
for (Year = FirstYear;
Year <= LastYear;
Year++)
HTM_OPTION (HTM_Type_UNSIGNED,&Year,
Year == DateSelected->Year ? HTM_OPTION_SELECTED :
HTM_OPTION_UNSELECTED,
HTM_OPTION_ENABLED,
"%u",Year);
HTM_SELECT_End ();
// HTM_TD_End ();
"%u",Year);
HTM_SELECT_End ();
/***** Month *****/
// HTM_TD_Begin ("class=\"CM\"");
HTM_SELECT_Begin (SubmitOnChange,FuncOnChange,
"id=\"%sMonth\" name=\"%sMonth\""
" class=\"INPUT_%s\"%s",
Id,Id,The_GetSuffix (),
Cns_DisabledTxt[DisabledOrEnabled]);
HTM_OPTION (HTM_Type_STRING,"0",
HTM_OPTION_UNSELECTED,
HTM_SELECT_Begin (SubmitOnChange,FuncOnChange,
"id=\"%sMonth\" name=\"%sMonth\""
" class=\"INPUT_%s\"%s",
Id,Id,The_GetSuffix (),
HTM_DisabledTxt[DisabledOrEnabled]);
HTM_OPTION (HTM_Type_STRING,"0",
HTM_OPTION_UNSELECTED,
HTM_OPTION_ENABLED,
"-");
for (Month = 1;
Month <= 12;
Month++)
HTM_OPTION (HTM_Type_UNSIGNED,&Month,
(Month == DateSelected->Month) ? HTM_OPTION_SELECTED :
HTM_OPTION_UNSELECTED,
HTM_OPTION_ENABLED,
"-");
for (Month = 1;
Month <= 12;
Month++)
HTM_OPTION (HTM_Type_UNSIGNED,&Month,
Month == DateSelected->Month ? HTM_OPTION_SELECTED :
HTM_OPTION_UNSELECTED,
HTM_OPTION_ENABLED,
"%s",Txt_MONTHS_SMALL[Month - 1]);
HTM_SELECT_End ();
// HTM_TD_End ();
"%s",Txt_MONTHS_SMALL[Month - 1]);
HTM_SELECT_End ();
free (FuncOnChange);
/***** Day *****/
// HTM_TD_Begin ("class=\"CM\"");
HTM_SELECT_Begin (SubmitOnChange,NULL,
"id=\"%sDay\" name=\"%sDay\""
" class=\"INPUT_%s\"%s",
Id,Id,The_GetSuffix (),
Cns_DisabledTxt[DisabledOrEnabled]);
HTM_OPTION (HTM_Type_STRING,"0",
HTM_OPTION_UNSELECTED,
HTM_SELECT_Begin (SubmitOnChange,NULL,
"id=\"%sDay\" name=\"%sDay\""
" class=\"INPUT_%s\"%s",
Id,Id,The_GetSuffix (),
HTM_DisabledTxt[DisabledOrEnabled]);
HTM_OPTION (HTM_Type_STRING,"0",
HTM_OPTION_UNSELECTED,
HTM_OPTION_ENABLED,
"-");
NumDaysSelectedMonth = (DateSelected->Month == 0) ? 31 :
((DateSelected->Month == 2) ? Dat_GetNumDaysFebruary (DateSelected->Year) :
Dat_NumDaysMonth[DateSelected->Month]);
for (Day = 1;
Day <= NumDaysSelectedMonth;
Day++)
HTM_OPTION (HTM_Type_UNSIGNED,&Day,
(Day == DateSelected->Day) ? HTM_OPTION_SELECTED :
HTM_OPTION_UNSELECTED,
HTM_OPTION_ENABLED,
"-");
NumDaysSelectedMonth = (DateSelected->Month == 0) ? 31 :
((DateSelected->Month == 2) ? Dat_GetNumDaysFebruary (DateSelected->Year) :
Dat_NumDaysMonth[DateSelected->Month]);
for (Day = 1;
Day <= NumDaysSelectedMonth;
Day++)
HTM_OPTION (HTM_Type_UNSIGNED,&Day,
Day == DateSelected->Day ? HTM_OPTION_SELECTED :
HTM_OPTION_UNSELECTED,
HTM_OPTION_ENABLED,
"%u",Day);
HTM_SELECT_End ();
// HTM_TD_End ();
"%u",Day);
HTM_SELECT_End ();
}
/*****************************************************************************/

View File

@ -113,19 +113,19 @@ static void Enr_PutActionsRegRemSeveralUsrs (void);
static void Enr_ReceiveUsrsCrs (Rol_Role_t Role);
static void Enr_PutActionModifyOneUsr (bool *OptionChecked,
static void Enr_PutActionModifyOneUsr (Cns_UncheckedOrChecked_t *UncheckedOrChecked,
Usr_Belong_t UsrBelongsToCrs,Usr_MeOrOther_t MeOrOther);
static void Enr_PutActionRegOneDegAdm (bool *OptionChecked);
static void Enr_PutActionRegOneCtrAdm (bool *OptionChecked);
static void Enr_PutActionRegOneInsAdm (bool *OptionChecked);
static void Enr_PutActionRepUsrAsDup (bool *OptionChecked);
static void Enr_PutActionRemUsrFromCrs (bool *OptionChecked,Usr_MeOrOther_t MeOrOther);
static void Enr_PutActionRemUsrAsDegAdm (bool *OptionChecked,Usr_MeOrOther_t MeOrOther);
static void Enr_PutActionRemUsrAsCtrAdm (bool *OptionChecked,Usr_MeOrOther_t MeOrOther);
static void Enr_PutActionRemUsrAsInsAdm (bool *OptionChecked,Usr_MeOrOther_t MeOrOther);
static void Enr_PutActionRemUsrAcc (bool *OptionChecked,Usr_MeOrOther_t MeOrOther);
static void Enr_PutActionRegOneDegAdm (Cns_UncheckedOrChecked_t *UncheckedOrChecked);
static void Enr_PutActionRegOneCtrAdm (Cns_UncheckedOrChecked_t *UncheckedOrChecked);
static void Enr_PutActionRegOneInsAdm (Cns_UncheckedOrChecked_t *UncheckedOrChecked);
static void Enr_PutActionRepUsrAsDup (Cns_UncheckedOrChecked_t *UncheckedOrChecked);
static void Enr_PutActionRemUsrFromCrs (Cns_UncheckedOrChecked_t *UncheckedOrChecked,Usr_MeOrOther_t MeOrOther);
static void Enr_PutActionRemUsrAsDegAdm (Cns_UncheckedOrChecked_t *UncheckedOrChecked,Usr_MeOrOther_t MeOrOther);
static void Enr_PutActionRemUsrAsCtrAdm (Cns_UncheckedOrChecked_t *UncheckedOrChecked,Usr_MeOrOther_t MeOrOther);
static void Enr_PutActionRemUsrAsInsAdm (Cns_UncheckedOrChecked_t *UncheckedOrChecked,Usr_MeOrOther_t MeOrOther);
static void Enr_PutActionRemUsrAcc (Cns_UncheckedOrChecked_t *UncheckedOrChecked,Usr_MeOrOther_t MeOrOther);
static void Enr_RegRemOneUsrActionBegin (Enr_RegRemOneUsrAction_t RegRemOneUsrAction,
bool *OptionChecked);
Cns_UncheckedOrChecked_t *UncheckedOrChecked);
static void Enr_RegRemOneUsrActionEnd (void);
static void Enr_RegisterUsr (struct Usr_Data *UsrDat,Rol_Role_t RegRemRole,
@ -1319,7 +1319,7 @@ bool Enr_PutActionsRegRemOneUsr (Usr_MeOrOther_t MeOrOther)
bool UsrIsDegAdmin = false;
bool UsrIsCtrAdmin = false;
bool UsrIsInsAdmin = false;
bool OptionChecked = false;
Cns_UncheckedOrChecked_t UncheckedOrChecked = Cns_UNCHECKED;
/***** Check if the other user belongs to the current course *****/
if (Gbl.Hierarchy.Level == Hie_CRS)
@ -1350,7 +1350,7 @@ bool Enr_PutActionsRegRemOneUsr (Usr_MeOrOther_t MeOrOther)
/***** Register user in course / Modify user's data *****/
if (Gbl.Hierarchy.Level == Hie_CRS && Gbl.Usrs.Me.Role.Logged >= Rol_STD)
{
Enr_PutActionModifyOneUsr (&OptionChecked,UsrBelongsToCrs,MeOrOther);
Enr_PutActionModifyOneUsr (&UncheckedOrChecked,UsrBelongsToCrs,MeOrOther);
OptionsShown = true;
}
@ -1362,14 +1362,14 @@ bool Enr_PutActionsRegRemOneUsr (Usr_MeOrOther_t MeOrOther)
/***** Register user as administrator of degree *****/
if (!UsrIsDegAdmin && Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM)
{
Enr_PutActionRegOneDegAdm (&OptionChecked);
Enr_PutActionRegOneDegAdm (&UncheckedOrChecked);
OptionsShown = true;
}
/***** Register user as administrator of center *****/
if (!UsrIsCtrAdmin && Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM)
{
Enr_PutActionRegOneCtrAdm (&OptionChecked);
Enr_PutActionRegOneCtrAdm (&UncheckedOrChecked);
OptionsShown = true;
}
}
@ -1377,7 +1377,7 @@ bool Enr_PutActionsRegRemOneUsr (Usr_MeOrOther_t MeOrOther)
/***** Register user as administrator of institution *****/
if (!UsrIsInsAdmin && Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
{
Enr_PutActionRegOneInsAdm (&OptionChecked);
Enr_PutActionRegOneInsAdm (&UncheckedOrChecked);
OptionsShown = true;
}
}
@ -1385,14 +1385,14 @@ bool Enr_PutActionsRegRemOneUsr (Usr_MeOrOther_t MeOrOther)
/***** Report user as possible duplicate *****/
if (MeOrOther == Usr_OTHER && Gbl.Usrs.Me.Role.Logged >= Rol_TCH)
{
Enr_PutActionRepUsrAsDup (&OptionChecked);
Enr_PutActionRepUsrAsDup (&UncheckedOrChecked);
OptionsShown = true;
}
/***** Remove user from the course *****/
if (UsrBelongsToCrs == Usr_BELONG)
{
Enr_PutActionRemUsrFromCrs (&OptionChecked,MeOrOther);
Enr_PutActionRemUsrFromCrs (&UncheckedOrChecked,MeOrOther);
OptionsShown = true;
}
@ -1405,7 +1405,7 @@ bool Enr_PutActionsRegRemOneUsr (Usr_MeOrOther_t MeOrOther)
if (UsrIsDegAdmin &&
(MeOrOther == Usr_ME || Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM))
{
Enr_PutActionRemUsrAsDegAdm (&OptionChecked,MeOrOther);
Enr_PutActionRemUsrAsDegAdm (&UncheckedOrChecked,MeOrOther);
OptionsShown = true;
}
@ -1413,7 +1413,7 @@ bool Enr_PutActionsRegRemOneUsr (Usr_MeOrOther_t MeOrOther)
if (UsrIsCtrAdmin &&
(MeOrOther == Usr_ME || Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM))
{
Enr_PutActionRemUsrAsCtrAdm (&OptionChecked,MeOrOther);
Enr_PutActionRemUsrAsCtrAdm (&UncheckedOrChecked,MeOrOther);
OptionsShown = true;
}
}
@ -1422,7 +1422,7 @@ bool Enr_PutActionsRegRemOneUsr (Usr_MeOrOther_t MeOrOther)
if (UsrIsInsAdmin &&
(MeOrOther == Usr_ME || Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM))
{
Enr_PutActionRemUsrAsInsAdm (&OptionChecked,MeOrOther);
Enr_PutActionRemUsrAsInsAdm (&UncheckedOrChecked,MeOrOther);
OptionsShown = true;
}
}
@ -1430,7 +1430,7 @@ bool Enr_PutActionsRegRemOneUsr (Usr_MeOrOther_t MeOrOther)
/***** Eliminate user completely from platform *****/
if (Acc_CheckIfICanEliminateAccount (Gbl.Usrs.Other.UsrDat.UsrCod) == Usr_CAN)
{
Enr_PutActionRemUsrAcc (&OptionChecked,MeOrOther);
Enr_PutActionRemUsrAcc (&UncheckedOrChecked,MeOrOther);
OptionsShown = true;
}
@ -1444,7 +1444,7 @@ bool Enr_PutActionsRegRemOneUsr (Usr_MeOrOther_t MeOrOther)
/**************** Put action to modify user in current course ****************/
/*****************************************************************************/
static void Enr_PutActionModifyOneUsr (bool *OptionChecked,
static void Enr_PutActionModifyOneUsr (Cns_UncheckedOrChecked_t *UncheckedOrChecked,
Usr_Belong_t UsrBelongsToCrs,Usr_MeOrOther_t MeOrOther)
{
extern const char *Txt_Register_me_in_X;
@ -1459,7 +1459,7 @@ static void Enr_PutActionModifyOneUsr (bool *OptionChecked,
[Usr_BELONG ][Usr_OTHER] = Txt_Modify_user_in_the_course_X,
};
Enr_RegRemOneUsrActionBegin (Enr_REGISTER_MODIFY_ONE_USR_IN_CRS,OptionChecked);
Enr_RegRemOneUsrActionBegin (Enr_REGISTER_MODIFY_ONE_USR_IN_CRS,UncheckedOrChecked);
HTM_TxtF (Txt[UsrBelongsToCrs][MeOrOther],
Gbl.Hierarchy.Node[Hie_CRS].ShrtName);
Enr_RegRemOneUsrActionEnd ();
@ -1469,11 +1469,11 @@ static void Enr_PutActionModifyOneUsr (bool *OptionChecked,
/**************** Put action to register user as degree admin ****************/
/*****************************************************************************/
static void Enr_PutActionRegOneDegAdm (bool *OptionChecked)
static void Enr_PutActionRegOneDegAdm (Cns_UncheckedOrChecked_t *UncheckedOrChecked)
{
extern const char *Txt_Register_USER_as_an_administrator_of_the_degree_X;
Enr_RegRemOneUsrActionBegin (Enr_REGISTER_ONE_DEG_ADMIN,OptionChecked);
Enr_RegRemOneUsrActionBegin (Enr_REGISTER_ONE_DEG_ADMIN,UncheckedOrChecked);
HTM_TxtF (Txt_Register_USER_as_an_administrator_of_the_degree_X,
Gbl.Hierarchy.Node[Hie_DEG].ShrtName);
Enr_RegRemOneUsrActionEnd ();
@ -1483,11 +1483,11 @@ static void Enr_PutActionRegOneDegAdm (bool *OptionChecked)
/**************** Put action to register user as center admin ****************/
/*****************************************************************************/
static void Enr_PutActionRegOneCtrAdm (bool *OptionChecked)
static void Enr_PutActionRegOneCtrAdm (Cns_UncheckedOrChecked_t *UncheckedOrChecked)
{
extern const char *Txt_Register_USER_as_an_administrator_of_the_center_X;
Enr_RegRemOneUsrActionBegin (Enr_REGISTER_ONE_CTR_ADMIN,OptionChecked);
Enr_RegRemOneUsrActionBegin (Enr_REGISTER_ONE_CTR_ADMIN,UncheckedOrChecked);
HTM_TxtF (Txt_Register_USER_as_an_administrator_of_the_center_X,
Gbl.Hierarchy.Node[Hie_CTR].ShrtName);
Enr_RegRemOneUsrActionEnd ();
@ -1497,11 +1497,11 @@ static void Enr_PutActionRegOneCtrAdm (bool *OptionChecked)
/************* Put action to register user as institution admin **************/
/*****************************************************************************/
static void Enr_PutActionRegOneInsAdm (bool *OptionChecked)
static void Enr_PutActionRegOneInsAdm (Cns_UncheckedOrChecked_t *UncheckedOrChecked)
{
extern const char *Txt_Register_USER_as_an_administrator_of_the_institution_X;
Enr_RegRemOneUsrActionBegin (Enr_REGISTER_ONE_INS_ADMIN,OptionChecked);
Enr_RegRemOneUsrActionBegin (Enr_REGISTER_ONE_INS_ADMIN,UncheckedOrChecked);
HTM_TxtF (Txt_Register_USER_as_an_administrator_of_the_institution_X,
Gbl.Hierarchy.Node[Hie_INS].ShrtName);
Enr_RegRemOneUsrActionEnd ();
@ -1511,11 +1511,11 @@ static void Enr_PutActionRegOneInsAdm (bool *OptionChecked)
/****************** Put action to report user as duplicate *******************/
/*****************************************************************************/
static void Enr_PutActionRepUsrAsDup (bool *OptionChecked)
static void Enr_PutActionRepUsrAsDup (Cns_UncheckedOrChecked_t *UncheckedOrChecked)
{
extern const char *Txt_Report_possible_duplicate_user;
Enr_RegRemOneUsrActionBegin (Enr_REPORT_USR_AS_POSSIBLE_DUPLICATE,OptionChecked);
Enr_RegRemOneUsrActionBegin (Enr_REPORT_USR_AS_POSSIBLE_DUPLICATE,UncheckedOrChecked);
HTM_Txt (Txt_Report_possible_duplicate_user);
Enr_RegRemOneUsrActionEnd ();
}
@ -1524,7 +1524,7 @@ static void Enr_PutActionRepUsrAsDup (bool *OptionChecked)
/****************** Put action to remove user from course ********************/
/*****************************************************************************/
static void Enr_PutActionRemUsrFromCrs (bool *OptionChecked,Usr_MeOrOther_t MeOrOther)
static void Enr_PutActionRemUsrFromCrs (Cns_UncheckedOrChecked_t *UncheckedOrChecked,Usr_MeOrOther_t MeOrOther)
{
extern const char *Txt_Remove_me_from_THE_COURSE_X;
extern const char *Txt_Remove_USER_from_THE_COURSE_X;
@ -1534,7 +1534,7 @@ static void Enr_PutActionRemUsrFromCrs (bool *OptionChecked,Usr_MeOrOther_t MeOr
[Usr_OTHER] = Txt_Remove_USER_from_THE_COURSE_X,
};
Enr_RegRemOneUsrActionBegin (Enr_REMOVE_ONE_USR_FROM_CRS,OptionChecked);
Enr_RegRemOneUsrActionBegin (Enr_REMOVE_ONE_USR_FROM_CRS,UncheckedOrChecked);
HTM_TxtF (Txt[MeOrOther],Gbl.Hierarchy.Node[Hie_CRS].ShrtName);
Enr_RegRemOneUsrActionEnd ();
}
@ -1543,7 +1543,7 @@ static void Enr_PutActionRemUsrFromCrs (bool *OptionChecked,Usr_MeOrOther_t MeOr
/***************** Put action to remove user as degree admin *****************/
/*****************************************************************************/
static void Enr_PutActionRemUsrAsDegAdm (bool *OptionChecked,Usr_MeOrOther_t MeOrOther)
static void Enr_PutActionRemUsrAsDegAdm (Cns_UncheckedOrChecked_t *UncheckedOrChecked,Usr_MeOrOther_t MeOrOther)
{
extern const char *Txt_Remove_me_as_an_administrator_of_the_degree_X;
extern const char *Txt_Remove_USER_as_an_administrator_of_the_degree_X;
@ -1553,7 +1553,7 @@ static void Enr_PutActionRemUsrAsDegAdm (bool *OptionChecked,Usr_MeOrOther_t MeO
[Usr_OTHER] = Txt_Remove_USER_as_an_administrator_of_the_degree_X,
};
Enr_RegRemOneUsrActionBegin (Enr_REMOVE_ONE_DEG_ADMIN,OptionChecked);
Enr_RegRemOneUsrActionBegin (Enr_REMOVE_ONE_DEG_ADMIN,UncheckedOrChecked);
HTM_TxtF (Txt[MeOrOther],Gbl.Hierarchy.Node[Hie_DEG].ShrtName);
Enr_RegRemOneUsrActionEnd ();
}
@ -1562,7 +1562,7 @@ static void Enr_PutActionRemUsrAsDegAdm (bool *OptionChecked,Usr_MeOrOther_t MeO
/***************** Put action to remove user as center admin *****************/
/*****************************************************************************/
static void Enr_PutActionRemUsrAsCtrAdm (bool *OptionChecked,Usr_MeOrOther_t MeOrOther)
static void Enr_PutActionRemUsrAsCtrAdm (Cns_UncheckedOrChecked_t *UncheckedOrChecked,Usr_MeOrOther_t MeOrOther)
{
extern const char *Txt_Remove_me_as_an_administrator_of_the_center_X;
extern const char *Txt_Remove_USER_as_an_administrator_of_the_center_X;
@ -1572,7 +1572,7 @@ static void Enr_PutActionRemUsrAsCtrAdm (bool *OptionChecked,Usr_MeOrOther_t MeO
[Usr_OTHER] = Txt_Remove_USER_as_an_administrator_of_the_center_X,
};
Enr_RegRemOneUsrActionBegin (Enr_REMOVE_ONE_CTR_ADMIN,OptionChecked);
Enr_RegRemOneUsrActionBegin (Enr_REMOVE_ONE_CTR_ADMIN,UncheckedOrChecked);
HTM_TxtF (Txt[MeOrOther],Gbl.Hierarchy.Node[Hie_CTR].ShrtName);
Enr_RegRemOneUsrActionEnd ();
}
@ -1581,7 +1581,7 @@ static void Enr_PutActionRemUsrAsCtrAdm (bool *OptionChecked,Usr_MeOrOther_t MeO
/************** Put action to remove user as institution admin ***************/
/*****************************************************************************/
static void Enr_PutActionRemUsrAsInsAdm (bool *OptionChecked,Usr_MeOrOther_t MeOrOther)
static void Enr_PutActionRemUsrAsInsAdm (Cns_UncheckedOrChecked_t *UncheckedOrChecked,Usr_MeOrOther_t MeOrOther)
{
extern const char *Txt_Remove_me_as_an_administrator_of_the_institution_X;
extern const char *Txt_Remove_USER_as_an_administrator_of_the_institution_X;
@ -1591,7 +1591,7 @@ static void Enr_PutActionRemUsrAsInsAdm (bool *OptionChecked,Usr_MeOrOther_t MeO
[Usr_OTHER] = Txt_Remove_USER_as_an_administrator_of_the_institution_X,
};
Enr_RegRemOneUsrActionBegin (Enr_REMOVE_ONE_INS_ADMIN,OptionChecked);
Enr_RegRemOneUsrActionBegin (Enr_REMOVE_ONE_INS_ADMIN,UncheckedOrChecked);
HTM_TxtF (Txt[MeOrOther],Gbl.Hierarchy.Node[Hie_INS].ShrtName);
Enr_RegRemOneUsrActionEnd ();
}
@ -1600,7 +1600,7 @@ static void Enr_PutActionRemUsrAsInsAdm (bool *OptionChecked,Usr_MeOrOther_t MeO
/********************* Put action to remove user account *********************/
/*****************************************************************************/
static void Enr_PutActionRemUsrAcc (bool *OptionChecked,Usr_MeOrOther_t MeOrOther)
static void Enr_PutActionRemUsrAcc (Cns_UncheckedOrChecked_t *UncheckedOrChecked,Usr_MeOrOther_t MeOrOther)
{
extern const char *Txt_Eliminate_my_user_account;
extern const char *Txt_Eliminate_user_account;
@ -1610,7 +1610,7 @@ static void Enr_PutActionRemUsrAcc (bool *OptionChecked,Usr_MeOrOther_t MeOrOthe
[Usr_OTHER] = Txt_Eliminate_user_account,
};
Enr_RegRemOneUsrActionBegin (Enr_ELIMINATE_ONE_USR_FROM_PLATFORM,OptionChecked);
Enr_RegRemOneUsrActionBegin (Enr_ELIMINATE_ONE_USR_FROM_PLATFORM,UncheckedOrChecked);
HTM_Txt (Txt[MeOrOther]);
Enr_RegRemOneUsrActionEnd ();
}
@ -1620,17 +1620,20 @@ static void Enr_PutActionRemUsrAcc (bool *OptionChecked,Usr_MeOrOther_t MeOrOthe
/*****************************************************************************/
static void Enr_RegRemOneUsrActionBegin (Enr_RegRemOneUsrAction_t RegRemOneUsrAction,
bool *OptionChecked)
Cns_UncheckedOrChecked_t *UncheckedOrChecked)
{
extern const char *HTM_CheckedTxt[Cns_NUM_UNCHECKED_CHECKED];
Cns_UncheckedOrChecked_t ThisUncheckedOrChecked = (*UncheckedOrChecked == Cns_CHECKED) ? Cns_UNCHECKED :
Cns_CHECKED;
HTM_LI_Begin (NULL);
HTM_LABEL_Begin (NULL);
HTM_INPUT_RADIO ("RegRemAction",HTM_DONT_SUBMIT_ON_CLICK,
"value=\"%u\"%s",
(unsigned) RegRemOneUsrAction,
*OptionChecked ? "" : " checked=\"checked\"");
HTM_CheckedTxt[ThisUncheckedOrChecked]);
if (!*OptionChecked)
*OptionChecked = true;
*UncheckedOrChecked = Cns_CHECKED;
}
static void Enr_RegRemOneUsrActionEnd (void)

View File

@ -50,17 +50,17 @@ typedef enum
#define Enr_REG_REM_ONE_USR_NUM_ACTIONS 11
typedef enum
{
Enr_REG_REM_ONE_USR_UNKNOWN_ACTION = 0,
Enr_REGISTER_MODIFY_ONE_USR_IN_CRS = 1,
Enr_REGISTER_ONE_DEG_ADMIN = 2,
Enr_REGISTER_ONE_CTR_ADMIN = 3,
Enr_REGISTER_ONE_INS_ADMIN = 4,
Enr_REPORT_USR_AS_POSSIBLE_DUPLICATE = 5,
Enr_REMOVE_ONE_USR_FROM_CRS = 6,
Enr_REMOVE_ONE_DEG_ADMIN = 7,
Enr_REMOVE_ONE_CTR_ADMIN = 8,
Enr_REMOVE_ONE_INS_ADMIN = 9,
Enr_ELIMINATE_ONE_USR_FROM_PLATFORM = 10,
Enr_REG_REM_ONE_USR_UNKNOWN_ACTION = 0,
Enr_REGISTER_MODIFY_ONE_USR_IN_CRS = 1,
Enr_REGISTER_ONE_DEG_ADMIN = 2,
Enr_REGISTER_ONE_CTR_ADMIN = 3,
Enr_REGISTER_ONE_INS_ADMIN = 4,
Enr_REPORT_USR_AS_POSSIBLE_DUPLICATE = 5,
Enr_REMOVE_ONE_USR_FROM_CRS = 6,
Enr_REMOVE_ONE_DEG_ADMIN = 7,
Enr_REMOVE_ONE_CTR_ADMIN = 8,
Enr_REMOVE_ONE_INS_ADMIN = 9,
Enr_ELIMINATE_ONE_USR_FROM_PLATFORM = 10,
} Enr_RegRemOneUsrAction_t;
typedef enum

View File

@ -2121,13 +2121,14 @@ static void Grp_ListGrpsToAddOrRemUsrs (struct GroupType *GrpTyp,long UsrCod)
static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp)
{
extern const char *HTM_CheckedTxt[Cns_NUM_UNCHECKED_CHECKED];
extern const char *Txt_users_with_no_group;
unsigned NumGrpThisType;
unsigned NumGrpSel;
struct ListCodGrps LstGrpsIBelong;
bool IBelongToThisGroup;
Usr_Can_t ICanSelUnselGroup;
bool Checked;
Cns_UncheckedOrChecked_t UncheckedOrChecked;
struct Group *Grp;
Rol_Role_t Role;
@ -2174,14 +2175,14 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp)
/* This group should be checked? */
if (Gbl.Crs.Grps.AllGrps)
Checked = true;
UncheckedOrChecked = Cns_CHECKED;
else
for (NumGrpSel = 0, Checked = false;
for (NumGrpSel = 0, UncheckedOrChecked = Cns_UNCHECKED;
NumGrpSel < Gbl.Crs.Grps.LstGrpsSel.NumGrps;
NumGrpSel++)
if (Gbl.Crs.Grps.LstGrpsSel.GrpCods[NumGrpSel] == Grp->GrpCod)
{
Checked = true;
UncheckedOrChecked = Cns_CHECKED;
break;
}
@ -2193,8 +2194,7 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp)
HTM_INPUT_CHECKBOX ("GrpCods",HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Grp%ld\" value=\"%ld\"%s%s",
Grp->GrpCod,Grp->GrpCod,
Checked ? " checked=\"checked\"" :
"",
HTM_CheckedTxt[UncheckedOrChecked],
ICanSelUnselGroup == Usr_CAN ? " onclick=\"checkParent(this,'AllGroups')\"" :
" disabled=\"disabled\"");
HTM_TD_End ();
@ -2217,20 +2217,20 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp)
{
case Usr_CAN:
if (Gbl.Crs.Grps.AllGrps)
Checked = true;
UncheckedOrChecked = Cns_CHECKED;
else
for (NumGrpSel = 0, Checked = false;
for (NumGrpSel = 0, UncheckedOrChecked = Cns_UNCHECKED;
NumGrpSel < Gbl.Crs.Grps.LstGrpsSel.NumGrps;
NumGrpSel++)
if (Gbl.Crs.Grps.LstGrpsSel.GrpCods[NumGrpSel] == -(GrpTyp->GrpTypCod))
{
Checked = true;
UncheckedOrChecked = Cns_CHECKED;
break;
}
break;
case Usr_CAN_NOT:
default:
Checked = false;
UncheckedOrChecked = Cns_UNCHECKED;
break;
}
@ -2241,9 +2241,8 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp)
"id=\"Grp%ld\" value=\"%ld\"%s"
" onclick=\"checkParent(this,'AllGroups')\"",
-GrpTyp->GrpTypCod,-GrpTyp->GrpTypCod,
ICanSelUnselGroup == Usr_CAN ? (Checked ? " checked=\"checked\"" :
"") :
" disabled=\"disabled\"");
ICanSelUnselGroup == Usr_CAN ? HTM_CheckedTxt[UncheckedOrChecked] :
" disabled=\"disabled\"");
HTM_TD_End ();
/* Column closed/open */

View File

@ -1266,11 +1266,17 @@ void Lay_PutContextualLinkIconText (Act_Action_t NextAction,const char *Anchor,
void Lay_PutContextualCheckbox (Act_Action_t NextAction,
void (*FuncPars) (void *Args),void *Args,
const char *CheckboxName,
bool Checked,
Cns_UncheckedOrChecked_t UncheckedOrChecked,
Cns_DisabledOrEnabled_t DisabledOrEnabled,
const char *Title,const char *Text)
{
extern const char *Cns_DisabledTxt[Cns_NUM_DISABLED_ENABLED];
extern const char *HTM_CheckedTxt[Cns_NUM_UNCHECKED_CHECKED];
extern const char *HTM_DisabledTxt[Cns_NUM_DISABLED_ENABLED];
static const char *Class[Cns_NUM_UNCHECKED_CHECKED] =
{
[Cns_UNCHECKED] = "CHECKBOX_UNCHECKED",
[Cns_CHECKED ] = "CHECKBOX_CHECKED",
};
/***** Separator *****/
if (Text)
@ -1284,10 +1290,7 @@ void Lay_PutContextualCheckbox (Act_Action_t NextAction,
/***** Begin container *****/
HTM_DIV_Begin ("class=\"CONTEXT_OPT %s FORM_OUT_%s BOLD\" title=\"%s\"",
Checked ? "CHECKBOX_CHECKED" :
"CHECKBOX_UNCHECKED",
The_GetSuffix (),
Title);
Class[UncheckedOrChecked],The_GetSuffix (),Title);
/***** Begin label *****/
HTM_LABEL_Begin (NULL);
@ -1295,9 +1298,8 @@ void Lay_PutContextualCheckbox (Act_Action_t NextAction,
/****** Checkbox *****/
HTM_INPUT_CHECKBOX (CheckboxName,HTM_SUBMIT_ON_CHANGE,
"value=\"Y\"%s%s",
Checked ? " checked=\"checked\"" :
"",
Cns_DisabledTxt[DisabledOrEnabled]);
HTM_CheckedTxt[UncheckedOrChecked],
HTM_DisabledTxt[DisabledOrEnabled]);
/***** Text *****/
if (Text)

View File

@ -81,7 +81,7 @@ void Lay_PutContextualLinkIconText (Act_Action_t NextAction,const char *Anchor,
void Lay_PutContextualCheckbox (Act_Action_t NextAction,
void (*FuncPars) (void *Args),void *Args,
const char *CheckboxName,
bool Checked,
Cns_UncheckedOrChecked_t UncheckedOrChecked,
Cns_DisabledOrEnabled_t DisabledOrEnabled,
const char *Title,const char *Text);

View File

@ -210,11 +210,12 @@ void Qst_ShowFormRequestEditQsts (struct Qst_Questions *Questions)
void Qst_ShowFormAnswerTypes (const struct Qst_AnswerTypes *AnswerTypes)
{
extern const char *HTM_CheckedTxt[Cns_NUM_UNCHECKED_CHECKED];
extern const char *Txt_Types_of_answers;
extern const char *Txt_All_types_of_answers;
extern const char *Txt_TST_STR_ANSWER_TYPES[Qst_NUM_ANS_TYPES];
Qst_AnswerType_t AnsType;
bool Checked;
Cns_UncheckedOrChecked_t UncheckedOrChecked;
char UnsignedStr[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
const char *Ptr;
@ -249,14 +250,14 @@ void Qst_ShowFormAnswerTypes (const struct Qst_AnswerTypes *AnswerTypes)
{
HTM_TR_Begin (NULL);
Checked = false;
UncheckedOrChecked = Cns_UNCHECKED;
Ptr = AnswerTypes->List;
while (*Ptr)
{
Par_GetNextStrUntilSeparParMult (&Ptr,UnsignedStr,Cns_MAX_DECIMAL_DIGITS_UINT);
if (Qst_ConvertFromUnsignedStrToAnsTyp (UnsignedStr) == AnsType)
{
Checked = true;
UncheckedOrChecked = Cns_CHECKED;
break;
}
}
@ -266,8 +267,7 @@ void Qst_ShowFormAnswerTypes (const struct Qst_AnswerTypes *AnswerTypes)
"value=\"%u\"%s"
" onclick=\"checkParent(this,'AllAnsTypes');\"",
(unsigned) AnsType,
Checked ? " checked=\"checked\"" :
"");
HTM_CheckedTxt[UncheckedOrChecked]);
HTM_NBSPTxt (Txt_TST_STR_ANSWER_TYPES[AnsType]);
HTM_LABEL_End ();
HTM_TD_End ();

View File

@ -199,8 +199,11 @@ void Rsc_ShowClipboardToChangeLink (const struct Rsc_Link *CurrentLink)
/*****************************************************************************/
void Rsc_WriteRowClipboard (const struct Rsc_Link *Link,
HTM_SubmitOnClick_t SubmitOnClick,bool Checked)
HTM_SubmitOnClick_t SubmitOnClick,
Cns_UncheckedOrChecked_t UncheckedOrChecked)
{
extern const char *HTM_CheckedTxt[Cns_NUM_UNCHECKED_CHECKED];
/***** Begin list row *****/
HTM_LI_Begin ("class=\"PRG_RSC_%s\"",The_GetSuffix ());
HTM_LABEL_Begin (NULL);
@ -209,8 +212,7 @@ void Rsc_WriteRowClipboard (const struct Rsc_Link *Link,
HTM_INPUT_RADIO ("Link",SubmitOnClick,
"value=\"%s_%ld\"%s",
Rsc_ResourceTypesDB[Link->Type],Link->Cod,
Checked ? " checked=\"checked\"" :
"");
HTM_CheckedTxt[UncheckedOrChecked]);
/***** Name *****/
Rsc_WriteLinkName (Link,Frm_DONT_PUT_FORM);

View File

@ -78,7 +78,8 @@ struct Rsc_Link
void Rsc_ShowClipboard (void);
void Rsc_ShowClipboardToChangeLink (const struct Rsc_Link *CurrentLink);
void Rsc_WriteRowClipboard (const struct Rsc_Link *Link,
HTM_SubmitOnClick_t SubmitOnClick,bool Checked);
HTM_SubmitOnClick_t SubmitOnClick,
Cns_UncheckedOrChecked_t UncheckedOrChecked);
void Rsc_WriteLinkName (const struct Rsc_Link *Link,Frm_PutForm_t PutFormToGo);
void Rsc_GetResourceTitleFromLink (const struct Rsc_Link *Link,

View File

@ -515,7 +515,7 @@ void Rol_WriteSelectorRoles (unsigned RolesAllowed,unsigned RolesSelected,
Cns_DisabledOrEnabled_t DisabledOrEnabled,
HTM_SubmitOnChange_t SubmitOnChange)
{
extern const char *Cns_DisabledTxt[Cns_NUM_DISABLED_ENABLED];
extern const char *HTM_DisabledTxt[Cns_NUM_DISABLED_ENABLED];
extern const char *Txt_ROLES_PLURAL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
Rol_Role_t Role;
@ -531,7 +531,7 @@ void Rol_WriteSelectorRoles (unsigned RolesAllowed,unsigned RolesSelected,
The_GetSuffix (),
(RolesSelected & (1 << Role)) ? " checked=\"checked\"" :
"",
Cns_DisabledTxt[DisabledOrEnabled]);
HTM_DisabledTxt[DisabledOrEnabled]);
HTM_Txt (Txt_ROLES_PLURAL_abc[Role][Usr_SEX_UNKNOWN]);
HTM_LABEL_End ();
HTM_BR ();

View File

@ -276,6 +276,7 @@ void Tag_ShowFormSelTags (const struct Tag_Tags *Tags,
MYSQL_RES *mysql_res,
bool ShowOnlyEnabledTags)
{
extern const char *HTM_CheckedTxt[Cns_NUM_UNCHECKED_CHECKED];
extern const char *Txt_Tags;
extern const char *Txt_All_tags;
extern const char *Txt_Tag_not_allowed;
@ -283,7 +284,7 @@ void Tag_ShowFormSelTags (const struct Tag_Tags *Tags,
unsigned NumTag;
MYSQL_ROW row;
bool TagHidden = false;
bool Checked;
Cns_UncheckedOrChecked_t UncheckedOrChecked;
const char *Ptr;
char TagText[Tag_MAX_BYTES_TAG + 1];
/*
@ -338,7 +339,7 @@ void Tag_ShowFormSelTags (const struct Tag_Tags *Tags,
HTM_TD_End ();
}
Checked = false;
UncheckedOrChecked = Cns_UNCHECKED;
if (Tags->List)
{
Ptr = Tags->List;
@ -347,7 +348,7 @@ void Tag_ShowFormSelTags (const struct Tag_Tags *Tags,
Par_GetNextStrUntilSeparParMult (&Ptr,TagText,Tag_MAX_BYTES_TAG);
if (!strcmp (row[1],TagText))
{
Checked = true;
UncheckedOrChecked = Cns_CHECKED;
break;
}
}
@ -359,8 +360,7 @@ void Tag_ShowFormSelTags (const struct Tag_Tags *Tags,
HTM_INPUT_CHECKBOX ("ChkTag",HTM_DONT_SUBMIT_ON_CHANGE,
"value=\"%s\"%s onclick=\"checkParent(this,'AllTags');\"",
row[1],
Checked ? " checked=\"checked\"" :
"");
HTM_CheckedTxt[UncheckedOrChecked]);
HTM_NBSPTxt (row[1]);
HTM_LABEL_End ();
HTM_TD_End ();