Version20.3.1

This commit is contained in:
acanas 2020-10-13 13:03:42 +02:00
parent 90cd506f8e
commit 4ff49c5aea
3 changed files with 33 additions and 8 deletions

View File

@ -555,7 +555,7 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
En OpenSWAD:
ps2pdf source.ps destination.pdf
*/
#define Log_PLATFORM_VERSION "SWAD 20.2.2 (2020-09-27)"
#define Log_PLATFORM_VERSION "SWAD 20.3.1 (2020-10-13)"
#define CSS_FILE "swad20.1.1.css"
#define JS_FILE "swad19.254.js"
/*
@ -573,9 +573,15 @@ TODO: Que al generar un examen s
TODO: Create module swad_test_result
"sudo apt install webp" en Ubuntu, y "yum install libwebp libwebp-tools" en CentOS, para decodificar imágenes Web/ug reportado por Javier Fernández Baldomero.
TODO: JJ: Hoy me ha saltado una "alarma" en swad cuando había asignado un proyecto a un estudiante, pero no había puesto que estaba asignado. ¿No sería conveniente que si se asigna a un estudiante se ponga automáticamente que está asignado?
Respuesta: Tienes razón. La explicación de por qué no lo hice así seguramente es que antes, en vez de "Asignado" se indicaba "Preasignado", y no cambiando automáticamente a "", los ofertados quedaban marcados como no preasignados incluso después de que se añadiera al estudiante al que se le "postasigna". Pero ahora "Asignado" se usa tanto para los preasignados como para los "postasignados", con lo cual sería conveniente que se activara el "" automáticamente para evitar el aviso de error (triángulo amarillo). Lo anoto y lo corrijo en cuanto pueda.
TODO: En los resultados de una partida, cuando la pregunta ha sido modificada, no calcular ni mostrar la puntuación de esa pregunta.
Por ejemplo una pregunta podria haber sido bien contestada con 1 punto, y se muestra en esa pregunta modificada aparece 0 en rojo.
TODO: Poder editar las partidas, al menos el título, y si es posible, también los grupos.
Version 20.3.1: Oct 13, 2020 Code refactoring in file browser. (? lines)
Version 20.3: Sep 30, 2020 Non-editing teachers can list questions in a game. (304528 lines)
Version 20.2.2: Sep 27, 2020 Fixed bug in exam. (304448 lines)
Version 20.2.1: Sep 27, 2020 Fixed bug in exam, reported by Nuria Torres Rosell. (304442 lines)

View File

@ -1254,6 +1254,8 @@ static const unsigned long long Brw_MAX_QUOTA_BRIEF[Rol_NUM_ROLES] = // MaxRole
/***************************** Private variables *****************************/
/*****************************************************************************/
bool Brw_ICanEditFileOrFolder; // Can I modify (remove, rename, create inside, etc.) a file or folder?
/*****************************************************************************/
/**************************** Private prototypes *****************************/
/*****************************************************************************/
@ -1427,7 +1429,11 @@ static void Brw_RenameOneFolderInDB (const char OldPath[PATH_MAX + 1],
const char NewPath[PATH_MAX + 1]);
static void Brw_RenameChildrenFilesOrFoldersInDB (const char OldPath[PATH_MAX + 1],
const char NewPath[PATH_MAX + 1]);
static void Brw_SetIfICanEditFileOrFolder (bool Value);
static bool Brw_GetIfICanEditFileOrFolder (void);
static bool Brw_CheckIfICanEditFileOrFolder (unsigned Level);
static bool Brw_CheckIfICanCreateIntoFolder (unsigned Level);
static bool Brw_CheckIfICanModifySharedFileOrFolder (void);
static bool Brw_CheckIfICanModifyPrivateFileOrFolder (void);
@ -5604,7 +5610,7 @@ static bool Brw_WriteRowFileBrowser (unsigned Level,const char *RowId,
}
/****** If current action allows file administration... ******/
Gbl.FileBrowser.ICanEditFileOrFolder = false;
Brw_SetIfICanEditFileOrFolder (false);
if (Brw_FileBrowserIsEditable[Gbl.FileBrowser.Type] &&
!Gbl.FileBrowser.ShowOnlyPublicFiles)
{
@ -5612,11 +5618,12 @@ static bool Brw_WriteRowFileBrowser (unsigned Level,const char *RowId,
Level != 0) // Never copy root folder
// If path in the clipboard is equal to complete path in tree...
// ...or is the start of complete path in tree...
if (Str_Path1BeginsByPath2 (Gbl.FileBrowser.FilFolLnk.Full,Gbl.FileBrowser.Clipboard.FilFolLnk.Full))
if (Str_Path1BeginsByPath2 (Gbl.FileBrowser.FilFolLnk.Full,
Gbl.FileBrowser.Clipboard.FilFolLnk.Full))
Gbl.FileBrowser.Clipboard.IsThisFile = true;
/* Check if I can modify (remove, rename, etc.) this file or folder */
Gbl.FileBrowser.ICanEditFileOrFolder = Brw_CheckIfICanEditFileOrFolder (Level);
Brw_SetIfICanEditFileOrFolder (Brw_CheckIfICanEditFileOrFolder (Level));
/* Icon to remove folder, file or link */
Brw_PutIconRemove ();
@ -5782,7 +5789,7 @@ static void Brw_PutIconRemove (void)
{
HTM_TD_Begin ("class=\"BM%u\"",Gbl.RowEvenOdd);
if (Gbl.FileBrowser.ICanEditFileOrFolder) // Can I remove this?
if (Brw_GetIfICanEditFileOrFolder ()) // Can I remove this?
switch (Gbl.FileBrowser.FilFolLnk.Type)
{
case Brw_IS_FILE:
@ -6269,6 +6276,7 @@ static void Brw_WriteFileName (unsigned Level,bool IsPublic)
extern const char *Txt_Check_marks_in_the_file;
extern const char *Txt_Download;
extern const char *Txt_Public_open_educational_resource_OER_for_everyone;
bool ICanEditFileOrFolder;
char FileNameToShow[NAME_MAX + 1];
char *Class;
@ -6282,6 +6290,8 @@ static void Brw_WriteFileName (unsigned Level,bool IsPublic)
/***** Name and link of the folder, file or link *****/
if (Gbl.FileBrowser.FilFolLnk.Type == Brw_IS_FOLDER)
{
ICanEditFileOrFolder = Brw_GetIfICanEditFileOrFolder ();
/***** Start cell *****/
if (Gbl.FileBrowser.Clipboard.IsThisFile)
HTM_TD_Begin ("class=\"%s LM LIGHT_GREEN\" style=\"width:99%%;\"",
@ -6293,7 +6303,7 @@ static void Brw_WriteFileName (unsigned Level,bool IsPublic)
HTM_DIV_Begin ("class=\"FILENAME\"");
/***** Form to rename folder *****/
if (Gbl.FileBrowser.ICanEditFileOrFolder) // Can I rename this folder?
if (ICanEditFileOrFolder) // Can I rename this folder?
{
Frm_StartForm (Brw_ActRenameFolder[Gbl.FileBrowser.Type]);
Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk);
@ -6301,7 +6311,7 @@ static void Brw_WriteFileName (unsigned Level,bool IsPublic)
/***** Write name of the folder *****/
HTM_NBSP ();
if (Gbl.FileBrowser.ICanEditFileOrFolder) // Can I rename this folder?
if (ICanEditFileOrFolder) // Can I rename this folder?
{
HTM_INPUT_TEXT ("NewFolderName",Brw_MAX_CHARS_FOLDER,Gbl.FileBrowser.FilFolLnk.Name,
HTM_SUBMIT_ON_CHANGE,
@ -11305,6 +11315,16 @@ static void Brw_RenameChildrenFilesOrFoldersInDB (const char OldPath[PATH_MAX +
/********** Check if I have permission to modify a file or folder ************/
/*****************************************************************************/
static void Brw_SetIfICanEditFileOrFolder (bool Value)
{
Brw_ICanEditFileOrFolder = Value;
}
static bool Brw_GetIfICanEditFileOrFolder (void)
{
return Brw_ICanEditFileOrFolder;
}
static bool Brw_CheckIfICanEditFileOrFolder (unsigned Level)
{
/***** Level 0 (root folder) can not be removed/renamed *****/

View File

@ -407,7 +407,6 @@ struct Globals
char NewFilFolLnkName[NAME_MAX + 1];
struct FilFolLnk FilFolLnk;
unsigned Level;
bool ICanEditFileOrFolder; // Can I modify (remove, rename, create inside, etc.) a file or folder?
Brw_IconViewEdit_t IconViewEdit;
struct
{