Version18.114.3

This commit is contained in:
Antonio Cañas Vargas 2019-04-18 11:10:39 +02:00
parent 1b4e4f6a9c
commit e294717aac
2 changed files with 18 additions and 16 deletions

View File

@ -432,9 +432,7 @@ Lo de mutear anuncios, en principio prefiero hacer una opci
// TODO: Ver cómo recibir un fichero desde el cliente (SWADroid) en gsoap
// TODO: Pedro Villar Castro:
// Bloquear individualmente la edición con una casilla de configuración para cada TFG, sólo el profesor de la asignatura (Perico) podría bloquear/desbloquear
// Que haya una opción general que los bloquee todos y que los desbloquee todos
// Para bloquear/desbloquear se usará un icono candado
/*****************************************************************************/
/****************************** Public constants *****************************/
@ -455,10 +453,11 @@ En OpenSWAD:
ps2pdf source.ps destination.pdf
*/
#define Log_PLATFORM_VERSION "SWAD 18.114.2 (2019-04-18)"
#define Log_PLATFORM_VERSION "SWAD 18.114.3 (2019-04-18)"
#define CSS_FILE "swad18.112.1.css"
#define JS_FILE "swad18.114.js"
/*
Version 18.114.3: Apr 18, 2019 Locked edition of a project. (243025 lines)
Version 18.114.2: Apr 18, 2019 Icons to inform about locked/unlocked project edition. (243023 lines)
Version 18.114.1: Apr 18, 2019 Changes in translation of title related to project locking/unlocking. (243024 lines)
Version 18.114: Apr 17, 2019 Project locking/unlocking is made via AJAX. (243023 lines)

View File

@ -184,7 +184,7 @@ static void Prj_GetParamPrjOrder (void);
static void Prj_PutFormsToRemEditOnePrj (const struct Project *Prj,
bool ICanViewProjectFiles);
static bool Prj_CheckIfICanEditProject (long PrjCod);
static bool Prj_CheckIfICanEditProject (const struct Project *Prj);
static bool Prj_CheckIfICanLockProject (void);
static void Prj_FormLockUnlock (const struct Project *Prj);
static void Prj_PutIconOffLockedUnlocked (const struct Project *Prj);
@ -2061,7 +2061,7 @@ static void Prj_ReqRemUsrFromPrj (Prj_RoleInProject_t RoleInProject)
/***** Get user to be removed *****/
if (Usr_GetParamOtherUsrCodEncryptedAndGetUsrData ())
{
if (Prj_CheckIfICanEditProject (Prj.PrjCod))
if (Prj_CheckIfICanEditProject (&Prj))
{
ItsMe = Usr_ItsMe (Gbl.Usrs.Other.UsrDat.UsrCod);
@ -2141,7 +2141,7 @@ static void Prj_RemUsrFromPrj (Prj_RoleInProject_t RoleInProject)
/***** Get user to be removed *****/
if (Usr_GetParamOtherUsrCodEncryptedAndGetUsrData ())
{
if (Prj_CheckIfICanEditProject (Prj.PrjCod))
if (Prj_CheckIfICanEditProject (&Prj))
{
/***** Remove user from the table of project-users *****/
DB_QueryDELETE ("can not remove a user from a project",
@ -2207,7 +2207,7 @@ static void Prj_PutFormsToRemEditOnePrj (const struct Project *Prj,
{
Gbl.Prjs.PrjCod = Prj->PrjCod; // Used as parameter in contextual links
if (Prj_CheckIfICanEditProject (Prj->PrjCod))
if (Prj_CheckIfICanEditProject (Prj))
{
/***** Put form to remove project *****/
Ico_PutContextualIconToRemove (ActReqRemPrj,Prj_PutCurrentParams);
@ -2270,12 +2270,15 @@ bool Prj_CheckIfICanViewProjectFiles (unsigned MyRolesInProject)
/************************ Can I edit a given project? ************************/
/*****************************************************************************/
static bool Prj_CheckIfICanEditProject (long PrjCod)
static bool Prj_CheckIfICanEditProject (const struct Project *Prj)
{
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_NET:
return ((Prj_GetMyRolesInProject (PrjCod) & (1 << Prj_ROLE_TUT)) != 0); // Am I tutor?
if (Prj->Locked == Prj_LOCKED) // Locked edition
return false;
return (Prj_GetMyRolesInProject (Prj->PrjCod) &
(1 << Prj_ROLE_TUT)) != 0; // Am I a tutor?
case Rol_TCH:
case Rol_SYS_ADM:
return true;
@ -2781,7 +2784,7 @@ void Prj_ReqRemProject (void)
/***** Get data of the project from database *****/
Prj_GetDataOfProjectByCod (&Prj);
if (Prj_CheckIfICanEditProject (Prj.PrjCod))
if (Prj_CheckIfICanEditProject (&Prj))
{
/***** Show question and button to remove the project *****/
Gbl.Prjs.PrjCod = Prj.PrjCod;
@ -2821,7 +2824,7 @@ void Prj_RemoveProject (void)
/***** Get data of the project from database *****/
Prj_GetDataOfProjectByCod (&Prj); // Inside this function, the course is checked to be the current one
if (Prj_CheckIfICanEditProject (Prj.PrjCod))
if (Prj_CheckIfICanEditProject (&Prj))
{
/***** Remove users in project *****/
DB_QueryDELETE ("can not remove project",
@ -2883,7 +2886,7 @@ void Prj_HideProject (void)
/***** Get data of the project from database *****/
Prj_GetDataOfProjectByCod (&Prj);
if (Prj_CheckIfICanEditProject (Prj.PrjCod))
if (Prj_CheckIfICanEditProject (&Prj))
{
/***** Hide project *****/
DB_QueryUPDATE ("can not hide project",
@ -2925,7 +2928,7 @@ void Prj_ShowProject (void)
/***** Get data of the project from database *****/
Prj_GetDataOfProjectByCod (&Prj);
if (Prj_CheckIfICanEditProject (Prj.PrjCod))
if (Prj_CheckIfICanEditProject (&Prj))
{
/***** Show project *****/
DB_QueryUPDATE ("can not show project",
@ -2966,7 +2969,7 @@ void Prj_LockProjectEdition (void)
/***** Get data of the project from database *****/
Prj_GetDataOfProjectByCod (&Prj);
if (Prj_CheckIfICanEditProject (Prj.PrjCod))
if (Prj_CheckIfICanEditProject (&Prj))
{
/***** Lock project edition *****/
DB_QueryUPDATE ("can not lock project edition",
@ -3007,7 +3010,7 @@ void Prj_UnlockProjectEdition (void)
/***** Get data of the project from database *****/
Prj_GetDataOfProjectByCod (&Prj);
if (Prj_CheckIfICanEditProject (Prj.PrjCod))
if (Prj_CheckIfICanEditProject (&Prj))
{
/***** Unlock project edition *****/
DB_QueryUPDATE ("can not unlock project edition",
@ -3382,7 +3385,7 @@ void Prj_RecFormProject (void)
/* Get data of the project from database */
Prj_GetDataOfProjectByCod (&Prj);
ICanEditProject = Prj_CheckIfICanEditProject (Prj.PrjCod);
ICanEditProject = Prj_CheckIfICanEditProject (&Prj);
}
if (ICanEditProject)