Version 23.79.2: Apr 24, 2024 Code refactoring in HTML related to disabled field in forms.

This commit is contained in:
acanas 2024-04-24 18:34:36 +02:00
parent a58aa9cd19
commit 2b4c87e572
12 changed files with 57 additions and 40 deletions

View File

@ -1372,7 +1372,8 @@ void HTM_INPUT_PASSWORD (const char *Name,const char *PlaceHolder,
}
void HTM_INPUT_LONG (const char *Name,long Min,long Max,long Value,
HTM_SubmitOnChange_t SubmitOnChange,bool Disabled,
HTM_SubmitOnChange_t SubmitOnChange,
Cns_DisabledOrEnabled_t DisabledOrEnabled,
const char *fmt,...)
{
va_list ap;
@ -1381,7 +1382,7 @@ void HTM_INPUT_LONG (const char *Name,long Min,long Max,long Value,
HTM_TxtF ("<input type=\"number\" name=\"%s\" min=\"%ld\" max=\"%ld\" value=\"%ld\"",
Name,Min,Max,Value);
if (Disabled)
if (DisabledOrEnabled == Cns_DISABLED)
HTM_Txt (" disabled=\"disabled\"");
if (fmt)
@ -1410,7 +1411,8 @@ void HTM_INPUT_LONG (const char *Name,long Min,long Max,long Value,
void HTM_INPUT_FLOAT (const char *Name,double Min,double Max,
double Step, // Use 0 for "any"
double Value,
HTM_SubmitOnChange_t SubmitOnChange,bool Disabled,
HTM_SubmitOnChange_t SubmitOnChange,
Cns_DisabledOrEnabled_t DisabledOrEnabled,
const char *fmt,...)
{
va_list ap;
@ -1428,7 +1430,7 @@ void HTM_INPUT_FLOAT (const char *Name,double Min,double Max,
HTM_TxtF (" step=\"%.15lg\"",Step);
HTM_TxtF (" value=\"%.15lg\"",Value);
Str_SetDecimalPointToLocal (); // Return to local system
if (Disabled)
if (DisabledOrEnabled == Cns_DISABLED)
HTM_Txt (" disabled=\"disabled\"");
if (fmt)

View File

@ -185,12 +185,14 @@ void HTM_INPUT_PASSWORD (const char *Name,const char *PlaceHolder,
const char *AutoComplete,HTM_Required_t Required,
const char *fmt,...);
void HTM_INPUT_LONG (const char *Name,long Min,long Max,long Value,
HTM_SubmitOnChange_t SubmitOnChange,bool Disabled,
HTM_SubmitOnChange_t SubmitOnChange,
Cns_DisabledOrEnabled_t DisabledOrEnabled,
const char *fmt,...);
void HTM_INPUT_FLOAT (const char *Name,double Min,double Max,
double Step, // Use 0 for "any"
double Value,
HTM_SubmitOnChange_t SubmitOnChange,bool Disabled,
HTM_SubmitOnChange_t SubmitOnChange,
Cns_DisabledOrEnabled_t DisabledOrEnabled,
const char *fmt,...);
void HTM_INPUT_RADIO (const char *Name,HTM_SubmitOnClick_t SubmitOnClick,
const char *fmt,...);

View File

@ -633,11 +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 (2024-04-24)"
#define Log_PLATFORM_VERSION "SWAD 23.79.2 (2024-04-24)"
#define CSS_FILE "swad23.67.2.css"
#define JS_FILE "swad23.79.js"
/*
Version 23.79.1: Apr 24, 2024 Code refactoring in HTML related to required field in form. (335751 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)
Version 23.78: Apr 23, 2024 Code refactoring in list of actions. (335577 lines)
Version 23.77: Apr 19, 2024 Code refactoring in list of actions. (335567 lines)

View File

@ -25,10 +25,18 @@
/*********************************** Headers *********************************/
/*****************************************************************************/
#include "swad_constant.h"
/*****************************************************************************/
/***************************** Public constants ******************************/
/*****************************************************************************/
const char *Cns_DisabledTxt[Cns_NUM_DISABLED_ENABLED] =
{
[Cns_DISABLED] = " disabled=\"disabled\"",
[Cns_ENABLED ] = "",
};
/*****************************************************************************/
/**************************** Private constants ******************************/
/*****************************************************************************/

View File

@ -986,8 +986,10 @@ See also http://www.ashleyit.com/rs/jsrs/select/php/select.php
void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear,
const char *Id,
struct Dat_Date *DateSelected,
HTM_SubmitOnChange_t SubmitOnChange,bool Disabled)
HTM_SubmitOnChange_t SubmitOnChange,
Cns_DisabledOrEnabled_t DisabledOrEnabled)
{
extern const char *Cns_DisabledTxt[Cns_NUM_DISABLED_ENABLED];
extern const char *Txt_MONTHS_SMALL[12];
char *FuncOnChange;
unsigned Year;
@ -995,7 +997,6 @@ void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear,
unsigned Day;
unsigned NumDaysSelectedMonth;
if (asprintf (&FuncOnChange,"adjustDateForm('%s');",Id) < 0)
Err_NotEnoughMemoryExit ();
@ -1004,10 +1005,8 @@ void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear,
HTM_SELECT_Begin (SubmitOnChange,FuncOnChange,
"id=\"%sYear\" name=\"%sYear\""
" class=\"INPUT_%s\"%s",
Id,Id,
The_GetSuffix (),
Disabled ? " disabled=\"disabled\"" :
"");
Id,Id,The_GetSuffix (),
Cns_DisabledTxt[DisabledOrEnabled]);
HTM_OPTION (HTM_Type_STRING,"0",
HTM_OPTION_UNSELECTED,
HTM_OPTION_ENABLED,
@ -1028,10 +1027,8 @@ void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear,
HTM_SELECT_Begin (SubmitOnChange,FuncOnChange,
"id=\"%sMonth\" name=\"%sMonth\""
" class=\"INPUT_%s\"%s",
Id,Id,
The_GetSuffix (),
Disabled ? " disabled=\"disabled\"" :
"");
Id,Id,The_GetSuffix (),
Cns_DisabledTxt[DisabledOrEnabled]);
HTM_OPTION (HTM_Type_STRING,"0",
HTM_OPTION_UNSELECTED,
HTM_OPTION_ENABLED,
@ -1054,10 +1051,8 @@ void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear,
HTM_SELECT_Begin (SubmitOnChange,NULL,
"id=\"%sDay\" name=\"%sDay\""
" class=\"INPUT_%s\"%s",
Id,Id,
The_GetSuffix (),
Disabled ? " disabled=\"disabled\"" :
"");
Id,Id,The_GetSuffix (),
Cns_DisabledTxt[DisabledOrEnabled]);
HTM_OPTION (HTM_Type_STRING,"0",
HTM_OPTION_UNSELECTED,
HTM_OPTION_ENABLED,

View File

@ -194,7 +194,8 @@ void Dat_GetBrowserTimeZone (char BrowserTimeZone[Dat_MAX_BYTES_TIME_ZONE + 1]);
void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear,
const char *Id,
struct Dat_Date *DateSelected,
HTM_SubmitOnChange_t SubmitOnChange,bool Disabled);
HTM_SubmitOnChange_t SubmitOnChange,
Cns_DisabledOrEnabled_t DisabledOrEnabled);
void Dat_GetDateFromForm (const char *ParNameDay,const char *ParNameMonth,const char *ParNameYear,
unsigned *Day,unsigned *Month,unsigned *Year);

View File

@ -990,6 +990,7 @@ static void For_ShowAForumPost (struct For_Forums *Forums,
HTM_TxtF ("[%s]",Txt_FORUM_Post_banned);
break;
case Cns_ENABLED:
default:
if (Subject[0])
HTM_Txt (Subject);
else

View File

@ -132,7 +132,8 @@ static Act_Action_t Inf_ActionsInfo[Inf_NUM_SOURCES][Inf_NUM_TYPES] =
/*****************************************************************************/
static void Inf_PutIconToViewInfo (void *Type);
static void Inf_PutCheckboxForceStdsToReadInfo (bool MustBeRead,bool Disabled);
static void Inf_PutCheckboxForceStdsToReadInfo (bool MustBeRead,
Cns_DisabledOrEnabled_t DisabledOrEnabled);
static void Inf_PutCheckboxConfirmIHaveReadInfo (void);
static bool Inf_GetMustBeReadFromForm (void);
static bool Inf_GetIfIHaveReadFromForm (void);
@ -175,10 +176,9 @@ void Inf_ShowInfo (void)
extern const char *Txt_No_information;
struct Syl_Syllabus Syllabus;
struct Inf_FromDB FromDB;
bool Disabled;
Usr_Can_t ICanEdit = (Gbl.Usrs.Me.Role.Logged == Rol_TCH ||
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? Usr_CAN :
Usr_CAN_NOT;
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? Usr_CAN :
Usr_CAN_NOT;
bool ShowWarningNoInfo = false;
static void (*FunctionToDrawContextualIcons[Usr_NUM_CAN]) (void *Args) =
{
@ -232,10 +232,11 @@ void Inf_ShowInfo (void)
if (FromDB.Src != Inf_NONE)
{
/***** Contextual menu *****/
// Checkbox to force students to read this couse info
Mnu_ContextMenuBegin ();
Disabled = (Gbl.Usrs.Me.Role.Logged == Rol_NET); // Non-editing teachers can not change the status of checkbox
Inf_PutCheckboxForceStdsToReadInfo (FromDB.MustBeRead,Disabled); // Checkbox to force students...
// ...to read this couse info
Inf_PutCheckboxForceStdsToReadInfo (FromDB.MustBeRead,
(Gbl.Usrs.Me.Role.Logged == Rol_NET) ? Cns_DISABLED :
Cns_ENABLED); // Non-editing teachers can not change the status of checkbox);
Mnu_ContextMenuEnd ();
}
break;
@ -346,7 +347,8 @@ void Inf_PutIconToEditInfo (void *Type)
/********** Put a form (checkbox) to force students to read info *************/
/*****************************************************************************/
static void Inf_PutCheckboxForceStdsToReadInfo (bool MustBeRead,bool Disabled)
static void Inf_PutCheckboxForceStdsToReadInfo (bool MustBeRead,
Cns_DisabledOrEnabled_t DisabledOrEnabled)
{
extern Syl_WhichSyllabus_t Syl_WhichSyllabus[Syl_NUM_WHICH_SYLLABUS];
extern const char *Txt_Force_students_to_read_this_information;
@ -366,7 +368,7 @@ static void Inf_PutCheckboxForceStdsToReadInfo (bool MustBeRead,bool Disabled)
Inf_Actions[Gbl.Crs.Info.Type].FuncPars,
Inf_Actions[Gbl.Crs.Info.Type].Args,
"MustBeRead",
MustBeRead,Disabled,
MustBeRead,DisabledOrEnabled,
Txt_Force_students_to_read_this_information,
Txt_Force_students_to_read_this_information);
}

View File

@ -1266,9 +1266,12 @@ 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,bool Disabled,
bool Checked,
Cns_DisabledOrEnabled_t DisabledOrEnabled,
const char *Title,const char *Text)
{
extern const char *Cns_DisabledTxt[Cns_NUM_DISABLED_ENABLED];
/***** Separator *****/
if (Text)
HTM_SP (); // This space is necessary to enable
@ -1294,8 +1297,7 @@ void Lay_PutContextualCheckbox (Act_Action_t NextAction,
"value=\"Y\"%s%s",
Checked ? " checked=\"checked\"" :
"",
Disabled ? " disabled=\"disabled\"" :
"");
Cns_DisabledTxt[DisabledOrEnabled]);
/***** Text *****/
if (Text)

View File

@ -81,7 +81,8 @@ 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,bool Disabled,
bool Checked,
Cns_DisabledOrEnabled_t DisabledOrEnabled,
const char *Title,const char *Text);
void Lay_WriteAboutZone (void);

View File

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

View File

@ -53,7 +53,8 @@ void Rol_PutFormToChangeMyRole (const char *ClassSelect);
void Rol_ChangeMyRole (void);
void Rol_WriteSelectorRoles (unsigned RolesAllowed,unsigned RolesSelected,
bool Disabled,HTM_SubmitOnChange_t SubmitOnChange);
Cns_DisabledOrEnabled_t DisabledOrEnabled,
HTM_SubmitOnChange_t SubmitOnChange);
void Rol_PutParRoles (unsigned Roles);
unsigned Rol_GetSelectedRoles (void);