Version20.10.3

This commit is contained in:
acanas 2021-02-07 20:07:00 +01:00
parent cd134a5281
commit 982745ffa2
4 changed files with 30 additions and 28 deletions

View File

@ -553,7 +553,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.10.2 (2021-02-02)"
#define Log_PLATFORM_VERSION "SWAD 20.10.3 (2021-02-07)"
#define CSS_FILE "swad20.8.css"
#define JS_FILE "swad20.6.2.js"
/*
@ -600,8 +600,9 @@ Juan Miguel.
TODO: Fix bug: un profesor editor no puede ver las carpetas de TFG (proyectos) de otros. Debería poder.
TODO: DNI de un estudiante sale erróneamente como ******* en lugar de mostrarse al ver los accesos de un estudiante a la asignatura.
TODO: Reportado por Javier Fernández Baldomero. Un profesor debería poder cambiar la foto de un estudiante confirmado. Sale el icono, pero luego dice ue no hay permiso
TODO: BUG: Cuando un tipo de grupo sólo tiene un grupo, inscribirse es voluntario, el estudiante sólo puede pertenecer a un grupo, y se inscribe en él, debería poder desapuntarse. Ahora no puede.
Version 20.10.3: Feb 07, 2021 Fixed bug when a teacher changes a student's photo. Reported by Javier Fernández Baldomero. (304871 lines)
Version 20.10.2: Feb 02, 2021 Pending password is deleted when used for the first time. (304870 lines)
Version 20.10.1: Jan 28, 2021 Exam print returns to the main tab to avoid bug when the student changes the course. (304864 lines)
Version 20.10: Jan 27, 2021 Exam print is visible just after answering it. (304863 lines)

View File

@ -28,7 +28,7 @@
/** Uncomment one of the following installations of SWAD or create your own **/
/*****************************************************************************/
ls -#define LOCALHOST_UBUNTU // Comment this line if not applicable
#define LOCALHOST_UBUNTU // Comment this line if not applicable
//#define OPENSWAD_ORG // Comment this line if not applicable
//#define SWAD_UGR_ES // Comment this line if not applicable
//#define SWADBERRY_UGR_ES // Comment this line if not applicable

View File

@ -146,7 +146,7 @@ static void Pho_ComputePhotoSize (const struct Pho_DegPhotos *DegPhotos,
/************** Check if I can change the photo of another user **************/
/*****************************************************************************/
bool Pho_ICanChangeOtherUsrPhoto (const struct UsrData *UsrDat)
bool Pho_ICanChangeOtherUsrPhoto (struct UsrData *UsrDat)
{
bool ItsMe = Usr_ItsMe (UsrDat->UsrCod);
@ -158,11 +158,13 @@ bool Pho_ICanChangeOtherUsrPhoto (const struct UsrData *UsrDat)
{
case Rol_TCH:
/* A teacher can change the photo of confirmed students */
if (UsrDat->Roles.InCurrentCrs.Role == Rol_STD && // A student
UsrDat->Accepted) // who accepted registration
return true;
if (UsrDat->Roles.InCurrentCrs.Role != Rol_STD) // Not a student
return false;
return false;
/* It's a student in this course,
check if he/she has accepted registration */
UsrDat->Accepted = Usr_CheckIfUsrHasAcceptedInCurrentCrs (UsrDat);
return UsrDat->Accepted;
case Rol_DEG_ADM:
case Rol_CTR_ADM:
case Rol_INS_ADM:
@ -366,27 +368,26 @@ static void Pho_ReqPhoto (const struct UsrData *UsrDat)
void Pho_SendPhotoUsr (void)
{
bool ItsMe;
/***** Get user whose photo must be sent or removed *****/
if (Usr_GetParamOtherUsrCodEncryptedAndGetUsrData ())
{
if (Pho_ICanChangeOtherUsrPhoto (&Gbl.Usrs.Other.UsrDat)) // If I have permission to change user's photo...
{
Gbl.Usrs.Other.UsrDat.Accepted = Usr_CheckIfUsrHasAcceptedInCurrentCrs (&Gbl.Usrs.Other.UsrDat);
ItsMe = Usr_ItsMe (Gbl.Usrs.Other.UsrDat.UsrCod);
if (ItsMe)
/***** Form to send my photo *****/
Pho_ReqMyPhoto ();
else // Not me
/***** Form to send another user's photo *****/
Pho_ReqOtherUsrPhoto ();
}
else
Ale_ShowAlertUserNotFoundOrYouDoNotHavePermission ();
}
else // User not found
if (!Usr_GetParamOtherUsrCodEncryptedAndGetUsrData ())
{ // User not found
Ale_ShowAlertUserNotFoundOrYouDoNotHavePermission ();
return;
}
/***** Check if I have permission to change user's photo *****/
if (!Pho_ICanChangeOtherUsrPhoto (&Gbl.Usrs.Other.UsrDat))
{
Ale_ShowAlertUserNotFoundOrYouDoNotHavePermission ();
return;
}
if (Usr_ItsMe (Gbl.Usrs.Other.UsrDat.UsrCod))
/***** Form to send my photo *****/
Pho_ReqMyPhoto ();
else // Not me
/***** Form to send another user's photo *****/
Pho_ReqOtherUsrPhoto ();
}
/*****************************************************************************/

View File

@ -93,7 +93,7 @@ struct Pho_DegPhotos
/***************************** Public prototypes *****************************/
/*****************************************************************************/
bool Pho_ICanChangeOtherUsrPhoto (const struct UsrData *UsrDat);
bool Pho_ICanChangeOtherUsrPhoto (struct UsrData *UsrDat);
void Pho_PutIconToChangeUsrPhoto (void);
void Pho_ReqMyPhoto (void);
void Pho_SendPhotoUsr (void);