mirror of https://github.com/acanas/swad-core.git
Version 22.79: Mar 24, 2023 New action to change source of rubric criterion.
This commit is contained in:
parent
d632e6504f
commit
010b2d38e6
|
@ -849,10 +849,11 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
|
||||||
[ActRemRubCri ] = {1961,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,RubCri_RemoveCriterion ,NULL},
|
[ActRemRubCri ] = {1961,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,RubCri_RemoveCriterion ,NULL},
|
||||||
[ActUp_RubCri ] = {1962,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,RubCri_MoveUpCriterion ,NULL},
|
[ActUp_RubCri ] = {1962,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,RubCri_MoveUpCriterion ,NULL},
|
||||||
[ActDwnRubCri ] = {1963,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,RubCri_MoveDownCriterion ,NULL},
|
[ActDwnRubCri ] = {1963,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,RubCri_MoveDownCriterion ,NULL},
|
||||||
[ActChgTitRubCri ] = {1964,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,RubCri_ChangeCriterionTitle ,NULL},
|
[ActChgTitRubCri ] = {1964,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,RubCri_ChangeTitle ,NULL},
|
||||||
[ActChgMinRubCri ] = {1965,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,RubCri_ChangeMinValueCriterion ,NULL},
|
[ActChgSrcRubCri ] = {1968,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,RubCri_ChangeSource ,NULL},
|
||||||
[ActChgMaxRubCri ] = {1966,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,RubCri_ChangeMaxValueCriterion ,NULL},
|
[ActChgMinRubCri ] = {1965,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,RubCri_ChangeMinValue ,NULL},
|
||||||
[ActChgWeiRubCri ] = {1967,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,RubCri_ChangeWeightCriterion ,NULL},
|
[ActChgMaxRubCri ] = {1966,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,RubCri_ChangeMaxValue ,NULL},
|
||||||
|
[ActChgWeiRubCri ] = {1967,-1,TabUnk,ActSeeAllRub ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,RubCri_ChangeWeight ,NULL},
|
||||||
|
|
||||||
// TabFil ******************************************************************
|
// TabFil ******************************************************************
|
||||||
// Actions in menu:
|
// Actions in menu:
|
||||||
|
@ -3852,4 +3853,5 @@ Act_Action_t ActLst_FromActCodToAction[1 + ActLst_MAX_ACTION_COD] = // Do not re
|
||||||
ActChgMinRubCri, // #1965
|
ActChgMinRubCri, // #1965
|
||||||
ActChgMaxRubCri, // #1966
|
ActChgMaxRubCri, // #1966
|
||||||
ActChgWeiRubCri, // #1967
|
ActChgWeiRubCri, // #1967
|
||||||
|
ActChgSrcRubCri, // #1968
|
||||||
};
|
};
|
||||||
|
|
|
@ -773,9 +773,10 @@
|
||||||
#define ActUp_RubCri (ActChgCrsTT1stDay + 230)
|
#define ActUp_RubCri (ActChgCrsTT1stDay + 230)
|
||||||
#define ActDwnRubCri (ActChgCrsTT1stDay + 231)
|
#define ActDwnRubCri (ActChgCrsTT1stDay + 231)
|
||||||
#define ActChgTitRubCri (ActChgCrsTT1stDay + 232)
|
#define ActChgTitRubCri (ActChgCrsTT1stDay + 232)
|
||||||
#define ActChgMinRubCri (ActChgCrsTT1stDay + 233)
|
#define ActChgSrcRubCri (ActChgCrsTT1stDay + 233)
|
||||||
#define ActChgMaxRubCri (ActChgCrsTT1stDay + 234)
|
#define ActChgMinRubCri (ActChgCrsTT1stDay + 234)
|
||||||
#define ActChgWeiRubCri (ActChgCrsTT1stDay + 235)
|
#define ActChgMaxRubCri (ActChgCrsTT1stDay + 235)
|
||||||
|
#define ActChgWeiRubCri (ActChgCrsTT1stDay + 236)
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/******************************** Files tab **********************************/
|
/******************************** Files tab **********************************/
|
||||||
|
@ -1768,7 +1769,7 @@
|
||||||
|
|
||||||
#define ActLst_NUM_ACTIONS (ActChgMyTT1stDay + 1)
|
#define ActLst_NUM_ACTIONS (ActChgMyTT1stDay + 1)
|
||||||
|
|
||||||
#define ActLst_MAX_ACTION_COD 1967
|
#define ActLst_MAX_ACTION_COD 1968
|
||||||
|
|
||||||
#define ActLst_DEFAULT_ACTION_AFTER_LOGIN ActSeeGblTL
|
#define ActLst_DEFAULT_ACTION_AFTER_LOGIN ActSeeGblTL
|
||||||
|
|
||||||
|
|
|
@ -629,10 +629,11 @@ TODO: Emilce Barrera Mesa: Podr
|
||||||
TODO: Emilce Barrera Mesa: Mis estudiantes presentan muchas dificultades a la hora de poner la foto porque la plataforma es muy exigente respecto al fondo de la imagen.
|
TODO: Emilce Barrera Mesa: Mis estudiantes presentan muchas dificultades a la hora de poner la foto porque la plataforma es muy exigente respecto al fondo de la imagen.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
#define Log_PLATFORM_VERSION "SWAD 22.78.15 (2023-03-23)"
|
#define Log_PLATFORM_VERSION "SWAD 22.79 (2023-03-24)"
|
||||||
#define CSS_FILE "swad22.78.15.css"
|
#define CSS_FILE "swad22.78.15.css"
|
||||||
#define JS_FILE "swad22.49.js"
|
#define JS_FILE "swad22.49.js"
|
||||||
/*
|
/*
|
||||||
|
Version 22.79: Mar 24, 2023 New action to change source of rubric criterion. (337888 lines)
|
||||||
Version 22.78.15: Mar 23, 2023 Changes in rubric criteria. (337686 lines)
|
Version 22.78.15: Mar 23, 2023 Changes in rubric criteria. (337686 lines)
|
||||||
Version 22.78.14: Mar 23, 2023 Code refactoring in timeline. (337634 lines)
|
Version 22.78.14: Mar 23, 2023 Code refactoring in timeline. (337634 lines)
|
||||||
Version 22.78.13: Mar 23, 2023 Code refactoring in rooms. (337641 lines)
|
Version 22.78.13: Mar 23, 2023 Code refactoring in rooms. (337641 lines)
|
||||||
|
|
|
@ -70,6 +70,7 @@ static void RubCri_PutFormNewCriterion (struct Rub_Rubrics *Rubrics,
|
||||||
static void RubCri_ReceiveCriterionFieldsFromForm (struct RubCri_Criterion *Criterion);
|
static void RubCri_ReceiveCriterionFieldsFromForm (struct RubCri_Criterion *Criterion);
|
||||||
static bool RubCri_CheckCriterionTitleReceivedFromForm (const struct RubCri_Criterion *Criterion,
|
static bool RubCri_CheckCriterionTitleReceivedFromForm (const struct RubCri_Criterion *Criterion,
|
||||||
const char NewTitle[RubCri_MAX_BYTES_TITLE + 1]);
|
const char NewTitle[RubCri_MAX_BYTES_TITLE + 1]);
|
||||||
|
static RubCri_Source_t RubCri_GetParSource (void);
|
||||||
|
|
||||||
static void RubCri_ChangeValueCriterion (RubCri_ValueRange_t ValueRange);
|
static void RubCri_ChangeValueCriterion (RubCri_ValueRange_t ValueRange);
|
||||||
|
|
||||||
|
@ -141,7 +142,10 @@ static void RubCri_PutFormNewCriterion (struct Rub_Rubrics *Rubrics,
|
||||||
unsigned MaxCriInd)
|
unsigned MaxCriInd)
|
||||||
{
|
{
|
||||||
extern const char *Txt_New_criterion;
|
extern const char *Txt_New_criterion;
|
||||||
|
extern const char *Txt_RUBRIC_CRITERION_SOURCES[RubCri_NUM_SOURCES];
|
||||||
extern const char *Txt_Create_criterion;
|
extern const char *Txt_Create_criterion;
|
||||||
|
RubCri_Source_t Source;
|
||||||
|
unsigned SourceUnsigned;
|
||||||
RubCri_ValueRange_t ValueRange;
|
RubCri_ValueRange_t ValueRange;
|
||||||
|
|
||||||
/***** Begin form *****/
|
/***** Begin form *****/
|
||||||
|
@ -181,10 +185,17 @@ static void RubCri_PutFormNewCriterion (struct Rub_Rubrics *Rubrics,
|
||||||
/***** Source *****/
|
/***** Source *****/
|
||||||
HTM_TD_Begin ("class=\"LM %s\"",The_GetColorRows ());
|
HTM_TD_Begin ("class=\"LM %s\"",The_GetColorRows ());
|
||||||
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
|
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,
|
||||||
"id=\"deg\" name=\"Source\" class=\"INPUT_%s\"",
|
"name=\"Source\" class=\"INPUT_%s\"",
|
||||||
The_GetSuffix ());
|
The_GetSuffix ());
|
||||||
HTM_OPTION (HTM_Type_STRING,"Y",true,false,
|
for (Source = (RubCri_Source_t) 0;
|
||||||
"%s","Fuente");
|
Source <= (RubCri_Source_t) (RubCri_NUM_SOURCES - 1);
|
||||||
|
Source++)
|
||||||
|
{
|
||||||
|
SourceUnsigned = (unsigned) Source;
|
||||||
|
HTM_OPTION (HTM_Type_UNSIGNED,&SourceUnsigned,
|
||||||
|
Source == Criterion->Source,false,
|
||||||
|
"%s",Txt_RUBRIC_CRITERION_SOURCES[Source]);
|
||||||
|
}
|
||||||
HTM_SELECT_End ();
|
HTM_SELECT_End ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
@ -264,6 +275,9 @@ static void RubCri_ReceiveCriterionFieldsFromForm (struct RubCri_Criterion *Crit
|
||||||
/***** Get criterion title *****/
|
/***** Get criterion title *****/
|
||||||
Par_GetParText ("Title",Criterion->Title,RubCri_MAX_BYTES_TITLE);
|
Par_GetParText ("Title",Criterion->Title,RubCri_MAX_BYTES_TITLE);
|
||||||
|
|
||||||
|
/***** Get criterion source *****/
|
||||||
|
Criterion->Source = RubCri_GetParSource ();
|
||||||
|
|
||||||
/***** Get minimum and maximum values of criterion *****/
|
/***** Get minimum and maximum values of criterion *****/
|
||||||
for (ValueRange = (RubCri_ValueRange_t) 0;
|
for (ValueRange = (RubCri_ValueRange_t) 0;
|
||||||
ValueRange <= (RubCri_ValueRange_t) (RubCri_NUM_VALUES - 1);
|
ValueRange <= (RubCri_ValueRange_t) (RubCri_NUM_VALUES - 1);
|
||||||
|
@ -310,11 +324,24 @@ static bool RubCri_CheckCriterionTitleReceivedFromForm (const struct RubCri_Crit
|
||||||
return NewTitleIsCorrect;
|
return NewTitleIsCorrect;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/****************** Get parameter with criterion source **********************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
static RubCri_Source_t RubCri_GetParSource (void)
|
||||||
|
{
|
||||||
|
return (RubCri_Source_t)
|
||||||
|
Par_GetParUnsignedLong ("Source",
|
||||||
|
0,
|
||||||
|
RubCri_NUM_SOURCES - 1,
|
||||||
|
(unsigned long) RubCri_SOURCE_DEFAULT);
|
||||||
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/************* Receive form to change title of rubric criterion **************/
|
/************* Receive form to change title of rubric criterion **************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void RubCri_ChangeCriterionTitle (void)
|
void RubCri_ChangeTitle (void)
|
||||||
{
|
{
|
||||||
struct Rub_Rubrics Rubrics;
|
struct Rub_Rubrics Rubrics;
|
||||||
struct RubCri_Criterion Criterion;
|
struct RubCri_Criterion Criterion;
|
||||||
|
@ -342,11 +369,9 @@ void RubCri_ChangeCriterionTitle (void)
|
||||||
/***** Check if title should be changed *****/
|
/***** Check if title should be changed *****/
|
||||||
if (RubCri_CheckCriterionTitleReceivedFromForm (&Criterion,NewTitle))
|
if (RubCri_CheckCriterionTitleReceivedFromForm (&Criterion,NewTitle))
|
||||||
{
|
{
|
||||||
/* Update the table changing old title by new title */
|
/* Update title and database table */
|
||||||
Rub_DB_UpdateCriterionTitle (Criterion.CriCod,Criterion.RubCod,NewTitle);
|
|
||||||
|
|
||||||
/* Update title */
|
|
||||||
Str_Copy (Criterion.Title,NewTitle,sizeof (Criterion.Title) - 1);
|
Str_Copy (Criterion.Title,NewTitle,sizeof (Criterion.Title) - 1);
|
||||||
|
Rub_DB_UpdateCriterionTitle (&Criterion);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Show current rubric and its criteria *****/
|
/***** Show current rubric and its criteria *****/
|
||||||
|
@ -354,16 +379,58 @@ void RubCri_ChangeCriterionTitle (void)
|
||||||
false); // It's not a new rubric
|
false); // It's not a new rubric
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/****************** Receive form to change criterion source ******************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
void RubCri_ChangeSource (void)
|
||||||
|
{
|
||||||
|
struct Rub_Rubrics Rubrics;
|
||||||
|
struct RubCri_Criterion Criterion;
|
||||||
|
|
||||||
|
/***** Check if I can edit rubrics *****/
|
||||||
|
if (!Rub_CheckIfICanEditRubrics ())
|
||||||
|
Err_NoPermissionExit ();
|
||||||
|
|
||||||
|
/***** Reset rubrics context *****/
|
||||||
|
Rub_ResetRubrics (&Rubrics);
|
||||||
|
Rub_ResetRubric (&Rubrics.Rubric);
|
||||||
|
RubCri_ResetCriterion (&Criterion);
|
||||||
|
|
||||||
|
/***** Get parameters *****/
|
||||||
|
Rub_GetPars (&Rubrics,true);
|
||||||
|
Criterion.RubCod = Rubrics.Rubric.RubCod;
|
||||||
|
Rubrics.CriCod = Criterion.CriCod = ParCod_GetAndCheckPar (ParCod_Cri);
|
||||||
|
|
||||||
|
/***** Get and check parameters *****/
|
||||||
|
RubCri_GetAndCheckPars (&Rubrics,&Criterion);
|
||||||
|
|
||||||
|
/***** Check if rubric is editable *****/
|
||||||
|
if (!Rub_CheckIfEditable (&Rubrics.Rubric))
|
||||||
|
Err_NoPermissionExit ();
|
||||||
|
|
||||||
|
/***** Receive new source from form *****/
|
||||||
|
Criterion.Source = RubCri_GetParSource ();
|
||||||
|
|
||||||
|
/***** Change source *****/
|
||||||
|
/* Update the table changing old source by new source */
|
||||||
|
Rub_DB_UpdateCriterionSource (&Criterion);
|
||||||
|
|
||||||
|
/***** Show current rubric and its criteria *****/
|
||||||
|
Rub_PutFormsOneRubric (&Rubrics,&Criterion,
|
||||||
|
false); // It's not a new rubric
|
||||||
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/********* Receive form to change minimum/maximum value of criterion *********/
|
/********* Receive form to change minimum/maximum value of criterion *********/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void RubCri_ChangeMinValueCriterion (void)
|
void RubCri_ChangeMinValue (void)
|
||||||
{
|
{
|
||||||
RubCri_ChangeValueCriterion (RubCri_MIN);
|
RubCri_ChangeValueCriterion (RubCri_MIN);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RubCri_ChangeMaxValueCriterion (void)
|
void RubCri_ChangeMaxValue (void)
|
||||||
{
|
{
|
||||||
RubCri_ChangeValueCriterion (RubCri_MAX);
|
RubCri_ChangeValueCriterion (RubCri_MAX);
|
||||||
}
|
}
|
||||||
|
@ -401,8 +468,7 @@ static void RubCri_ChangeValueCriterion (RubCri_ValueRange_t ValueRange)
|
||||||
|
|
||||||
/***** Change value *****/
|
/***** Change value *****/
|
||||||
/* Update the table changing old value by new value */
|
/* Update the table changing old value by new value */
|
||||||
Rub_DB_UpdateCriterionValue (Criterion.CriCod,Criterion.RubCod,
|
Rub_DB_UpdateCriterionValue (&Criterion,ValueRange);
|
||||||
ValueRange,Criterion.Values[ValueRange]);
|
|
||||||
|
|
||||||
/***** Show current rubric and its criteria *****/
|
/***** Show current rubric and its criteria *****/
|
||||||
Rub_PutFormsOneRubric (&Rubrics,&Criterion,
|
Rub_PutFormsOneRubric (&Rubrics,&Criterion,
|
||||||
|
@ -410,10 +476,10 @@ static void RubCri_ChangeValueCriterion (RubCri_ValueRange_t ValueRange)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/********* Receive form to change minimum/maximum value of criterion *********/
|
/****************** Receive form to change criterion weight ******************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void RubCri_ChangeWeightCriterion (void)
|
void RubCri_ChangeWeight (void)
|
||||||
{
|
{
|
||||||
struct Rub_Rubrics Rubrics;
|
struct Rub_Rubrics Rubrics;
|
||||||
struct RubCri_Criterion Criterion;
|
struct RubCri_Criterion Criterion;
|
||||||
|
@ -440,14 +506,13 @@ void RubCri_ChangeWeightCriterion (void)
|
||||||
if (!Rub_CheckIfEditable (&Rubrics.Rubric))
|
if (!Rub_CheckIfEditable (&Rubrics.Rubric))
|
||||||
Err_NoPermissionExit ();
|
Err_NoPermissionExit ();
|
||||||
|
|
||||||
/***** Receive new value from form *****/
|
/***** Receive new weight from form *****/
|
||||||
Par_GetParText ("Weight",WeightStr,sizeof (WeightStr) - 1);
|
Par_GetParText ("Weight",WeightStr,sizeof (WeightStr) - 1);
|
||||||
Criterion.Weight = Str_GetDoubleFromStr (WeightStr);
|
Criterion.Weight = Str_GetDoubleFromStr (WeightStr);
|
||||||
|
|
||||||
/***** Change value *****/
|
/***** Change value *****/
|
||||||
/* Update the table changing old value by new value */
|
/* Update the table changing old weight by new weight */
|
||||||
Rub_DB_UpdateCriterionWeight (Criterion.CriCod,Criterion.RubCod,
|
Rub_DB_UpdateCriterionWeight (&Criterion);
|
||||||
Criterion.Weight);
|
|
||||||
|
|
||||||
/***** Show current rubric and its criteria *****/
|
/***** Show current rubric and its criteria *****/
|
||||||
Rub_PutFormsOneRubric (&Rubrics,&Criterion,
|
Rub_PutFormsOneRubric (&Rubrics,&Criterion,
|
||||||
|
@ -530,6 +595,7 @@ static void RubCri_ListOneOrMoreCriteriaForEdition (struct Rub_Rubrics *Rubrics,
|
||||||
{
|
{
|
||||||
extern const char *Txt_Criteria;
|
extern const char *Txt_Criteria;
|
||||||
extern const char *Txt_Movement_not_allowed;
|
extern const char *Txt_Movement_not_allowed;
|
||||||
|
extern const char *Txt_RUBRIC_CRITERION_SOURCES[RubCri_NUM_SOURCES];
|
||||||
// Actions to change minimum/maximum criterion values
|
// Actions to change minimum/maximum criterion values
|
||||||
static Act_Action_t RubCri_ActionsValues[RubCri_NUM_VALUES] =
|
static Act_Action_t RubCri_ActionsValues[RubCri_NUM_VALUES] =
|
||||||
{
|
{
|
||||||
|
@ -539,6 +605,8 @@ static void RubCri_ListOneOrMoreCriteriaForEdition (struct Rub_Rubrics *Rubrics,
|
||||||
unsigned NumCriterion;
|
unsigned NumCriterion;
|
||||||
struct RubCri_Criterion Criterion;
|
struct RubCri_Criterion Criterion;
|
||||||
char *Anchor;
|
char *Anchor;
|
||||||
|
RubCri_Source_t Source;
|
||||||
|
unsigned SourceUnsigned;
|
||||||
RubCri_ValueRange_t ValueRange;
|
RubCri_ValueRange_t ValueRange;
|
||||||
|
|
||||||
/***** Trivial check *****/
|
/***** Trivial check *****/
|
||||||
|
@ -635,12 +703,22 @@ static void RubCri_ListOneOrMoreCriteriaForEdition (struct Rub_Rubrics *Rubrics,
|
||||||
|
|
||||||
/***** Source *****/
|
/***** Source *****/
|
||||||
HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ());
|
HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ());
|
||||||
HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
|
Frm_BeginFormAnchor (ActChgSrcRubCri,Anchor);
|
||||||
"id=\"deg\" name=\"Source\" class=\"INPUT_%s\"",
|
RubCri_PutParsOneCriterion (Rubrics);
|
||||||
The_GetSuffix ());
|
HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,
|
||||||
HTM_OPTION (HTM_Type_STRING,"Y",true,false,
|
"name=\"Source\" class=\"INPUT_%s\"",
|
||||||
"%s","Fuente");
|
The_GetSuffix ());
|
||||||
HTM_SELECT_End ();
|
for (Source = (RubCri_Source_t) 0;
|
||||||
|
Source <= (RubCri_Source_t) (RubCri_NUM_SOURCES - 1);
|
||||||
|
Source++)
|
||||||
|
{
|
||||||
|
SourceUnsigned = (unsigned) Source;
|
||||||
|
HTM_OPTION (HTM_Type_UNSIGNED,&SourceUnsigned,
|
||||||
|
Source == Criterion.Source,false,
|
||||||
|
"%s",Txt_RUBRIC_CRITERION_SOURCES[Source]);
|
||||||
|
}
|
||||||
|
HTM_SELECT_End ();
|
||||||
|
Frm_EndForm ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
/***** Minimum and maximum values of criterion *****/
|
/***** Minimum and maximum values of criterion *****/
|
||||||
|
|
|
@ -36,10 +36,11 @@
|
||||||
void RubCri_GetCriterionDataByCod (struct RubCri_Criterion *Criterion);
|
void RubCri_GetCriterionDataByCod (struct RubCri_Criterion *Criterion);
|
||||||
|
|
||||||
void RubCri_ReceiveFormCriterion (void);
|
void RubCri_ReceiveFormCriterion (void);
|
||||||
void RubCri_ChangeCriterionTitle (void);
|
void RubCri_ChangeTitle (void);
|
||||||
void RubCri_ChangeMinValueCriterion (void);
|
void RubCri_ChangeSource (void);
|
||||||
void RubCri_ChangeMaxValueCriterion (void);
|
void RubCri_ChangeMinValue (void);
|
||||||
void RubCri_ChangeWeightCriterion (void);
|
void RubCri_ChangeMaxValue (void);
|
||||||
|
void RubCri_ChangeWeight (void);
|
||||||
|
|
||||||
void RubCri_ListCriteria (struct Rub_Rubrics *Rubrics,
|
void RubCri_ListCriteria (struct Rub_Rubrics *Rubrics,
|
||||||
struct RubCri_Criterion *Criterion);
|
struct RubCri_Criterion *Criterion);
|
||||||
|
|
|
@ -379,25 +379,40 @@ long Rub_DB_CreateCriterion (const struct RubCri_Criterion *Criterion)
|
||||||
/********************* Update criterion title in database ********************/
|
/********************* Update criterion title in database ********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Rub_DB_UpdateCriterionTitle (long CriCod,long RubCod,
|
void Rub_DB_UpdateCriterionTitle (const struct RubCri_Criterion *Criterion)
|
||||||
const char NewTitle[RubCri_MAX_BYTES_TITLE + 1])
|
|
||||||
{
|
{
|
||||||
DB_QueryUPDATE ("can not update the title of a criterion",
|
DB_QueryUPDATE ("can not update the title of a criterion",
|
||||||
"UPDATE rub_criteria"
|
"UPDATE rub_criteria"
|
||||||
" SET Title='%s'"
|
" SET Title='%s'"
|
||||||
" WHERE CriCod=%ld"
|
" WHERE CriCod=%ld"
|
||||||
" AND RubCod=%ld", // Extra check
|
" AND RubCod=%ld", // Extra check
|
||||||
NewTitle,
|
Criterion->Title,
|
||||||
CriCod,
|
Criterion->CriCod,
|
||||||
RubCod);
|
Criterion->RubCod);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/********************* Update criterion source in database *******************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
void Rub_DB_UpdateCriterionSource (const struct RubCri_Criterion *Criterion)
|
||||||
|
{
|
||||||
|
DB_QueryUPDATE ("can not update the value of a criterion",
|
||||||
|
"UPDATE rub_criteria"
|
||||||
|
" SET Source='%s'"
|
||||||
|
" WHERE CriCod=%ld"
|
||||||
|
" AND RubCod=%ld", // Extra check
|
||||||
|
RubCri_GetDBStrFromSource (Criterion->Source),
|
||||||
|
Criterion->CriCod,
|
||||||
|
Criterion->RubCod);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/********************* Update criterion value in database ********************/
|
/********************* Update criterion value in database ********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Rub_DB_UpdateCriterionValue (long CriCod,long RubCod,
|
void Rub_DB_UpdateCriterionValue (const struct RubCri_Criterion *Criterion,
|
||||||
RubCri_ValueRange_t ValueRange,double Value)
|
RubCri_ValueRange_t ValueRange)
|
||||||
{
|
{
|
||||||
Str_SetDecimalPointToUS (); // To write the decimal point as a dot
|
Str_SetDecimalPointToUS (); // To write the decimal point as a dot
|
||||||
DB_QueryUPDATE ("can not update the value of a criterion",
|
DB_QueryUPDATE ("can not update the value of a criterion",
|
||||||
|
@ -405,9 +420,9 @@ void Rub_DB_UpdateCriterionValue (long CriCod,long RubCod,
|
||||||
" SET %s=%.15lg"
|
" SET %s=%.15lg"
|
||||||
" WHERE CriCod=%ld"
|
" WHERE CriCod=%ld"
|
||||||
" AND RubCod=%ld", // Extra check
|
" AND RubCod=%ld", // Extra check
|
||||||
RubCri_ValuesFields[ValueRange],Value,
|
RubCri_ValuesFields[ValueRange],Criterion->Values[ValueRange],
|
||||||
CriCod,
|
Criterion->CriCod,
|
||||||
RubCod);
|
Criterion->RubCod);
|
||||||
Str_SetDecimalPointToLocal (); // Return to local system
|
Str_SetDecimalPointToLocal (); // Return to local system
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -415,7 +430,7 @@ void Rub_DB_UpdateCriterionValue (long CriCod,long RubCod,
|
||||||
/********************* Update criterion weight in database *******************/
|
/********************* Update criterion weight in database *******************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Rub_DB_UpdateCriterionWeight (long CriCod,long RubCod,double Weight)
|
void Rub_DB_UpdateCriterionWeight (const struct RubCri_Criterion *Criterion)
|
||||||
{
|
{
|
||||||
Str_SetDecimalPointToUS (); // To write the decimal point as a dot
|
Str_SetDecimalPointToUS (); // To write the decimal point as a dot
|
||||||
DB_QueryUPDATE ("can not update the value of a criterion",
|
DB_QueryUPDATE ("can not update the value of a criterion",
|
||||||
|
@ -423,9 +438,9 @@ void Rub_DB_UpdateCriterionWeight (long CriCod,long RubCod,double Weight)
|
||||||
" SET Weight=%.15lg"
|
" SET Weight=%.15lg"
|
||||||
" WHERE CriCod=%ld"
|
" WHERE CriCod=%ld"
|
||||||
" AND RubCod=%ld", // Extra check
|
" AND RubCod=%ld", // Extra check
|
||||||
Weight,
|
Criterion->Weight,
|
||||||
CriCod,
|
Criterion->CriCod,
|
||||||
RubCod);
|
Criterion->RubCod);
|
||||||
Str_SetDecimalPointToLocal (); // Return to local system
|
Str_SetDecimalPointToLocal (); // Return to local system
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -55,11 +55,11 @@ void Rub_DB_RemoveCrsRubrics (long CrsCod);
|
||||||
|
|
||||||
//--------------------------- Rubric criteria -------------------------------
|
//--------------------------- Rubric criteria -------------------------------
|
||||||
long Rub_DB_CreateCriterion (const struct RubCri_Criterion *Criterion);
|
long Rub_DB_CreateCriterion (const struct RubCri_Criterion *Criterion);
|
||||||
void Rub_DB_UpdateCriterionTitle (long CriCod,long RubCod,
|
void Rub_DB_UpdateCriterionTitle (const struct RubCri_Criterion *Criterion);
|
||||||
const char NewTitle[RubCri_MAX_BYTES_TITLE + 1]);
|
void Rub_DB_UpdateCriterionSource (const struct RubCri_Criterion *Criterion);
|
||||||
void Rub_DB_UpdateCriterionValue (long CriCod,long RubCod,
|
void Rub_DB_UpdateCriterionValue (const struct RubCri_Criterion *Criterion,
|
||||||
RubCri_ValueRange_t ValueRange,double Value);
|
RubCri_ValueRange_t ValueRange);
|
||||||
void Rub_DB_UpdateCriterionWeight (long CriCod,long RubCod,double Weight);
|
void Rub_DB_UpdateCriterionWeight (const struct RubCri_Criterion *Criterion);
|
||||||
void Rub_DB_UpdateCriteriaIndexesInRubricGreaterThan (long RubCod,unsigned CriInd);
|
void Rub_DB_UpdateCriteriaIndexesInRubricGreaterThan (long RubCod,unsigned CriInd);
|
||||||
void Rub_DB_UpdateCriterionIndex (long CriInd,long CriCod,long RubCod);
|
void Rub_DB_UpdateCriterionIndex (long CriInd,long CriCod,long RubCod);
|
||||||
void Rub_DB_LockTable (void);
|
void Rub_DB_LockTable (void);
|
||||||
|
|
|
@ -23,7 +23,6 @@
|
||||||
You should have received a copy of the GNU Affero General Public License
|
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/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/********************************* Headers ***********************************/
|
/********************************* Headers ***********************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
106
swad_text.c
106
swad_text.c
|
@ -87,6 +87,7 @@
|
||||||
#include "swad_record.h"
|
#include "swad_record.h"
|
||||||
#include "swad_role.h"
|
#include "swad_role.h"
|
||||||
#include "swad_room.h"
|
#include "swad_room.h"
|
||||||
|
#include "swad_rubric_type.h"
|
||||||
#include "swad_setting.h"
|
#include "swad_setting.h"
|
||||||
#include "swad_statistic.h"
|
#include "swad_statistic.h"
|
||||||
#include "swad_survey.h"
|
#include "swad_survey.h"
|
||||||
|
@ -15911,7 +15912,7 @@ const char *Txt_Game =
|
||||||
#elif L==5 // fr
|
#elif L==5 // fr
|
||||||
"Jeu";
|
"Jeu";
|
||||||
#elif L==6 // gn
|
#elif L==6 // gn
|
||||||
"Juego"; // Okoteve traducción
|
"Ñeha'a";
|
||||||
#elif L==7 // it
|
#elif L==7 // it
|
||||||
"Gioco";
|
"Gioco";
|
||||||
#elif L==8 // pl
|
#elif L==8 // pl
|
||||||
|
@ -37722,7 +37723,7 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] =
|
||||||
#elif L==9 // pt
|
#elif L==9 // pt
|
||||||
"Professor/a"
|
"Professor/a"
|
||||||
#elif L==10 // tr
|
#elif L==10 // tr
|
||||||
"Teacher" // Çeviri lazim!
|
"Öğretmen"
|
||||||
#endif
|
#endif
|
||||||
,
|
,
|
||||||
[Rol_TCH][Usr_SEX_FEMALE] =
|
[Rol_TCH][Usr_SEX_FEMALE] =
|
||||||
|
@ -37745,7 +37746,7 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] =
|
||||||
#elif L==9 // pt
|
#elif L==9 // pt
|
||||||
"Professora"
|
"Professora"
|
||||||
#elif L==10 // tr
|
#elif L==10 // tr
|
||||||
"Teacher" // Çeviri lazim!
|
"Öğretmen"
|
||||||
#endif
|
#endif
|
||||||
,
|
,
|
||||||
[Rol_TCH][Usr_SEX_MALE] =
|
[Rol_TCH][Usr_SEX_MALE] =
|
||||||
|
@ -37768,7 +37769,7 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] =
|
||||||
#elif L==9 // pt
|
#elif L==9 // pt
|
||||||
"Professor"
|
"Professor"
|
||||||
#elif L==10 // tr
|
#elif L==10 // tr
|
||||||
"Teacher" // Çeviri lazim!
|
"Öğretmen"
|
||||||
#endif
|
#endif
|
||||||
,
|
,
|
||||||
[Rol_TCH][Usr_SEX_ALL] =
|
[Rol_TCH][Usr_SEX_ALL] =
|
||||||
|
@ -37791,7 +37792,7 @@ const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] =
|
||||||
#elif L==9 // pt
|
#elif L==9 // pt
|
||||||
"Professor/a"
|
"Professor/a"
|
||||||
#elif L==10 // tr
|
#elif L==10 // tr
|
||||||
"Teacher" // Çeviri lazim!
|
"Öğretmen"
|
||||||
#endif
|
#endif
|
||||||
,
|
,
|
||||||
[Rol_DEG_ADM][Usr_SEX_UNKNOWN] =
|
[Rol_DEG_ADM][Usr_SEX_UNKNOWN] =
|
||||||
|
@ -42812,6 +42813,101 @@ const char *Txt_Rubric_X_removed = // Warning: it is very important to include %
|
||||||
"Değerlendirme listesi <strong>%s</strong> kaldırıldı.";
|
"Değerlendirme listesi <strong>%s</strong> kaldırıldı.";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
const char *Txt_RUBRIC_CRITERION_SOURCES[RubCri_NUM_SOURCES] =
|
||||||
|
{
|
||||||
|
[RubCri_FROM_TEACHER] =
|
||||||
|
#if L==1 // ca
|
||||||
|
"Professor/a"
|
||||||
|
#elif L==2 // de
|
||||||
|
"Lehrkraft"
|
||||||
|
#elif L==3 // en
|
||||||
|
"Teacher"
|
||||||
|
#elif L==4 // es
|
||||||
|
"Profesor/a"
|
||||||
|
#elif L==5 // fr
|
||||||
|
"Enseignant/e"
|
||||||
|
#elif L==6 // gn
|
||||||
|
"Mbo'ehára"
|
||||||
|
#elif L==7 // it
|
||||||
|
"Professore/ssa"
|
||||||
|
#elif L==8 // pl
|
||||||
|
"Nauczyciel"
|
||||||
|
#elif L==9 // pt
|
||||||
|
"Professor/a"
|
||||||
|
#elif L==10 // tr
|
||||||
|
"Öğretmen"
|
||||||
|
#endif
|
||||||
|
,
|
||||||
|
[RubCri_FROM_ANOTHER_RUBRIC] =
|
||||||
|
#if L==1 // ca
|
||||||
|
"Rúbrica"
|
||||||
|
#elif L==2 // de
|
||||||
|
"Rubrik"
|
||||||
|
#elif L==3 // en
|
||||||
|
"Rubric"
|
||||||
|
#elif L==4 // es
|
||||||
|
"Rúbrica"
|
||||||
|
#elif L==5 // fr
|
||||||
|
"Rubrique"
|
||||||
|
#elif L==6 // gn
|
||||||
|
"Rúbrica" // Okoteve traducción
|
||||||
|
#elif L==7 // it
|
||||||
|
"Rubriche"
|
||||||
|
#elif L==8 // pl
|
||||||
|
"Rubryki"
|
||||||
|
#elif L==9 // pt
|
||||||
|
"Rubrica"
|
||||||
|
#elif L==10 // tr
|
||||||
|
"Değerlendirme"
|
||||||
|
#endif
|
||||||
|
,
|
||||||
|
[RubCri_FROM_EXAM_PRINT] =
|
||||||
|
#if L==1 // ca
|
||||||
|
"Exàmen"
|
||||||
|
#elif L==2 // de
|
||||||
|
"Prüfung"
|
||||||
|
#elif L==3 // en
|
||||||
|
"Exam"
|
||||||
|
#elif L==4 // es
|
||||||
|
"Examen"
|
||||||
|
#elif L==5 // fr
|
||||||
|
"Examen"
|
||||||
|
#elif L==6 // gn
|
||||||
|
"Aranduchauka"
|
||||||
|
#elif L==7 // it
|
||||||
|
"Esame"
|
||||||
|
#elif L==8 // pl
|
||||||
|
"Egzamin"
|
||||||
|
#elif L==9 // pt
|
||||||
|
"Exame"
|
||||||
|
#elif L==10 // tr
|
||||||
|
"Sınav"
|
||||||
|
#endif
|
||||||
|
,
|
||||||
|
[RubCri_FROM_GAME_MATCH] =
|
||||||
|
#if L==1 // ca
|
||||||
|
"Joc"
|
||||||
|
#elif L==2 // de
|
||||||
|
"Spiel"
|
||||||
|
#elif L==3 // en
|
||||||
|
"Game"
|
||||||
|
#elif L==4 // es
|
||||||
|
"Juego"
|
||||||
|
#elif L==5 // fr
|
||||||
|
"Jeu"
|
||||||
|
#elif L==6 // gn
|
||||||
|
"Ñeha'a"
|
||||||
|
#elif L==7 // it
|
||||||
|
"Gioco"
|
||||||
|
#elif L==8 // pl
|
||||||
|
"Gra"
|
||||||
|
#elif L==9 // pt
|
||||||
|
"Jogo"
|
||||||
|
#elif L==10 // tr
|
||||||
|
"Oyun"
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
const char *Txt_Rubrics =
|
const char *Txt_Rubrics =
|
||||||
#if L==1 // ca
|
#if L==1 // ca
|
||||||
"Rúbriques";
|
"Rúbriques";
|
||||||
|
|
|
@ -14182,6 +14182,29 @@ const char *Txt_Actions[ActLst_NUM_ACTIONS] =
|
||||||
"Change rubric criterion title" // Precisa de tradução
|
"Change rubric criterion title" // Precisa de tradução
|
||||||
#elif L==10 // tr
|
#elif L==10 // tr
|
||||||
"Change rubric criterion title" // Çeviri lazim!
|
"Change rubric criterion title" // Çeviri lazim!
|
||||||
|
#endif
|
||||||
|
,
|
||||||
|
[ActChgSrcRubCri] =
|
||||||
|
#if L==1 // ca
|
||||||
|
"Change source of rubric criterion" // Necessita traducció
|
||||||
|
#elif L==2 // de
|
||||||
|
"Change source of rubric criterion" // Need Übersetzung
|
||||||
|
#elif L==3 // en
|
||||||
|
"Change source of rubric criterion"
|
||||||
|
#elif L==4 // es
|
||||||
|
"Cambiar fuente de criterio de rúbrica"
|
||||||
|
#elif L==5 // fr
|
||||||
|
"Change source of rubric criterion" // Besoin de traduction
|
||||||
|
#elif L==6 // gn
|
||||||
|
"Cambiar fuente de criterio de rúbrica" // Okoteve traducción
|
||||||
|
#elif L==7 // it
|
||||||
|
"Change source of rubric criterion" // Bisogno di traduzione
|
||||||
|
#elif L==8 // pl
|
||||||
|
"Change source of rubric criterion" // Potrzebujesz tlumaczenie
|
||||||
|
#elif L==9 // pt
|
||||||
|
"Change source of rubric criterion" // Precisa de tradução
|
||||||
|
#elif L==10 // tr
|
||||||
|
"Change source of rubric criterion" // Çeviri lazim!
|
||||||
#endif
|
#endif
|
||||||
,
|
,
|
||||||
[ActChgMinRubCri] =
|
[ActChgMinRubCri] =
|
||||||
|
|
Loading…
Reference in New Issue