mirror of https://github.com/acanas/swad-core.git
Version 22.104.1: May 04, 2023 Rubrics in project. Code refactoring in file browsers.
This commit is contained in:
parent
e4489b85ca
commit
6a92148fa5
|
@ -1344,7 +1344,7 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
|
|||
[ActReqDatBrf ] = {1047,-1,TabUnk,ActAdmBrf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ShowFileMetadata ,NULL},
|
||||
[ActChgDatBrf ] = {1048,-1,TabUnk,ActAdmBrf ,0x3F8,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,0x3C4,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ChgFileMetadata ,NULL},
|
||||
[ActDowBrf ] = {1123,-1,TabUnk,ActAdmBrf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_DOWNLD_FILE,Brw_DownloadFile ,NULL ,NULL},
|
||||
[ActReqRemOldBrf ] = {1488,-1,TabUnk,ActAdmBrf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_AskRemoveOldFiles ,NULL},
|
||||
[ActReqRemOldBrf ] = {1488,-1,TabUnk,ActAdmBrf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_AskRemoveOldFilesBriefcase ,NULL},
|
||||
[ActRemOldBrf ] = {1489,-1,TabUnk,ActAdmBrf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_RemoveOldFilesBriefcase ,NULL},
|
||||
|
||||
// TabUsr ******************************************************************
|
||||
|
|
|
@ -1065,7 +1065,6 @@ static void Brw_SetPathFileBrowser (void);
|
|||
static void Brw_CreateFoldersAssignmentsIfNotExist (long ZoneUsrCod);
|
||||
|
||||
static void Brw_AskEditWorksCrsInternal (__attribute__((unused)) void *Args);
|
||||
static void Brw_ShowFileBrowserNormal (void);
|
||||
static void Brw_ShowFileBrowsersAsgWrkCrs (void);
|
||||
static void Brw_ShowFileBrowsersAsgWrkUsr (void);
|
||||
|
||||
|
@ -1735,6 +1734,7 @@ void Brw_GetParAndInitFileBrowser (void)
|
|||
case ActReqDatAssPrj:
|
||||
case ActChgDatAssPrj:
|
||||
case ActDowAssPrj:
|
||||
case ActChgPrjSco:
|
||||
Gbl.FileBrowser.Type = Brw_ADMI_ASS_PRJ;
|
||||
break;
|
||||
|
||||
|
@ -2696,13 +2696,16 @@ static void Brw_AskEditWorksCrsInternal (__attribute__((unused)) void *Args)
|
|||
/*********** Show normal file browser (not for assignments-works) ************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Brw_ShowFileBrowserNormal (void)
|
||||
void Brw_ShowFileBrowserNormal (void)
|
||||
{
|
||||
/***** Write top before showing file browser *****/
|
||||
Brw_WriteTopBeforeShowingFileBrowser ();
|
||||
|
||||
/****** Show the file browser *****/
|
||||
Brw_ShowFileBrowser ();
|
||||
|
||||
/***** Put legal notice *****/
|
||||
Brw_PutLegalNotice ();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -2792,6 +2795,9 @@ static void Brw_ShowFileBrowsersAsgWrkCrs (void)
|
|||
|
||||
/***** End table and box *****/
|
||||
Box_BoxTableEnd ();
|
||||
|
||||
/***** Put legal notice *****/
|
||||
Brw_PutLegalNotice ();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -2812,6 +2818,23 @@ static void Brw_ShowFileBrowsersAsgWrkUsr (void)
|
|||
Gbl.FileBrowser.Type = Brw_ADMI_WRK_USR;
|
||||
Brw_InitializeFileBrowser ();
|
||||
Brw_ShowFileBrowser ();
|
||||
|
||||
/***** Put legal notice *****/
|
||||
Brw_PutLegalNotice ();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/******************** Put legal notice about files hosted ********************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Brw_PutLegalNotice (void)
|
||||
{
|
||||
extern const char *Txt_Disclaimer_the_files_hosted_here_;
|
||||
|
||||
/***** Legal notice *****/
|
||||
Ale_ShowAlert (Ale_INFO,Txt_Disclaimer_the_files_hosted_here_,
|
||||
Cfg_PLATFORM_SHORT_NAME,
|
||||
Cfg_PLATFORM_RESPONSIBLE_EMAIL);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -3035,9 +3058,6 @@ static void Brw_ShowFileBrowserOrWorksInternal (__attribute__((unused)) void *Ar
|
|||
|
||||
void Brw_ShowAgainFileBrowserOrWorks (void)
|
||||
{
|
||||
extern const char *Txt_Files_of_marks_must_contain_a_table_in_HTML_format_;
|
||||
extern const char *Txt_Disclaimer_the_files_hosted_here_;
|
||||
|
||||
if (Brw_GetIfUsrAssigWorksFileBrowser ())
|
||||
Brw_ShowFileBrowsersAsgWrkUsr ();
|
||||
else if (Brw_GetIfCrsAssigWorksFileBrowser ())
|
||||
|
@ -3046,22 +3066,6 @@ void Brw_ShowAgainFileBrowserOrWorks (void)
|
|||
Prj_ShowOneProject ();
|
||||
else
|
||||
Brw_ShowFileBrowserNormal ();
|
||||
|
||||
/***** Help *****/
|
||||
switch (Gbl.FileBrowser.Type)
|
||||
{
|
||||
case Brw_ADMI_MRK_CRS:
|
||||
case Brw_ADMI_MRK_GRP:
|
||||
Ale_ShowAlert (Ale_INFO,Txt_Files_of_marks_must_contain_a_table_in_HTML_format_);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
/***** Legal notice *****/
|
||||
Ale_ShowAlert (Ale_INFO,Txt_Disclaimer_the_files_hosted_here_,
|
||||
Cfg_PLATFORM_SHORT_NAME,
|
||||
Cfg_PLATFORM_RESPONSIBLE_EMAIL);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -3096,6 +3100,7 @@ static void Brw_ShowFileBrowser (void)
|
|||
extern const char *Txt_Temporary_private_storage_area;
|
||||
extern const char *Txt_Project_documents;
|
||||
extern const char *Txt_Project_assessment;
|
||||
extern const char *Txt_Files_of_marks_must_contain_a_table_in_HTML_format_;
|
||||
|
||||
static const char **Brw_TitleOfFileBrowser[Brw_NUM_TYPES_FILE_BROWSER] =
|
||||
{
|
||||
|
@ -3272,6 +3277,17 @@ static void Brw_ShowFileBrowser (void)
|
|||
Box_BoxEnd ();
|
||||
|
||||
HTM_SECTION_End ();
|
||||
|
||||
/***** Help *****/
|
||||
switch (Gbl.FileBrowser.Type)
|
||||
{
|
||||
case Brw_ADMI_MRK_CRS:
|
||||
case Brw_ADMI_MRK_GRP:
|
||||
Ale_ShowAlert (Ale_INFO,Txt_Files_of_marks_must_contain_a_table_in_HTML_format_);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -7371,7 +7387,7 @@ void Brw_SetDocumentAsVisible (void)
|
|||
Gbl.Usrs.Other.UsrDat.UsrCod);
|
||||
|
||||
/***** Show again the file browser *****/
|
||||
Brw_ShowAgainFileBrowserOrWorks ();
|
||||
Brw_ShowFileBrowserNormal ();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -7395,7 +7411,7 @@ void Brw_SetDocumentAsHidden (void)
|
|||
Gbl.Usrs.Other.UsrDat.UsrCod);
|
||||
|
||||
/***** Show again the file browser *****/
|
||||
Brw_ShowAgainFileBrowserOrWorks ();
|
||||
Brw_ShowFileBrowserNormal ();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -9696,7 +9712,7 @@ static void Brw_PutLinkToAskRemOldFiles (void)
|
|||
/************** Write a form fo confirm removing of old files ****************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Brw_AskRemoveOldFiles (void)
|
||||
void Brw_AskRemoveOldFilesBriefcase (void)
|
||||
{
|
||||
extern const char *Txt_Remove_old_files;
|
||||
extern const char *Txt_Remove_files_older_than_PART_1_OF_2;
|
||||
|
@ -9781,7 +9797,7 @@ void Brw_RemoveOldFilesBriefcase (void)
|
|||
}
|
||||
|
||||
/***** Show again the file browser *****/
|
||||
Brw_ShowAgainFileBrowserOrWorks ();
|
||||
Brw_ShowFileBrowserNormal ();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -198,8 +198,11 @@ void Brw_CreateDirDownloadTmp (void);
|
|||
|
||||
void Brw_AskEditWorksCrs (void);
|
||||
|
||||
void Brw_ShowFileBrowserNormal (void);
|
||||
void Brw_ShowFileBrowserProject (long PrjCod);
|
||||
|
||||
void Brw_PutLegalNotice (void);
|
||||
|
||||
void Brw_AskRemFileFromTree (void);
|
||||
void Brw_RemFileFromTree (void);
|
||||
void Brw_RemFolderFromTree (void);
|
||||
|
@ -269,7 +272,7 @@ void Brw_GetSummaryAndContentOfFile (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
|
|||
void Brw_ListDocsFound (MYSQL_RES **mysql_res,unsigned NumDocs,
|
||||
const char *TitleSingular,const char *TitlePlural);
|
||||
|
||||
void Brw_AskRemoveOldFiles (void);
|
||||
void Brw_AskRemoveOldFilesBriefcase (void);
|
||||
void Brw_RemoveOldFilesBriefcase (void);
|
||||
|
||||
Act_Action_t Brw_GetActionExpand (void);
|
||||
|
|
|
@ -71,7 +71,7 @@ void BrwRsc_GetLinkToDocFil (void)
|
|||
Txt_Documents);
|
||||
|
||||
/***** Show again the file browser *****/
|
||||
Brw_ShowAgainFileBrowserOrWorks ();
|
||||
Brw_ShowFileBrowserNormal ();
|
||||
}
|
||||
|
||||
void BrwRsc_GetLinkToMrkFil (void)
|
||||
|
@ -99,7 +99,7 @@ void BrwRsc_GetLinkToMrkFil (void)
|
|||
Txt_Marks_area);
|
||||
|
||||
/***** Show again the file browser *****/
|
||||
Brw_ShowAgainFileBrowserOrWorks ();
|
||||
Brw_ShowFileBrowserNormal ();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -629,11 +629,12 @@ 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.
|
||||
|
||||
*/
|
||||
#define Log_PLATFORM_VERSION "SWAD 22.104 (2023-05-03)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 22.104.1 (2023-05-04)"
|
||||
#define CSS_FILE "swad22.103.css"
|
||||
#define JS_FILE "swad22.49.js"
|
||||
/*
|
||||
Version 22.104: May 03, 2023 Rubrics in project. Not finished. (? lines)
|
||||
Version 22.104.1: May 04, 2023 Rubrics in project. Code refactoring in file browsers. (338014 lines)
|
||||
Version 22.104: May 03, 2023 Rubrics in project. Not finished. (338000 lines)
|
||||
3 changes necessary in database:
|
||||
CREATE TABLE IF NOT EXISTS prj_rubrics (CrsCod INT NOT NULL,Type ENUM('tut','evl','gbl') NOT NULL,RubCod INT NOT NULL,UNIQUE INDEX(CrsCod,Type,RubCod));
|
||||
CREATE TABLE IF NOT EXISTS prj_scores (PrjCod INT NOT NULL,CriCod INT NOT NULL,Score DOUBLE PRECISION NOT NULL DEFAULT 0,UNIQUE INDEX(PrjCod,CriCod));
|
||||
|
|
|
@ -216,7 +216,7 @@ static void Mrk_ChangeNumRowsHeaderOrFooter (Brw_HeadOrFoot_t HeaderOrFooter)
|
|||
Err_WrongNumberOfRowsExit ();
|
||||
|
||||
/***** Show again the file browser *****/
|
||||
Brw_ShowAgainFileBrowserOrWorks ();
|
||||
Brw_ShowFileBrowserNormal ();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -1324,6 +1324,9 @@ void Prj_ShowOneProject (void)
|
|||
Prj_ShowBoxWithOneProject (&Projects);
|
||||
Prj_FreeMemProject (&Projects.Prj);
|
||||
|
||||
/***** Put legal notice *****/
|
||||
Brw_PutLegalNotice ();
|
||||
|
||||
/***** Show projects again *****/
|
||||
Prj_ShowProjects (&Projects);
|
||||
}
|
||||
|
@ -4581,26 +4584,22 @@ static bool Prj_CheckIfICanFillRubric (long PrjCod,PrjCfg_Rubric_t WhichRubric)
|
|||
|
||||
void Prj_ChangeCriterionScore (void)
|
||||
{
|
||||
struct Prj_Projects Projects;
|
||||
struct Prj_Project Prj;
|
||||
long CriCod;
|
||||
double Score;
|
||||
long RubCod;
|
||||
PrjCfg_Rubric_t WhichRubric;
|
||||
|
||||
/***** Reset projects *****/
|
||||
Prj_ResetPrjsAndReadConfig (&Projects);
|
||||
|
||||
/***** Allocate memory for the project *****/
|
||||
Prj_AllocMemProject (&Projects.Prj);
|
||||
Prj_AllocMemProject (&Prj);
|
||||
|
||||
/***** Get parameters *****/
|
||||
Prj_GetPars (&Projects);
|
||||
Projects.Prj.PrjCod = ParCod_GetAndCheckPar (ParCod_Prj);
|
||||
Prj.PrjCod = ParCod_GetAndCheckPar (ParCod_Prj);
|
||||
CriCod = ParCod_GetAndCheckPar (ParCod_Cri);
|
||||
Score = RubCri_GetParScore ();
|
||||
|
||||
/***** Get data of the project from database *****/
|
||||
Prj_GetProjectDataByCod (&Projects.Prj);
|
||||
Prj_GetProjectDataByCod (&Prj);
|
||||
|
||||
/***** Get which rubric match this criterion *****/
|
||||
if ((RubCod = Rub_DB_GetRubCodFromCriCod (CriCod)) <= 0)
|
||||
|
@ -4609,16 +4608,18 @@ void Prj_ChangeCriterionScore (void)
|
|||
Err_WrongRubricExit ();
|
||||
|
||||
/***** Update review *****/
|
||||
if (Prj_CheckIfICanFillRubric (Projects.Prj.PrjCod,WhichRubric))
|
||||
Prj_DB_UpdateScore (Projects.Prj.PrjCod,CriCod,Score);
|
||||
if (Prj_CheckIfICanFillRubric (Prj.PrjCod,WhichRubric))
|
||||
Prj_DB_UpdateScore (Prj.PrjCod,CriCod,Score);
|
||||
else
|
||||
Err_NoPermission ();
|
||||
|
||||
/***** Free memory of the project *****/
|
||||
Prj_FreeMemProject (&Projects.Prj);
|
||||
Prj_FreeMemProject (&Prj);
|
||||
|
||||
/***** Show projects again *****/
|
||||
Prj_ShowProjects (&Projects);
|
||||
/***** Get parameters related to file browser
|
||||
and show again project including file browser *****/
|
||||
Brw_GetParAndInitFileBrowser ();
|
||||
Prj_ShowOneProject ();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -233,14 +233,12 @@ void Prj_DB_UpdateReview (const struct Prj_Project *Prj)
|
|||
void Prj_DB_UpdateScore (long PrjCod,long CriCod,double Score)
|
||||
{
|
||||
Str_SetDecimalPointToUS (); // To write the decimal point as a dot
|
||||
DB_QueryUPDATE ("can not update score",
|
||||
"UPDATE prj_scores"
|
||||
" SET Score=%.15lg"
|
||||
" WHERE PrjCod=%ld"
|
||||
" AND CriCod=%ld",
|
||||
Score,
|
||||
PrjCod,
|
||||
CriCod);
|
||||
DB_QueryREPLACE ("can not save score",
|
||||
"REPLACE INTO prj_scores"
|
||||
" (PrjCod,CriCod,Score)"
|
||||
" VALUES"
|
||||
" (%ld,%ld,%.15lg)",
|
||||
PrjCod,CriCod,Score);
|
||||
Str_SetDecimalPointToLocal (); // Return to local system
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue