diff --git a/swad_API.c b/swad_API.c
index c1c0398cc..1308a46e8 100644
--- a/swad_API.c
+++ b/swad_API.c
@@ -264,7 +264,7 @@ static void API_CopyListUsers (struct soap *soap,
struct swad__getUsersOutput *getUsersOut);
static void API_CopyUsrData (struct soap *soap,
struct swad__user *Usr,struct Usr_Data *UsrDat,
- Usr_ICan_t ICanSeeUsrID);
+ Usr_Can_t ICanSeeUsrID);
static void API_GetListGrpsInAttendanceEventFromDB (struct soap *soap,
long AttCod,char **ListGroups);
@@ -1743,7 +1743,7 @@ static void API_CopyListUsers (struct soap *soap,
unsigned NumUsrs;
unsigned NumUsr;
struct Usr_Data UsrDat;
- Usr_ICan_t ICanSeeUsrID;
+ Usr_Can_t ICanSeeUsrID;
/***** Initialize result *****/
getUsersOut->numUsers = 0;
@@ -2191,7 +2191,7 @@ int swad__sendMyGroups (struct soap *soap,
static void API_CopyUsrData (struct soap *soap,
struct swad__user *Usr,struct Usr_Data *UsrDat,
- Usr_ICan_t ICanSeeUsrID)
+ Usr_Can_t ICanSeeUsrID)
{
char PhotoURL[Cns_MAX_BYTES_WWW + 1];
const char *FirstID;
@@ -2206,7 +2206,7 @@ static void API_CopyUsrData (struct soap *soap,
Str_Copy (Usr->userNickname,UsrDat->Nickname,Length);
/* Copy user's first ID */
- if (ICanSeeUsrID == Usr_I_CAN && UsrDat->IDs.List)
+ if (ICanSeeUsrID == Usr_CAN && UsrDat->IDs.List)
FirstID = UsrDat->IDs.List[0].ID;
else // Hide user's ID
FirstID = "********";
@@ -3262,7 +3262,7 @@ int swad__sendMessage (struct soap *soap,
API_CopyUsrData (soap,
&(sendMessageOut->usersArray.__ptr[NumUsr]),
&Gbl.Usrs.Other.UsrDat,
- Usr_I_CAN_NOT);
+ Usr_CAN_NOT);
}
}
}
@@ -4394,7 +4394,7 @@ int swad__getMatchStatus (struct soap *soap,
"Requester must be a student in the course");
/***** Can I play this match? *****/
- if (Mch_CheckIfICanPlayThisMatchBasedOnGrps (&Match) == Usr_I_CAN_NOT)
+ if (Mch_CheckIfICanPlayThisMatchBasedOnGrps (&Match) == Usr_CAN_NOT)
return soap_receiver_fault (soap,
"Request forbidden",
"Requester can not join this match");
@@ -4697,7 +4697,7 @@ int swad__getDirectoryTree (struct soap *soap,
/* Get directory tree into XML file */
XML_WriteStartFile (XML,"tree",false);
- if (Brw_CheckIfFileOrFolderIsSetAsHiddenInDB (Brw_IS_FOLDER,
+ if (Brw_CheckIfFileOrFolderIsHiddenOrVisible (Brw_IS_FOLDER,
Gbl.FileBrowser.FilFolLnk.Full) == HidVis_VISIBLE)
API_ListDir (XML,1,
Gbl.FileBrowser.Path.RootFolder,
@@ -4811,7 +4811,7 @@ static bool API_WriteRowFileBrowser (FILE *XML,unsigned Level,
/***** Is this row hidden or visible? *****/
if (Gbl.FileBrowser.Type == Brw_SHOW_DOC_CRS ||
Gbl.FileBrowser.Type == Brw_SHOW_DOC_GRP)
- if (Brw_CheckIfFileOrFolderIsSetAsHiddenInDB (FileType,
+ if (Brw_CheckIfFileOrFolderIsHiddenOrVisible (FileType,
Gbl.FileBrowser.FilFolLnk.Full) == HidVis_HIDDEN)
return false;
@@ -5263,7 +5263,7 @@ int swad__getLastLocation (struct soap *soap,
*/
switch (Roo_DB_CheckIfICanSeeUsrLocation ((long) userCode))
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Get list of locations *****/
NumLocs = Roo_DB_GetUsrLastLocation (&mysql_res,(long) userCode);
API_GetLocationData (soap,
@@ -5271,7 +5271,7 @@ int swad__getLastLocation (struct soap *soap,
&(getLastLocationOut->checkinTime), // Get check in time
&mysql_res,NumLocs);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
/* I can not see user's location ==> reset output */
API_ResetLocation (soap, &(getLastLocationOut->location));
diff --git a/swad_ID.c b/swad_ID.c
index 4f4fa1fc7..94f3789cb 100644
--- a/swad_ID.c
+++ b/swad_ID.c
@@ -308,12 +308,12 @@ static bool ID_CheckIfUsrIDIsValidUsingMinDigits (const char *UsrID,unsigned Min
void ID_WriteUsrIDs (struct Usr_Data *UsrDat,const char *Anchor)
{
unsigned NumID;
- Usr_ICan_t ICanSeeUsrID = ID_ICanSeeOtherUsrIDs (UsrDat);
- Usr_ICan_t ICanConfirmUsrID = (ICanSeeUsrID == Usr_I_CAN &&
+ Usr_Can_t ICanSeeUsrID = ID_ICanSeeOtherUsrIDs (UsrDat);
+ Usr_Can_t ICanConfirmUsrID = (ICanSeeUsrID == Usr_CAN &&
Usr_ItsMe (UsrDat->UsrCod) == Usr_OTHER && // Not me
!Frm_CheckIfInside () && // Not inside another form
- Act_GetBrowserTab (Gbl.Action.Act) == Act_1ST_TAB) ? Usr_I_CAN : // Only in main browser tab
- Usr_I_CAN_NOT;
+ Act_GetBrowserTab (Gbl.Action.Act) == Act_1ST_TAB) ? Usr_CAN : // Only in main browser tab
+ Usr_CAN_NOT;
for (NumID = 0;
NumID < UsrDat->IDs.Num;
@@ -330,10 +330,10 @@ void ID_WriteUsrIDs (struct Usr_Data *UsrDat,const char *Anchor)
The_GetSuffix ());
switch (ICanSeeUsrID)
{
- case Usr_I_CAN:
+ case Usr_CAN:
HTM_Txt (UsrDat->IDs.List[NumID].ID);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
HTM_Txt ("********");
break;
@@ -341,7 +341,7 @@ void ID_WriteUsrIDs (struct Usr_Data *UsrDat,const char *Anchor)
HTM_SPAN_End ();
/* Put link to confirm ID? */
- if (ICanConfirmUsrID == Usr_I_CAN &&
+ if (ICanConfirmUsrID == Usr_CAN &&
!UsrDat->IDs.List[NumID].Confirmed)
ID_PutLinkToConfirmID (UsrDat,NumID,Anchor);
}
@@ -351,11 +351,11 @@ void ID_WriteUsrIDs (struct Usr_Data *UsrDat,const char *Anchor)
/***************** Check if I can see another user's IDs *********************/
/*****************************************************************************/
-Usr_ICan_t ID_ICanSeeOtherUsrIDs (const struct Usr_Data *UsrDat)
+Usr_Can_t ID_ICanSeeOtherUsrIDs (const struct Usr_Data *UsrDat)
{
/***** Fast check: It's me? *****/
if (Usr_ItsMe (UsrDat->UsrCod) == Usr_ME)
- return Usr_I_CAN;
+ return Usr_CAN;
/***** Check if I have permission to see another user's IDs *****/
switch (Gbl.Usrs.Me.Role.Logged)
@@ -364,12 +364,12 @@ Usr_ICan_t ID_ICanSeeOtherUsrIDs (const struct Usr_Data *UsrDat)
case Rol_TCH:
/* Check 1: I can see the IDs of users who do not exist in database */
if (UsrDat->UsrCod <= 0) // User does not exist (when creating a new user)
- return Usr_I_CAN;
+ return Usr_CAN;
/* Check 2: I can see the IDs of confirmed students */
if (UsrDat->Roles.InCurrentCrs == Rol_STD && // A student
UsrDat->Accepted) // who accepted registration
- return Usr_I_CAN;
+ return Usr_CAN;
/* Check 3: I can see the IDs of users with user's data empty */
// This check is made to not view simultaneously:
@@ -380,16 +380,16 @@ Usr_ICan_t ID_ICanSeeOtherUsrIDs (const struct Usr_Data *UsrDat)
!UsrDat->Surname2[0] && // and who has no surname 2 (nobody filled user's surname 2)
!UsrDat->FrstName[0] && // and who has no first name (nobody filled user's first name)
!UsrDat->Email[0]) // and who has no email (nobody filled user's email)
- return Usr_I_CAN;
+ return Usr_CAN;
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
case Rol_DEG_ADM:
case Rol_CTR_ADM:
case Rol_INS_ADM:
case Rol_SYS_ADM:
return Usr_CheckIfICanEditOtherUsr (UsrDat);
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
}
@@ -700,7 +700,7 @@ void ID_RemoveOtherUsrID (void)
if (Usr_GetParOtherUsrCodEncryptedAndGetUsrData ())
switch (Usr_CheckIfICanEditOtherUsr (&Gbl.Usrs.Other.UsrDat))
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Remove user's ID *****/
ID_RemoveUsrID (&Gbl.Usrs.Other.UsrDat,
Usr_ItsMe (Gbl.Usrs.Other.UsrDat.UsrCod));
@@ -711,7 +711,7 @@ void ID_RemoveOtherUsrID (void)
/***** Show form again *****/
Acc_ShowFormChgOtherUsrAccount ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ale_ShowAlertUserNotFoundOrYouDoNotHavePermission ();
break;
@@ -729,11 +729,11 @@ static void ID_RemoveUsrID (const struct Usr_Data *UsrDat,Usr_MeOrOther_t MeOrOt
extern const char *Txt_ID_X_removed;
extern const char *Txt_You_can_not_delete_this_ID;
char UsrID[ID_MAX_BYTES_USR_ID + 1];
- Usr_ICan_t ICanRemove = Usr_I_CAN_NOT;
+ Usr_Can_t ICanRemove = Usr_CAN_NOT;
switch (Usr_CheckIfICanEditOtherUsr (UsrDat))
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Get user's ID from form *****/
Par_GetParText ("UsrID",UsrID,ID_MAX_BYTES_USR_ID);
// Users' IDs are always stored internally in capitals and without leading zeros
@@ -745,17 +745,17 @@ static void ID_RemoveUsrID (const struct Usr_Data *UsrDat,Usr_MeOrOther_t MeOrOt
{
case Usr_ME:
// I can remove my ID only if it is not confirmed
- ICanRemove = ID_DB_CheckIfConfirmed (UsrDat->UsrCod,UsrID) ? Usr_I_CAN_NOT :
- Usr_I_CAN;
+ ICanRemove = ID_DB_CheckIfConfirmed (UsrDat->UsrCod,UsrID) ? Usr_CAN_NOT :
+ Usr_CAN;
break;
case Usr_OTHER:
- ICanRemove = Usr_I_CAN;
+ ICanRemove = Usr_CAN;
break;
}
switch (ICanRemove)
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Remove one of the user's IDs *****/
ID_DB_RemoveUsrID (UsrDat->UsrCod,UsrID);
@@ -763,14 +763,14 @@ static void ID_RemoveUsrID (const struct Usr_Data *UsrDat,Usr_MeOrOther_t MeOrOt
Ale_CreateAlert (Ale_SUCCESS,ID_ID_SECTION_ID,
Txt_ID_X_removed,UsrID);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ale_CreateAlert (Ale_WARNING,ID_ID_SECTION_ID,
Txt_You_can_not_delete_this_ID);
break;
}
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ale_CreateAlertUserNotFoundOrYouDoNotHavePermission ();
break;
@@ -803,7 +803,7 @@ void ID_ChangeOtherUsrID (void)
if (Usr_GetParOtherUsrCodEncryptedAndGetUsrData ())
switch (Usr_CheckIfICanEditOtherUsr (&Gbl.Usrs.Other.UsrDat))
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Change user's ID *****/
ID_ChangeUsrID (&Gbl.Usrs.Other.UsrDat,
Usr_ItsMe (Gbl.Usrs.Other.UsrDat.UsrCod));
@@ -814,7 +814,7 @@ void ID_ChangeOtherUsrID (void)
/***** Show form again *****/
Acc_ShowFormChgOtherUsrAccount ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ale_ShowAlertUserNotFoundOrYouDoNotHavePermission ();
break;
@@ -841,7 +841,7 @@ static void ID_ChangeUsrID (const struct Usr_Data *UsrDat,Usr_MeOrOther_t MeOrOt
switch (Usr_CheckIfICanEditOtherUsr (UsrDat))
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Get new user's ID from form *****/
Par_GetParText ("NewID",NewID,ID_MAX_BYTES_USR_ID);
// Users' IDs are always stored internally in capitals and without leading zeros
@@ -897,7 +897,7 @@ static void ID_ChangeUsrID (const struct Usr_Data *UsrDat,Usr_MeOrOther_t MeOrOt
Txt_The_ID_X_is_not_valid,
NewID);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ale_CreateAlertUserNotFoundOrYouDoNotHavePermission ();
break;
@@ -913,7 +913,7 @@ void ID_ConfirmOtherUsrID (void)
extern const char *Txt_ID_X_had_already_been_confirmed;
extern const char *Txt_The_ID_X_has_been_confirmed;
char UsrID[ID_MAX_BYTES_USR_ID + 1];
- Usr_ICan_t ICanConfirm;
+ Usr_Can_t ICanConfirm;
bool Found;
unsigned NumID;
unsigned NumIDFound = 0; // Initialized to avoid warning
@@ -922,7 +922,7 @@ void ID_ConfirmOtherUsrID (void)
Gbl.Action.Original = Act_GetActionFromActCod (ParCod_GetPar (ParCod_OrgAct));
/***** Get other user's code from form and get user's data *****/
- ICanConfirm = Usr_I_CAN_NOT;
+ ICanConfirm = Usr_CAN_NOT;
if (Usr_GetParOtherUsrCodEncryptedAndGetUsrData ())
if (Usr_ItsMe (Gbl.Usrs.Other.UsrDat.UsrCod) == Usr_OTHER) // Not me
{
@@ -932,13 +932,13 @@ void ID_ConfirmOtherUsrID (void)
if (Gbl.Usrs.Other.UsrDat.Roles.InCurrentCrs == Rol_STD)
Gbl.Usrs.Other.UsrDat.Accepted = Enr_CheckIfUsrHasAcceptedInCurrentCrs (&Gbl.Usrs.Other.UsrDat);
- if (ID_ICanSeeOtherUsrIDs (&Gbl.Usrs.Other.UsrDat) == Usr_I_CAN)
- ICanConfirm = Usr_I_CAN;
+ if (ID_ICanSeeOtherUsrIDs (&Gbl.Usrs.Other.UsrDat) == Usr_CAN)
+ ICanConfirm = Usr_CAN;
}
switch (ICanConfirm)
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Get user's ID from form *****/
Par_GetParText ("UsrID",UsrID,ID_MAX_BYTES_USR_ID);
// Users' IDs are always stored internally in capitals and without leading zeros
@@ -977,7 +977,7 @@ void ID_ConfirmOtherUsrID (void)
else // User's ID not found
Ale_CreateAlertUserNotFoundOrYouDoNotHavePermission ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ale_CreateAlertUserNotFoundOrYouDoNotHavePermission ();
break;
diff --git a/swad_ID.h b/swad_ID.h
index 816b6c4a8..1d2867d5b 100644
--- a/swad_ID.h
+++ b/swad_ID.h
@@ -70,7 +70,7 @@ bool ID_CheckIfUsrIDIsValid (const char *UsrID);
bool ID_CheckIfUsrIDSeemsAValidID (const char *UsrID);
void ID_WriteUsrIDs (struct Usr_Data *UsrDat,const char *Anchor);
-Usr_ICan_t ID_ICanSeeOtherUsrIDs (const struct Usr_Data *UsrDat);
+Usr_Can_t ID_ICanSeeOtherUsrIDs (const struct Usr_Data *UsrDat);
void ID_ShowFormChangeMyID (bool IShouldFillInID);
void ID_ShowFormChangeOtherUsrID (void);
diff --git a/swad_MFU.c b/swad_MFU.c
index ac640af58..c3471ff05 100644
--- a/swad_MFU.c
+++ b/swad_MFU.c
@@ -112,7 +112,7 @@ void MFU_GetMFUActions (struct MFU_ListMFUActions *ListMFUActions,unsigned MaxAc
ActCod = DB_GetNextCode (mysql_res);
if ((Action = Act_GetActionFromActCod (ActCod)) != ActUnk)
if (Act_GetIndexInMenu (Action) >= 0) // MFU actions must be only actions shown on menu (database could contain wrong action numbers)
- if (Act_CheckIfICanExecuteAction (Action) == Usr_I_CAN)
+ if (Act_CheckIfICanExecuteAction (Action) == Usr_CAN)
ListMFUActions->Actions[ListMFUActions->NumActions++] = Action;
}
@@ -148,7 +148,7 @@ Act_Action_t MFU_GetMyLastActionInCurrentTab (void)
if (ActCod >= 0 && ActCod <= ActLst_MAX_ACTION_COD)
if ((Action = Act_GetActionFromActCod (ActCod)) >= 0)
if (Act_GetTab (Action) == Gbl.Action.Tab)
- if (Act_CheckIfICanExecuteAction (Action) == Usr_I_CAN)
+ if (Act_CheckIfICanExecuteAction (Action) == Usr_CAN)
{
MoreRecentActionInCurrentTab = Action;
break;
diff --git a/swad_account.c b/swad_account.c
index 546dafb3c..b8d66710d 100644
--- a/swad_account.c
+++ b/swad_account.c
@@ -489,7 +489,7 @@ void Acc_ShowFormChgOtherUsrAccount (void)
if (Usr_GetParOtherUsrCodEncryptedAndGetUsrData ())
switch (Usr_CheckIfICanEditOtherUsr (&Gbl.Usrs.Other.UsrDat))
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Get user's nickname and email address
It's necessary because nickname or email could be just updated *****/
Nck_DB_GetNicknameFromUsrCod (Gbl.Usrs.Other.UsrDat.UsrCod,Gbl.Usrs.Other.UsrDat.Nickname);
@@ -517,7 +517,7 @@ void Acc_ShowFormChgOtherUsrAccount (void)
/***** End container for this user *****/
HTM_DIV_End ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ale_ShowAlertUserNotFoundOrYouDoNotHavePermission ();
break;
@@ -532,7 +532,7 @@ void Acc_ShowFormChgOtherUsrAccount (void)
void Acc_PutLinkToRemoveMyAccount (__attribute__((unused)) void *Args)
{
- if (Acc_CheckIfICanEliminateAccount (Gbl.Usrs.Me.UsrDat.UsrCod) == Usr_I_CAN)
+ if (Acc_CheckIfICanEliminateAccount (Gbl.Usrs.Me.UsrDat.UsrCod) == Usr_CAN)
Lay_PutContextualLinkOnlyIcon (ActReqRemMyAcc,NULL,
Acc_PutParsToRemoveMyAccount,Gbl.Usrs.Me.UsrDat.EnUsrCod,
"trash.svg",Ico_RED);
@@ -774,10 +774,10 @@ void Acc_GetUsrCodAndRemUsrGbl (void)
if (Usr_GetParOtherUsrCodEncryptedAndGetUsrData ())
switch (Acc_CheckIfICanEliminateAccount (Gbl.Usrs.Other.UsrDat.UsrCod))
{
- case Usr_I_CAN:
+ case Usr_CAN:
Acc_ReqRemAccountOrRemAccount (Acc_REMOVE_USR);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Error = true;
break;
@@ -820,7 +820,7 @@ void Acc_ReqRemAccountOrRemAccount (Acc_ReqOrRemUsr_t RequestOrRemove)
/******** Check if I can eliminate completely another user's account *********/
/*****************************************************************************/
-Usr_ICan_t Acc_CheckIfICanEliminateAccount (long UsrCod)
+Usr_Can_t Acc_CheckIfICanEliminateAccount (long UsrCod)
{
Usr_MeOrOther_t MeOrOther = Usr_ItsMe (UsrCod);
@@ -830,15 +830,15 @@ Usr_ICan_t Acc_CheckIfICanEliminateAccount (long UsrCod)
{
case Usr_ME:
// A system admin can not eliminate him/herself
- return (Gbl.Usrs.Me.Role.Available & (1 << Rol_SYS_ADM)) == 0 ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return ((Gbl.Usrs.Me.Role.Available & (1 << Rol_SYS_ADM)) == 0) ? Usr_CAN :
+ Usr_CAN_NOT;
case Usr_OTHER:
// Only a system admin can eliminate other's account
- return Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM ? Usr_CAN :
+ Usr_CAN_NOT;
}
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
/*****************************************************************************/
@@ -1110,7 +1110,7 @@ void Acc_PutIconToChangeUsrAccount (struct Usr_Data *UsrDat)
"at.svg",Ico_BLACK);
break;
case Usr_OTHER:
- if (Usr_CheckIfICanEditOtherUsr (UsrDat) == Usr_I_CAN)
+ if (Usr_CheckIfICanEditOtherUsr (UsrDat) == Usr_CAN)
Lay_PutContextualLinkOnlyIcon (NextAction[UsrDat->Roles.InCurrentCrs],NULL,
Rec_PutParUsrCodEncrypted,NULL,
"at.svg",Ico_BLACK);
diff --git a/swad_account.h b/swad_account.h
index 02718cd2e..7627fc563 100644
--- a/swad_account.h
+++ b/swad_account.h
@@ -62,7 +62,7 @@ void Acc_AfterCreationNewAccount (void);
void Acc_GetUsrCodAndRemUsrGbl (void);
void Acc_ReqRemAccountOrRemAccount (Acc_ReqOrRemUsr_t RequestOrRemove);
-Usr_ICan_t Acc_CheckIfICanEliminateAccount (long UsrCod);
+Usr_Can_t Acc_CheckIfICanEliminateAccount (long UsrCod);
void Acc_AskIfRemoveMyAccount (void);
void Acc_RemoveMyAccount (void);
void Acc_CompletelyEliminateAccount (struct Usr_Data *UsrDat,
diff --git a/swad_action.c b/swad_action.c
index f0c015776..2c3a81d16 100644
--- a/swad_action.c
+++ b/swad_action.c
@@ -99,12 +99,12 @@ Act_Action_t Act_GetSuperAction (Act_Action_t Action)
/************* Check if I have permission to execute an action ***************/
/*****************************************************************************/
-Usr_ICan_t Act_CheckIfICanExecuteAction (Act_Action_t Action)
+Usr_Can_t Act_CheckIfICanExecuteAction (Act_Action_t Action)
{
unsigned Permission;
if ((unsigned) Action >= ActLst_NUM_ACTIONS)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
switch (Gbl.Hierarchy.Level)
{
@@ -124,15 +124,15 @@ Usr_ICan_t Act_CheckIfICanExecuteAction (Act_Action_t Action)
Permission = ActLst_Actions[Action].PermissionDeg;
break;
case Hie_CRS: // Course selected
- Permission = Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] ? ActLst_Actions[Action].PermissionCrsIfIBelong :
- ActLst_Actions[Action].PermissionCrsIfIDontBelong;
+ Permission = (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] == Usr_BELONG) ? ActLst_Actions[Action].PermissionCrsIfIBelong :
+ ActLst_Actions[Action].PermissionCrsIfIDontBelong;
break;
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
- return ((Permission & (1 << Gbl.Usrs.Me.Role.Logged)) != 0) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return ((Permission & (1 << Gbl.Usrs.Me.Role.Logged)) != 0) ? Usr_CAN :
+ Usr_CAN_NOT;
}
/*****************************************************************************/
@@ -369,7 +369,7 @@ void Act_AdjustCurrentAction (void)
}
/***** If I belong to current course *****/
- if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS])
+ if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] == Usr_BELONG)
{
/***** Adjustment 6:
-------------
diff --git a/swad_action.h b/swad_action.h
index 5837be509..08d45dca6 100644
--- a/swad_action.h
+++ b/swad_action.h
@@ -106,7 +106,7 @@ long Act_GetActCod (Act_Action_t Action);
signed int Act_GetIndexInMenu (Act_Action_t Action);
Tab_Tab_t Act_GetTab (Act_Action_t Action);
Act_Action_t Act_GetSuperAction (Act_Action_t Action);
-Usr_ICan_t Act_CheckIfICanExecuteAction (Act_Action_t Action);
+Usr_Can_t Act_CheckIfICanExecuteAction (Act_Action_t Action);
Act_Content_t Act_GetContentType (Act_Action_t Action);
Act_BrowserTab_t Act_GetBrowserTab (Act_Action_t Action);
void (*Act_GetFunctionPriori (Act_Action_t Action)) (void);
diff --git a/swad_admin.c b/swad_admin.c
index 64e4c6b64..c74ce629c 100644
--- a/swad_admin.c
+++ b/swad_admin.c
@@ -56,16 +56,16 @@ static void Adm_EffectivelyRemAdm (struct Usr_Data *UsrDat,Hie_Level_t Level);
/**************** Check if I can admin another user's account ****************/
/*****************************************************************************/
-Usr_ICan_t Adm_CheckIfICanAdminOtherUsrs (void)
+Usr_Can_t Adm_CheckIfICanAdminOtherUsrs (void)
{
- static Usr_ICan_t Adm_ICanAdminOtherUsrs[Rol_NUM_ROLES] =
+ static Usr_Can_t Adm_ICanAdminOtherUsrs[Rol_NUM_ROLES] =
{
/* Users who can admin */
- [Rol_TCH ] = Usr_I_CAN,
- [Rol_DEG_ADM] = Usr_I_CAN,
- [Rol_CTR_ADM] = Usr_I_CAN,
- [Rol_INS_ADM] = Usr_I_CAN,
- [Rol_SYS_ADM] = Usr_I_CAN,
+ [Rol_TCH ] = Usr_CAN,
+ [Rol_DEG_ADM] = Usr_CAN,
+ [Rol_CTR_ADM] = Usr_CAN,
+ [Rol_INS_ADM] = Usr_CAN,
+ [Rol_SYS_ADM] = Usr_CAN,
};
return Adm_ICanAdminOtherUsrs[Gbl.Usrs.Me.Role.Logged];
@@ -90,7 +90,7 @@ void Adm_ReqAddAdm (Hie_Level_t Level)
[Hie_DEG] = ActNewAdmDeg,
[Hie_CRS] = ActUnk,
};
- Usr_ICan_t ICanRegister;
+ Usr_Can_t ICanRegister;
if (Gbl.Hierarchy.Node[Level].HieCod > 0)
{
@@ -100,11 +100,11 @@ void Adm_ReqAddAdm (Hie_Level_t Level)
/* Check if I am allowed to register user as administrator in institution/center/degree */
ICanRegister = ((Level == Hie_DEG && Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM) ||
(Level == Hie_CTR && Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM) ||
- (Level == Hie_INS && Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ (Level == Hie_INS && Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)) ? Usr_CAN :
+ Usr_CAN_NOT;
switch (ICanRegister)
{
- case Usr_I_CAN:
+ case Usr_CAN:
if (Adm_DB_CheckIfUsrIsAdm (Gbl.Usrs.Other.UsrDat.UsrCod,Level)) // User is already an administrator of current institution/center/degree
{
Ale_ShowAlert (Ale_INFO,Txt_THE_USER_X_is_already_an_administrator_of_Y,
@@ -128,7 +128,7 @@ void Adm_ReqAddAdm (Hie_Level_t Level)
Btn_CREATE_BUTTON,Txt_Register_user_IN_A_COURSE_OR_DEGREE);
}
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ale_ShowAlertUserNotFoundOrYouDoNotHavePermission ();
break;
@@ -190,7 +190,7 @@ void Adm_GetAdmsLst (Hie_Level_t Level)
static void Adm_AddAdm (Hie_Level_t Level)
{
- Usr_ICan_t ICanRegister;
+ Usr_Can_t ICanRegister;
if (Gbl.Hierarchy.Node[Level].HieCod > 0)
{
@@ -200,18 +200,18 @@ static void Adm_AddAdm (Hie_Level_t Level)
/* Check if I am allowed to register user as administrator in institution/center/degree */
ICanRegister = ((Level == Hie_DEG && Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM) ||
(Level == Hie_CTR && Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM) ||
- (Level == Hie_INS && Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ (Level == Hie_INS && Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)) ? Usr_CAN :
+ Usr_CAN_NOT;
switch (ICanRegister)
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Register administrator in current institution/center/degree in database *****/
Adm_RegisterAdmin (&Gbl.Usrs.Other.UsrDat,Level);
/***** Show user's record *****/
Rec_ShowSharedRecordUnmodifiable (&Gbl.Usrs.Other.UsrDat);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ale_ShowAlertUserNotFoundOrYouDoNotHavePermission ();
break;
@@ -308,7 +308,7 @@ static void Adm_ReqRemOrRemAdm (Enr_ReqDelOrDelUsr_t ReqDelOrDelUsr,
{
extern const char *Txt_THE_USER_X_is_not_an_administrator_of_Y;
Usr_MeOrOther_t MeOrOther;
- Usr_ICan_t ICanRemove;
+ Usr_Can_t ICanRemove;
if (Gbl.Hierarchy.Node[Level].HieCod > 0)
{
@@ -320,11 +320,11 @@ static void Adm_ReqRemOrRemAdm (Enr_ReqDelOrDelUsr_t ReqDelOrDelUsr,
ICanRemove = (MeOrOther == Usr_ME ||
(Level == Hie_DEG && Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM) ||
(Level == Hie_CTR && Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM) ||
- (Level == Hie_INS && Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ (Level == Hie_INS && Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)) ? Usr_CAN :
+ Usr_CAN_NOT;
switch (ICanRemove)
{
- case Usr_I_CAN:
+ case Usr_CAN:
/* Check if the other user is an admin of the current institution/center/degree */
if (Adm_DB_CheckIfUsrIsAdm (Gbl.Usrs.Other.UsrDat.UsrCod,Level))
{ // The other user is an administrator of current institution/center/degree ==> ask for removing or remove her/him
@@ -343,7 +343,7 @@ static void Adm_ReqRemOrRemAdm (Enr_ReqDelOrDelUsr_t ReqDelOrDelUsr,
Gbl.Usrs.Other.UsrDat.FullName,
Gbl.Hierarchy.Node[Level].FullName);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ale_ShowAlertUserNotFoundOrYouDoNotHavePermission ();
break;
diff --git a/swad_admin.h b/swad_admin.h
index 7d7c64104..de284fba1 100644
--- a/swad_admin.h
+++ b/swad_admin.h
@@ -35,7 +35,7 @@
/****************************** Public prototypes ****************************/
/*****************************************************************************/
-Usr_ICan_t Adm_CheckIfICanAdminOtherUsrs (void);
+Usr_Can_t Adm_CheckIfICanAdminOtherUsrs (void);
void Adm_ReqAddAdm (Hie_Level_t Level);
diff --git a/swad_agenda.c b/swad_agenda.c
index 04f21c714..c00f72840 100644
--- a/swad_agenda.c
+++ b/swad_agenda.c
@@ -125,23 +125,23 @@ static void Agd_HideUnhideEvent (HidVis_HiddenOrVisible_t HiddenOrVisible);
/******************* Check if I can view a user's agenda *********************/
/*****************************************************************************/
-Usr_ICan_t Agd_CheckIfICanViewUsrAgenda (struct Usr_Data *UsrDat)
+Usr_Can_t Agd_CheckIfICanViewUsrAgenda (struct Usr_Data *UsrDat)
{
/***** 1. Fast check: Am I logged? *****/
if (!Gbl.Usrs.Me.Logged)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** 2. Fast check: It's me? *****/
if (Usr_ItsMe (UsrDat->UsrCod) == Usr_ME)
- return Usr_I_CAN;
+ return Usr_CAN;
/***** 3. Fast check: Am I logged as system admin? *****/
if (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
- return Usr_I_CAN;
+ return Usr_CAN;
/***** 4. Slow check: Get if user shares any course with me from database *****/
- return Enr_CheckIfUsrSharesAnyOfMyCrs (UsrDat) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return Enr_CheckIfUsrSharesAnyOfMyCrs (UsrDat) ? Usr_CAN :
+ Usr_CAN_NOT;
}
/*****************************************************************************/
@@ -410,7 +410,7 @@ void Agd_ShowUsrAgenda (void)
if (Usr_GetParOtherUsrCodEncryptedAndGetUsrData ())
switch (Agd_CheckIfICanViewUsrAgenda (&Gbl.Usrs.Other.UsrDat))
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Reset agenda context *****/
Agd_ResetAgenda (&Agenda);
@@ -432,7 +432,7 @@ void Agd_ShowUsrAgenda (void)
/***** End box *****/
Box_BoxEnd ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ale_ShowAlertUserNotFoundOrYouDoNotHavePermission ();
break;
@@ -739,18 +739,18 @@ static void Agd_PutIconsOtherPublicAgenda (void *EncryptedUsrCod)
{
/***** Button to view user's public profile *****/
if (Pri_CheckIfICanView (Gbl.Usrs.Other.UsrDat.BaPrfVisibility,
- &Gbl.Usrs.Other.UsrDat) == Usr_I_CAN)
+ &Gbl.Usrs.Other.UsrDat) == Usr_CAN)
Lay_PutContextualLinkOnlyIcon (ActSeeOthPubPrf,NULL,
Usr_PutParOtherUsrCodEncrypted,EncryptedUsrCod,
"user.svg",Ico_BLACK);
/***** Button to view user's record card *****/
- if (Usr_CheckIfICanViewRecordStd (&Gbl.Usrs.Other.UsrDat) == Usr_I_CAN)
+ if (Usr_CheckIfICanViewRecordStd (&Gbl.Usrs.Other.UsrDat) == Usr_CAN)
/* View student's records: common record card and course record card */
Lay_PutContextualLinkOnlyIcon (ActSeeRecOneStd,NULL,
Usr_PutParOtherUsrCodEncrypted,EncryptedUsrCod,
"address-card.svg",Ico_BLACK);
- else if (Usr_CheckIfICanViewRecordTch (&Gbl.Usrs.Other.UsrDat) == Usr_I_CAN)
+ else if (Usr_CheckIfICanViewRecordTch (&Gbl.Usrs.Other.UsrDat) == Usr_CAN)
Lay_PutContextualLinkOnlyIcon (ActSeeRecOneTch,NULL,
Usr_PutParOtherUsrCodEncrypted,EncryptedUsrCod,
"address-card.svg",Ico_BLACK);
diff --git a/swad_agenda.h b/swad_agenda.h
index fb9f9998e..d6b8b5da9 100644
--- a/swad_agenda.h
+++ b/swad_agenda.h
@@ -101,7 +101,7 @@ typedef enum
/***************************** Public prototypes *****************************/
/*****************************************************************************/
-Usr_ICan_t Agd_CheckIfICanViewUsrAgenda (struct Usr_Data *UsrDat);
+Usr_Can_t Agd_CheckIfICanViewUsrAgenda (struct Usr_Data *UsrDat);
void Agd_PutFormLogInToShowUsrAgenda (void);
void Agd_PutParAgd (void);
diff --git a/swad_assignment.c b/swad_assignment.c
index e42ba4c5b..12a87fc6f 100644
--- a/swad_assignment.c
+++ b/swad_assignment.c
@@ -79,7 +79,7 @@ extern struct Globals Gbl;
static void Asg_PutHead (struct Asg_Assignments *Assignments,
Asg_OneOrMultiple_t OneOrMultiple,
Vie_ViewType_t ViewType);
-static Usr_ICan_t Asg_CheckIfICanCreateAssignments (void);
+static Usr_Can_t Asg_CheckIfICanCreateAssignments (void);
static void Asg_PutIconsListAssignments (void *Assignments);
static void Asg_PutIconToCreateNewAsg (void *Assignments);
static void Asg_ParsWhichGroupsToShow (void *Assignments);
@@ -106,7 +106,7 @@ static void Asg_CreateAssignment (struct Asg_Assignment *Asg,const char *Txt);
static void Asg_UpdateAssignment (struct Asg_Assignment *Asg,const char *Txt);
static void Asg_CreateGroups (long AsgCod);
static void Asg_GetAndWriteNamesOfGrpsAssociatedToAsg (struct Asg_Assignment *Asg);
-static bool Asg_CheckIfIBelongToCrsOrGrpsThisAssignment (long AsgCod);
+static Usr_Can_t Asg_CheckIfICanDoAsgBasedOnGroups (long AsgCod);
/*****************************************************************************/
/*************************** Reset assignments *******************************/
@@ -118,8 +118,8 @@ void Asg_ResetAssignments (struct Asg_Assignments *Assignments)
Assignments->Num = 0;
Assignments->LstAsgCods = NULL;
Assignments->SelectedOrder = Asg_ORDER_DEFAULT;
- // Assignments->AsgCod = -1L; // Used as parameter in contextual links
Assignments->CurrentPage = 0;
+ Assignments->Asg.AsgCod = -1L; // Used as parameter in contextual links
Asg_ResetAssignment (&Assignments->Asg);
}
@@ -287,11 +287,11 @@ static void Asg_PutHead (struct Asg_Assignments *Assignments,
/******************** Check if I can create assignments **********************/
/*****************************************************************************/
-static Usr_ICan_t Asg_CheckIfICanCreateAssignments (void)
+static Usr_Can_t Asg_CheckIfICanCreateAssignments (void)
{
return (Gbl.Usrs.Me.Role.Logged == Rol_TCH ||
- Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? Usr_CAN :
+ Usr_CAN_NOT;
}
/*****************************************************************************/
@@ -303,11 +303,11 @@ static void Asg_PutIconsListAssignments (void *Assignments)
/***** Put icon to create a new assignment *****/
if (Assignments)
{
- if (Asg_CheckIfICanCreateAssignments () == Usr_I_CAN)
+ if (Asg_CheckIfICanCreateAssignments () == Usr_CAN)
Asg_PutIconToCreateNewAsg (Assignments);
/***** Link to get resource link *****/
- if (Rsc_CheckIfICanGetLink () == Usr_I_CAN)
+ if (Rsc_CheckIfICanGetLink () == Usr_CAN)
{
((struct Asg_Assignments *) Assignments)->Asg.AsgCod = -1L;
Ico_PutContextualIconToGetLink (ActReqLnkAsg,NULL,
@@ -657,7 +657,7 @@ static void Asg_WriteAssignmentFolder (struct Asg_Assignment *Asg,
Act_Action_t NextAction;
bool ICanSendFiles = Asg->HiddenOrVisible == HidVis_VISIBLE && // It's visible (not hidden)
Asg->ClosedOrOpen == CloOpe_OPEN && // It's open (inside dates)
- Asg->IBelongToCrsOrGrps; // I belong to course or groups
+ Asg->ICanDo == Usr_CAN; // I can do (I belong to course/group)
/***** Folder icon *****/
if (ViewType == Vie_VIEW && // Not print view
@@ -766,7 +766,7 @@ static void Asg_PutIconsToRemEditOneAsg (struct Asg_Assignments *Assignments,
Asg_PutPars,Assignments);
/***** Link to get resource link *****/
- if (Rsc_CheckIfICanGetLink () == Usr_I_CAN)
+ if (Rsc_CheckIfICanGetLink () == Usr_CAN)
Ico_PutContextualIconToGetLink (ActReqLnkAsg,NULL,
Asg_PutPars,Assignments);
/* falls through */
@@ -938,7 +938,7 @@ static void Asg_GetAssignmentDataFromRow (MYSQL_RES **mysql_res,
Asg->SendWork = (Asg->Folder[0] != '\0');
/* Can I do this assignment? */
- Asg->IBelongToCrsOrGrps = Asg_CheckIfIBelongToCrsOrGrpsThisAssignment (Asg->AsgCod);
+ Asg->ICanDo = Asg_CheckIfICanDoAsgBasedOnGroups (Asg->AsgCod);
}
/***** Free structure that stores the query result *****/
@@ -953,16 +953,15 @@ static void Asg_ResetAssignment (struct Asg_Assignment *Asg)
{
if (Asg->AsgCod <= 0) // If > 0 ==> keep value
Asg->AsgCod = -1L;
- Asg->AsgCod = -1L;
- Asg->HiddenOrVisible = HidVis_VISIBLE;
- Asg->UsrCod = -1L;
+ Asg->HiddenOrVisible = HidVis_VISIBLE;
+ Asg->UsrCod = -1L;
Asg->TimeUTC[Dat_STR_TIME] =
Asg->TimeUTC[Dat_END_TIME] = (time_t) 0;
- Asg->ClosedOrOpen = CloOpe_CLOSED;
- Asg->Title[0] = '\0';
- Asg->SendWork = Asg_DO_NOT_SEND_WORK;
- Asg->Folder[0] = '\0';
- Asg->IBelongToCrsOrGrps = false;
+ Asg->ClosedOrOpen = CloOpe_CLOSED;
+ Asg->Title[0] = '\0';
+ Asg->SendWork = Asg_DONT_SEND_WORK;
+ Asg->Folder[0] = '\0';
+ Asg->ICanDo = Usr_CAN_NOT;
}
/*****************************************************************************/
@@ -1178,14 +1177,14 @@ void Asg_ReqCreatOrEditAsg (void)
if (ItsANewAssignment)
{
/* Initialize to empty assignment */
- Assignments.Asg.AsgCod = -1L;
+ Assignments.Asg.AsgCod = -1L;
Assignments.Asg.TimeUTC[Dat_STR_TIME] = Dat_GetStartExecutionTimeUTC ();
Assignments.Asg.TimeUTC[Dat_END_TIME] = Assignments.Asg.TimeUTC[Dat_STR_TIME] + (2 * 60 * 60); // +2 hours
- Assignments.Asg.ClosedOrOpen = CloOpe_OPEN;
- Assignments.Asg.Title[0] = '\0';
- Assignments.Asg.SendWork = Asg_DO_NOT_SEND_WORK;
- Assignments.Asg.Folder[0] = '\0';
- Assignments.Asg.IBelongToCrsOrGrps = false;
+ Assignments.Asg.ClosedOrOpen = CloOpe_OPEN;
+ Assignments.Asg.Title[0] = '\0';
+ Assignments.Asg.SendWork = Asg_DONT_SEND_WORK;
+ Assignments.Asg.Folder[0] = '\0';
+ Assignments.Asg.ICanDo = Usr_CAN_NOT;
}
else
{
@@ -1403,7 +1402,7 @@ void Asg_ReceiveAssignment (void)
/***** Get folder name where to send works of the assignment *****/
Par_GetParText ("Folder",Assignments.Asg.Folder,Brw_MAX_BYTES_FOLDER);
Assignments.Asg.SendWork = (Assignments.Asg.Folder[0]) ? Asg_SEND_WORK :
- Asg_DO_NOT_SEND_WORK;
+ Asg_DONT_SEND_WORK;
/***** Get assignment text *****/
Par_GetParHTML ("Txt",Description,Cns_MAX_BYTES_TEXT); // Store in HTML format (not rigorous)
@@ -1626,10 +1625,10 @@ void Asg_RemoveCrsAssignments (long CrsCod)
}
/*****************************************************************************/
-/********* Check if I belong to any of the groups of an assignment ***********/
+/*********************** Check if I can do an assignment *********************/
/*****************************************************************************/
-static bool Asg_CheckIfIBelongToCrsOrGrpsThisAssignment (long AsgCod)
+static Usr_Can_t Asg_CheckIfICanDoAsgBasedOnGroups (long AsgCod)
{
switch (Gbl.Usrs.Me.Role.Logged)
{
@@ -1638,11 +1637,11 @@ static bool Asg_CheckIfIBelongToCrsOrGrpsThisAssignment (long AsgCod)
case Rol_TCH:
// Students and teachers can do assignments depending on groups
/***** Get if I can do an assignment from database *****/
- return (Asg_DB_CheckIfICanDoAssignment (AsgCod) == Usr_I_CAN);
+ return Asg_DB_CheckIfICanDoAsgBasedOnGroups (AsgCod);
case Rol_SYS_ADM:
- return true;
+ return Usr_CAN;
default:
- return false;
+ return Usr_CAN_NOT;
}
}
@@ -1704,26 +1703,26 @@ void Asg_WriteDatesAssignment (const struct Asg_Assignment *Asg)
/* Check if I have permission to create a file or folder into an assignment **/
/*****************************************************************************/
-Usr_ICan_t Asg_CheckIfICanCreateIntoAssigment (const struct Asg_Assignment *Asg)
+Usr_Can_t Asg_CheckIfICanCreateIntoAssigment (const struct Asg_Assignment *Asg)
{
- static Usr_ICan_t CloOpe_ICanCreate[CloOpe_NUM_CLOSED_OPEN] =
+ static Usr_Can_t CloOpe_ICanCreate[CloOpe_NUM_CLOSED_OPEN] =
{
- [CloOpe_CLOSED] = Usr_I_CAN_NOT,
- [CloOpe_OPEN ] = Usr_I_CAN,
+ [CloOpe_CLOSED] = Usr_CAN_NOT,
+ [CloOpe_OPEN ] = Usr_CAN,
};
/***** Trivial check 1: assignment is valid *****/
if (Asg->AsgCod <= 0)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** Check 2: Do not create anything in hidden assigments *****/
if (Asg->HiddenOrVisible == HidVis_HIDDEN)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** Check 3: If I do not belong to course / groups of this assignment,
I can not create anything inside this assignment *****/
- if (!Asg->IBelongToCrsOrGrps)
- return Usr_I_CAN_NOT;
+ if (Asg->ICanDo == Usr_CAN_NOT)
+ return Usr_CAN_NOT;
/***** Check 4: Depending on my role in this course... *****/
switch (Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs)
@@ -1733,9 +1732,9 @@ Usr_ICan_t Asg_CheckIfICanCreateIntoAssigment (const struct Asg_Assignment *Asg)
// ...can create only inside open assignments
return CloOpe_ICanCreate[Asg->ClosedOrOpen];
case Rol_TCH: // Teachers...
- return Usr_I_CAN; // ...can create inside any assignment
+ return Usr_CAN; // ...can create inside any assignment
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
}
diff --git a/swad_assignment.h b/swad_assignment.h
index 081a55cd5..1a1672485 100644
--- a/swad_assignment.h
+++ b/swad_assignment.h
@@ -42,8 +42,8 @@
#define Asg_NUM_TYPES_SEND_WORK 2
typedef enum
{
- Asg_DO_NOT_SEND_WORK = 0,
- Asg_SEND_WORK = 1,
+ Asg_DONT_SEND_WORK = 0,
+ Asg_SEND_WORK = 1,
} Asg_SendWork_t;
struct Asg_Assignment
@@ -56,10 +56,10 @@ struct Asg_Assignment
char Title[Asg_MAX_BYTES_ASSIGNMENT_TITLE + 1];
Asg_SendWork_t SendWork;
char Folder[Brw_MAX_BYTES_FOLDER + 1];
- bool IBelongToCrsOrGrps; // I can do this assignment
- // (it is associated to no groups
- // or, if associated to groups,
- // I belong to any of the groups)
+ Usr_Can_t ICanDo; // I can do this assignment
+ // (it is associated to no groups
+ // or, if associated to groups,
+ // I belong to any of the groups)
};
struct Asg_Assignments
@@ -106,7 +106,7 @@ void Asg_ReceiveAssignment (void);
void Asg_RemoveCrsAssignments (long CrsCod);
void Asg_WriteDatesAssignment (const struct Asg_Assignment *Asg);
-Usr_ICan_t Asg_CheckIfICanCreateIntoAssigment (const struct Asg_Assignment *Asg);
+Usr_Can_t Asg_CheckIfICanCreateIntoAssigment (const struct Asg_Assignment *Asg);
void Asg_SetFolder (struct Asg_Assignment *Asg,unsigned Level);
unsigned Asg_GetNumAssignments (Hie_Level_t Level,unsigned *NumNotif);
diff --git a/swad_assignment_database.c b/swad_assignment_database.c
index 47b00a200..22935fff6 100644
--- a/swad_assignment_database.c
+++ b/swad_assignment_database.c
@@ -331,7 +331,7 @@ void Asg_DB_RemoveAssignment (long AsgCod)
/********************* Check if I can do an assignment ***********************/
/*****************************************************************************/
-Usr_ICan_t Asg_DB_CheckIfICanDoAssignment (long AsgCod)
+Usr_Can_t Asg_DB_CheckIfICanDoAsgBasedOnGroups (long AsgCod)
{
// Students and teachers can do assignments depending on groups
return
@@ -355,8 +355,8 @@ Usr_ICan_t Asg_DB_CheckIfICanDoAssignment (long AsgCod)
" AND asg_groups.GrpCod=grp_users.GrpCod)"
"))",
AsgCod,
- Gbl.Usrs.Me.UsrDat.UsrCod) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ Gbl.Usrs.Me.UsrDat.UsrCod) ? Usr_CAN :
+ Usr_CAN_NOT;
}
/*****************************************************************************/
diff --git a/swad_assignment_database.h b/swad_assignment_database.h
index 039cc941c..646ff809a 100644
--- a/swad_assignment_database.h
+++ b/swad_assignment_database.h
@@ -59,7 +59,7 @@ void Asg_DB_HideOrUnhideAssignment (long AsgCod,
void Asg_DB_RemoveAssignment (long AsgCod);
-Usr_ICan_t Asg_DB_CheckIfICanDoAssignment (long AsgCod);
+Usr_Can_t Asg_DB_CheckIfICanDoAsgBasedOnGroups (long AsgCod);
unsigned Asg_DB_GetGrps (MYSQL_RES **mysql_res,long AsgCod);
void Asg_DB_CreateGroup (long AsgCod,long GrpCod);
diff --git a/swad_attendance.c b/swad_attendance.c
index e9f7cb706..bb030cb7e 100644
--- a/swad_attendance.c
+++ b/swad_attendance.c
@@ -338,15 +338,15 @@ static void Att_ParsWhichGroupsToShow (void *Events)
static void Att_PutIconsInListOfEvents (void *Events)
{
- Usr_ICan_t ICanEdit;
+ Usr_Can_t ICanEdit;
if (Events)
{
/***** Put icon to create a new attendance event *****/
ICanEdit = (Gbl.Usrs.Me.Role.Logged == Rol_TCH ||
- Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
- if (ICanEdit == Usr_I_CAN)
+ Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? Usr_CAN :
+ Usr_CAN_NOT;
+ if (ICanEdit == Usr_CAN)
Att_PutIconToCreateNewEvent ((struct Att_Events *) Events);
/***** Put icon to show attendance list *****/
@@ -372,7 +372,7 @@ static void Att_PutIconsInListOfEvents (void *Events)
Usr_PutParMyUsrCodEncrypted,Gbl.Usrs.Me.UsrDat.EnUsrCod);
/***** Put icon to get resource link *****/
- if (Rsc_CheckIfICanGetLink () == Usr_I_CAN)
+ if (Rsc_CheckIfICanGetLink () == Usr_CAN)
Ico_PutContextualIconToGetLink (ActReqLnkAtt,NULL,
Att_PutPars,Events);
}
@@ -576,7 +576,7 @@ static void Att_PutFormsToRemEditOneEvent (struct Att_Events *Events,
[HidVis_VISIBLE] = ActHidAtt, // Visible ==> action to hide
};
- if (Att_CheckIfICanEditEvents () == Usr_I_CAN)
+ if (Att_CheckIfICanEditEvents () == Usr_CAN)
{
/***** Icon to remove attendance event *****/
Ico_PutContextualIconToRemove (ActReqRemAtt,NULL,
@@ -592,7 +592,7 @@ static void Att_PutFormsToRemEditOneEvent (struct Att_Events *Events,
}
/***** Icon to get resource link *****/
- if (Rsc_CheckIfICanGetLink () == Usr_I_CAN)
+ if (Rsc_CheckIfICanGetLink () == Usr_CAN)
Ico_PutContextualIconToGetLink (ActReqLnkAtt,NULL,Att_PutPars,Events);
}
@@ -600,12 +600,12 @@ static void Att_PutFormsToRemEditOneEvent (struct Att_Events *Events,
/******************* Check if I can edit calls for exams *********************/
/*****************************************************************************/
-Usr_ICan_t Att_CheckIfICanEditEvents (void)
+Usr_Can_t Att_CheckIfICanEditEvents (void)
{
- static Usr_ICan_t ICanEditAttEvents[Rol_NUM_ROLES] =
+ static Usr_Can_t ICanEditAttEvents[Rol_NUM_ROLES] =
{
- [Rol_TCH ] = Usr_I_CAN,
- [Rol_SYS_ADM] = Usr_I_CAN,
+ [Rol_TCH ] = Usr_CAN,
+ [Rol_SYS_ADM] = Usr_CAN,
};
return ICanEditAttEvents[Gbl.Usrs.Me.Role.Logged];
@@ -1652,9 +1652,9 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
bool Present;
char CommentStd[Cns_MAX_BYTES_TEXT + 1];
char CommentTch[Cns_MAX_BYTES_TEXT + 1];
- Usr_ICan_t ICanChangeStdAttendance;
- Usr_ICan_t ICanEditStdComment;
- Usr_ICan_t ICanEditTchComment;
+ Usr_Can_t ICanChangeStdAttendance;
+ Usr_Can_t ICanEditStdComment;
+ Usr_Can_t ICanEditTchComment;
/***** Set who can edit *****/
switch (Gbl.Usrs.Me.Role.Logged)
@@ -1663,25 +1663,25 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
// A student can see only her/his attendance
if (Usr_ItsMe (UsrDat->UsrCod) == Usr_OTHER)
Err_ShowErrorAndExit ("Wrong call.");
- ICanChangeStdAttendance = Usr_I_CAN_NOT;
- ICanEditStdComment = (Event->ClosedOrOpen == CloOpe_OPEN) ? Usr_I_CAN : // Attendance event is open
- Usr_I_CAN_NOT;
- ICanEditTchComment = Usr_I_CAN_NOT;
+ ICanChangeStdAttendance = Usr_CAN_NOT;
+ ICanEditStdComment = (Event->ClosedOrOpen == CloOpe_OPEN) ? Usr_CAN : // Attendance event is open
+ Usr_CAN_NOT;
+ ICanEditTchComment = Usr_CAN_NOT;
break;
case Rol_TCH:
- ICanChangeStdAttendance = Usr_I_CAN;
- ICanEditStdComment = Usr_I_CAN_NOT;
- ICanEditTchComment = Usr_I_CAN;
+ ICanChangeStdAttendance = Usr_CAN;
+ ICanEditStdComment = Usr_CAN_NOT;
+ ICanEditTchComment = Usr_CAN;
break;
case Rol_SYS_ADM:
- ICanChangeStdAttendance = Usr_I_CAN;
- ICanEditStdComment = Usr_I_CAN_NOT;
- ICanEditTchComment = Usr_I_CAN_NOT;
+ ICanChangeStdAttendance = Usr_CAN;
+ ICanEditStdComment = Usr_CAN_NOT;
+ ICanEditTchComment = Usr_CAN_NOT;
break;
default:
- ICanChangeStdAttendance = Usr_I_CAN_NOT;
- ICanEditStdComment = Usr_I_CAN_NOT;
- ICanEditTchComment = Usr_I_CAN_NOT;
+ ICanChangeStdAttendance = Usr_CAN_NOT;
+ ICanEditStdComment = Usr_CAN_NOT;
+ ICanEditTchComment = Usr_CAN_NOT;
break;
}
@@ -1704,7 +1704,7 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
"id=\"Std%u\" value=\"%s\"%s%s",
NumUsr,UsrDat->EnUsrCod,
Present ? " checked=\"checked\"" : "",
- (ICanChangeStdAttendance == Usr_I_CAN) ? "" :
+ (ICanChangeStdAttendance == Usr_CAN) ? "" :
" disabled=\"disabled\"");
HTM_TD_End ();
@@ -1755,7 +1755,7 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
The_GetColorRows ());
switch (ICanEditStdComment)
{
- case Usr_I_CAN: // Show with form
+ case Usr_CAN: // Show with form
HTM_TEXTAREA_Begin ("name=\"CommentStd%s\" cols=\"40\" rows=\"3\""
" class=\"INPUT_%s\"",
UsrDat->EnUsrCod,
@@ -1763,7 +1763,7 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
HTM_Txt (CommentStd);
HTM_TEXTAREA_End ();
break;
- case Usr_I_CAN_NOT: // Show without form
+ case Usr_CAN_NOT: // Show without form
default:
Str_ChangeFormat (Str_FROM_HTML,Str_TO_RIGOROUS_HTML,
CommentStd,Cns_MAX_BYTES_TEXT,Str_DONT_REMOVE_SPACES);
@@ -1780,7 +1780,7 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
The_GetColorRows ());
switch (ICanEditTchComment)
{
- case Usr_I_CAN: // Show with form
+ case Usr_CAN: // Show with form
HTM_TEXTAREA_Begin ("name=\"CommentTch%s\" cols=\"40\" rows=\"3\""
" class=\"INPUT_%s\"",
UsrDat->EnUsrCod,
@@ -1788,7 +1788,7 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
HTM_Txt (CommentTch);
HTM_TEXTAREA_End ();
break;
- case Usr_I_CAN_NOT: // Show without form
+ case Usr_CAN_NOT: // Show without form
default:
if (Event->CommentTchVisible)
{
@@ -2775,7 +2775,7 @@ static void Att_ListUsrsAttendanceTable (struct Att_Events *Events,
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat, // Get from the database the data of the student
Usr_DONT_GET_PREFS,
Usr_DONT_GET_ROLE_IN_CRS))
- if (Usr_CheckIfICanViewAtt (&UsrDat) == Usr_I_CAN)
+ if (Usr_CheckIfICanViewAtt (&UsrDat) == Usr_CAN)
{
UsrDat.Accepted = Enr_CheckIfUsrHasAcceptedInCurrentCrs (&UsrDat);
Att_WriteRowUsrSeveralAttEvents (Events,NumUsr,&UsrDat);
@@ -3010,7 +3010,7 @@ static void Att_ListStdsWithAttEventsDetails (struct Att_Events *Events,
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat, // Get from the database the data of the student
Usr_DONT_GET_PREFS,
Usr_DONT_GET_ROLE_IN_CRS))
- if (Usr_CheckIfICanViewAtt (&UsrDat) == Usr_I_CAN)
+ if (Usr_CheckIfICanViewAtt (&UsrDat) == Usr_CAN)
{
UsrDat.Accepted = Enr_CheckIfUsrHasAcceptedInCurrentCrs (&UsrDat);
Att_ListAttEventsForAStd (Events,NumUsr,&UsrDat);
diff --git a/swad_attendance.h b/swad_attendance.h
index 92e95fc40..358636e90 100644
--- a/swad_attendance.h
+++ b/swad_attendance.h
@@ -85,7 +85,7 @@ struct Att_Events
void Att_SeeEvents (void);
-Usr_ICan_t Att_CheckIfICanEditEvents (void);
+Usr_Can_t Att_CheckIfICanEditEvents (void);
void Att_ReqCreatOrEditEvent (void);
bool Att_GetEventDataByCod (struct Att_Event *Event);
diff --git a/swad_browser.c b/swad_browser.c
index 2990dfb8d..a3adf223d 100644
--- a/swad_browser.c
+++ b/swad_browser.c
@@ -1098,7 +1098,7 @@ static Act_Action_t Brw_ActZIPFolder[Brw_NUM_TYPES_FILE_BROWSER] =
/***************************** Private variables *****************************/
/*****************************************************************************/
-Usr_ICan_t Brw_ICanEditFileOrFolder; // Can I modify (remove, rename, create inside, etc.) a file or folder?
+Usr_Can_t Brw_ICanEditFileOrFolder; // Can I modify (remove, rename, create inside, etc.) a file or folder?
/*****************************************************************************/
/**************************** Private prototypes *****************************/
@@ -1141,7 +1141,7 @@ static void Brw_ListDir (unsigned Level,const char *RowId,
static bool Brw_WriteRowFileBrowser (unsigned Level,const char *RowId,
bool TreeContracted,
Brw_IconTree_t IconThisRow);
-static Usr_ICan_t Brw_CheckIfCanPasteIn (unsigned Level);
+static Usr_Can_t Brw_CheckIfCanPasteIn (unsigned Level);
static void Brw_PutIconRemove (void);
static void Brw_PutIconCopy (void);
static void Brw_PutIconPaste (unsigned Level);
@@ -1216,7 +1216,7 @@ static bool Brw_CheckIfUploadIsAllowed (const char *FileType);
static void Brw_PutIconToGetLinkToFile (void *FileMetadata);
static void Brw_PutParsToGetLinkToFile (void *FileMetadata);
-static Usr_ICan_t Brw_CheckIfICanEditFileMetadata (bool IAmTheOwner);
+static Usr_Can_t Brw_CheckIfICanEditFileMetadata (bool IAmTheOwner);
static bool Brw_CheckIfIAmOwnerOfFile (long PublisherUsrCod);
static void Brw_WriteBigLinkToDownloadFile (const char *URL,
struct Brw_FileMetadata *FileMetadata,
@@ -1236,15 +1236,15 @@ static unsigned Brw_GetFileViewsFromMe (long FilCod);
static void Brw_RemoveOneFileOrFolderFromDB (const char Path[PATH_MAX + 1]);
static void Brw_RemoveChildrenOfFolderFromDB (const char Path[PATH_MAX + 1]);
-static void Brw_SetIfICanEditFileOrFolder (Usr_ICan_t Value);
-static Usr_ICan_t Brw_GetIfICanEditFileOrFolder (void);
-static Usr_ICan_t Brw_CheckIfICanEditFileOrFolder (unsigned Level);
+static void Brw_SetIfICanEditFileOrFolder (Usr_Can_t Value);
+static Usr_Can_t Brw_GetIfICanEditFileOrFolder (void);
+static Usr_Can_t Brw_CheckIfICanEditFileOrFolder (unsigned Level);
-static Usr_ICan_t Brw_CheckIfICanCreateIntoFolder (unsigned Level);
-static Usr_ICan_t Brw_CheckIfICanModifySharedFileOrFolder (void);
-static Usr_ICan_t Brw_CheckIfICanModifyPrivateFileOrFolder (void);
-static Usr_ICan_t Brw_CheckIfICanModifyPrjDocFileOrFolder (void);
-static Usr_ICan_t Brw_CheckIfICanModifyPrjAssFileOrFolder (void);
+static Usr_Can_t Brw_CheckIfICanCreateIntoFolder (unsigned Level);
+static Usr_Can_t Brw_CheckIfICanModifySharedFileOrFolder (void);
+static Usr_Can_t Brw_CheckIfICanModifyPrivateFileOrFolder (void);
+static Usr_Can_t Brw_CheckIfICanModifyPrjDocFileOrFolder (void);
+static Usr_Can_t Brw_CheckIfICanModifyPrjAssFileOrFolder (void);
static void Brw_WriteRowDocData (unsigned *NumDocsNotHidden,MYSQL_ROW row);
@@ -1991,22 +1991,26 @@ void Brw_GetParAndInitFileBrowser (void)
case Brw_SHOW_DOC_INS:
case Brw_ADMI_DOC_INS:
case Brw_ADMI_SHR_INS:
- Gbl.FileBrowser.ShowOnlyPublicFiles = !Gbl.Usrs.Me.IBelongToCurrent[Hie_INS];
+ Gbl.FileBrowser.ShowOnlyPublicFiles =
+ (Gbl.Usrs.Me.IBelongToCurrent[Hie_INS] == Usr_DONT_BELONG);
break;
case Brw_SHOW_DOC_CTR:
case Brw_ADMI_DOC_CTR:
case Brw_ADMI_SHR_CTR:
- Gbl.FileBrowser.ShowOnlyPublicFiles = !Gbl.Usrs.Me.IBelongToCurrent[Hie_CTR];
+ Gbl.FileBrowser.ShowOnlyPublicFiles =
+ (Gbl.Usrs.Me.IBelongToCurrent[Hie_CTR] == Usr_DONT_BELONG);
break;
case Brw_SHOW_DOC_DEG:
case Brw_ADMI_DOC_DEG:
case Brw_ADMI_SHR_DEG:
- Gbl.FileBrowser.ShowOnlyPublicFiles = !Gbl.Usrs.Me.IBelongToCurrent[Hie_DEG];
+ Gbl.FileBrowser.ShowOnlyPublicFiles =
+ (Gbl.Usrs.Me.IBelongToCurrent[Hie_DEG] == Usr_DONT_BELONG);
break;
case Brw_SHOW_DOC_CRS:
case Brw_ADMI_DOC_CRS:
case Brw_ADMI_SHR_CRS:
- Gbl.FileBrowser.ShowOnlyPublicFiles = !Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS];
+ Gbl.FileBrowser.ShowOnlyPublicFiles =
+ (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] == Usr_DONT_BELONG);
break;
default:
break;
@@ -2747,7 +2751,7 @@ void Brw_ShowFileBrowserProject (long PrjCod)
Brw_WriteTopBeforeShowingFileBrowser ();
- if (Prj_CheckIfICanViewProjectDocuments (PrjCod) == Usr_I_CAN)
+ if (Prj_CheckIfICanViewProjectDocuments (PrjCod) == Usr_CAN)
{
/***** Show the tree with the project documents *****/
Gbl.FileBrowser.Type = Brw_ADMI_DOC_PRJ;
@@ -2755,7 +2759,7 @@ void Brw_ShowFileBrowserProject (long PrjCod)
Brw_ShowFileBrowser ();
}
- if (Prj_CheckIfICanViewProjectAssessment (PrjCod) == Usr_I_CAN)
+ if (Prj_CheckIfICanViewProjectAssessment (PrjCod) == Usr_CAN)
{
/***** Show the tree with the project assessment *****/
Gbl.FileBrowser.Type = Brw_ADMI_ASS_PRJ;
@@ -2801,7 +2805,7 @@ static void Brw_ShowFileBrowsersAsgWrkCrs (void)
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat,
Usr_DONT_GET_PREFS,
Usr_GET_ROLE_IN_CRS))
- if (Usr_CheckIfICanViewAsgWrk (&Gbl.Usrs.Other.UsrDat) == Usr_I_CAN)
+ if (Usr_CheckIfICanViewAsgWrk (&Gbl.Usrs.Other.UsrDat) == Usr_CAN)
{
Gbl.Usrs.Other.UsrDat.Accepted =
Enr_CheckIfUsrHasAcceptedInCurrentCrs (&Gbl.Usrs.Other.UsrDat);
@@ -3336,7 +3340,7 @@ static void Brw_PutIconsFileBrowser (__attribute__((unused)) void *Args)
/***** Put icon to get resource link *****/
if (Brw_ActReqLnk[Gbl.FileBrowser.Type] != ActUnk &&
- Rsc_CheckIfICanGetLink () == Usr_I_CAN)
+ Rsc_CheckIfICanGetLink () == Usr_CAN)
Ico_PutContextualIconToGetLink (Brw_ActReqLnk[Gbl.FileBrowser.Type],NULL,
NULL,NULL);
@@ -3892,7 +3896,7 @@ static bool Brw_WriteRowFileBrowser (unsigned Level,const char *RowId,
Brw_TypeIsAdmDoc[Gbl.FileBrowser.Type] ||
Brw_TypeIsAdmMrk[Gbl.FileBrowser.Type])
{
- HiddenOrVisible = Brw_CheckIfFileOrFolderIsSetAsHiddenInDB (Gbl.FileBrowser.FilFolLnk.Type,
+ HiddenOrVisible = Brw_CheckIfFileOrFolderIsHiddenOrVisible (Gbl.FileBrowser.FilFolLnk.Type,
Gbl.FileBrowser.FilFolLnk.Full);
if (HiddenOrVisible == HidVis_HIDDEN &&
(Brw_TypeIsSeeDoc[Gbl.FileBrowser.Type] ||
@@ -3907,12 +3911,13 @@ static bool Brw_WriteRowFileBrowser (unsigned Level,const char *RowId,
Gbl.FileBrowser.HiddenLevels[Level] = (HiddenOrVisible == HidVis_HIDDEN);
switch (HiddenOrVisible)
{
- case HidVis_HIDDEN: // this row is marked as hidden
- LightStyle = true;
- break;
case HidVis_VISIBLE: // this row is not marked as hidden
LightStyle = Brw_CheckIfAnyHigherLevelIsHidden (Level);
break;
+ case HidVis_HIDDEN: // this row is marked as hidden
+ default:
+ LightStyle = true;
+ break;
}
}
}
@@ -4002,7 +4007,7 @@ static bool Brw_WriteRowFileBrowser (unsigned Level,const char *RowId,
}
/****** If current action allows file administration... ******/
- Brw_SetIfICanEditFileOrFolder (Usr_I_CAN_NOT);
+ Brw_SetIfICanEditFileOrFolder (Usr_CAN_NOT);
if (Brw_CheckIfFileBrowserIsEditable (Gbl.FileBrowser.Type) &&
!Gbl.FileBrowser.ShowOnlyPublicFiles)
{
@@ -4142,26 +4147,26 @@ void Brw_SetFullPathInTree (void)
/*****************************************************************************/
// Return true if Gbl.FileBrowser.Clipboard.FilFolLnk.Full can be pasted into Gbl.FileBrowser.FilFolLnk.Full
-static Usr_ICan_t Brw_CheckIfCanPasteIn (unsigned Level)
+static Usr_Can_t Brw_CheckIfCanPasteIn (unsigned Level)
{
char PathDstWithFile[PATH_MAX + 1 + NAME_MAX + 1];
/***** If not in a folder... *****/
if (Gbl.FileBrowser.FilFolLnk.Type != Brw_IS_FOLDER)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** If there is nothing in clipboard... *****/
if (Gbl.FileBrowser.Clipboard.FileBrowser == Brw_UNKNOWN)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** Do not paste a link in marks... *****/
if (Gbl.FileBrowser.Clipboard.FilFolLnk.Type == Brw_IS_LINK &&
Brw_TypeIsAdmMrk[Gbl.FileBrowser.Type])
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/**** If I can not create elements into this folder... *****/
- if (Brw_CheckIfICanCreateIntoFolder (Level) == Usr_I_CAN_NOT)
- return Usr_I_CAN_NOT; // Pasting into top level of assignments is forbidden
+ if (Brw_CheckIfICanCreateIntoFolder (Level) == Usr_CAN_NOT)
+ return Usr_CAN_NOT; // Pasting into top level of assignments is forbidden
/**** If we are in the same tree of the clipboard... *****/
if (Gbl.FileBrowser.Clipboard.IsThisTree) // We are in the same tree of the clipboard ==>
@@ -4173,11 +4178,11 @@ static Usr_ICan_t Brw_CheckIfCanPasteIn (unsigned Level)
Gbl.FileBrowser.Clipboard.FilFolLnk.Name);
return Str_Path1BeginsByPath2 (PathDstWithFile,
- Gbl.FileBrowser.Clipboard.FilFolLnk.Full) ? Usr_I_CAN_NOT :
- Usr_I_CAN;
+ Gbl.FileBrowser.Clipboard.FilFolLnk.Full) ? Usr_CAN_NOT :
+ Usr_CAN;
}
- return Usr_I_CAN; // I can paste
+ return Usr_CAN; // I can paste
}
/*****************************************************************************/
@@ -4190,7 +4195,7 @@ static void Brw_PutIconRemove (void)
switch (Brw_GetIfICanEditFileOrFolder ()) // Can I remove this?
{
- case Usr_I_CAN:
+ case Usr_CAN:
switch (Gbl.FileBrowser.FilFolLnk.Type)
{
case Brw_IS_FILE:
@@ -4212,7 +4217,7 @@ static void Brw_PutIconRemove (void)
break;
}
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconRemovalNotAllowed ();
break;
@@ -4250,13 +4255,13 @@ static void Brw_PutIconPaste (unsigned Level)
/***** Icon to paste *****/
switch (Brw_CheckIfCanPasteIn (Level))
{
- case Usr_I_CAN:
+ case Usr_CAN:
/* Form to paste the content of the clipboard */
Ico_PutContextualIconToPaste (Brw_ActPaste[Gbl.FileBrowser.Type],
Brw_PutImplicitParsFileBrowser,
&Gbl.FileBrowser.FilFolLnk);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
/* Icon to paste inactive */
Ico_PutIconOff ("paste.svg",Ico_BLACK,Txt_Copy_not_allowed);
@@ -4342,15 +4347,16 @@ static void Brw_PutIconToExpandFolder (const char *FileBrowserId,const char *Row
/***** Begin container *****/
switch (HiddenOrVisible)
{
- case HidVis_HIDDEN:
- HTM_DIV_Begin ("id=\"expand_%s_%s\" style=\"display:none;\"",
- FileBrowserId,RowId);
- break;
case HidVis_VISIBLE:
HTM_DIV_Begin ("id=\"expand_%s_%s\"",
FileBrowserId,RowId);
break;
- }
+ case HidVis_HIDDEN:
+ default:
+ HTM_DIV_Begin ("id=\"expand_%s_%s\" style=\"display:none;\"",
+ FileBrowserId,RowId);
+ break;
+ }
/***** Form and icon *****/
snprintf (JavaScriptFuncToExpandFolder,sizeof (JavaScriptFuncToExpandFolder),
@@ -4380,14 +4386,15 @@ static void Brw_PutIconToContractFolder (const char *FileBrowserId,const char *R
/***** Begin container *****/
switch (HiddenOrVisible)
{
- case HidVis_HIDDEN:
- HTM_DIV_Begin ("id=\"contract_%s_%s\" style=\"display:none;\"",
- FileBrowserId,RowId);
- break;
case HidVis_VISIBLE:
HTM_DIV_Begin ("id=\"contract_%s_%s\"",
FileBrowserId,RowId);
break;
+ case HidVis_HIDDEN:
+ default:
+ HTM_DIV_Begin ("id=\"contract_%s_%s\" style=\"display:none;\"",
+ FileBrowserId,RowId);
+ break;
}
/***** Form and icon *****/
@@ -4478,12 +4485,12 @@ static void Brw_PutIconFolder (unsigned Level,
const char *FileBrowserId,const char *RowId,
Brw_IconTree_t IconSubtree)
{
- static void (*Brw_PutIconFolder[Usr_NUM_I_CAN]) (const char *FileBrowserId,const char *RowId,
+ static void (*Brw_PutIconFolder[Usr_NUM_CAN]) (const char *FileBrowserId,const char *RowId,
CloOpe_ClosedOrOpen_t ClosedOrOpen,
HidVis_HiddenOrVisible_t HiddenOrVisible) =
{
- [Usr_I_CAN_NOT] = Brw_PutIconFolderWithoutPlus,
- [Usr_I_CAN ] = Brw_PutIconFolderWithPlus,
+ [Usr_CAN_NOT] = Brw_PutIconFolderWithoutPlus,
+ [Usr_CAN ] = Brw_PutIconFolderWithPlus,
};
static HidVis_HiddenOrVisible_t HiddenOrVisible[Brw_NUM_ICON_TREE][CloOpe_NUM_CLOSED_OPEN] =
{
@@ -4495,7 +4502,7 @@ static void Brw_PutIconFolder (unsigned Level,
[Brw_ICON_TREE_CONTRACT][CloOpe_OPEN ] = HidVis_VISIBLE,
};
CloOpe_ClosedOrOpen_t ClosedOrOpen;
- Usr_ICan_t ICanCreateIntoFolder = Brw_CheckIfICanCreateIntoFolder (Level);
+ Usr_Can_t ICanCreateIntoFolder = Brw_CheckIfICanCreateIntoFolder (Level);
/***** Begin cell *****/
HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ());
@@ -4712,7 +4719,7 @@ static void Brw_WriteFileName (unsigned Level,bool IsPublic,
switch (Brw_GetIfICanEditFileOrFolder ()) // Can I rename this folder?
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Form to rename folder *****/
Frm_BeginForm (Brw_ActRenameFolder[Gbl.FileBrowser.Type]);
Brw_PutImplicitParsFileBrowser (&Gbl.FileBrowser.FilFolLnk);
@@ -4726,7 +4733,7 @@ static void Brw_WriteFileName (unsigned Level,bool IsPublic,
The_GetColorRows ());
Frm_EndForm ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
/***** Write name of the folder *****/
if (Level == 1 && Brw_TypeIsAdmAsg[Gbl.FileBrowser.Type])
@@ -4929,7 +4936,7 @@ void Brw_AskRemFileFromTree (void)
/***** Button of confirmation of removing *****/
switch (Brw_CheckIfICanEditFileOrFolder (Gbl.FileBrowser.Level)) // Can I remove this file?
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Show question and button to remove file/link *****/
Brw_GetFileNameToShowDependingOnLevel (Gbl.FileBrowser.Type,
Gbl.FileBrowser.Level,
@@ -4941,7 +4948,7 @@ void Brw_AskRemFileFromTree (void)
Txt_Do_you_really_want_to_remove_FILE_OR_LINK_X,
FileNameToShow);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Err_ShowErrorAndExit (Txt_You_can_not_remove_this_file_or_link);
break;
@@ -4968,7 +4975,7 @@ void Brw_RemFileFromTree (void)
switch (Brw_CheckIfICanEditFileOrFolder (Gbl.FileBrowser.Level)) // Can I remove this file?
{
- case Usr_I_CAN:
+ case Usr_CAN:
snprintf (Path,sizeof (Path),"%s/%s",
Gbl.FileBrowser.Path.AboveRootFolder,
Gbl.FileBrowser.FilFolLnk.Full);
@@ -4999,7 +5006,7 @@ void Brw_RemFileFromTree (void)
else // File / link not found
Err_FileFolderNotFoundExit ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Err_ShowErrorAndExit (Txt_You_can_not_remove_this_file_or_link);
break;
@@ -5025,7 +5032,7 @@ void Brw_RemFolderFromTree (void)
switch (Brw_CheckIfICanEditFileOrFolder (Gbl.FileBrowser.Level)) // Can I remove this folder?
{
- case Usr_I_CAN:
+ case Usr_CAN:
snprintf (Path,sizeof (Path),"%s/%s",
Gbl.FileBrowser.Path.AboveRootFolder,
Gbl.FileBrowser.FilFolLnk.Full);
@@ -5056,7 +5063,7 @@ void Brw_RemFolderFromTree (void)
else // Folder not found
Err_FileFolderNotFoundExit ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Err_ShowErrorAndExit (Txt_You_can_not_remove_this_folder);
break;
@@ -5093,7 +5100,7 @@ void Brw_RemSubtreeInFileBrowser (void)
/***** Get parameters related to file browser *****/
Brw_GetParAndInitFileBrowser ();
- if (Brw_CheckIfICanEditFileOrFolder (Gbl.FileBrowser.Level) == Usr_I_CAN) // Can I remove this subtree?
+ if (Brw_CheckIfICanEditFileOrFolder (Gbl.FileBrowser.Level) == Usr_CAN) // Can I remove this subtree?
{
snprintf (Path,sizeof (Path),"%s/%s",
Gbl.FileBrowser.Path.AboveRootFolder,
@@ -5776,7 +5783,7 @@ static void Brw_PasteClipboard (struct BrwSiz_BrowserSize *Size)
Gbl.FileBrowser.Clipboard.IsThisTree = Brw_CheckIfClipboardIsInThisTree ();
switch (Brw_CheckIfCanPasteIn (Gbl.FileBrowser.Level))
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Construct the relative path of the origin file or folder *****/
switch (Gbl.FileBrowser.Clipboard.FileBrowser)
{
@@ -5928,7 +5935,7 @@ static void Brw_PasteClipboard (struct BrwSiz_BrowserSize *Size)
Brw_GetFileMetadataByCod (&FileMetadata);
/* Notify only is destination folder is visible */
- if (!Brw_DB_CheckIfFileOrFolderIsSetAsHiddenUsingMetadata (&FileMetadata))
+ if (Brw_DB_CheckIfFileOrFolderIsHiddenOrVisibleUsingMetadata (&FileMetadata) == HidVis_VISIBLE)
switch (Gbl.FileBrowser.Type)
{
case Brw_ADMI_DOC_CRS:
@@ -5956,7 +5963,7 @@ static void Brw_PasteClipboard (struct BrwSiz_BrowserSize *Size)
/***** Add path where new tree is pasted to table of expanded folders *****/
Brw_InsFoldersInPathAndUpdOtherFoldersInExpandedFolders (Gbl.FileBrowser.FilFolLnk.Full);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
// It's difficult, but not impossible that a user sees this message
Err_ShowErrorAndExit (Txt_You_can_not_paste_file_or_folder_here);
@@ -6202,7 +6209,7 @@ void Brw_ShowFormFileBrowser (void)
/***** Check if creating a new folder or file is allowed *****/
switch (Brw_CheckIfICanCreateIntoFolder (Gbl.FileBrowser.Level))
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Name of the folder to be shown ****/
Brw_GetFileNameToShowDependingOnLevel (Gbl.FileBrowser.Type,
Gbl.FileBrowser.Level,
@@ -6224,7 +6231,7 @@ void Brw_ShowFormFileBrowser (void)
{
/***** Check if we can paste in this folder *****/
Gbl.FileBrowser.Clipboard.IsThisTree = Brw_CheckIfClipboardIsInThisTree ();
- if (Brw_CheckIfCanPasteIn (Gbl.FileBrowser.Level) == Usr_I_CAN)
+ if (Brw_CheckIfCanPasteIn (Gbl.FileBrowser.Level) == Usr_CAN)
Brw_PutFormToPasteAFileOrFolder (FileNameToShow);
}
@@ -6233,7 +6240,7 @@ void Brw_ShowFormFileBrowser (void)
Gbl.FileBrowser.Type != Brw_ADMI_MRK_GRP) // Do not create links in marks
Brw_PutFormToCreateALink (FileNameToShow);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Err_ShowErrorAndExit (Txt_You_can_not_create_folders_files_or_links_here); // It's difficult, but not impossible that a user sees this message
@@ -6500,7 +6507,7 @@ void Brw_RecFolderFileBrowser (void)
/***** Check if creating a new folder is allowed *****/
switch (Brw_CheckIfICanCreateIntoFolder (Gbl.FileBrowser.Level))
{
- case Usr_I_CAN:
+ case Usr_CAN:
if (Str_ConvertFilFolLnkNameToValid (Gbl.FileBrowser.NewFilFolLnkName))
{
/* In Gbl.FileBrowser.NewFilFolLnkName is the name of the new folder */
@@ -6574,7 +6581,7 @@ void Brw_RecFolderFileBrowser (void)
else // Folder name not valid
Ale_ShowAlerts (NULL);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
// It's difficult, but not impossible that a user sees this message
Err_ShowErrorAndExit (Txt_You_can_not_create_folders_here);
@@ -6605,7 +6612,7 @@ void Brw_RenFolderFileBrowser (void)
switch (Brw_CheckIfICanEditFileOrFolder (Gbl.FileBrowser.Level)) // Can I rename this folder?
{
- case Usr_I_CAN:
+ case Usr_CAN:
if (Str_ConvertFilFolLnkNameToValid (Gbl.FileBrowser.NewFilFolLnkName))
{
if (strcmp (Gbl.FileBrowser.FilFolLnk.Name,
@@ -6691,7 +6698,7 @@ void Brw_RenFolderFileBrowser (void)
else // Folder name not valid
Ale_ShowAlerts (NULL);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Err_ShowErrorAndExit (Txt_You_can_not_rename_this_folder);
break;
@@ -6783,7 +6790,7 @@ static bool Brw_RcvFileInFileBrw (struct BrwSiz_BrowserSize *Size,
/***** Check if creating a new file is allowed *****/
switch (Brw_CheckIfICanCreateIntoFolder (Gbl.FileBrowser.Level))
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** First, we save in disk the file received *****/
Par = Fil_StartReceptionOfFile (Fil_NAME_OF_PARAM_FILENAME_ORG,
SrcFileName,MIMEType);
@@ -6892,7 +6899,7 @@ static bool Brw_RcvFileInFileBrw (struct BrwSiz_BrowserSize *Size,
Mrk_DB_AddMarks (FileMetadata.FilCod,&Marks);
/* Notify new file */
- if (!Brw_DB_CheckIfFileOrFolderIsSetAsHiddenUsingMetadata (&FileMetadata))
+ if (Brw_DB_CheckIfFileOrFolderIsHiddenOrVisibleUsingMetadata (&FileMetadata) == HidVis_VISIBLE)
switch (Gbl.FileBrowser.Type)
{
case Brw_ADMI_DOC_CRS:
@@ -6927,7 +6934,7 @@ static bool Brw_RcvFileInFileBrw (struct BrwSiz_BrowserSize *Size,
Ale_CreateAlert (Ale_WARNING,NULL,
Txt_UPLOAD_FILE_You_must_specify_the_file_NO_HTML);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
// I do not have permission to create files here
Ale_CreateAlert (Ale_WARNING,NULL,
@@ -6968,7 +6975,7 @@ void Brw_RecLinkFileBrowser (void)
/***** Check if creating a new link is allowed *****/
switch (Brw_CheckIfICanCreateIntoFolder (Gbl.FileBrowser.Level))
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Create a new file to store URL ****/
Par_GetParText ("NewLinkURL",URL,PATH_MAX);
if ((LengthURL = strlen (URL)))
@@ -7070,7 +7077,7 @@ void Brw_RecLinkFileBrowser (void)
Brw_GetFileMetadataByCod (&FileMetadata);
/* Notify new file */
- if (!Brw_DB_CheckIfFileOrFolderIsSetAsHiddenUsingMetadata (&FileMetadata))
+ if (Brw_DB_CheckIfFileOrFolderIsHiddenOrVisibleUsingMetadata (&FileMetadata) == HidVis_VISIBLE)
switch (Gbl.FileBrowser.Type)
{
case Brw_ADMI_DOC_CRS:
@@ -7102,7 +7109,7 @@ void Brw_RecLinkFileBrowser (void)
else // Link URL not valid
Ale_ShowAlert (Ale_WARNING,Txt_UPLOAD_FILE_Invalid_link);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
// It's difficult, but not impossible that a user sees this message
Err_ShowErrorAndExit (Txt_You_can_not_create_links_here);
@@ -7186,7 +7193,7 @@ void Brw_SetDocumentAsVisible (void)
Brw_GetParAndInitFileBrowser ();
/***** Change file to visible *****/
- if (Brw_CheckIfFileOrFolderIsSetAsHiddenInDB (Gbl.FileBrowser.FilFolLnk.Type,
+ if (Brw_CheckIfFileOrFolderIsHiddenOrVisible (Gbl.FileBrowser.FilFolLnk.Type,
Gbl.FileBrowser.FilFolLnk.Full) == HidVis_HIDDEN)
Brw_DB_HideOrUnhideFileOrFolder (Gbl.FileBrowser.FilFolLnk.Full,HidVis_VISIBLE);
@@ -7210,7 +7217,7 @@ void Brw_SetDocumentAsHidden (void)
/***** If the file or folder is not already set as hidden in database,
set it as hidden *****/
- if (Brw_CheckIfFileOrFolderIsSetAsHiddenInDB (Gbl.FileBrowser.FilFolLnk.Type,
+ if (Brw_CheckIfFileOrFolderIsHiddenOrVisible (Gbl.FileBrowser.FilFolLnk.Type,
Gbl.FileBrowser.FilFolLnk.Full) == HidVis_VISIBLE)
Brw_DB_HideOrUnhideFileOrFolder (Gbl.FileBrowser.FilFolLnk.Full,HidVis_HIDDEN);
@@ -7227,7 +7234,7 @@ void Brw_SetDocumentAsHidden (void)
/** Check if a file / folder from the documents zone is set as hidden in DB **/
/*****************************************************************************/
-HidVis_HiddenOrVisible_t Brw_CheckIfFileOrFolderIsSetAsHiddenInDB (Brw_FileType_t FileType,
+HidVis_HiddenOrVisible_t Brw_CheckIfFileOrFolderIsHiddenOrVisible (Brw_FileType_t FileType,
const char *Path)
{
MYSQL_RES *mysql_res;
@@ -7235,19 +7242,21 @@ HidVis_HiddenOrVisible_t Brw_CheckIfFileOrFolderIsSetAsHiddenInDB (Brw_FileType_
HidVis_HiddenOrVisible_t HiddenOrVisible;
/***** Get if a file or folder is hidden from database *****/
- if (Brw_DB_CheckIfFileOrFolderIsSetAsHiddenUsingPath (&mysql_res,Path))
+ switch (Brw_DB_CheckIfFileOrFolderIsHiddenUsingPath (&mysql_res,Path))
{
- /* Get row */
- row = mysql_fetch_row (mysql_res);
+ case HidVis_VISIBLE:
+ Brw_DB_AddPath (-1L,FileType,
+ Gbl.FileBrowser.FilFolLnk.Full,false,Brw_LICENSE_DEFAULT);
+ HiddenOrVisible = HidVis_VISIBLE;
+ break;
+ case HidVis_HIDDEN:
+ default:
+ /* Get row */
+ row = mysql_fetch_row (mysql_res);
- /* File is hidden? (row[0]) */
- HiddenOrVisible = HidVid_GetHiddenOrVisible (row[0][0]);
- }
- else
- {
- Brw_DB_AddPath (-1L,FileType,
- Gbl.FileBrowser.FilFolLnk.Full,false,Brw_LICENSE_DEFAULT);
- HiddenOrVisible = HidVis_VISIBLE;
+ /* File is hidden? (row[0]) */
+ HiddenOrVisible = HidVid_GetHiddenOrVisible (row[0][0]);
+ break;
}
/***** Free structure that stores the query result *****/
@@ -7292,10 +7301,10 @@ void Brw_ShowFileMetadata (void)
char URL[PATH_MAX + 1];
char FileSizeStr[Fil_MAX_BYTES_FILE_SIZE_STRING + 1];
bool Found;
- Usr_ICan_t ICanView = Usr_I_CAN_NOT;
+ Usr_Can_t ICanView = Usr_CAN_NOT;
bool IAmTheOwner;
- Usr_ICan_t ICanEdit;
- Usr_ICan_t ICanChangePublic = Usr_I_CAN_NOT;
+ Usr_Can_t ICanEdit;
+ Usr_Can_t ICanChangePublic = Usr_CAN_NOT;
bool FileHasPublisher;
Brw_License_t License;
unsigned LicenseUnsigned;
@@ -7318,29 +7327,29 @@ void Brw_ShowFileMetadata (void)
/***** Check if I can view this file.
It could be marked as hidden or in a hidden folder *****/
- ICanView = Usr_I_CAN;
+ ICanView = Usr_CAN;
switch (Gbl.FileBrowser.Type)
{
case Brw_SHOW_DOC_INS:
if (Gbl.Usrs.Me.Role.Logged < Rol_INS_ADM)
- ICanView = Brw_DB_CheckIfFileOrFolderIsSetAsHiddenUsingMetadata (&FileMetadata) ? Usr_I_CAN_NOT :
- Usr_I_CAN;
+ ICanView = (Brw_DB_CheckIfFileOrFolderIsHiddenOrVisibleUsingMetadata (&FileMetadata) == HidVis_VISIBLE) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case Brw_SHOW_DOC_CTR:
if (Gbl.Usrs.Me.Role.Logged < Rol_CTR_ADM)
- ICanView = Brw_DB_CheckIfFileOrFolderIsSetAsHiddenUsingMetadata (&FileMetadata) ? Usr_I_CAN_NOT :
- Usr_I_CAN;
+ ICanView = (Brw_DB_CheckIfFileOrFolderIsHiddenOrVisibleUsingMetadata (&FileMetadata) == HidVis_VISIBLE) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case Brw_SHOW_DOC_DEG:
if (Gbl.Usrs.Me.Role.Logged < Rol_DEG_ADM)
- ICanView = Brw_DB_CheckIfFileOrFolderIsSetAsHiddenUsingMetadata (&FileMetadata) ? Usr_I_CAN_NOT :
- Usr_I_CAN;
+ ICanView = (Brw_DB_CheckIfFileOrFolderIsHiddenOrVisibleUsingMetadata (&FileMetadata) == HidVis_VISIBLE) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case Brw_SHOW_DOC_CRS:
case Brw_SHOW_DOC_GRP:
if (Gbl.Usrs.Me.Role.Logged < Rol_TCH)
- ICanView = Brw_DB_CheckIfFileOrFolderIsSetAsHiddenUsingMetadata (&FileMetadata) ? Usr_I_CAN_NOT :
- Usr_I_CAN;
+ ICanView = (Brw_DB_CheckIfFileOrFolderIsHiddenOrVisibleUsingMetadata (&FileMetadata) == HidVis_VISIBLE) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
default:
break;
@@ -7349,7 +7358,7 @@ void Brw_ShowFileMetadata (void)
switch (ICanView)
{
- case Usr_I_CAN:
+ case Usr_CAN:
if (FileMetadata.FilFolLnk.Type == Brw_IS_FILE ||
FileMetadata.FilFolLnk.Type == Brw_IS_LINK)
{
@@ -7392,7 +7401,7 @@ void Brw_ShowFileMetadata (void)
if ((Brw_ActReqLnk[Gbl.FileBrowser.Type] != ActUnk &&
(FileMetadata.FilFolLnk.Type == Brw_IS_FILE || // Only files or links
FileMetadata.FilFolLnk.Type == Brw_IS_LINK) &&
- Rsc_CheckIfICanGetLink ()) == Usr_I_CAN)
+ Rsc_CheckIfICanGetLink ()) == Usr_CAN)
Box_BoxShadowBegin (NULL,Brw_PutIconToGetLinkToFile,
&FileMetadata,NULL);
else
@@ -7400,7 +7409,7 @@ void Brw_ShowFileMetadata (void)
/***** Begin form to update the metadata of a file *****/
- if (ICanEdit == Usr_I_CAN) // I can edit file properties
+ if (ICanEdit == Usr_CAN) // I can edit file properties
{
/* Can the file be public? */
switch (Gbl.FileBrowser.Type)
@@ -7409,10 +7418,10 @@ void Brw_ShowFileMetadata (void)
case Brw_ADMI_DOC_CTR: case Brw_ADMI_SHR_CTR:
case Brw_ADMI_DOC_DEG: case Brw_ADMI_SHR_DEG:
case Brw_ADMI_DOC_CRS: case Brw_ADMI_SHR_CRS:
- ICanChangePublic = Usr_I_CAN;
+ ICanChangePublic = Usr_CAN;
break;
default:
- ICanChangePublic = Usr_I_CAN_NOT;
+ ICanChangePublic = Usr_CAN_NOT;
break;
}
@@ -7506,14 +7515,14 @@ void Brw_ShowFileMetadata (void)
HTM_TR_Begin (NULL);
/* Label */
- Frm_LabelColumn ("RT",ICanChangePublic == Usr_I_CAN ? "PublicFile" :
- NULL,
+ Frm_LabelColumn ("RT",ICanChangePublic == Usr_CAN ? "PublicFile" :
+ NULL,
Txt_Availability);
/* Data */
HTM_TD_Begin ("class=\"LT DAT_STRONG_%s\"",
The_GetSuffix ());
- if (ICanChangePublic == Usr_I_CAN) // I can change file to public
+ if (ICanChangePublic == Usr_CAN) // I can change file to public
{
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
"id=\"PublicFile\" name=\"PublicFile\" class=\"PUBLIC_FILE\"");
@@ -7540,14 +7549,14 @@ void Brw_ShowFileMetadata (void)
HTM_TR_Begin (NULL);
/* Label */
- Frm_LabelColumn ("RT",ICanEdit == Usr_I_CAN ? "License" :
+ Frm_LabelColumn ("RT",ICanEdit == Usr_CAN ? "License" :
NULL,
Txt_License);
/* Data */
HTM_TD_Begin ("class=\"LT DAT_STRONG_%s\"",
The_GetSuffix ());
- if (ICanEdit == Usr_I_CAN) // I can edit file properties
+ if (ICanEdit == Usr_CAN) // I can edit file properties
{
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
"id=\"License\" name=\"License\" class=\"LICENSE\"");
@@ -7617,7 +7626,7 @@ void Brw_ShowFileMetadata (void)
HTM_TABLE_End ();
/***** End form *****/
- if (ICanEdit == Usr_I_CAN) // I can edit file properties
+ if (ICanEdit == Usr_CAN) // I can edit file properties
{
Btn_PutButton (Btn_CONFIRM_BUTTON,Txt_Save_file_properties);
Frm_EndForm ();
@@ -7661,7 +7670,7 @@ void Brw_ShowFileMetadata (void)
/***** Add paths until file to table of expanded folders *****/
Brw_InsFoldersInPathAndUpdOtherFoldersInExpandedFolders (Gbl.FileBrowser.FilFolLnk.Path);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
/***** Mark possible notifications about non visible file as removed *****/
switch (Gbl.FileBrowser.Type)
@@ -7770,7 +7779,7 @@ void Brw_DownloadFile (void)
struct Brw_FileMetadata FileMetadata;
char URL[PATH_MAX + 1];
bool Found;
- Usr_ICan_t ICanView = Usr_I_CAN_NOT;
+ Usr_Can_t ICanView = Usr_CAN_NOT;
/***** Get parameters related to file browser *****/
Brw_GetParAndInitFileBrowser ();
@@ -7789,29 +7798,29 @@ void Brw_DownloadFile (void)
/***** Check if I can view this file.
It could be marked as hidden or in a hidden folder *****/
- ICanView = Usr_I_CAN;
+ ICanView = Usr_CAN;
switch (Gbl.FileBrowser.Type)
{
case Brw_SHOW_DOC_INS:
if (Gbl.Usrs.Me.Role.Logged < Rol_INS_ADM)
- ICanView = Brw_DB_CheckIfFileOrFolderIsSetAsHiddenUsingMetadata (&FileMetadata) ? Usr_I_CAN_NOT :
- Usr_I_CAN;
+ ICanView = (Brw_DB_CheckIfFileOrFolderIsHiddenOrVisibleUsingMetadata (&FileMetadata) == HidVis_VISIBLE) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case Brw_SHOW_DOC_CTR:
if (Gbl.Usrs.Me.Role.Logged < Rol_CTR_ADM)
- ICanView = Brw_DB_CheckIfFileOrFolderIsSetAsHiddenUsingMetadata (&FileMetadata) ? Usr_I_CAN_NOT :
- Usr_I_CAN;
+ ICanView = (Brw_DB_CheckIfFileOrFolderIsHiddenOrVisibleUsingMetadata (&FileMetadata) == HidVis_VISIBLE) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case Brw_SHOW_DOC_DEG:
if (Gbl.Usrs.Me.Role.Logged < Rol_DEG_ADM)
- ICanView = Brw_DB_CheckIfFileOrFolderIsSetAsHiddenUsingMetadata (&FileMetadata) ? Usr_I_CAN_NOT :
- Usr_I_CAN;
+ ICanView = (Brw_DB_CheckIfFileOrFolderIsHiddenOrVisibleUsingMetadata (&FileMetadata) == HidVis_VISIBLE) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case Brw_SHOW_DOC_CRS:
case Brw_SHOW_DOC_GRP:
if (Gbl.Usrs.Me.Role.Logged < Rol_TCH)
- ICanView = Brw_DB_CheckIfFileOrFolderIsSetAsHiddenUsingMetadata (&FileMetadata) ? Usr_I_CAN_NOT :
- Usr_I_CAN;
+ ICanView = (Brw_DB_CheckIfFileOrFolderIsHiddenOrVisibleUsingMetadata (&FileMetadata) == HidVis_VISIBLE) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
default:
break;
@@ -7820,7 +7829,7 @@ void Brw_DownloadFile (void)
switch (ICanView)
{
- case Usr_I_CAN:
+ case Usr_CAN:
if (FileMetadata.FilFolLnk.Type == Brw_IS_FILE ||
FileMetadata.FilFolLnk.Type == Brw_IS_LINK)
{
@@ -7879,7 +7888,7 @@ void Brw_DownloadFile (void)
Gbl.Layout.DivsEndWritten =
Gbl.Layout.HTMLEndWritten = true; // Don't write HTML at all
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
/***** Mark possible notifications about non visible file as removed *****/
switch (Gbl.FileBrowser.Type)
@@ -7918,7 +7927,7 @@ void Brw_DownloadFile (void)
/*********** Check if I have permission to change file metadata **************/
/*****************************************************************************/
-static Usr_ICan_t Brw_CheckIfICanEditFileMetadata (bool IAmTheOwner)
+static Usr_Can_t Brw_CheckIfICanEditFileMetadata (bool IAmTheOwner)
{
switch (Gbl.Action.Act) // Only in actions where edition is allowed
{
@@ -7947,10 +7956,10 @@ static Usr_ICan_t Brw_CheckIfICanEditFileMetadata (bool IAmTheOwner)
case ActReqDatWrkUsr: case ActChgDatWrkUsr:
case ActReqDatBrf: case ActChgDatBrf:
- return IAmTheOwner ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return IAmTheOwner ? Usr_CAN :
+ Usr_CAN_NOT;
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
}
@@ -8119,7 +8128,7 @@ void Brw_ChgFileMetadata (void)
{
/***** Check if I can change file metadata *****/
IAmTheOwner = Brw_CheckIfIAmOwnerOfFile (FileMetadata.PublisherUsrCod);
- if (Brw_CheckIfICanEditFileMetadata (IAmTheOwner) == Usr_I_CAN_NOT)
+ if (Brw_CheckIfICanEditFileMetadata (IAmTheOwner) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Check if the file was public before the edition *****/
@@ -8688,40 +8697,40 @@ static void Brw_RemoveChildrenOfFolderFromDB (const char Path[PATH_MAX + 1])
/********** Check if I have permission to modify a file or folder ************/
/*****************************************************************************/
-static void Brw_SetIfICanEditFileOrFolder (Usr_ICan_t Value)
+static void Brw_SetIfICanEditFileOrFolder (Usr_Can_t Value)
{
Brw_ICanEditFileOrFolder = Value;
}
-static Usr_ICan_t Brw_GetIfICanEditFileOrFolder (void)
+static Usr_Can_t Brw_GetIfICanEditFileOrFolder (void)
{
return Brw_ICanEditFileOrFolder;
}
-static Usr_ICan_t Brw_CheckIfICanEditFileOrFolder (unsigned Level)
+static Usr_Can_t Brw_CheckIfICanEditFileOrFolder (unsigned Level)
{
/***** Level 0 (root folder) can not be removed/renamed *****/
if (Level == 0)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** I must be student or a superior role to edit *****/
if (Gbl.Usrs.Me.Role.Max < Rol_STD)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** Set depending on browser, level, logged role... *****/
switch (Gbl.FileBrowser.Type)
{
case Brw_ADMI_DOC_CRS:
- return (Gbl.Usrs.Me.Role.Logged >= Rol_TCH) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return (Gbl.Usrs.Me.Role.Logged >= Rol_TCH) ? Usr_CAN :
+ Usr_CAN_NOT;
case Brw_ADMI_DOC_GRP:
if (Gbl.Usrs.Me.Role.Logged == Rol_TCH) // A teacher...
// ...can edit only if he/she belongs to group
- return Grp_GetIfIBelongToGrp (Gbl.Crs.Grps.GrpCod) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return Grp_GetIfIBelongToGrp (Gbl.Crs.Grps.GrpCod) ? Usr_CAN :
+ Usr_CAN_NOT;
// An administrator can edit
- return (Gbl.Usrs.Me.Role.Logged > Rol_TCH) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return (Gbl.Usrs.Me.Role.Logged > Rol_TCH) ? Usr_CAN :
+ Usr_CAN_NOT;
case Brw_ADMI_TCH_CRS:
case Brw_ADMI_TCH_GRP:
// Check if I am the publisher of the file/folder
@@ -8734,7 +8743,7 @@ static Usr_ICan_t Brw_CheckIfICanEditFileOrFolder (unsigned Level)
case Brw_ADMI_ASG_CRS:
if (Gbl.FileBrowser.FilFolLnk.Type == Brw_IS_FOLDER && // The main folder of an assignment
Level == 1)
- return Usr_I_CAN_NOT; // Do not remove / rename main folder of assigment
+ return Usr_CAN_NOT; // Do not remove / rename main folder of assigment
return Asg_CheckIfICanCreateIntoAssigment (&Gbl.FileBrowser.Asg);
case Brw_ADMI_DOC_PRJ:
@@ -8742,8 +8751,8 @@ static Usr_ICan_t Brw_CheckIfICanEditFileOrFolder (unsigned Level)
case Brw_ADMI_ASS_PRJ:
return Brw_CheckIfICanModifyPrjAssFileOrFolder ();
default:
- return Brw_CheckIfFileBrowserIsEditable (Gbl.FileBrowser.Type) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return Brw_CheckIfFileBrowserIsEditable (Gbl.FileBrowser.Type) ? Usr_CAN :
+ Usr_CAN_NOT;
}
return false;
}
@@ -8752,67 +8761,67 @@ static Usr_ICan_t Brw_CheckIfICanEditFileOrFolder (unsigned Level)
/**** Check if I have permission to create a file or folder into a folder ****/
/*****************************************************************************/
-static Usr_ICan_t Brw_CheckIfICanCreateIntoFolder (unsigned Level)
+static Usr_Can_t Brw_CheckIfICanCreateIntoFolder (unsigned Level)
{
/***** If not in a folder... *****/
if (Gbl.FileBrowser.FilFolLnk.Type != Brw_IS_FOLDER)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** I must be student, teacher, admin or superuser to edit *****/
if (Gbl.Usrs.Me.Role.Max < Rol_STD)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** If maximum level is reached, I can not create/paste *****/
if (Level >= BrwSiz_MAX_DIR_LEVELS)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** Have I permission to create/paste a new file or folder into the folder? *****/
switch (Gbl.FileBrowser.Type)
{
case Brw_ADMI_DOC_CRS:
- return (Gbl.Usrs.Me.Role.Logged >= Rol_TCH) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return (Gbl.Usrs.Me.Role.Logged >= Rol_TCH) ? Usr_CAN :
+ Usr_CAN_NOT;
case Brw_ADMI_DOC_GRP:
if (Gbl.Usrs.Me.Role.Logged == Rol_TCH) // A teacher
// ...can create/paste only if he/she belongs to group
- return Grp_GetIfIBelongToGrp (Gbl.Crs.Grps.GrpCod) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return Grp_GetIfIBelongToGrp (Gbl.Crs.Grps.GrpCod) ? Usr_CAN :
+ Usr_CAN_NOT;
// An administrator can create/paste
- return (Gbl.Usrs.Me.Role.Logged > Rol_TCH) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return (Gbl.Usrs.Me.Role.Logged > Rol_TCH) ? Usr_CAN :
+ Usr_CAN_NOT;
case Brw_ADMI_TCH_CRS:
- return (Gbl.Usrs.Me.Role.Logged >= Rol_NET) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return (Gbl.Usrs.Me.Role.Logged >= Rol_NET) ? Usr_CAN :
+ Usr_CAN_NOT;
case Brw_ADMI_TCH_GRP:
if (Gbl.Usrs.Me.Role.Logged == Rol_NET || // A non-editing teacher...
Gbl.Usrs.Me.Role.Logged == Rol_TCH) // ...or a teacher
// ...can create/paste only if he/she belongs to group
- return Grp_GetIfIBelongToGrp (Gbl.Crs.Grps.GrpCod) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return Grp_GetIfIBelongToGrp (Gbl.Crs.Grps.GrpCod) ? Usr_CAN :
+ Usr_CAN_NOT;
// An administrator can create/paste
- return (Gbl.Usrs.Me.Role.Logged > Rol_TCH) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return (Gbl.Usrs.Me.Role.Logged > Rol_TCH) ? Usr_CAN :
+ Usr_CAN_NOT;
case Brw_ADMI_SHR_CRS:
- return (Gbl.Usrs.Me.Role.Logged >= Rol_STD) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return (Gbl.Usrs.Me.Role.Logged >= Rol_STD) ? Usr_CAN :
+ Usr_CAN_NOT;
case Brw_ADMI_SHR_GRP:
if (Gbl.Usrs.Me.Role.Logged >= Rol_STD && // A student, non-editing teacher...
Gbl.Usrs.Me.Role.Logged <= Rol_TCH) // ...or a teacher
// ...can create/paste only if he/she belongs to group
- return Grp_GetIfIBelongToGrp (Gbl.Crs.Grps.GrpCod) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return Grp_GetIfIBelongToGrp (Gbl.Crs.Grps.GrpCod) ? Usr_CAN :
+ Usr_CAN_NOT;
// An administrator can create/paste
- return (Gbl.Usrs.Me.Role.Logged >= Rol_STD) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return (Gbl.Usrs.Me.Role.Logged >= Rol_STD) ? Usr_CAN :
+ Usr_CAN_NOT;
case Brw_ADMI_ASG_USR:
case Brw_ADMI_ASG_CRS:
if (Level == 0) // If root folder
- return Usr_I_CAN_NOT; // Folders of assigments (level 1)
+ return Usr_CAN_NOT; // Folders of assigments (level 1)
// can only be created automatically
return Asg_CheckIfICanCreateIntoAssigment (&Gbl.FileBrowser.Asg);
default:
- return Brw_CheckIfFileBrowserIsEditable (Gbl.FileBrowser.Type) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return Brw_CheckIfFileBrowserIsEditable (Gbl.FileBrowser.Type) ? Usr_CAN :
+ Usr_CAN_NOT;
}
}
@@ -8866,41 +8875,41 @@ bool Brw_CheckIfFileBrowserIsEditable (Brw_FileBrowser_t FileBrowser)
// I can remove or rename a file if I am the publisher
// I can remove or rename a folder if I am the unique publisher of all files and folders in the subtree starting there
-static Usr_ICan_t Brw_CheckIfICanModifySharedFileOrFolder (void)
+static Usr_Can_t Brw_CheckIfICanModifySharedFileOrFolder (void)
{
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_STD: // If I am a student or a non-editing teacher...
case Rol_NET: // ...I can modify the file/folder if I am the publisher
- return (Gbl.Usrs.Me.UsrDat.UsrCod == Brw_DB_GetPublisherOfSubtree (Gbl.FileBrowser.FilFolLnk.Full) ? Usr_I_CAN :
- Usr_I_CAN_NOT); // Am I the publisher of subtree?
+ return (Gbl.Usrs.Me.UsrDat.UsrCod == Brw_DB_GetPublisherOfSubtree (Gbl.FileBrowser.FilFolLnk.Full) ? Usr_CAN :
+ Usr_CAN_NOT); // Am I the publisher of subtree?
case Rol_TCH:
case Rol_DEG_ADM:
case Rol_CTR_ADM:
case Rol_INS_ADM:
case Rol_SYS_ADM:
- return Usr_I_CAN;
+ return Usr_CAN;
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
}
-static Usr_ICan_t Brw_CheckIfICanModifyPrivateFileOrFolder (void)
+static Usr_Can_t Brw_CheckIfICanModifyPrivateFileOrFolder (void)
{
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_NET: // If I am a student or a non-editing teacher...
// ...I can modify the file/folder if I am the publisher
- return (Gbl.Usrs.Me.UsrDat.UsrCod == Brw_DB_GetPublisherOfSubtree (Gbl.FileBrowser.FilFolLnk.Full) ? Usr_I_CAN :
- Usr_I_CAN_NOT); // Am I the publisher of subtree?
+ return (Gbl.Usrs.Me.UsrDat.UsrCod == Brw_DB_GetPublisherOfSubtree (Gbl.FileBrowser.FilFolLnk.Full) ? Usr_CAN :
+ Usr_CAN_NOT); // Am I the publisher of subtree?
case Rol_TCH:
case Rol_DEG_ADM:
case Rol_CTR_ADM:
case Rol_INS_ADM:
case Rol_SYS_ADM:
- return Usr_I_CAN;
+ return Usr_CAN;
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
}
@@ -8912,21 +8921,21 @@ static Usr_ICan_t Brw_CheckIfICanModifyPrivateFileOrFolder (void)
// I can remove or rename a file if I am the publisher
// I can remove or rename a folder if I am the unique publisher of all files and folders in the subtree starting there
-static Usr_ICan_t Brw_CheckIfICanModifyPrjDocFileOrFolder (void)
+static Usr_Can_t Brw_CheckIfICanModifyPrjDocFileOrFolder (void)
{
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_STD:
case Rol_NET:
if (Prj_GetMyRolesInProject (Prj_GetPrjCod ())) // I am a member
- return (Gbl.Usrs.Me.UsrDat.UsrCod == Brw_DB_GetPublisherOfSubtree (Gbl.FileBrowser.FilFolLnk.Full) ? Usr_I_CAN :
- Usr_I_CAN_NOT); // Am I the publisher of subtree?
- return Usr_I_CAN_NOT;
+ return (Gbl.Usrs.Me.UsrDat.UsrCod == Brw_DB_GetPublisherOfSubtree (Gbl.FileBrowser.FilFolLnk.Full) ? Usr_CAN :
+ Usr_CAN_NOT); // Am I the publisher of subtree?
+ return Usr_CAN_NOT;
case Rol_TCH: // Editing teachers in a course can access to all files
case Rol_SYS_ADM:
- return Usr_I_CAN;
+ return Usr_CAN;
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
}
@@ -8938,7 +8947,7 @@ static Usr_ICan_t Brw_CheckIfICanModifyPrjDocFileOrFolder (void)
// I can remove or rename a file if I am the publisher
// I can remove or rename a folder if I am the unique publisher of all files and folders in the subtree starting there
-static Usr_ICan_t Brw_CheckIfICanModifyPrjAssFileOrFolder (void)
+static Usr_Can_t Brw_CheckIfICanModifyPrjAssFileOrFolder (void)
{
switch (Gbl.Usrs.Me.Role.Logged)
{
@@ -8946,14 +8955,14 @@ static Usr_ICan_t Brw_CheckIfICanModifyPrjAssFileOrFolder (void)
case Rol_NET:
if ((Prj_GetMyRolesInProject (Prj_GetPrjCod ()) & (1 << Prj_ROLE_TUT | // Tutor...
1 << Prj_ROLE_EVL))) // ...or evaluator
- return (Gbl.Usrs.Me.UsrDat.UsrCod == Brw_DB_GetPublisherOfSubtree (Gbl.FileBrowser.FilFolLnk.Full) ? Usr_I_CAN :
- Usr_I_CAN_NOT); // Am I the publisher of subtree?
- return Usr_I_CAN_NOT;
+ return (Gbl.Usrs.Me.UsrDat.UsrCod == Brw_DB_GetPublisherOfSubtree (Gbl.FileBrowser.FilFolLnk.Full) ? Usr_CAN :
+ Usr_CAN_NOT); // Am I the publisher of subtree?
+ return Usr_CAN_NOT;
case Rol_TCH: // Editing teachers in a course can access to all files
case Rol_SYS_ADM:
- return Usr_I_CAN;
+ return Usr_CAN;
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
}
@@ -9238,232 +9247,228 @@ static void Brw_WriteRowDocData (unsigned *NumDocsNotHidden,MYSQL_ROW row)
FileMetadata.FilCod = Str_ConvertStrCodToLongCod (row[0]);
Brw_GetFileMetadataByCod (&FileMetadata);
- if (!Brw_DB_CheckIfFileOrFolderIsSetAsHiddenUsingMetadata (&FileMetadata))
- {
- /***** Get institution code (row[2]) *****/
- Hie[Hie_INS].HieCod = Str_ConvertStrCodToLongCod (row[2]);
- Str_Copy (Hie[Hie_INS].ShrtName,row[3],sizeof (Hie[Hie_INS].ShrtName) - 1);
+ /***** If hidden ==> nothing to show *****/
+ if (Brw_DB_CheckIfFileOrFolderIsHiddenOrVisibleUsingMetadata (&FileMetadata) == HidVis_HIDDEN)
+ return;
- /***** Get center code (row[4]) *****/
- Hie[Hie_CTR].HieCod = Str_ConvertStrCodToLongCod (row[4]);
- Str_Copy (Hie[Hie_CTR].ShrtName,row[5],sizeof (Hie[Hie_CTR].ShrtName) - 1);
+ /***** Get institution code (row[2]) *****/
+ Hie[Hie_INS].HieCod = Str_ConvertStrCodToLongCod (row[2]);
+ Str_Copy (Hie[Hie_INS].ShrtName,row[3],sizeof (Hie[Hie_INS].ShrtName) - 1);
- /***** Get degree code (row[6]) *****/
- Hie[Hie_DEG].HieCod = Str_ConvertStrCodToLongCod (row[6]);
- Str_Copy (Hie[Hie_DEG].ShrtName,row[7],sizeof (Hie[Hie_DEG].ShrtName) - 1);
+ /***** Get center code (row[4]) *****/
+ Hie[Hie_CTR].HieCod = Str_ConvertStrCodToLongCod (row[4]);
+ Str_Copy (Hie[Hie_CTR].ShrtName,row[5],sizeof (Hie[Hie_CTR].ShrtName) - 1);
- /***** Get course code (row[8]) *****/
- Hie[Hie_CRS].HieCod = Str_ConvertStrCodToLongCod (row[8]);
- Str_Copy (Hie[Hie_CRS].ShrtName,row[9],sizeof (Hie[Hie_CRS].ShrtName) - 1);
+ /***** Get degree code (row[6]) *****/
+ Hie[Hie_DEG].HieCod = Str_ConvertStrCodToLongCod (row[6]);
+ Str_Copy (Hie[Hie_DEG].ShrtName,row[7],sizeof (Hie[Hie_DEG].ShrtName) - 1);
- /***** Get group code (row[8]) *****/
- GrpCod = Str_ConvertStrCodToLongCod (row[10]);
+ /***** Get course code (row[8]) *****/
+ Hie[Hie_CRS].HieCod = Str_ConvertStrCodToLongCod (row[8]);
+ Str_Copy (Hie[Hie_CRS].ShrtName,row[9],sizeof (Hie[Hie_CRS].ShrtName) - 1);
- /***** Set row color *****/
- BgColor = (Hie[Hie_CRS].HieCod > 0 &&
- Hie[Hie_CRS].HieCod == Gbl.Hierarchy.Node[Hie_CRS].HieCod) ? "BG_HIGHLIGHT" :
- The_GetColorRows ();
+ /***** Get group code (row[8]) *****/
+ GrpCod = Str_ConvertStrCodToLongCod (row[10]);
- HTM_TR_Begin (NULL);
+ /***** Set row color *****/
+ BgColor = (Hie[Hie_CRS].HieCod > 0 &&
+ Hie[Hie_CRS].HieCod == Gbl.Hierarchy.Node[Hie_CRS].HieCod) ? "BG_HIGHLIGHT" :
+ The_GetColorRows ();
- /***** Write number of document in this search *****/
- HTM_TD_Begin ("class=\"RT DAT_%s %s\"",
- The_GetSuffix (),BgColor);
- HTM_Unsigned (++(*NumDocsNotHidden));
- HTM_TD_End ();
+ HTM_TR_Begin (NULL);
- /***** Write institution logo, institution short name *****/
- HTM_TD_Begin ("class=\"LT DAT_%s %s\"",
- The_GetSuffix (),BgColor);
- if (Hie[Hie_INS].HieCod > 0)
- {
- Frm_BeginFormGoTo (ActSeeInsInf);
- ParCod_PutPar (ParCod_Ins,Hie[Hie_INS].HieCod);
- HTM_BUTTON_Submit_Begin (Str_BuildGoToTitle (Hie[Hie_INS].ShrtName),
- "class=\"LT BT_LINK\"");
- Str_FreeGoToTitle ();
- Lgo_DrawLogo (Hie_INS,&Hie[Hie_INS],"LT BT_LINK ICO20x20");
- HTM_TxtF (" %s",Hie[Hie_INS].ShrtName);
- HTM_BUTTON_End ();
- Frm_EndForm ();
- }
- HTM_TD_End ();
+ /***** Write number of document in this search *****/
+ HTM_TD_Begin ("class=\"RT DAT_%s %s\"",The_GetSuffix (),BgColor);
+ HTM_Unsigned (++(*NumDocsNotHidden));
+ HTM_TD_End ();
- /***** Write center logo, center short name *****/
- HTM_TD_Begin ("class=\"LT DAT_%s %s\"",
- The_GetSuffix (),BgColor);
- if (Hie[Hie_CTR].HieCod > 0)
- {
- Frm_BeginFormGoTo (ActSeeCtrInf);
- ParCod_PutPar (ParCod_Ctr,Hie[Hie_CTR].HieCod);
- HTM_BUTTON_Submit_Begin (Str_BuildGoToTitle (Hie[Hie_CTR].ShrtName),
- "class=\"LT BT_LINK\"");
- Str_FreeGoToTitle ();
- Lgo_DrawLogo (Hie_CTR,&Hie[Hie_CTR],"LT ICO20x20");
- HTM_TxtF (" %s",Hie[Hie_CTR].ShrtName);
- HTM_BUTTON_End ();
- Frm_EndForm ();
- }
- HTM_TD_End ();
-
- /***** Write degree logo, degree short name *****/
- HTM_TD_Begin ("class=\"LT DAT_%s %s\"",
- The_GetSuffix (),BgColor);
- if (Hie[Hie_DEG].HieCod > 0)
- {
- Frm_BeginFormGoTo (ActSeeDegInf);
- ParCod_PutPar (ParCod_Deg,Hie[Hie_DEG].HieCod);
- HTM_BUTTON_Submit_Begin (Str_BuildGoToTitle (Hie[Hie_DEG].ShrtName),
- "class=\"LT BT_LINK\"");
- Str_FreeGoToTitle ();
- Lgo_DrawLogo (Hie_DEG,&Hie[Hie_DEG],"LT ICO20x20");
- HTM_TxtF (" %s",Hie[Hie_DEG].ShrtName);
- HTM_BUTTON_End ();
- Frm_EndForm ();
- }
- HTM_TD_End ();
-
- /***** Write course short name *****/
- HTM_TD_Begin ("class=\"LT DAT_%s %s\"",
- The_GetSuffix (),BgColor);
- if (Hie[Hie_CRS].HieCod > 0)
- {
- Frm_BeginFormGoTo (ActSeeCrsInf);
- ParCod_PutPar (ParCod_Crs,Hie[Hie_CRS].HieCod);
- HTM_BUTTON_Submit_Begin (Str_BuildGoToTitle (Hie[Hie_CRS].ShrtName),
- "class=\"LT BT_LINK\"");
- Str_FreeGoToTitle ();
- HTM_Txt (Hie[Hie_CRS].ShrtName);
- HTM_BUTTON_End ();
- Frm_EndForm ();
- }
- HTM_TD_End ();
-
- /***** Write file zone *****/
- switch (FileMetadata.FileBrowser)
+ /***** Write institution logo, institution short name *****/
+ HTM_TD_Begin ("class=\"LT DAT_%s %s\"",The_GetSuffix (),BgColor);
+ if (Hie[Hie_INS].HieCod > 0)
{
- case Brw_ADMI_DOC_INS:
- case Brw_ADMI_DOC_CTR:
- case Brw_ADMI_DOC_DEG:
- case Brw_ADMI_DOC_CRS:
- case Brw_ADMI_DOC_GRP:
- Title = Txt_Documents_area;
- break;
- case Brw_ADMI_TCH_CRS:
- case Brw_ADMI_TCH_GRP:
- Title = Txt_Teachers_files_area;
- break;
- case Brw_ADMI_SHR_INS:
- case Brw_ADMI_SHR_CTR:
- case Brw_ADMI_SHR_DEG:
- case Brw_ADMI_SHR_CRS:
- case Brw_ADMI_SHR_GRP:
- Title = Txt_Shared_files_area;
- break;
- case Brw_ADMI_ASG_USR:
- Title = Txt_Assignments_area;
- break;
- case Brw_ADMI_WRK_USR:
- Title = Txt_Works_area;
- break;
- case Brw_ADMI_DOC_PRJ:
- Title = Txt_Project_documents;
- break;
- case Brw_ADMI_ASS_PRJ:
- Title = Txt_Project_assessment;
- break;
- case Brw_ADMI_MRK_CRS:
- case Brw_ADMI_MRK_GRP:
- Title = Txt_Marks_area;
- break;
- case Brw_ADMI_BRF_USR:
- Title = Txt_Temporary_private_storage_area;
- break;
- default:
- Title = "";
- break;
- }
-
- HTM_TD_Begin ("class=\"LT DAT_%s %s\"",The_GetSuffix (),BgColor);
- HTM_Txt (Title);
- HTM_TD_End ();
-
- /***** Get the name of the file to show *****/
- Brw_GetFileNameToShow (FileMetadata.FilFolLnk.Type,
- FileMetadata.FilFolLnk.Name,
- FileNameToShow);
-
- /***** Write file name using path (row[1]) *****/
- HTM_TD_Begin ("class=\"LT DAT_STRONG_%s %s\"",The_GetSuffix (),BgColor);
-
- /* Begin form */
- Action = Brw_ActReqDatFile[Brw_FileBrowserForFoundDocs[FileMetadata.FileBrowser]];
-
- if (Hie[Hie_CRS].HieCod > 0)
- {
- Frm_BeginFormGoTo (Action);
- ParCod_PutPar (ParCod_Crs,Hie[Hie_CRS].HieCod); // Go to course
- if (GrpCod > 0)
- ParCod_PutPar (ParCod_Grp,GrpCod);
- }
- else if (Hie[Hie_DEG].HieCod > 0)
- {
- Frm_BeginFormGoTo (Action);
- ParCod_PutPar (ParCod_Deg,Hie[Hie_DEG].HieCod); // Go to degree
- }
- else if (Hie[Hie_CTR].HieCod > 0)
- {
- Frm_BeginFormGoTo (Action);
- ParCod_PutPar (ParCod_Ctr,Hie[Hie_CTR].HieCod); // Go to center
- }
- else if (Hie[Hie_INS].HieCod > 0)
- {
- Frm_BeginFormGoTo (Action);
- ParCod_PutPar (ParCod_Ins,Hie[Hie_INS].HieCod); // Go to institution
- }
- else
- Frm_BeginForm (Action);
-
- /* Parameters to go to file / folder */
- if (FileMetadata.FilFolLnk.Type == Brw_IS_FOLDER)
- Brw_PutImplicitParsFileBrowser (&Gbl.FileBrowser.FilFolLnk);
- else
- Brw_PutParsFileBrowser (NULL, // Not used
- NULL, // Not used
- Brw_IS_UNKNOWN, // Not used
- FileMetadata.FilCod);
-
- /* File or folder icon */
- HTM_BUTTON_Submit_Begin (FileNameToShow,"class=\"LT BT_LINK\"");
- switch (FileMetadata.FilFolLnk.Type)
- {
- case Brw_IS_FILE:
- Brw_PutIconFile (FileMetadata.FilFolLnk.Name,
- "CONTEXT_ICO16x16",
- Frm_DONT_PUT_FORM); // Don't put link to view metadata
- break;
- case Brw_IS_FOLDER:
- Ico_PutIcon ("folder-closed-yellow.png",Ico_UNCHANGED,
- Txt_Folder,"CONTEXT_ICO16x16");
- break;
- case Brw_IS_LINK:
- Ico_PutIcon ("up-right-from-square.svg",Ico_BLACK,
- Txt_Link,"CONTEXT_ICO16x16");
- break;
- default:
- break;
- }
- HTM_TxtF (" %s",FileNameToShow);
- HTM_BUTTON_End ();
-
- /* End form */
+ Frm_BeginFormGoTo (ActSeeInsInf);
+ ParCod_PutPar (ParCod_Ins,Hie[Hie_INS].HieCod);
+ HTM_BUTTON_Submit_Begin (Str_BuildGoToTitle (Hie[Hie_INS].ShrtName),
+ "class=\"LT BT_LINK\"");
+ Str_FreeGoToTitle ();
+ Lgo_DrawLogo (Hie_INS,&Hie[Hie_INS],"LT BT_LINK ICO20x20");
+ HTM_TxtF (" %s",Hie[Hie_INS].ShrtName);
+ HTM_BUTTON_End ();
Frm_EndForm ();
+ }
+ HTM_TD_End ();
- HTM_TD_End ();
- HTM_TR_End ();
+ /***** Write center logo, center short name *****/
+ HTM_TD_Begin ("class=\"LT DAT_%s %s\"",The_GetSuffix (),BgColor);
+ if (Hie[Hie_CTR].HieCod > 0)
+ {
+ Frm_BeginFormGoTo (ActSeeCtrInf);
+ ParCod_PutPar (ParCod_Ctr,Hie[Hie_CTR].HieCod);
+ HTM_BUTTON_Submit_Begin (Str_BuildGoToTitle (Hie[Hie_CTR].ShrtName),
+ "class=\"LT BT_LINK\"");
+ Str_FreeGoToTitle ();
+ Lgo_DrawLogo (Hie_CTR,&Hie[Hie_CTR],"LT ICO20x20");
+ HTM_TxtF (" %s",Hie[Hie_CTR].ShrtName);
+ HTM_BUTTON_End ();
+ Frm_EndForm ();
+ }
+ HTM_TD_End ();
- The_ChangeRowColor ();
- }
+ /***** Write degree logo, degree short name *****/
+ HTM_TD_Begin ("class=\"LT DAT_%s %s\"",The_GetSuffix (),BgColor);
+ if (Hie[Hie_DEG].HieCod > 0)
+ {
+ Frm_BeginFormGoTo (ActSeeDegInf);
+ ParCod_PutPar (ParCod_Deg,Hie[Hie_DEG].HieCod);
+ HTM_BUTTON_Submit_Begin (Str_BuildGoToTitle (Hie[Hie_DEG].ShrtName),
+ "class=\"LT BT_LINK\"");
+ Str_FreeGoToTitle ();
+ Lgo_DrawLogo (Hie_DEG,&Hie[Hie_DEG],"LT ICO20x20");
+ HTM_TxtF (" %s",Hie[Hie_DEG].ShrtName);
+ HTM_BUTTON_End ();
+ Frm_EndForm ();
+ }
+ HTM_TD_End ();
+
+ /***** Write course short name *****/
+ HTM_TD_Begin ("class=\"LT DAT_%s %s\"",The_GetSuffix (),BgColor);
+ if (Hie[Hie_CRS].HieCod > 0)
+ {
+ Frm_BeginFormGoTo (ActSeeCrsInf);
+ ParCod_PutPar (ParCod_Crs,Hie[Hie_CRS].HieCod);
+ HTM_BUTTON_Submit_Begin (Str_BuildGoToTitle (Hie[Hie_CRS].ShrtName),
+ "class=\"LT BT_LINK\"");
+ Str_FreeGoToTitle ();
+ HTM_Txt (Hie[Hie_CRS].ShrtName);
+ HTM_BUTTON_End ();
+ Frm_EndForm ();
+ }
+ HTM_TD_End ();
+
+ /***** Write file zone *****/
+ switch (FileMetadata.FileBrowser)
+ {
+ case Brw_ADMI_DOC_INS:
+ case Brw_ADMI_DOC_CTR:
+ case Brw_ADMI_DOC_DEG:
+ case Brw_ADMI_DOC_CRS:
+ case Brw_ADMI_DOC_GRP:
+ Title = Txt_Documents_area;
+ break;
+ case Brw_ADMI_TCH_CRS:
+ case Brw_ADMI_TCH_GRP:
+ Title = Txt_Teachers_files_area;
+ break;
+ case Brw_ADMI_SHR_INS:
+ case Brw_ADMI_SHR_CTR:
+ case Brw_ADMI_SHR_DEG:
+ case Brw_ADMI_SHR_CRS:
+ case Brw_ADMI_SHR_GRP:
+ Title = Txt_Shared_files_area;
+ break;
+ case Brw_ADMI_ASG_USR:
+ Title = Txt_Assignments_area;
+ break;
+ case Brw_ADMI_WRK_USR:
+ Title = Txt_Works_area;
+ break;
+ case Brw_ADMI_DOC_PRJ:
+ Title = Txt_Project_documents;
+ break;
+ case Brw_ADMI_ASS_PRJ:
+ Title = Txt_Project_assessment;
+ break;
+ case Brw_ADMI_MRK_CRS:
+ case Brw_ADMI_MRK_GRP:
+ Title = Txt_Marks_area;
+ break;
+ case Brw_ADMI_BRF_USR:
+ Title = Txt_Temporary_private_storage_area;
+ break;
+ default:
+ Title = "";
+ break;
+ }
+
+ HTM_TD_Begin ("class=\"LT DAT_%s %s\"",The_GetSuffix (),BgColor);
+ HTM_Txt (Title);
+ HTM_TD_End ();
+
+ /***** Get the name of the file to show *****/
+ Brw_GetFileNameToShow (FileMetadata.FilFolLnk.Type,
+ FileMetadata.FilFolLnk.Name,
+ FileNameToShow);
+
+ /***** Write file name using path (row[1]) *****/
+ HTM_TD_Begin ("class=\"LT DAT_STRONG_%s %s\"",The_GetSuffix (),BgColor);
+
+ /* Begin form */
+ Action = Brw_ActReqDatFile[Brw_FileBrowserForFoundDocs[FileMetadata.FileBrowser]];
+
+ if (Hie[Hie_CRS].HieCod > 0)
+ {
+ Frm_BeginFormGoTo (Action);
+ ParCod_PutPar (ParCod_Crs,Hie[Hie_CRS].HieCod); // Go to course
+ if (GrpCod > 0)
+ ParCod_PutPar (ParCod_Grp,GrpCod);
+ }
+ else if (Hie[Hie_DEG].HieCod > 0)
+ {
+ Frm_BeginFormGoTo (Action);
+ ParCod_PutPar (ParCod_Deg,Hie[Hie_DEG].HieCod); // Go to degree
+ }
+ else if (Hie[Hie_CTR].HieCod > 0)
+ {
+ Frm_BeginFormGoTo (Action);
+ ParCod_PutPar (ParCod_Ctr,Hie[Hie_CTR].HieCod); // Go to center
+ }
+ else if (Hie[Hie_INS].HieCod > 0)
+ {
+ Frm_BeginFormGoTo (Action);
+ ParCod_PutPar (ParCod_Ins,Hie[Hie_INS].HieCod); // Go to institution
+ }
+ else
+ Frm_BeginForm (Action);
+
+ /* Parameters to go to file / folder */
+ if (FileMetadata.FilFolLnk.Type == Brw_IS_FOLDER)
+ Brw_PutImplicitParsFileBrowser (&Gbl.FileBrowser.FilFolLnk);
+ else
+ Brw_PutParsFileBrowser (NULL, // Not used
+ NULL, // Not used
+ Brw_IS_UNKNOWN, // Not used
+ FileMetadata.FilCod);
+
+ /* File or folder icon */
+ HTM_BUTTON_Submit_Begin (FileNameToShow,"class=\"LT BT_LINK\"");
+ switch (FileMetadata.FilFolLnk.Type)
+ {
+ case Brw_IS_FILE:
+ Brw_PutIconFile (FileMetadata.FilFolLnk.Name,
+ "CONTEXT_ICO16x16",
+ Frm_DONT_PUT_FORM); // Don't put link to view metadata
+ break;
+ case Brw_IS_FOLDER:
+ Ico_PutIcon ("folder-closed-yellow.png",Ico_UNCHANGED,
+ Txt_Folder,"CONTEXT_ICO16x16");
+ break;
+ case Brw_IS_LINK:
+ Ico_PutIcon ("up-right-from-square.svg",Ico_BLACK,
+ Txt_Link,"CONTEXT_ICO16x16");
+ break;
+ default:
+ break;
+ }
+ HTM_TxtF (" %s",FileNameToShow);
+ HTM_BUTTON_End ();
+
+ /* End form */
+ Frm_EndForm ();
+
+ HTM_TD_End ();
+ HTM_TR_End ();
+
+ The_ChangeRowColor ();
}
/*****************************************************************************/
diff --git a/swad_browser.h b/swad_browser.h
index 842953409..c6121a4bf 100644
--- a/swad_browser.h
+++ b/swad_browser.h
@@ -213,7 +213,7 @@ void Brw_RcvFileInFileBrwClassic (void);
void Brw_RecLinkFileBrowser (void);
void Brw_SetDocumentAsVisible (void);
void Brw_SetDocumentAsHidden (void);
-HidVis_HiddenOrVisible_t Brw_CheckIfFileOrFolderIsSetAsHiddenInDB (Brw_FileType_t FileType,
+HidVis_HiddenOrVisible_t Brw_CheckIfFileOrFolderIsHiddenOrVisible (Brw_FileType_t FileType,
const char *Path);
void Brw_ShowFileMetadata (void);
diff --git a/swad_browser_database.c b/swad_browser_database.c
index 9dfdbeabd..c3dffbe7c 100644
--- a/swad_browser_database.c
+++ b/swad_browser_database.c
@@ -2299,13 +2299,13 @@ void Brw_DB_HideOrUnhideFileOrFolder (const char Path[PATH_MAX + 1],
/************** Check if a file / folder from is set as hidden ***************/
/*****************************************************************************/
-unsigned Brw_DB_CheckIfFileOrFolderIsSetAsHiddenUsingPath (MYSQL_RES **mysql_res,
- const char *Path)
+HidVis_HiddenOrVisible_t Brw_DB_CheckIfFileOrFolderIsHiddenUsingPath (MYSQL_RES **mysql_res,
+ const char *Path)
{
long Cod = Brw_GetCodForFileBrowser ();
long ZoneUsrCod = Brw_GetZoneUsrCodForFileBrowser ();
- return (unsigned)
+ return
DB_QuerySELECT (mysql_res,"can not check if a file is hidden",
"SELECT Hidden" // row[0]
" FROM brw_files"
@@ -2318,14 +2318,15 @@ unsigned Brw_DB_CheckIfFileOrFolderIsSetAsHiddenUsingPath (MYSQL_RES **mysql_res
(unsigned) Brw_DB_FileBrowserForDB_files[Gbl.FileBrowser.Type],
Cod,
ZoneUsrCod,
- Path);
+ Path) ? HidVis_HIDDEN :
+ HidVis_VISIBLE;
}
/*****************************************************************************/
/******** Check if a file / folder from the documents zone is hidden *********/
/*****************************************************************************/
-bool Brw_DB_CheckIfFileOrFolderIsSetAsHiddenUsingMetadata (const struct Brw_FileMetadata *FileMetadata)
+HidVis_HiddenOrVisible_t Brw_DB_CheckIfFileOrFolderIsHiddenOrVisibleUsingMetadata (const struct Brw_FileMetadata *FileMetadata)
{
/***** Get if a file or folder is under a hidden folder from database *****/
/*
@@ -2350,7 +2351,8 @@ bool Brw_DB_CheckIfFileOrFolderIsSetAsHiddenUsingMetadata (const struct Brw_File
FileMetadata->Cod,
FileMetadata->ZoneUsrCod,
FileMetadata->FilFolLnk.Full,
- FileMetadata->FilFolLnk.Full);
+ FileMetadata->FilFolLnk.Full) ? HidVis_HIDDEN :
+ HidVis_VISIBLE;
}
/*****************************************************************************/
diff --git a/swad_browser_database.h b/swad_browser_database.h
index f78aa6efb..22d1936a1 100644
--- a/swad_browser_database.h
+++ b/swad_browser_database.h
@@ -101,9 +101,9 @@ unsigned Brw_DB_GetNumFileViewsUsr (long UsrCod);
//------------------------------- Hidden files --------------------------------
void Brw_DB_HideOrUnhideFileOrFolder (const char Path[PATH_MAX + 1],
HidVis_HiddenOrVisible_t HiddenOrVisible);
-unsigned Brw_DB_CheckIfFileOrFolderIsSetAsHiddenUsingPath (MYSQL_RES **mysql_res,
+unsigned Brw_DB_CheckIfFileOrFolderIsHiddenUsingPath (MYSQL_RES **mysql_res,
const char *Path);
-bool Brw_DB_CheckIfFileOrFolderIsSetAsHiddenUsingMetadata (const struct Brw_FileMetadata *FileMetadata);
+HidVis_HiddenOrVisible_t Brw_DB_CheckIfFileOrFolderIsHiddenOrVisibleUsingMetadata (const struct Brw_FileMetadata *FileMetadata);
//---------------------------- Expanded folders -------------------------------
void Brw_DB_InsertFolderInExpandedFolders (const char Path[PATH_MAX + 1]);
diff --git a/swad_building.c b/swad_building.c
index 6177d87f7..d1a03e24e 100644
--- a/swad_building.c
+++ b/swad_building.c
@@ -60,7 +60,7 @@ static struct Bld_Building *Bld_EditingBuilding = NULL; // Static variable to ke
/*****************************************************************************/
static Bld_Order_t Bld_GetParBuildingOrder (void);
-static Usr_ICan_t Bld_CheckIfICanCreateBuildings (void);
+static Usr_Can_t Bld_CheckIfICanCreateBuildings (void);
static void Bld_PutIconsListingBuildings (__attribute__((unused)) void *Args);
static void Bld_PutIconToEditBuildings (void);
static void Bld_PutIconsEditingBuildings (__attribute__((unused)) void *Args);
@@ -196,10 +196,10 @@ static Bld_Order_t Bld_GetParBuildingOrder (void)
/********************* Check if I can create buildings ***********************/
/*****************************************************************************/
-static Usr_ICan_t Bld_CheckIfICanCreateBuildings (void)
+static Usr_Can_t Bld_CheckIfICanCreateBuildings (void)
{
- return (Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return (Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM) ? Usr_CAN :
+ Usr_CAN_NOT;
}
/*****************************************************************************/
@@ -209,7 +209,7 @@ static Usr_ICan_t Bld_CheckIfICanCreateBuildings (void)
static void Bld_PutIconsListingBuildings (__attribute__((unused)) void *Args)
{
/***** Put icon to edit buildings *****/
- if (Bld_CheckIfICanCreateBuildings () == Usr_I_CAN)
+ if (Bld_CheckIfICanCreateBuildings () == Usr_CAN)
Bld_PutIconToEditBuildings ();
}
diff --git a/swad_call_for_exam.c b/swad_call_for_exam.c
index c7d5279b8..4549896fc 100644
--- a/swad_call_for_exam.c
+++ b/swad_call_for_exam.c
@@ -675,11 +675,11 @@ static void Cfe_ListCallsForExams (struct Cfe_CallsForExams *CallsForExams,
static void Cfe_PutIconsCallsForExams (__attribute__((unused)) void *Args)
{
/***** Icon to create a new call for exam *****/
- if (Cfe_CheckIfICanEditCallsForExams () == Usr_I_CAN)
+ if (Cfe_CheckIfICanEditCallsForExams () == Usr_CAN)
Ico_PutContextualIconToAdd (ActEdiCfe,NULL,NULL,NULL);
/***** Icon to get resource link *****/
- if (Rsc_CheckIfICanGetLink () == Usr_I_CAN)
+ if (Rsc_CheckIfICanGetLink () == Usr_CAN)
Ico_PutContextualIconToGetLink (ActReqLnkCfe,NULL,NULL,NULL);
}
@@ -1464,7 +1464,7 @@ static void Cfe_PutIconsCallForExam (void *CallsForExams)
if (CallsForExams)
{
- if (Cfe_CheckIfICanEditCallsForExams () == Usr_I_CAN)
+ if (Cfe_CheckIfICanEditCallsForExams () == Usr_CAN)
{
/***** Icon to remove call for exam *****/
Ico_PutContextualIconToRemove (ActReqRemCfe,NULL,
@@ -1498,7 +1498,7 @@ static void Cfe_PutIconsCallForExam (void *CallsForExams)
&((struct Cfe_CallsForExams *) CallsForExams)->ExaCod);
/***** Link to get resource link *****/
- if (Rsc_CheckIfICanGetLink () == Usr_I_CAN)
+ if (Rsc_CheckIfICanGetLink () == Usr_CAN)
Ico_PutContextualIconToGetLink (ActReqLnkCfe,NULL,
Cfe_PutParExaCod,
&((struct Cfe_CallsForExams *) CallsForExams)->ExaCod);
@@ -1509,12 +1509,12 @@ static void Cfe_PutIconsCallForExam (void *CallsForExams)
/******************* Check if I can edit calls for exams *********************/
/*****************************************************************************/
-Usr_ICan_t Cfe_CheckIfICanEditCallsForExams (void)
+Usr_Can_t Cfe_CheckIfICanEditCallsForExams (void)
{
- static Usr_ICan_t ICanEditCallsForExams[Rol_NUM_ROLES] =
+ static Usr_Can_t ICanEditCallsForExams[Rol_NUM_ROLES] =
{
- [Rol_TCH ] = Usr_I_CAN,
- [Rol_SYS_ADM] = Usr_I_CAN,
+ [Rol_TCH ] = Usr_CAN,
+ [Rol_SYS_ADM] = Usr_CAN,
};
return ICanEditCallsForExams[Gbl.Usrs.Me.Role.Logged];
diff --git a/swad_call_for_exam.h b/swad_call_for_exam.h
index 85aaa84e5..3450bfe2c 100644
--- a/swad_call_for_exam.h
+++ b/swad_call_for_exam.h
@@ -129,7 +129,7 @@ void Cfe_ListCallsForExamsDay (void);
void Cfe_CreateListCallsForExams (struct Cfe_CallsForExams *CallsForExams);
-Usr_ICan_t Cfe_CheckIfICanEditCallsForExams (void);
+Usr_Can_t Cfe_CheckIfICanEditCallsForExams (void);
void Cfe_GetSummaryAndContentCallForExam (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
char **ContentStr,
diff --git a/swad_call_for_exam_database.c b/swad_call_for_exam_database.c
index bcf216408..9f07e9100 100644
--- a/swad_call_for_exam_database.c
+++ b/swad_call_for_exam_database.c
@@ -87,10 +87,10 @@ unsigned Cfe_DB_GetCallsForExamsInCurrentCrs (MYSQL_RES **mysql_res)
/***** Build subquery about status depending on my role *****/
switch (Cfe_CheckIfICanEditCallsForExams ())
{
- case Usr_I_CAN:
+ case Usr_CAN:
sprintf (SubQueryStatus,"Status<>%u",(unsigned) Cfe_DELETED_CALL_FOR_EXAM);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
sprintf (SubQueryStatus,"Status=%u",(unsigned) Cfe_VISIBLE_CALL_FOR_EXAM);
break;
diff --git a/swad_center.c b/swad_center.c
index a9bac1539..97058871f 100644
--- a/swad_center.c
+++ b/swad_center.c
@@ -89,7 +89,7 @@ static void Ctr_GetCoordFromRow (MYSQL_RES *mysql_res,
struct Map_Coordinates *Coord);
static void Ctr_ListCentersForEdition (const struct Plc_Places *Places);
-static Usr_ICan_t Ctr_CheckIfICanEditACenter (struct Hie_Node *Ctr);
+static Usr_Can_t Ctr_CheckIfICanEditACenter (struct Hie_Node *Ctr);
static void Ctr_ShowAlertAndButtonToGoToCtr (void);
@@ -289,7 +289,7 @@ static void Ctr_ListCenters (void)
static void Ctr_PutIconsListingCenters (__attribute__((unused)) void *Args)
{
/***** Put icon to edit centers *****/
- if (Hie_CheckIfICanEdit () == Usr_I_CAN)
+ if (Hie_CheckIfICanEdit () == Usr_CAN)
Ctr_PutIconToEditCenters ();
/***** Put icon to show a figure *****/
@@ -735,7 +735,7 @@ static void Ctr_ListCentersForEdition (const struct Plc_Places *Places)
const struct Plc_Place *Plc;
char WWW[Cns_MAX_BYTES_WWW + 1];
struct Usr_Data UsrDat;
- Usr_ICan_t ICanEdit;
+ Usr_Can_t ICanEdit;
unsigned NumDegs;
unsigned NumUsrsCtr;
unsigned NumUsrsInCrssOfCtr;
@@ -771,7 +771,7 @@ static void Ctr_ListCentersForEdition (const struct Plc_Places *Places)
/* Put icon to remove center */
HTM_TD_Begin ("class=\"BT\"");
- if (ICanEdit == Usr_I_CAN_NOT || // I cannot edit
+ if (ICanEdit == Usr_CAN_NOT || // I cannot edit
NumDegs || // Center has degrees
NumUsrsCtr || // Center has users who claim to belong to it
NumUsrsInCrssOfCtr) // Center has users
@@ -795,7 +795,7 @@ static void Ctr_ListCentersForEdition (const struct Plc_Places *Places)
HTM_TD_Begin ("class=\"LT DAT_%s\"",The_GetSuffix ());
switch (ICanEdit)
{
- case Usr_I_CAN:
+ case Usr_CAN:
Frm_BeginForm (ActChgCtrPlc);
ParCod_PutPar (ParCod_OthHie,Ctr->HieCod);
HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,NULL,
@@ -821,7 +821,7 @@ static void Ctr_ListCentersForEdition (const struct Plc_Places *Places)
HTM_SELECT_End ();
Frm_EndForm ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
for (NumPlc = 0;
NumPlc < Places->Num;
@@ -838,14 +838,14 @@ static void Ctr_ListCentersForEdition (const struct Plc_Places *Places)
Nam_ExistingShortAndFullNames (ActionRename,
ParCod_OthHie,Ctr->HieCod,
Names,
- ICanEdit == Usr_I_CAN ? Frm_PUT_FORM :
+ ICanEdit == Usr_CAN ? Frm_PUT_FORM :
Frm_DONT_PUT_FORM);
/* Center WWW */
HTM_TD_Begin ("class=\"LT DAT_%s\"",The_GetSuffix ());
switch (ICanEdit)
{
- case Usr_I_CAN:
+ case Usr_CAN:
Frm_BeginForm (ActChgCtrWWW);
ParCod_PutPar (ParCod_OthHie,Ctr->HieCod);
HTM_INPUT_URL ("WWW",Ctr->WWW,HTM_SUBMIT_ON_CHANGE,
@@ -854,7 +854,7 @@ static void Ctr_ListCentersForEdition (const struct Plc_Places *Places)
The_GetSuffix ());
Frm_EndForm ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Str_Copy (WWW,Ctr->WWW,sizeof (WWW) - 1);
HTM_DIV_Begin ("class=\"EXTERNAL_WWW_SHRT\"");
@@ -890,8 +890,8 @@ static void Ctr_ListCentersForEdition (const struct Plc_Places *Places)
HTM_TD_End ();
/* Center status */
- Hie_WriteStatusCellEditable (Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM ? Usr_I_CAN :
- Usr_I_CAN_NOT,
+ Hie_WriteStatusCellEditable (Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM ? Usr_CAN :
+ Usr_CAN_NOT,
Ctr->Status,ActChgCtrSta,Ctr->HieCod,
Txt_CENTER_STATUS);
@@ -909,12 +909,12 @@ static void Ctr_ListCentersForEdition (const struct Plc_Places *Places)
/************** Check if I can edit, remove, etc. a center *******************/
/*****************************************************************************/
-static Usr_ICan_t Ctr_CheckIfICanEditACenter (struct Hie_Node *Ctr)
+static Usr_Can_t Ctr_CheckIfICanEditACenter (struct Hie_Node *Ctr)
{
return (Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM || // I am an institution administrator or higher
((Ctr->Status & Hie_STATUS_BIT_PENDING) != 0 && // Center is not yet activated
- Gbl.Usrs.Me.UsrDat.UsrCod == Ctr->RequesterUsrCod)) ? Usr_I_CAN : // I am the requester
- Usr_I_CAN_NOT;
+ Gbl.Usrs.Me.UsrDat.UsrCod == Ctr->RequesterUsrCod)) ? Usr_CAN : // I am the requester
+ Usr_CAN_NOT;
}
/*****************************************************************************/
diff --git a/swad_changelog.h b/swad_changelog.h
index 2ba689923..ba960c866 100644
--- a/swad_changelog.h
+++ b/swad_changelog.h
@@ -633,10 +633,11 @@ Me sale este error, no s
"can npt create received message (duplicated entry '243218-2160773' for key 'UsrCod_MsgCod')
*/
-#define Log_PLATFORM_VERSION "SWAD 23.75 (2024-04-13)"
+#define Log_PLATFORM_VERSION "SWAD 23.76 (2024-04-19)"
#define CSS_FILE "swad23.67.2.css"
#define JS_FILE "swad23.53.6.js"
/*
+ Version 23.76: Apr 19, 2024 Code refactoring related to don't belong/belong. (335550 lines)
Version 23.75: Apr 13, 2024 Code refactoring related to closed/open. (335484 lines)
Copy the following icons to icon public directory:
sudo cp icon/folder-closed-yellow.png /var/www/html/swad/icon/
diff --git a/swad_chat.c b/swad_chat.c
index 916523520..7a4d14708 100644
--- a/swad_chat.c
+++ b/swad_chat.c
@@ -135,7 +135,7 @@ void Cht_ShowListOfAvailableChatRooms (void)
HTM_UL_Begin ("class=\"LIST_TREE\"");
/***** Link to chat available for all users *****/
- IsLastItemInLevel[1] = (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] ||
+ IsLastItemInLevel[1] = (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] == Usr_BELONG ||
Gbl.Usrs.Me.Hierarchy[Hie_DEG].Num) ? Lay_NO_LAST_ITEM :
Lay_LAST_ITEM;
snprintf (ThisRoomFullName,sizeof (ThisRoomFullName),"%s (%s)",
diff --git a/swad_connected.c b/swad_connected.c
index bb397cad0..519f4758d 100644
--- a/swad_connected.c
+++ b/swad_connected.c
@@ -225,9 +225,9 @@ static void Con_ShowGlobalConnectedUsrsRole (Rol_Role_t Role,unsigned UsrsTotal)
void Con_ComputeConnectedUsrsBelongingToCurrentCrs (void)
{
- if ((Gbl.Prefs.SideCols & Lay_SHOW_RIGHT_COLUMN) && // Right column visible
- Gbl.Hierarchy.Level == Hie_CRS && // Course selected
- (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] || // I can view users
+ if ((Gbl.Prefs.SideCols & Lay_SHOW_RIGHT_COLUMN) && // Right column visible
+ Gbl.Hierarchy.Level == Hie_CRS && // Course selected
+ (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] == Usr_BELONG || // I can view users
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM))
{
Gbl.Usrs.Connected.NumUsrs =
diff --git a/swad_country.c b/swad_country.c
index e5d89b03b..ce238470c 100644
--- a/swad_country.c
+++ b/swad_country.c
@@ -463,7 +463,7 @@ static void Cty_ListOneCountryForSeeing (struct Hie_Node *Cty,unsigned NumCty)
static void Cty_PutIconsListingCountries (__attribute__((unused)) void *Args)
{
/***** Put icon to edit countries *****/
- if (Cty_CheckIfICanEditCountries () == Usr_I_CAN)
+ if (Cty_CheckIfICanEditCountries () == Usr_CAN)
Cty_PutIconToEditCountries ();
/***** Put icon to show a figure *****/
@@ -474,10 +474,10 @@ static void Cty_PutIconsListingCountries (__attribute__((unused)) void *Args)
/********************** Check if I can edit countries ************************/
/*****************************************************************************/
-Usr_ICan_t Cty_CheckIfICanEditCountries (void)
+Usr_Can_t Cty_CheckIfICanEditCountries (void)
{
- return (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? Usr_CAN :
+ Usr_CAN_NOT;
}
/*****************************************************************************/
diff --git a/swad_country.h b/swad_country.h
index 891ac5a68..121bd8f1f 100644
--- a/swad_country.h
+++ b/swad_country.h
@@ -54,7 +54,7 @@ void Cty_ListCountries (void);
void Cty_ListCountries1 (void);
void Cty_ListCountries2 (void);
-Usr_ICan_t Cty_CheckIfICanEditCountries (void);
+Usr_Can_t Cty_CheckIfICanEditCountries (void);
void Cty_DrawCountryMapAndNameWithLink (struct Hie_Node *Cty,Act_Action_t Action,
const char *ClassContainer,
diff --git a/swad_country_config.c b/swad_country_config.c
index 09e09e355..1c458ab00 100644
--- a/swad_country_config.c
+++ b/swad_country_config.c
@@ -341,7 +341,7 @@ static void CtyCfg_MapImage (Vie_ViewType_t ViewType,Hie_PutLink_t PutLink)
HTM_DIV_End ();
/***** Map attribution *****/
- if (ViewType == Vie_VIEW && Cty_CheckIfICanEditCountries () == Usr_I_CAN)
+ if (ViewType == Vie_VIEW && Cty_CheckIfICanEditCountries () == Usr_CAN)
{
HTM_DIV_Begin ("class=\"CM\"");
Frm_BeginForm (ActChgCtyMapAtt);
diff --git a/swad_course.c b/swad_course.c
index 125284765..30f249a43 100644
--- a/swad_course.c
+++ b/swad_course.c
@@ -100,7 +100,7 @@ static void Crs_EditCoursesInternal (void);
static void Crs_PutIconsEditingCourses (__attribute__((unused)) void *Args);
static void Crs_ListCoursesForEdition (void);
static void Crs_ListCoursesOfAYearForEdition (unsigned Year);
-static Usr_ICan_t Crs_CheckIfICanEdit (struct Hie_Node *Crs);
+static Usr_Can_t Crs_CheckIfICanEdit (struct Hie_Node *Crs);
static void Crs_PutFormToCreateCourse (void);
static void Crs_PutHeadCoursesForSeeing (void);
static void Crs_PutHeadCoursesForEdition (void);
@@ -357,8 +357,8 @@ void Crs_WriteSelectorMyCoursesInBreadcrumb (void)
/***** Write an option with the current course
when I don't belong to it *****/
- if (Gbl.Hierarchy.Level == Hie_CRS && // Course selected
- !Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS]) // I do not belong to it
+ if (Gbl.Hierarchy.Level == Hie_CRS && // Course selected
+ Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] == Usr_DONT_BELONG) // I do not belong to it
HTM_OPTION (HTM_Type_LONG,&Gbl.Hierarchy.Node[Hie_CRS].HieCod,
HTM_OPTION_SELECTED,
HTM_OPTION_DISABLED,
@@ -423,7 +423,7 @@ static void Crs_ListCourses (void)
static void Crs_PutIconsListCourses (__attribute__((unused)) void *Args)
{
/***** Put icon to edit courses *****/
- if (Hie_CheckIfICanEdit () == Usr_I_CAN)
+ if (Hie_CheckIfICanEdit () == Usr_CAN)
Crs_PutIconToEditCourses ();
/***** Put icon to show a figure *****/
@@ -479,8 +479,8 @@ static bool Crs_ListCoursesOfAYearForSeeing (unsigned Year)
}
/* Check if this course is one of my courses */
- BgColor = (Hie_CheckIfIBelongTo (Hie_CRS,Crs->HieCod)) ? "BG_HIGHLIGHT" :
- The_GetColorRows ();
+ BgColor = (Hie_CheckIfIBelongTo (Hie_CRS,Crs->HieCod) == Usr_BELONG) ? "BG_HIGHLIGHT" :
+ The_GetColorRows ();
HTM_TR_Begin (NULL);
@@ -660,7 +660,7 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
unsigned YearAux;
unsigned NumCrs;
struct Usr_Data UsrDat;
- Usr_ICan_t ICanEdit;
+ Usr_Can_t ICanEdit;
unsigned NumUsrs[Rol_NUM_ROLES];
const char *Names[Nam_NUM_SHRT_FULL_NAMES];
@@ -691,9 +691,9 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
/* Put icon to remove course */
HTM_TD_Begin ("class=\"BT\"");
if (NumUsrs[Rol_UNK] || // Course has users ==> deletion forbidden
- ICanEdit == Usr_I_CAN_NOT)
+ ICanEdit == Usr_CAN_NOT)
Ico_PutIconRemovalNotAllowed ();
- else // Crs->NumUsrs == 0 && ICanEdit == Usr_I_CAN
+ else // Crs->NumUsrs == 0 && ICanEdit == Usr_CAN
Ico_PutContextualIconToRemove (ActRemCrs,NULL,
Hie_PutParOtherHieCod,&Crs->HieCod);
HTM_TD_End ();
@@ -707,7 +707,7 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
HTM_TD_Begin ("class=\"CT DAT_%s\"",The_GetSuffix ());
switch (ICanEdit)
{
- case Usr_I_CAN:
+ case Usr_CAN:
Frm_BeginForm (ActChgCrsYea);
ParCod_PutPar (ParCod_OthHie,Crs->HieCod);
HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,NULL,
@@ -727,7 +727,7 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
HTM_SELECT_End ();
Frm_EndForm ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
HTM_Txt (Txt_YEAR_OF_DEGREE[Crs->Specific.Year]);
break;
@@ -738,7 +738,7 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
HTM_TD_Begin ("class=\"LT DAT_%s\"",The_GetSuffix ());
switch (ICanEdit)
{
- case Usr_I_CAN:
+ case Usr_CAN:
Frm_BeginForm (ActChgInsCrsCod);
ParCod_PutPar (ParCod_OthHie,Crs->HieCod);
HTM_INPUT_TEXT ("InsCrsCod",Hie_MAX_CHARS_INSTITUTIONAL_COD,
@@ -747,7 +747,7 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
The_GetSuffix ());
Frm_EndForm ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
HTM_Txt (Crs->InstitutionalCod);
break;
@@ -760,7 +760,7 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
Nam_ExistingShortAndFullNames (ActionRename,
ParCod_OthHie,Crs->HieCod,
Names,
- ICanEdit == Usr_I_CAN ? Frm_PUT_FORM :
+ ICanEdit == Usr_CAN ? Frm_PUT_FORM :
Frm_DONT_PUT_FORM);
/* Current number of teachers in this course */
@@ -781,8 +781,8 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
HTM_TD_End ();
/* Course status */
- Hie_WriteStatusCellEditable (Gbl.Usrs.Me.Role.Logged >= Rol_DEG_ADM ? Usr_I_CAN :
- Usr_I_CAN_NOT,
+ Hie_WriteStatusCellEditable (Gbl.Usrs.Me.Role.Logged >= Rol_DEG_ADM ? Usr_CAN :
+ Usr_CAN_NOT,
Crs->Status,ActChgCrsSta,Crs->HieCod,
Txt_COURSE_STATUS);
@@ -798,12 +798,12 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
/************** Check if I can edit, remove, etc. a course *******************/
/*****************************************************************************/
-static Usr_ICan_t Crs_CheckIfICanEdit (struct Hie_Node *Crs)
+static Usr_Can_t Crs_CheckIfICanEdit (struct Hie_Node *Crs)
{
return (Gbl.Usrs.Me.Role.Logged >= Rol_DEG_ADM || // I am a degree administrator or higher
((Crs->Status & Hie_STATUS_BIT_PENDING) != 0 && // Course is not yet activated
- Gbl.Usrs.Me.UsrDat.UsrCod == Crs->RequesterUsrCod)) ? Usr_I_CAN : // I am the requester
- Usr_I_CAN_NOT;
+ Gbl.Usrs.Me.UsrDat.UsrCod == Crs->RequesterUsrCod)) ? Usr_CAN : // I am the requester
+ Usr_CAN_NOT;
}
/*****************************************************************************/
@@ -1061,7 +1061,7 @@ void Crs_RemoveCourse (void)
/***** Get data of the course from database *****/
Hie_GetDataByCod[Hie_CRS] (Crs_EditingCrs);
- if (Crs_CheckIfICanEdit (Crs_EditingCrs) == Usr_I_CAN_NOT)
+ if (Crs_CheckIfICanEdit (Crs_EditingCrs) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Check if this course has users *****/
@@ -1304,7 +1304,7 @@ void Crs_ChangeInsCrsCod (void)
/* Get data of the course */
Hie_GetDataByCod[Hie_CRS] (Crs_EditingCrs);
- if (Crs_CheckIfICanEdit (Crs_EditingCrs) == Usr_I_CAN_NOT)
+ if (Crs_CheckIfICanEdit (Crs_EditingCrs) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Change the institutional course code *****/
@@ -1349,7 +1349,7 @@ void Crs_ChangeCrsYear (void)
/* Get data of the course */
Hie_GetDataByCod[Hie_CRS] (Crs_EditingCrs);
- if (Crs_CheckIfICanEdit (Crs_EditingCrs) == Usr_I_CAN_NOT)
+ if (Crs_CheckIfICanEdit (Crs_EditingCrs) == Usr_CAN_NOT)
Err_NoPermissionExit ();
if (NewYear <= Deg_MAX_YEARS_PER_DEGREE) // If year is valid
@@ -1454,7 +1454,7 @@ void Crs_RenameCourse (struct Hie_Node *Crs,Nam_ShrtOrFullName_t ShrtOrFull)
/***** Get from the database the data of the degree *****/
Hie_GetDataByCod[Hie_CRS] (Crs);
- if (Crs_CheckIfICanEdit (Crs) == Usr_I_CAN_NOT)
+ if (Crs_CheckIfICanEdit (Crs) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Check if new name is empty *****/
diff --git a/swad_degree.c b/swad_degree.c
index d8735770c..7cb51618e 100644
--- a/swad_degree.c
+++ b/swad_degree.c
@@ -84,7 +84,7 @@ static struct Hie_Node *Deg_EditingDeg = NULL; // Static variable to keep the de
/*****************************************************************************/
static void Deg_ListDegreesForEdition (const struct DegTyp_DegTypes *DegTypes);
-static Usr_ICan_t Deg_CheckIfICanEditADegree (struct Hie_Node *Deg);
+static Usr_Can_t Deg_CheckIfICanEditADegree (struct Hie_Node *Deg);
static void Deg_PutFormToCreateDegree (const struct DegTyp_DegTypes *DegTypes);
static void Deg_PutHeadDegreesForSeeing (void);
static void Deg_PutHeadDegreesForEdition (void);
@@ -325,7 +325,7 @@ static void Deg_ListDegreesForEdition (const struct DegTyp_DegTypes *DegTypes)
struct DegTyp_DegreeType *DegTyp;
char WWW[Cns_MAX_BYTES_WWW + 1];
struct Usr_Data UsrDat;
- Usr_ICan_t ICanEdit;
+ Usr_Can_t ICanEdit;
unsigned NumCrss;
unsigned NumUsrsInCrssOfDeg;
const char *Names[Nam_NUM_SHRT_FULL_NAMES];
@@ -359,7 +359,7 @@ static void Deg_ListDegreesForEdition (const struct DegTyp_DegTypes *DegTypes)
/* Put icon to remove degree */
HTM_TD_Begin ("class=\"BT\"");
- if (ICanEdit == Usr_I_CAN_NOT ||
+ if (ICanEdit == Usr_CAN_NOT ||
NumCrss || // Degree has courses ==> deletion forbidden
NumUsrsInCrssOfDeg)
Ico_PutIconRemovalNotAllowed ();
@@ -384,14 +384,14 @@ static void Deg_ListDegreesForEdition (const struct DegTyp_DegTypes *DegTypes)
Nam_ExistingShortAndFullNames (ActionRename,
ParCod_OthHie,Deg->HieCod,
Names,
- ICanEdit == Usr_I_CAN ? Frm_PUT_FORM :
+ ICanEdit == Usr_CAN ? Frm_PUT_FORM :
Frm_DONT_PUT_FORM);
/* Degree type */
HTM_TD_Begin ("class=\"LT DAT_%s\"",The_GetSuffix ());
switch (ICanEdit)
{
- case Usr_I_CAN:
+ case Usr_CAN:
Frm_BeginForm (ActChgDegTyp);
ParCod_PutPar (ParCod_OthHie,Deg->HieCod);
HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,NULL,
@@ -412,7 +412,7 @@ static void Deg_ListDegreesForEdition (const struct DegTyp_DegTypes *DegTypes)
HTM_SELECT_End ();
Frm_EndForm ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
for (NumDegTyp = 0;
NumDegTyp < DegTypes->Num;
@@ -430,7 +430,7 @@ static void Deg_ListDegreesForEdition (const struct DegTyp_DegTypes *DegTypes)
HTM_TD_Begin ("class=\"LT DAT_%s\"",The_GetSuffix ());
switch (ICanEdit)
{
- case Usr_I_CAN:
+ case Usr_CAN:
Frm_BeginForm (ActChgDegWWW);
ParCod_PutPar (ParCod_OthHie,Deg->HieCod);
HTM_INPUT_URL ("WWW",Deg->WWW,HTM_SUBMIT_ON_CHANGE,
@@ -439,7 +439,7 @@ static void Deg_ListDegreesForEdition (const struct DegTyp_DegTypes *DegTypes)
The_GetSuffix ());
Frm_EndForm ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Str_Copy (WWW,Deg->WWW,sizeof (WWW) - 1);
HTM_DIV_Begin ("class=\"EXTERNAL_WWW_SHRT\"");
@@ -472,8 +472,8 @@ static void Deg_ListDegreesForEdition (const struct DegTyp_DegTypes *DegTypes)
HTM_TD_End ();
/* Degree status */
- Hie_WriteStatusCellEditable (Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM ? Usr_I_CAN :
- Usr_I_CAN_NOT,
+ Hie_WriteStatusCellEditable (Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM ? Usr_CAN :
+ Usr_CAN_NOT,
Deg->Status,ActChgDegSta,Deg->HieCod,
Txt_DEGREE_STATUS);
@@ -491,12 +491,12 @@ static void Deg_ListDegreesForEdition (const struct DegTyp_DegTypes *DegTypes)
/************** Check if I can edit, remove, etc. a degree *******************/
/*****************************************************************************/
-static Usr_ICan_t Deg_CheckIfICanEditADegree (struct Hie_Node *Deg)
+static Usr_Can_t Deg_CheckIfICanEditADegree (struct Hie_Node *Deg)
{
return (Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM || // I am a center administrator or higher
((Deg->Status & Hie_STATUS_BIT_PENDING) != 0 && // Degree is not yet activated
- Gbl.Usrs.Me.UsrDat.UsrCod == Deg->RequesterUsrCod)) ? Usr_I_CAN : // I am the requester
- Usr_I_CAN_NOT;
+ Gbl.Usrs.Me.UsrDat.UsrCod == Deg->RequesterUsrCod)) ? Usr_CAN : // I am the requester
+ Usr_CAN_NOT;
}
/*****************************************************************************/
@@ -728,7 +728,7 @@ static void Deg_ListDegrees (void)
static void Deg_PutIconsListingDegrees (__attribute__((unused)) void *Args)
{
/***** Put icon to edit degrees *****/
- if (Hie_CheckIfICanEdit () == Usr_I_CAN)
+ if (Hie_CheckIfICanEdit () == Usr_CAN)
Deg_PutIconToEditDegrees ();
/***** Put icon to view degree types *****/
@@ -890,7 +890,7 @@ static void Deg_EditDegreesInternal (void)
Ale_ShowAlert (Ale_WARNING,Txt_No_types_of_degree);
/***** Form to create the first degree type *****/
- if (DegTyp_CheckIfICanCreateDegreeTypes () == Usr_I_CAN)
+ if (DegTyp_CheckIfICanCreateDegreeTypes () == Usr_CAN)
DegTyp_EditDegreeTypes (&DegTypes);
}
diff --git a/swad_degree_type.c b/swad_degree_type.c
index 195e7ab0d..efea71e83 100644
--- a/swad_degree_type.c
+++ b/swad_degree_type.c
@@ -373,7 +373,7 @@ static void DegTyp_PutIconsListingDegTypes (__attribute__((unused)) void *Args)
static void DegTyp_PutIconToEditDegTypes (__attribute__((unused)) void *Args)
{
if (Gbl.Hierarchy.Level == Hie_CTR && // Only editable if center tab is visible
- DegTyp_CheckIfICanCreateDegreeTypes () == Usr_I_CAN)
+ DegTyp_CheckIfICanCreateDegreeTypes () == Usr_CAN)
Ico_PutContextualIconToEdit (ActEdiDegTyp,NULL,NULL,NULL);
}
@@ -442,10 +442,10 @@ static void DegTyp_ListDegreeTypesForEdition (const struct DegTyp_DegTypes *DegT
/******************** Check if I can create degree types *********************/
/*****************************************************************************/
-Usr_ICan_t DegTyp_CheckIfICanCreateDegreeTypes (void)
+Usr_Can_t DegTyp_CheckIfICanCreateDegreeTypes (void)
{
- return (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? Usr_CAN :
+ Usr_CAN_NOT;
}
/*****************************************************************************/
diff --git a/swad_degree_type.h b/swad_degree_type.h
index 44c0acd6c..67cd6c12a 100644
--- a/swad_degree_type.h
+++ b/swad_degree_type.h
@@ -73,7 +73,7 @@ void DegTyp_EditDegreeTypes (const struct DegTyp_DegTypes *DegTypes);
void DegTyp_PutIconToViewDegreeTypes (void);
-Usr_ICan_t DegTyp_CheckIfICanCreateDegreeTypes (void);
+Usr_Can_t DegTyp_CheckIfICanCreateDegreeTypes (void);
void DegTyp_GetListDegreeTypes (struct DegTyp_DegTypes *DegTypes,
Hie_Level_t Level,DegTyp_Order_t Order);
diff --git a/swad_department.c b/swad_department.c
index 5c210fa83..88298f1f4 100644
--- a/swad_department.c
+++ b/swad_department.c
@@ -53,11 +53,11 @@
/****************************** Private constants ****************************/
/*****************************************************************************/
-static Usr_ICan_t Dpt_ICanEditDpts[Rol_NUM_ROLES] =
+static Usr_Can_t Dpt_ICanEditDpts[Rol_NUM_ROLES] =
{
/* Users who can edit */
- [Rol_INS_ADM] = Usr_I_CAN,
- [Rol_SYS_ADM] = Usr_I_CAN,
+ [Rol_INS_ADM] = Usr_CAN,
+ [Rol_SYS_ADM] = Usr_CAN,
};
/*****************************************************************************/
@@ -243,7 +243,7 @@ static Dpt_Order_t Dpt_GetParDptOrder (void)
static void Dpt_PutIconToEditDpts (__attribute__((unused)) void *Args)
{
- if (Dpt_ICanEditDpts[Gbl.Usrs.Me.Role.Logged] == Usr_I_CAN)
+ if (Dpt_ICanEditDpts[Gbl.Usrs.Me.Role.Logged] == Usr_CAN)
Ico_PutContextualIconToEdit (ActEdiDpt,NULL,NULL,NULL);
}
diff --git a/swad_duplicate.c b/swad_duplicate.c
index f218b1b15..f17f2ed95 100644
--- a/swad_duplicate.c
+++ b/swad_duplicate.c
@@ -311,7 +311,7 @@ static void Dup_ListSimilarUsrs (void)
Usr_NUM_MAIN_FIELDS_DATA_USR-2,
The_GetColorRows ());
/* Button to remove this user */
- if (Acc_CheckIfICanEliminateAccount (UsrDat.UsrCod) == Usr_I_CAN)
+ if (Acc_CheckIfICanEliminateAccount (UsrDat.UsrCod) == Usr_CAN)
Dup_PutButtonToEliminateUsrAccount (&UsrDat);
/* Button to remove from list of possible duplicate users */
if (Dup_DB_CheckIfUsrIsDup (UsrDat.UsrCod))
diff --git a/swad_enrolment.c b/swad_enrolment.c
index e88bb8ed7..05692282a 100644
--- a/swad_enrolment.c
+++ b/swad_enrolment.c
@@ -145,7 +145,7 @@ static void Enr_AskIfRegRemUsr (struct Usr_ListUsrCods *ListUsrCods,Rol_Role_t R
static void Enr_ShowFormToEditOtherUsr (void);
-static Usr_ICan_t Enr_CheckIfICanRemUsrFromCrs (void);
+static Usr_Can_t Enr_CheckIfICanRemUsrFromCrs (void);
static void Enr_AskIfRemoveUsrFromCrs (struct Usr_Data *UsrDat);
static void Enr_EffectivelyRemUsrFromCrs (struct Usr_Data *UsrDat,
@@ -1428,7 +1428,7 @@ bool Enr_PutActionsRegRemOneUsr (Usr_MeOrOther_t MeOrOther)
}
/***** Eliminate user completely from platform *****/
- if (Acc_CheckIfICanEliminateAccount (Gbl.Usrs.Other.UsrDat.UsrCod) == Usr_I_CAN)
+ if (Acc_CheckIfICanEliminateAccount (Gbl.Usrs.Other.UsrDat.UsrCod) == Usr_CAN)
{
Enr_PutActionRemUsrAcc (&OptionChecked,MeOrOther);
OptionsShown = true;
@@ -2373,8 +2373,8 @@ void Enr_PutLinkToAdminOneUsr (Act_Action_t NextAction)
extern const char *Txt_Administer_one_user;
static const char **TitleText[] =
{
- [Usr_I_CAN_NOT] = &Txt_Administer_me,
- [Usr_I_CAN ] = &Txt_Administer_one_user,
+ [Usr_CAN_NOT] = &Txt_Administer_me,
+ [Usr_CAN ] = &Txt_Administer_one_user,
};
Lay_PutContextualLinkIconText (NextAction,NULL,
@@ -2424,7 +2424,7 @@ void Enr_ReqRegRemOth (void)
void Enr_ReqRegRemStd (void)
{
/***** Contextual menu *****/
- if (Adm_CheckIfICanAdminOtherUsrs () == Usr_I_CAN)
+ if (Adm_CheckIfICanAdminOtherUsrs () == Usr_CAN)
{
Mnu_ContextMenuBegin ();
Enr_PutLinkToAdminSeveralUsrs (Rol_STD); // Admin several students
@@ -2445,11 +2445,11 @@ static void Enr_ReqRegRemUsr (Rol_Role_t Role)
{
switch (Adm_CheckIfICanAdminOtherUsrs ())
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Form to request the user's ID of another user *****/
Enr_ReqAnotherUsrIDToRegisterRemove (Role);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
/***** Form to request if register/remove me *****/
Enr_AskIfRegRemMe (Role);
@@ -2680,10 +2680,10 @@ void Enr_ReqRemUsrFromCrs (void)
if (Usr_GetParOtherUsrCodEncryptedAndGetUsrData ())
switch (Enr_CheckIfICanRemUsrFromCrs ())
{
- case Usr_I_CAN:
+ case Usr_CAN:
Enr_AskIfRemoveUsrFromCrs (&Gbl.Usrs.Other.UsrDat);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ale_ShowAlertUserNotFoundOrYouDoNotHavePermission ();
break;
@@ -2704,13 +2704,13 @@ void Enr_RemUsrFromCrs1 (void)
if (Usr_GetParOtherUsrCodEncryptedAndGetUsrData ())
switch (Enr_CheckIfICanRemUsrFromCrs ())
{
- case Usr_I_CAN:
+ case Usr_CAN:
Enr_EffectivelyRemUsrFromCrs (&Gbl.Usrs.Other.UsrDat,
&Gbl.Hierarchy.Node[Hie_CRS],
Enr_DO_NOT_REMOVE_USR_PRODUCTION,
Cns_VERBOSE);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ale_CreateAlertUserNotFoundOrYouDoNotHavePermission ();
break;
@@ -2733,24 +2733,24 @@ void Enr_RemUsrFromCrs2 (void)
/*********** Check if I can remove another user in current course ************/
/*****************************************************************************/
-static Usr_ICan_t Enr_CheckIfICanRemUsrFromCrs (void)
+static Usr_Can_t Enr_CheckIfICanRemUsrFromCrs (void)
{
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_STD:
case Rol_NET:
// A student or non-editing teacher can remove herself/himself
- return (Usr_ItsMe (Gbl.Usrs.Other.UsrDat.UsrCod) == Usr_ME) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return (Usr_ItsMe (Gbl.Usrs.Other.UsrDat.UsrCod) == Usr_ME) ? Usr_CAN :
+ Usr_CAN_NOT;
case Rol_TCH:
case Rol_DEG_ADM:
case Rol_CTR_ADM:
case Rol_INS_ADM:
case Rol_SYS_ADM:
// A teacher or administrator can remove anyone
- return Usr_I_CAN;
+ return Usr_CAN;
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
}
@@ -2916,7 +2916,7 @@ void Enr_ModifyUsr1 (void)
if (MeOrOther == Usr_ME || Gbl.Usrs.Me.Role.Logged >= Rol_TCH)
{
/***** Get user's name from record form *****/
- if (Usr_ICanChangeOtherUsrData (&Gbl.Usrs.Other.UsrDat) == Usr_I_CAN)
+ if (Usr_ICanChangeOtherUsrData (&Gbl.Usrs.Other.UsrDat) == Usr_CAN)
Rec_GetUsrNameFromRecordForm (&Gbl.Usrs.Other.UsrDat);
/***** Update user's data in database *****/
@@ -3021,7 +3021,7 @@ void Enr_ModifyUsr1 (void)
Ale_CreateAlertUserNotFoundOrYouDoNotHavePermission ();
break;
case Enr_ELIMINATE_ONE_USR_FROM_PLATFORM:
- if (Acc_CheckIfICanEliminateAccount (Gbl.Usrs.Other.UsrDat.UsrCod) == Usr_I_CAN_NOT)
+ if (Acc_CheckIfICanEliminateAccount (Gbl.Usrs.Other.UsrDat.UsrCod) == Usr_CAN_NOT)
Ale_CreateAlertUserNotFoundOrYouDoNotHavePermission ();
break;
default:
@@ -3200,7 +3200,7 @@ static void Enr_EffectivelyRemUsrFromCrs (struct Usr_Data *UsrDat,
{
case Usr_ME:
/* Now I don't belong to current course */
- Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] =
+ Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] = Usr_DONT_BELONG;
Gbl.Usrs.Me.UsrDat.Accepted = false;
/* Fill the list with the courses I belong to */
@@ -3339,7 +3339,7 @@ bool Enr_CheckIfUsrSharesAnyOfMyCrs (struct Usr_Data *UsrDat)
return Gbl.Cache.UsrSharesAnyOfMyCrs.SharesAnyOfMyCrs;
/***** 5. Fast check: Is course selected and we both belong to it? *****/
- if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS])
+ if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] == Usr_BELONG)
if (Enr_CheckIfUsrBelongsToCurrentCrs (UsrDat)) // Course selected and we both belong to it
{
Gbl.Cache.UsrSharesAnyOfMyCrs.UsrCod = UsrDat->UsrCod;
diff --git a/swad_exam.c b/swad_exam.c
index 19fcaba2f..8a6babe60 100644
--- a/swad_exam.c
+++ b/swad_exam.c
@@ -315,12 +315,12 @@ void Exa_ListAllExams (struct Exa_Exams *Exams)
/************************ Check if I can edit exams **************************/
/*****************************************************************************/
-Usr_ICan_t Exa_CheckIfICanEditExams (void)
+Usr_Can_t Exa_CheckIfICanEditExams (void)
{
- static Usr_ICan_t ICanEditExams[Rol_NUM_ROLES] =
+ static Usr_Can_t ICanEditExams[Rol_NUM_ROLES] =
{
- [Rol_TCH ] = Usr_I_CAN,
- [Rol_SYS_ADM] = Usr_I_CAN,
+ [Rol_TCH ] = Usr_CAN,
+ [Rol_SYS_ADM] = Usr_CAN,
};
return ICanEditExams[Gbl.Usrs.Me.Role.Logged];
@@ -343,7 +343,7 @@ static void Exa_PutIconsListExams (void *Exams)
if (Exams)
{
/***** Put icon to create a new exam *****/
- if (Exa_CheckIfICanEditExams () == Usr_I_CAN)
+ if (Exa_CheckIfICanEditExams () == Usr_CAN)
Exa_PutIconToCreateNewExam ((struct Exa_Exams *) Exams);
/***** Put icon to view sessions results *****/
@@ -352,7 +352,7 @@ static void Exa_PutIconsListExams (void *Exams)
NULL,NULL);
/***** Link to get resource link *****/
- if (Rsc_CheckIfICanGetLink () == Usr_I_CAN)
+ if (Rsc_CheckIfICanGetLink () == Usr_CAN)
Ico_PutContextualIconToGetLink (ActReqLnkExa,NULL,Exa_PutPars,Exams);
/***** Put icon to show a figure *****/
@@ -671,7 +671,7 @@ static void Exa_PutIconsToRemEditOneExam (struct Exa_Exams *Exams,
[Rol_SYS_ADM] = ActSeeUsrExaResExa,
};
- if (Exa_CheckIfICanEditExams () == Usr_I_CAN)
+ if (Exa_CheckIfICanEditExams () == Usr_CAN)
{
/***** Icon to remove exam *****/
Ico_PutContextualIconToRemove (ActReqRemExa,NULL,
@@ -692,7 +692,7 @@ static void Exa_PutIconsToRemEditOneExam (struct Exa_Exams *Exams,
Exa_PutPars,Exams);
/***** Link to get resource link *****/
- if (Rsc_CheckIfICanGetLink () == Usr_I_CAN)
+ if (Rsc_CheckIfICanGetLink () == Usr_CAN)
Ico_PutContextualIconToGetLink (ActReqLnkExa,NULL,Exa_PutPars,Exams);
}
@@ -971,7 +971,7 @@ void Exa_AskRemExam (void)
struct Exa_Exams Exams;
/***** Check if I can edit exams *****/
- if (Exa_CheckIfICanEditExams () == Usr_I_CAN_NOT)
+ if (Exa_CheckIfICanEditExams () == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Reset exams context *****/
@@ -1004,7 +1004,7 @@ void Exa_RemoveExam (void)
struct Exa_Exams Exams;
/***** Check if I can edit exams *****/
- if (Exa_CheckIfICanEditExams () == Usr_I_CAN_NOT)
+ if (Exa_CheckIfICanEditExams () == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Reset exams context *****/
@@ -1184,7 +1184,7 @@ static void Exa_HideUnhideExam (HidVis_HiddenOrVisible_t HiddenOrVisible)
struct Exa_Exams Exams;
/***** Check if I can edit exams *****/
- if (Exa_CheckIfICanEditExams () == Usr_I_CAN_NOT)
+ if (Exa_CheckIfICanEditExams () == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Reset exams context *****/
@@ -1214,7 +1214,7 @@ void Exa_ReqCreatOrEditExam (void)
Exa_ExistingNewExam_t ExistingNewExam;
/***** Check if I can edit exams *****/
- if (Exa_CheckIfICanEditExams () == Usr_I_CAN_NOT)
+ if (Exa_CheckIfICanEditExams () == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Reset exams context *****/
@@ -1425,7 +1425,7 @@ void Exa_ReceiveExam (void)
char Txt[Cns_MAX_BYTES_TEXT + 1];
/***** Check if I can edit exams *****/
- if (Exa_CheckIfICanEditExams () == Usr_I_CAN_NOT)
+ if (Exa_CheckIfICanEditExams () == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Reset exams context *****/
diff --git a/swad_exam.h b/swad_exam.h
index 2258a43ca..8c95b3c52 100644
--- a/swad_exam.h
+++ b/swad_exam.h
@@ -40,7 +40,7 @@ void Exa_ResetExam (struct Exa_Exam *Exam);
void Exa_SeeAllExams (void);
void Exa_ListAllExams (struct Exa_Exams *Exams);
-Usr_ICan_t Exa_CheckIfICanEditExams (void);
+Usr_Can_t Exa_CheckIfICanEditExams (void);
void Exa_SeeOneExam (void);
void Exa_ShowOnlyOneExam (struct Exa_Exams *Exams,Frm_PutForm_t PutFormSession);
diff --git a/swad_exam_database.c b/swad_exam_database.c
index 9da5d8b65..271f3315c 100644
--- a/swad_exam_database.c
+++ b/swad_exam_database.c
@@ -1668,7 +1668,7 @@ unsigned Exa_DB_GetGrpsAssociatedToSes (MYSQL_RES **mysql_res,long SesCod)
/*** Check if I belong to any of the groups associated to the exam session ***/
/*****************************************************************************/
-Usr_ICan_t Exa_DB_CheckIfICanListThisSessionBasedOnGrps (long SesCod)
+Usr_Can_t Exa_DB_CheckIfICanListThisSessionBasedOnGrps (long SesCod)
{
return
DB_QueryEXISTS ("can not check if I can play an exam session",
@@ -1686,8 +1686,8 @@ Usr_ICan_t Exa_DB_CheckIfICanListThisSessionBasedOnGrps (long SesCod)
" WHERE grp_users.UsrCod=%ld"
" AND grp_users.GrpCod=exa_groups.GrpCod)))",
SesCod,
- Gbl.Usrs.Me.UsrDat.UsrCod) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ Gbl.Usrs.Me.UsrDat.UsrCod) ? Usr_CAN :
+ Usr_CAN_NOT;
}
/*****************************************************************************/
@@ -2151,10 +2151,10 @@ bool Exa_DB_CheckIfUserAgentIsTheSameAsTheLast (long PrnCod,const char *UserAgen
void Exa_DB_LogAccess (long LogCod,long PrnCod,ExaLog_Action_t Action)
{
- static char YN[Usr_NUM_I_CAN] =
+ static char YN[Usr_NUM_CAN] =
{
- [Usr_I_CAN_NOT] = 'N',
- [Usr_I_CAN ] = 'Y',
+ [Usr_CAN_NOT] = 'N',
+ [Usr_CAN ] = 'Y',
};
/* Log access in exam log.
diff --git a/swad_exam_database.h b/swad_exam_database.h
index d07b90132..02ae80cfe 100644
--- a/swad_exam_database.h
+++ b/swad_exam_database.h
@@ -128,7 +128,7 @@ void Exa_DB_RemoveUsrFromSessionTablesInCrs (long UsrCod,long CrsCod);
//--------------------------------- Groups ------------------------------------
void Exa_DB_CreateGrpAssociatedToSes (long SesCod,long GrpCod);
unsigned Exa_DB_GetGrpsAssociatedToSes (MYSQL_RES **mysql_res,long SesCod);
-Usr_ICan_t Exa_DB_CheckIfICanListThisSessionBasedOnGrps (long SesCod);
+Usr_Can_t Exa_DB_CheckIfICanListThisSessionBasedOnGrps (long SesCod);
void Exa_DB_RemoveAllGrpsFromExa (long ExaCod);
void Exa_DB_RemoveAllGrpsFromCrs (long CrsCod);
void Exa_DB_RemoveAllGrpsFromSes (long SesCod);
diff --git a/swad_exam_log.c b/swad_exam_log.c
index cb172d944..debc3e3f5 100644
--- a/swad_exam_log.c
+++ b/swad_exam_log.c
@@ -54,13 +54,13 @@ static struct
long PrnCod; // Exam print code
int QstInd; // Exam print question index
ExaLog_Action_t Action; // Action performed by user
- Usr_ICan_t ICanAnswer; // Exam print is open and accesible to answer by the user
+ Usr_Can_t ICanAnswer; // Exam print is open and accesible to answer by the user
} ExaLog_Log =
{
.PrnCod = -1L, // -1 means no print code set
.QstInd = -1, // -1 means no question index set
.Action = ExaLog_UNKNOWN_ACTION,
- .ICanAnswer = false,
+ .ICanAnswer = Usr_CAN_NOT,
};
/*****************************************************************************/
@@ -116,12 +116,12 @@ int ExaLog_GetQstInd (void)
/************* Set and get if exam print is open and accessible **************/
/*****************************************************************************/
-void ExaLog_SetIfCanAnswer (Usr_ICan_t ICanAnswer)
+void ExaLog_SetIfCanAnswer (Usr_Can_t ICanAnswer)
{
ExaLog_Log.ICanAnswer = ICanAnswer;
}
-Usr_ICan_t ExaLog_GetIfCanAnswer (void)
+Usr_Can_t ExaLog_GetIfCanAnswer (void)
{
return ExaLog_Log.ICanAnswer;
}
diff --git a/swad_exam_log.h b/swad_exam_log.h
index a6278eaf0..6dc2af28b 100644
--- a/swad_exam_log.h
+++ b/swad_exam_log.h
@@ -54,8 +54,8 @@ void ExaLog_SetAction (ExaLog_Action_t Action);
ExaLog_Action_t ExaLog_GetAction (void);
void ExaLog_SetQstInd (unsigned QstInd);
int ExaLog_GetQstInd (void);
-void ExaLog_SetIfCanAnswer (Usr_ICan_t CanBeAnswered);
-Usr_ICan_t ExaLog_GetIfCanAnswer (void);
+void ExaLog_SetIfCanAnswer (Usr_Can_t CanBeAnswered);
+Usr_Can_t ExaLog_GetIfCanAnswer (void);
void ExaLog_LogAccess (long LogCod);
diff --git a/swad_exam_print.c b/swad_exam_print.c
index 46a852d3a..c7d9c7b72 100644
--- a/swad_exam_print.c
+++ b/swad_exam_print.c
@@ -180,7 +180,7 @@ void ExaPrn_ShowExamPrint (void)
/***** Check if I can access to this session *****/
switch (ExaSes_CheckIfICanAnswerThisSession (&Exams.Exam,&Session))
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Set basic data of exam print *****/
Print.SesCod = Session.SesCod;
Print.UsrCod = Gbl.Usrs.Me.UsrDat.UsrCod;
@@ -225,7 +225,7 @@ void ExaPrn_ShowExamPrint (void)
/***** Show test to be answered *****/
ExaPrn_ShowExamPrintToFillIt (&Exams,&Print);
break;
- case Usr_I_CAN_NOT: // Session not open or accessible
+ case Usr_CAN_NOT: // Session not open or accessible
default:
/***** Show warning *****/
Ale_ShowAlert (Ale_INFO,Txt_You_dont_have_access_to_the_exam);
@@ -1002,7 +1002,7 @@ void ExaPrn_ReceivePrintAnswer (void)
/***** Check if session if visible and open *****/
switch (ExaSes_CheckIfICanAnswerThisSession (&Exams.Exam,&Session))
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Set log open to true ****/
ExaLog_SetIfCanAnswer (true);
@@ -1024,7 +1024,7 @@ void ExaPrn_ReceivePrintAnswer (void)
/***** Show table with questions to answer *****/
ExaPrn_ShowTableWithQstsToFill (&Exams,&Print);
break;
- case Usr_I_CAN_NOT: // Not accessible to answer
+ case Usr_CAN_NOT: // Not accessible to answer
default:
/***** Set log open to false ****/
ExaLog_SetIfCanAnswer (false);
diff --git a/swad_exam_result.c b/swad_exam_result.c
index f03ae9205..376aef3cc 100644
--- a/swad_exam_result.c
+++ b/swad_exam_result.c
@@ -69,8 +69,8 @@ extern struct Globals Gbl;
struct ExaRes_ICanView
{
- Usr_ICan_t Result;
- Usr_ICan_t Score;
+ Usr_Can_t Result;
+ Usr_Can_t Score;
};
/*****************************************************************************/
@@ -358,7 +358,7 @@ static void ExaRes_ListAllResultsInSelectedExams (struct Exa_Exams *Exams)
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat,
Usr_DONT_GET_PREFS,
Usr_DONT_GET_ROLE_IN_CRS))
- if (Usr_CheckIfICanViewTstExaMchResult (&Gbl.Usrs.Other.UsrDat) == Usr_I_CAN)
+ if (Usr_CheckIfICanViewTstExaMchResult (&Gbl.Usrs.Other.UsrDat) == Usr_CAN)
{
/***** Show sessions results *****/
Gbl.Usrs.Other.UsrDat.Accepted = Enr_CheckIfUsrHasAcceptedInCurrentCrs (&Gbl.Usrs.Other.UsrDat);
@@ -424,7 +424,7 @@ static void ExaRes_ListAllResultsInExa (struct Exa_Exams *Exams)
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat,
Usr_DONT_GET_PREFS,
Usr_DONT_GET_ROLE_IN_CRS))
- if (Usr_CheckIfICanViewTstExaMchResult (&Gbl.Usrs.Other.UsrDat) == Usr_I_CAN)
+ if (Usr_CheckIfICanViewTstExaMchResult (&Gbl.Usrs.Other.UsrDat) == Usr_CAN)
{
/***** Show sessions results *****/
Gbl.Usrs.Other.UsrDat.Accepted = Enr_CheckIfUsrHasAcceptedInCurrentCrs (&Gbl.Usrs.Other.UsrDat);
@@ -495,7 +495,7 @@ static void ExaRes_ListAllResultsInSes (struct Exa_Exams *Exams,long SesCod)
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat,
Usr_DONT_GET_PREFS,
Usr_DONT_GET_ROLE_IN_CRS))
- if (Usr_CheckIfICanViewTstExaMchResult (&Gbl.Usrs.Other.UsrDat) == Usr_I_CAN)
+ if (Usr_CheckIfICanViewTstExaMchResult (&Gbl.Usrs.Other.UsrDat) == Usr_CAN)
{
/***** Show sessions results *****/
Gbl.Usrs.Other.UsrDat.Accepted = Enr_CheckIfUsrHasAcceptedInCurrentCrs (&Gbl.Usrs.Other.UsrDat);
@@ -830,7 +830,7 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams,
HTM_TD_End ();
/* Get and accumulate questions and score */
- if (ICanView.Score == Usr_I_CAN)
+ if (ICanView.Score == Usr_CAN)
{
/* Get questions and user's answers of exam print from database */
ExaPrn_GetPrintQuestionsFromDB (&Print);
@@ -852,10 +852,10 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams,
The_GetSuffix (),The_GetColorRows ());
switch (ICanView.Score)
{
- case Usr_I_CAN:
+ case Usr_CAN:
HTM_Unsigned (Print.NumQsts.All);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -867,13 +867,13 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams,
The_GetSuffix (),The_GetColorRows ());
switch (ICanView.Score)
{
- case Usr_I_CAN:
+ case Usr_CAN:
if (Print.NumQsts.Valid.Total)
HTM_Unsigned (Print.NumQsts.Valid.Total);
else
HTM_Light0 ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -885,7 +885,7 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams,
The_GetSuffix (),The_GetColorRows ());
switch (ICanView.Score)
{
- case Usr_I_CAN:
+ case Usr_CAN:
NumQstsInvalid = Print.NumQsts.All -
Print.NumQsts.Valid.Total;
if (NumQstsInvalid)
@@ -893,7 +893,7 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams,
else
HTM_Light0 ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -905,13 +905,13 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams,
The_GetSuffix (),The_GetColorRows ());
switch (ICanView.Score)
{
- case Usr_I_CAN:
+ case Usr_CAN:
if (Print.NumQsts.Valid.Correct)
HTM_Unsigned (Print.NumQsts.Valid.Correct);
else
HTM_Light0 ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -923,13 +923,13 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams,
The_GetSuffix (),The_GetColorRows ());
switch (ICanView.Score)
{
- case Usr_I_CAN:
+ case Usr_CAN:
if (Print.NumQsts.Valid.Wrong.Negative)
HTM_Unsigned (Print.NumQsts.Valid.Wrong.Negative);
else
HTM_Light0 ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -940,13 +940,13 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams,
The_GetSuffix (),The_GetColorRows ());
switch (ICanView.Score)
{
- case Usr_I_CAN:
+ case Usr_CAN:
if (Print.NumQsts.Valid.Wrong.Zero)
HTM_Unsigned (Print.NumQsts.Valid.Wrong.Zero);
else
HTM_Light0 ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -957,13 +957,13 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams,
The_GetSuffix (),The_GetColorRows ());
switch (ICanView.Score)
{
- case Usr_I_CAN:
+ case Usr_CAN:
if (Print.NumQsts.Valid.Wrong.Positive)
HTM_Unsigned (Print.NumQsts.Valid.Wrong.Positive);
else
HTM_Light0 ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -975,13 +975,13 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams,
The_GetSuffix (),The_GetColorRows ());
switch (ICanView.Score)
{
- case Usr_I_CAN:
+ case Usr_CAN:
if (Print.NumQsts.Valid.Blank)
HTM_Unsigned (Print.NumQsts.Valid.Blank);
else
HTM_Light0 ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -993,12 +993,12 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams,
The_GetSuffix (),The_GetColorRows ());
switch (ICanView.Score)
{
- case Usr_I_CAN:
+ case Usr_CAN:
HTM_Double2Decimals (Print.Score.Valid);
HTM_Txt ("/");
HTM_Unsigned (Print.NumQsts.Valid.Total);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -1010,12 +1010,12 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams,
The_GetSuffix (),The_GetColorRows ());
switch (ICanView.Score)
{
- case Usr_I_CAN:
+ case Usr_CAN:
HTM_Double2Decimals (Print.NumQsts.Valid.Total ? Print.Score.Valid /
(double) Print.NumQsts.Valid.Total :
0.0);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -1027,12 +1027,12 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams,
The_GetSuffix (),The_GetColorRows ());
switch (ICanView.Score)
{
- case Usr_I_CAN:
+ case Usr_CAN:
Grade = TstPrn_ComputeGrade (Print.NumQsts.Valid.Total,Print.Score.Valid,Exam.MaxGrade);
TstPrn_ShowGrade (Grade,Exam.MaxGrade);
TotalGrade += Grade;
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -1043,7 +1043,7 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams,
HTM_TD_Begin ("class=\"RT LINE_LEFT %s\"",The_GetColorRows ());
switch (ICanView.Result)
{
- case Usr_I_CAN:
+ case Usr_CAN:
Exams->Exam.ExaCod = Session.ExaCod;
Exams->SesCod = Session.SesCod;
switch (MeOrOther)
@@ -1062,7 +1062,7 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams,
}
Frm_EndForm ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -1258,8 +1258,8 @@ void ExaRes_ShowExaResultAfterFinish (void)
struct ExaPrn_Print Print;
struct ExaRes_ICanView ICanView =
{
- .Result = Usr_I_CAN, // I have just finish answering, so show result...
- .Score = Usr_I_CAN_NOT, // ...but not score
+ .Result = Usr_CAN, // I have just finish answering, so show result...
+ .Score = Usr_CAN_NOT, // ...but not score
};
unsigned Visibility = 1 << TstVis_VISIBLE_QST_ANS_TXT; // Show only questions and answers text
@@ -1385,7 +1385,7 @@ static void ExaRes_ShowExamResult (const struct Exa_Exam *Exam,
Usr_DONT_GET_PREFS,
Usr_DONT_GET_ROLE_IN_CRS))
Err_WrongUserExit ();
- if (Usr_CheckIfICanViewTstExaMchResult (UsrDat) == Usr_I_CAN_NOT)
+ if (Usr_CheckIfICanViewTstExaMchResult (UsrDat) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Begin table *****/
@@ -1410,7 +1410,7 @@ static void ExaRes_ShowExamResult (const struct Exa_Exam *Exam,
ExaRes_ShowExamResultGrade (Exam,Print,ICanView);
/* Answers and solutions */
- if (ICanView->Result == Usr_I_CAN)
+ if (ICanView->Result == Usr_CAN)
ExaRes_ShowExamAnswers (UsrDat,Print,Visibility);
/***** End table *****/
@@ -1437,21 +1437,21 @@ static void ExaRes_CheckIfICanViewResult (const struct Exa_Exam *Exam,
ICanView->Result = (Usr_ItsMe (UsrCod) == Usr_ME && // The result is mine
Exam->HiddenOrVisible == HidVis_VISIBLE && // The exam is visible
Session->HiddenOrVisible == HidVis_VISIBLE && // The session is visible
- Session->ShowUsrResults) ? Usr_I_CAN : // The results of the session are visible to users
- Usr_I_CAN_NOT;
+ Session->ShowUsrResults) ? Usr_CAN : // The results of the session are visible to users
+ Usr_CAN_NOT;
// Whether I belong or not to groups of session is not checked here...
// ...because I should be able to see old exams made in old groups to which I belonged
switch (ICanView->Result)
{
- case Usr_I_CAN:
+ case Usr_CAN:
// Depends on 5 visibility icons associated to exam
- ICanView->Score = TstVis_IsVisibleTotalScore (Exam->Visibility) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ ICanView->Score = TstVis_IsVisibleTotalScore (Exam->Visibility) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
- ICanView->Score = Usr_I_CAN_NOT;
+ ICanView->Score = Usr_CAN_NOT;
break;
}
break;
@@ -1462,11 +1462,11 @@ static void ExaRes_CheckIfICanViewResult (const struct Exa_Exam *Exam,
case Rol_INS_ADM:
case Rol_SYS_ADM:
ICanView->Result =
- ICanView->Score = Usr_I_CAN;
+ ICanView->Score = Usr_CAN;
break;
default:
ICanView->Result =
- ICanView->Score = Usr_I_CAN_NOT;
+ ICanView->Score = Usr_CAN_NOT;
break;
}
}
@@ -1649,7 +1649,7 @@ static void ExaRes_ShowExamResultNumQsts (struct ExaPrn_Print *Print,
HTM_TD_Begin ("class=\"LB DAT_%s\"",The_GetSuffix ());
switch (ICanView->Result)
{
- case Usr_I_CAN:
+ case Usr_CAN:
HTM_TxtF ("%u",Print->NumQsts.All);
if (Print->NumQsts.All != Print->NumQsts.Valid.Total)
{
@@ -1672,7 +1672,7 @@ static void ExaRes_ShowExamResultNumQsts (struct ExaPrn_Print *Print,
HTM_Txt (")");
}
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -1707,7 +1707,7 @@ static void ExaRes_ShowExamResultNumAnss (struct ExaPrn_Print *Print,
HTM_TD_Begin ("class=\"LB DAT_%s\"",The_GetSuffix ());
switch (ICanView->Score)
{
- case Usr_I_CAN:
+ case Usr_CAN:
HTM_TxtF ("%s(pi=1): %u; "
"%s(-1≤pi<0): %u; "
"%s(pi=0): %u; "
@@ -1719,7 +1719,7 @@ static void ExaRes_ShowExamResultNumAnss (struct ExaPrn_Print *Print,
Txt_ANSWERS_wrong ,Print->NumQsts.Valid.Wrong.Positive,
Txt_ANSWERS_blank ,Print->NumQsts.Valid.Blank);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -1752,7 +1752,7 @@ static void ExaRes_ShowExamResultScore (struct ExaPrn_Print *Print,
HTM_TD_Begin ("class=\"LB DAT_%s\"",The_GetSuffix ());
switch (ICanView->Score)
{
- case Usr_I_CAN:
+ case Usr_CAN:
/* Score counting all questions */
if (Print->NumQsts.All == Print->NumQsts.Valid.Total)
HTM_STRONG_Begin ();
@@ -1774,7 +1774,7 @@ static void ExaRes_ShowExamResultScore (struct ExaPrn_Print *Print,
HTM_STRONG_End ();
}
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -1808,7 +1808,7 @@ static void ExaRes_ShowExamResultGrade (const struct Exa_Exam *Exam,
HTM_TD_Begin ("class=\"LB DAT_%s\"",The_GetSuffix ());
switch (ICanView->Score)
{
- case Usr_I_CAN:
+ case Usr_CAN:
/* Grade counting all questions */
if (Print->NumQsts.All == Print->NumQsts.Valid.Total)
HTM_STRONG_Begin ();
@@ -1828,7 +1828,7 @@ static void ExaRes_ShowExamResultGrade (const struct Exa_Exam *Exam,
HTM_STRONG_End ();
}
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -1881,7 +1881,7 @@ static void ExaRes_WriteQstAndAnsExam (struct Usr_Data *UsrDat,
{
extern const char *Txt_Score;
extern const char *Txt_Invalid_question;
- Usr_ICan_t ICanView[TstVis_NUM_ITEMS_VISIBILITY];
+ Usr_Can_t ICanView[TstVis_NUM_ITEMS_VISIBILITY];
static const char *ClassNumQst[Qst_NUM_VALIDITIES] =
{
[Qst_INVALID_QUESTION] = "BIG_INDEX_RED",
@@ -1907,14 +1907,14 @@ static void ExaRes_WriteQstAndAnsExam (struct Usr_Data *UsrDat,
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_STD:
- ICanView[TstVis_VISIBLE_QST_ANS_TXT ] = TstVis_IsVisibleQstAndAnsTxt (Visibility) ? Usr_I_CAN:
- Usr_I_CAN_NOT;
- ICanView[TstVis_VISIBLE_FEEDBACK_TXT ] = TstVis_IsVisibleFeedbackTxt (Visibility) ? Usr_I_CAN:
- Usr_I_CAN_NOT;
- ICanView[TstVis_VISIBLE_CORRECT_ANSWER] = TstVis_IsVisibleCorrectAns (Visibility) ? Usr_I_CAN:
- Usr_I_CAN_NOT;
- ICanView[TstVis_VISIBLE_EACH_QST_SCORE] = TstVis_IsVisibleEachQstScore (Visibility) ? Usr_I_CAN:
- Usr_I_CAN_NOT;
+ ICanView[TstVis_VISIBLE_QST_ANS_TXT ] = TstVis_IsVisibleQstAndAnsTxt (Visibility) ? Usr_CAN:
+ Usr_CAN_NOT;
+ ICanView[TstVis_VISIBLE_FEEDBACK_TXT ] = TstVis_IsVisibleFeedbackTxt (Visibility) ? Usr_CAN:
+ Usr_CAN_NOT;
+ ICanView[TstVis_VISIBLE_CORRECT_ANSWER] = TstVis_IsVisibleCorrectAns (Visibility) ? Usr_CAN:
+ Usr_CAN_NOT;
+ ICanView[TstVis_VISIBLE_EACH_QST_SCORE] = TstVis_IsVisibleEachQstScore (Visibility) ? Usr_CAN:
+ Usr_CAN_NOT;
break;
case Rol_NET:
case Rol_TCH:
@@ -1925,13 +1925,13 @@ static void ExaRes_WriteQstAndAnsExam (struct Usr_Data *UsrDat,
ICanView[TstVis_VISIBLE_QST_ANS_TXT ] =
ICanView[TstVis_VISIBLE_FEEDBACK_TXT ] =
ICanView[TstVis_VISIBLE_CORRECT_ANSWER] =
- ICanView[TstVis_VISIBLE_EACH_QST_SCORE] = Usr_I_CAN;
+ ICanView[TstVis_VISIBLE_EACH_QST_SCORE] = Usr_CAN;
break;
default:
ICanView[TstVis_VISIBLE_QST_ANS_TXT ] =
ICanView[TstVis_VISIBLE_FEEDBACK_TXT ] =
ICanView[TstVis_VISIBLE_CORRECT_ANSWER] =
- ICanView[TstVis_VISIBLE_EACH_QST_SCORE] = Usr_I_CAN_NOT;
+ ICanView[TstVis_VISIBLE_EACH_QST_SCORE] = Usr_CAN_NOT;
break;
}
@@ -1950,10 +1950,10 @@ static void ExaRes_WriteQstAndAnsExam (struct Usr_Data *UsrDat,
/* Stem */
Qst_WriteQstStem (Question->Stem,ClassTxt[Question->Validity],
- ICanView[TstVis_VISIBLE_QST_ANS_TXT] == Usr_I_CAN);
+ ICanView[TstVis_VISIBLE_QST_ANS_TXT] == Usr_CAN);
/* Media */
- if (ICanView[TstVis_VISIBLE_QST_ANS_TXT] == Usr_I_CAN)
+ if (ICanView[TstVis_VISIBLE_QST_ANS_TXT] == Usr_CAN)
Med_ShowMedia (&Question->Media,
"Tst_MED_SHOW_CONT",
"Tst_MED_SHOW");
@@ -1966,7 +1966,7 @@ static void ExaRes_WriteQstAndAnsExam (struct Usr_Data *UsrDat,
ClassFeedback[Question->Validity]);
/* Write score retrieved from database */
- if (ICanView[TstVis_VISIBLE_EACH_QST_SCORE] == Usr_I_CAN)
+ if (ICanView[TstVis_VISIBLE_EACH_QST_SCORE] == Usr_CAN)
{
HTM_DIV_Begin ("class=\"LM DAT_SMALL_%s\"",
The_GetSuffix ());
@@ -1985,7 +1985,7 @@ static void ExaRes_WriteQstAndAnsExam (struct Usr_Data *UsrDat,
}
/* Question feedback */
- if (ICanView[TstVis_VISIBLE_FEEDBACK_TXT] == Usr_I_CAN)
+ if (ICanView[TstVis_VISIBLE_FEEDBACK_TXT] == Usr_CAN)
Qst_WriteQstFeedback (Question->Feedback,
ClassFeedback[Question->Validity]);
diff --git a/swad_exam_session.c b/swad_exam_session.c
index abf75e11d..1cdcc3d50 100644
--- a/swad_exam_session.c
+++ b/swad_exam_session.c
@@ -72,10 +72,10 @@ static void ExaSes_ListOneOrMoreSessions (struct Exa_Exams *Exams,
Frm_PutForm_t PutFormSession,
unsigned NumSessions,
MYSQL_RES *mysql_res);
-static void ExaSes_ListOneOrMoreSessionsHeading (Usr_ICan_t ICanEditSessions);
-static Usr_ICan_t ExaSes_CheckIfICanEditSessions (void);
-static Usr_ICan_t ExaSes_CheckIfICanEditThisSession (long UsrCod);
-static Usr_ICan_t ExaSes_CheckIfICanChangeVisibilityOfResults (const struct ExaSes_Session *Session);
+static void ExaSes_ListOneOrMoreSessionsHeading (Usr_Can_t ICanEditSessions);
+static Usr_Can_t ExaSes_CheckIfICanEditSessions (void);
+static Usr_Can_t ExaSes_CheckIfICanEditThisSession (long UsrCod);
+static Usr_Can_t ExaSes_CheckIfICanChangeVisibilityOfResults (const struct ExaSes_Session *Session);
static void ExaSes_ListOneOrMoreSessionsIcons (struct Exa_Exams *Exams,
const struct ExaSes_Session *Session,
const char *Anchor);
@@ -152,7 +152,7 @@ void ExaSes_ListSessions (struct Exa_Exams *Exams,
/***** Select whether show only my groups or all groups *****/
if (Gbl.Crs.Grps.NumGrps &&
- ExaSes_CheckIfICanEditSessions () == Usr_I_CAN)
+ ExaSes_CheckIfICanEditSessions () == Usr_CAN)
{
Set_BeginSettingsHead ();
Grp_ShowFormToSelWhichGrps (ActSeeOneExa,Exa_PutPars,Exams);
@@ -205,7 +205,7 @@ void ExaSes_GetSessionDataByCod (struct ExaSes_Session *Session)
static void ExaSes_PutIconsInListOfSessions (void *Exams)
{
if (Exams)
- if (ExaSes_CheckIfICanEditSessions () == Usr_I_CAN)
+ if (ExaSes_CheckIfICanEditSessions () == Usr_CAN)
/***** Put icon to create a new exam session in current exam *****/
ExaSes_PutIconToCreateNewSession ((struct Exa_Exams *) Exams);
}
@@ -233,7 +233,7 @@ static void ExaSes_ListOneOrMoreSessions (struct Exa_Exams *Exams,
unsigned UniqueId;
struct ExaSes_Session Session;
char *Anchor;
- Usr_ICan_t ICanEditSessions = ExaSes_CheckIfICanEditSessions ();
+ Usr_Can_t ICanEditSessions = ExaSes_CheckIfICanEditSessions ();
long SesCodToBeEdited = PutFormSession == Frm_PUT_FORM &&
Exams->SesCod > 0 ? Exams->SesCod :
-1L;
@@ -256,7 +256,7 @@ static void ExaSes_ListOneOrMoreSessions (struct Exa_Exams *Exams,
/***** Get exam session data from row *****/
ExaSes_GetSessionDataFromRow (mysql_res,&Session);
- if (ExaSes_CheckIfICanListThisSessionBasedOnGrps (Session.SesCod) == Usr_I_CAN)
+ if (ExaSes_CheckIfICanListThisSessionBasedOnGrps (Session.SesCod) == Usr_CAN)
{
/***** Build anchor string *****/
if (asprintf (&Anchor,"evt_%ld_%ld",Exams->Exam.ExaCod,Session.SesCod) < 0)
@@ -329,7 +329,7 @@ static void ExaSes_ListOneOrMoreSessions (struct Exa_Exams *Exams,
/************* Put a column for exam session start and end times *************/
/*****************************************************************************/
-static void ExaSes_ListOneOrMoreSessionsHeading (Usr_ICan_t ICanEditSessions)
+static void ExaSes_ListOneOrMoreSessionsHeading (Usr_Can_t ICanEditSessions)
{
extern const char *Txt_START_END_TIME[Dat_NUM_START_END_TIME];
extern const char *Txt_Session;
@@ -339,7 +339,7 @@ static void ExaSes_ListOneOrMoreSessionsHeading (Usr_ICan_t ICanEditSessions)
HTM_TR_Begin (NULL);
/***** Column for icons *****/
- if (ICanEditSessions == Usr_I_CAN)
+ if (ICanEditSessions == Usr_CAN)
HTM_TH_Empty (1);
/***** The rest of columns *****/
@@ -356,13 +356,13 @@ static void ExaSes_ListOneOrMoreSessionsHeading (Usr_ICan_t ICanEditSessions)
/********************** Check if I can edit sessions *************************/
/*****************************************************************************/
-static Usr_ICan_t ExaSes_CheckIfICanEditSessions (void)
+static Usr_Can_t ExaSes_CheckIfICanEditSessions (void)
{
- static Usr_ICan_t ICanEditSessions[Rol_NUM_ROLES] =
+ static Usr_Can_t ICanEditSessions[Rol_NUM_ROLES] =
{
- [Rol_NET ] = Usr_I_CAN,
- [Rol_TCH ] = Usr_I_CAN,
- [Rol_SYS_ADM] = Usr_I_CAN,
+ [Rol_NET ] = Usr_CAN,
+ [Rol_TCH ] = Usr_CAN,
+ [Rol_SYS_ADM] = Usr_CAN,
};
return ICanEditSessions[Gbl.Usrs.Me.Role.Logged];
@@ -372,18 +372,18 @@ static Usr_ICan_t ExaSes_CheckIfICanEditSessions (void)
/************ Check if I can edit (remove/resume) an exam session ************/
/*****************************************************************************/
-static Usr_ICan_t ExaSes_CheckIfICanEditThisSession (long UsrCod)
+static Usr_Can_t ExaSes_CheckIfICanEditThisSession (long UsrCod)
{
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_NET:
- return (UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod) ? Usr_I_CAN : // Only if I am the creator
- Usr_I_CAN_NOT;
+ return (UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod) ? Usr_CAN : // Only if I am the creator
+ Usr_CAN_NOT;
case Rol_TCH:
case Rol_SYS_ADM:
- return Usr_I_CAN;
+ return Usr_CAN;
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
}
@@ -391,13 +391,13 @@ static Usr_ICan_t ExaSes_CheckIfICanEditThisSession (long UsrCod)
/********** Check if visibility of session results can be changed ************/
/*****************************************************************************/
-static Usr_ICan_t ExaSes_CheckIfICanChangeVisibilityOfResults (const struct ExaSes_Session *Session)
+static Usr_Can_t ExaSes_CheckIfICanChangeVisibilityOfResults (const struct ExaSes_Session *Session)
{
if (Session->ShowUsrResults || // Results are currently visible
Session->TimeUTC[Dat_END_TIME] < Dat_GetStartExecutionTimeUTC ()) // End of time is in the past
return ExaSes_CheckIfICanEditThisSession (Session->UsrCod);
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
/*****************************************************************************/
@@ -420,7 +420,7 @@ static void ExaSes_ListOneOrMoreSessionsIcons (struct Exa_Exams *Exams,
/***** Begin cell *****/
HTM_TD_Begin ("rowspan=\"2\" class=\"BT %s\"",The_GetColorRows ());
- if (ExaSes_CheckIfICanEditThisSession (Session->UsrCod) == Usr_I_CAN)
+ if (ExaSes_CheckIfICanEditThisSession (Session->UsrCod) == Usr_CAN)
{
/***** Icon to remove the exam session *****/
Ico_PutContextualIconToRemove (ActReqRemExaSes,NULL,
@@ -499,7 +499,7 @@ static void ExaSes_ListOneOrMoreSessionsTitleGrps (struct Exa_Exams *Exams,
HTM_ARTICLE_Begin (Anchor);
switch (ExaSes_CheckIfICanAnswerThisSession (&Exams->Exam,Session))
{
- case Usr_I_CAN:
+ case Usr_CAN:
Frm_BeginForm (ActSeeExaPrn);
Exa_PutPars (Exams);
ParCod_PutPar (ParCod_Ses,Session->SesCod);
@@ -512,7 +512,7 @@ static void ExaSes_ListOneOrMoreSessionsTitleGrps (struct Exa_Exams *Exams,
HTM_BUTTON_End ();
Frm_EndForm ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
HTM_SPAN_Begin ("class=\"%s_%s\"",
HidVis_TitleClass[Session->HiddenOrVisible],
@@ -643,7 +643,7 @@ static void ExaSes_ListOneOrMoreSessionsResultTch (struct Exa_Exams *Exams,
Exams->SesCod = Session->SesCod;
/***** Show exam session results *****/
- if (ExaSes_CheckIfICanEditThisSession (Session->UsrCod) == Usr_I_CAN)
+ if (ExaSes_CheckIfICanEditThisSession (Session->UsrCod) == Usr_CAN)
Lay_PutContextualLinkOnlyIcon (ActSeeUsrExaResSes,ExaRes_RESULTS_BOX_ID,
ExaSes_PutParsEdit,Exams,
"trophy.svg",Ico_BLACK);
@@ -651,7 +651,7 @@ static void ExaSes_ListOneOrMoreSessionsResultTch (struct Exa_Exams *Exams,
/***** Check if visibility of session results can be changed *****/
switch (ExaSes_CheckIfICanChangeVisibilityOfResults (Session))
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Put form to change visibility of session results *****/
if (Session->ShowUsrResults)
Lay_PutContextualLinkOnlyIcon (ActChgVisExaRes,NULL,
@@ -662,7 +662,7 @@ static void ExaSes_ListOneOrMoreSessionsResultTch (struct Exa_Exams *Exams,
ExaSes_PutParsEdit,Exams,
"eye-slash.svg",Ico_RED);
break;
- case Usr_I_CAN_NOT: // Don't put form
+ case Usr_CAN_NOT: // Don't put form
default:
/***** Put icon showing the current visibility of session results *****/
if (Session->ShowUsrResults)
@@ -691,7 +691,7 @@ void ExaSes_ToggleVisResultsSesUsr (void)
ExaSes_GetAndCheckPars (&Exams,&Session);
/***** Check if visibility of session results can be changed *****/
- if (ExaSes_CheckIfICanChangeVisibilityOfResults (&Session) == Usr_I_CAN_NOT)
+ if (ExaSes_CheckIfICanChangeVisibilityOfResults (&Session) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Toggle visibility of exam session results *****/
@@ -809,7 +809,7 @@ void ExaSes_RemoveSession (void)
ExaSes_GetAndCheckPars (&Exams,&Session);
/***** Check if I can remove this exam session *****/
- if (ExaSes_CheckIfICanEditThisSession (Session.UsrCod) == Usr_I_CAN_NOT)
+ if (ExaSes_CheckIfICanEditThisSession (Session.UsrCod) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Remove questions of exams prints, and exam prints, in this session *****/
@@ -863,7 +863,7 @@ static void ExaSes_HideUnhideSession (HidVis_HiddenOrVisible_t HiddenOrVisible)
ExaSes_GetAndCheckPars (&Exams,&Session);
/***** Check if I can remove this exam session *****/
- if (ExaSes_CheckIfICanEditThisSession (Session.UsrCod) == Usr_I_CAN_NOT)
+ if (ExaSes_CheckIfICanEditThisSession (Session.UsrCod) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Hide session *****/
@@ -1208,7 +1208,7 @@ static void ExaSes_CreateGrpsAssociatedToExamSession (long SesCod,
/******** Check if I belong to any of the groups of an exam session **********/
/*****************************************************************************/
-Usr_ICan_t ExaSes_CheckIfICanAnswerThisSession (const struct Exa_Exam *Exam,
+Usr_Can_t ExaSes_CheckIfICanAnswerThisSession (const struct Exa_Exam *Exam,
const struct ExaSes_Session *Session)
{
/***** 1. Sessions in hidden exams are not accesible
@@ -1216,14 +1216,14 @@ Usr_ICan_t ExaSes_CheckIfICanAnswerThisSession (const struct Exa_Exam *Exam,
if (Exam->HiddenOrVisible == HidVis_HIDDEN ||
Session->HiddenOrVisible == HidVis_HIDDEN ||
Session->ClosedOrOpen == CloOpe_CLOSED)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** Exam is visible, session is visible and open ==>
==> I can answer this session if I can list it based on groups *****/
return ExaSes_CheckIfICanListThisSessionBasedOnGrps (Session->SesCod);
}
-Usr_ICan_t ExaSes_CheckIfICanListThisSessionBasedOnGrps (long SesCod)
+Usr_Can_t ExaSes_CheckIfICanListThisSessionBasedOnGrps (long SesCod)
{
switch (Gbl.Usrs.Me.Role.Logged)
{
@@ -1234,8 +1234,8 @@ Usr_ICan_t ExaSes_CheckIfICanListThisSessionBasedOnGrps (long SesCod)
case Rol_NET:
case Rol_TCH:
case Rol_SYS_ADM:
- return Usr_I_CAN;
+ return Usr_CAN;
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
}
diff --git a/swad_exam_session.h b/swad_exam_session.h
index ecd2e1d89..4e6e62e96 100644
--- a/swad_exam_session.h
+++ b/swad_exam_session.h
@@ -69,8 +69,8 @@ void ExaSes_GetAndCheckPars (struct Exa_Exams *Exams,
void ExaSes_ReqCreatOrEditSes (void);
void ExaSes_ReceiveSession (void);
-Usr_ICan_t ExaSes_CheckIfICanAnswerThisSession (const struct Exa_Exam *Exam,
+Usr_Can_t ExaSes_CheckIfICanAnswerThisSession (const struct Exa_Exam *Exam,
const struct ExaSes_Session *Session);
-Usr_ICan_t ExaSes_CheckIfICanListThisSessionBasedOnGrps (long SesCod);
+Usr_Can_t ExaSes_CheckIfICanListThisSessionBasedOnGrps (long SesCod);
#endif
diff --git a/swad_exam_set.c b/swad_exam_set.c
index a478b8913..b56aadcc1 100644
--- a/swad_exam_set.c
+++ b/swad_exam_set.c
@@ -91,13 +91,13 @@ static void ExaSet_ListOneOrMoreSetsForEdition (struct Exa_Exams *Exams,
unsigned MaxSetInd,
unsigned NumSets,
MYSQL_RES *mysql_res,
- Usr_ICan_t ICanEditSets);
+ Usr_Can_t ICanEditSets);
static void ExaSet_PutTableHeadingForSets (void);
static void ExaSet_ListOneOrMoreQuestionsForEdition (struct Exa_Exams *Exams,
unsigned NumQsts,
MYSQL_RES *mysql_res,
- Usr_ICan_t ICanEditQuestions);
+ Usr_Can_t ICanEditQuestions);
static void ExaSet_ListQuestionForEdition (struct Qst_Question *Question,
unsigned QstInd,const char *Anchor);
@@ -106,7 +106,7 @@ static void ExaSet_FreeListsSelectedQuestions (struct Exa_Exams *Exams);
static void ExaSet_CopyQstFromBankToExamSet (const struct ExaSet_Set *Set,long QstCod);
-static Usr_ICan_t ExaSet_CheckIfICanEditExamSets (const struct Exa_Exam *Exam);
+static Usr_Can_t ExaSet_CheckIfICanEditExamSets (const struct Exa_Exam *Exam);
static void ExaSet_RemoveMediaFromStemOfQst (long QstCod,long SetCod);
static void ExaSet_RemoveMediaFromAllAnsOfQst (long QstCod,long SetCod);
@@ -253,7 +253,7 @@ void ExaSet_ReceiveSet (void)
Exa_GetExamDataByCod (&Exams.Exam);
/***** Check if exam is editable *****/
- if (ExaSet_CheckIfICanEditExamSets (&Exams.Exam) == Usr_I_CAN_NOT)
+ if (ExaSet_CheckIfICanEditExamSets (&Exams.Exam) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** If I can edit exams ==> receive set from form *****/
@@ -320,7 +320,7 @@ void ExaSet_ChangeSetTitle (void)
char NewTitle[ExaSet_MAX_BYTES_TITLE + 1];
/***** Check if I can edit exams *****/
- if (Exa_CheckIfICanEditExams () == Usr_I_CAN_NOT)
+ if (Exa_CheckIfICanEditExams () == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Reset exams context *****/
@@ -332,7 +332,7 @@ void ExaSet_ChangeSetTitle (void)
ExaSet_GetAndCheckPars (&Exams,&Set);
/***** Check if exam is editable *****/
- if (ExaSet_CheckIfICanEditExamSets (&Exams.Exam) == Usr_I_CAN_NOT)
+ if (ExaSet_CheckIfICanEditExamSets (&Exams.Exam) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Receive new title from form *****/
@@ -363,7 +363,7 @@ void ExaSet_ChangeNumQstsToExam (void)
unsigned NumQstsToPrint;
/***** Check if I can edit exams *****/
- if (Exa_CheckIfICanEditExams () == Usr_I_CAN_NOT)
+ if (Exa_CheckIfICanEditExams () == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Reset exams context *****/
@@ -375,7 +375,7 @@ void ExaSet_ChangeNumQstsToExam (void)
ExaSet_GetAndCheckPars (&Exams,&Set);
/***** Check if exam is editable *****/
- if (ExaSet_CheckIfICanEditExamSets (&Exams.Exam) == Usr_I_CAN_NOT)
+ if (ExaSet_CheckIfICanEditExamSets (&Exams.Exam) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Get number of questions in set to appear in exam print *****/
@@ -482,7 +482,7 @@ void ExaSet_ListExamSets (struct Exa_Exams *Exams)
MYSQL_RES *mysql_res;
unsigned MaxSetInd;
unsigned NumSets;
- Usr_ICan_t ICanEditSets = ExaSet_CheckIfICanEditExamSets (&Exams->Exam);
+ Usr_Can_t ICanEditSets = ExaSet_CheckIfICanEditExamSets (&Exams->Exam);
/***** Get maximum set index *****/
MaxSetInd = Exa_DB_GetMaxSetIndexInExam (Exams->Exam.ExaCod);
@@ -518,13 +518,13 @@ static void ExaSet_ListSetQuestions (struct Exa_Exams *Exams,
extern const char *Txt_Questions;
MYSQL_RES *mysql_res;
unsigned NumQsts;
- Usr_ICan_t ICanEditQuestions = ExaSet_CheckIfICanEditExamSets (&Exams->Exam);
+ Usr_Can_t ICanEditQuestions = ExaSet_CheckIfICanEditExamSets (&Exams->Exam);
/***** Begin box *****/
Box_BoxBegin (Txt_Questions,
- ICanEditQuestions == Usr_I_CAN ? ExaSet_PutIconToAddNewQuestions :
+ ICanEditQuestions == Usr_CAN ? ExaSet_PutIconToAddNewQuestions :
NULL,
- ICanEditQuestions == Usr_I_CAN ? Exams :
+ ICanEditQuestions == Usr_CAN ? Exams :
NULL,
Hlp_ASSESSMENT_Exams_questions,Box_NOT_CLOSABLE);
@@ -548,7 +548,7 @@ static void ExaSet_ListOneOrMoreSetsForEdition (struct Exa_Exams *Exams,
unsigned MaxSetInd,
unsigned NumSets,
MYSQL_RES *mysql_res,
- Usr_ICan_t ICanEditSets)
+ Usr_Can_t ICanEditSets)
{
extern const char *Txt_Movement_not_allowed;
unsigned NumSet;
@@ -590,18 +590,18 @@ static void ExaSet_ListOneOrMoreSetsForEdition (struct Exa_Exams *Exams,
/* Put icon to remove the set */
switch (ICanEditSets)
{
- case Usr_I_CAN:
+ case Usr_CAN:
Ico_PutContextualIconToRemove (ActReqRemExaSet,NULL,
ExaSet_PutParsOneSet,Exams);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconRemovalNotAllowed ();
break;
}
/* Put icon to move up the question */
- if (ICanEditSets == Usr_I_CAN && Set.SetInd > 1)
+ if (ICanEditSets == Usr_CAN && Set.SetInd > 1)
Lay_PutContextualLinkOnlyIcon (ActUp_ExaSet,Anchor,
ExaSet_PutParsOneSet,Exams,
"arrow-up.svg",Ico_BLACK);
@@ -793,7 +793,7 @@ void ExaSet_GetSetDataFromRow (MYSQL_RES *mysql_res,struct ExaSet_Set *Set)
static void ExaSet_ListOneOrMoreQuestionsForEdition (struct Exa_Exams *Exams,
unsigned NumQsts,
MYSQL_RES *mysql_res,
- Usr_ICan_t ICanEditQuestions)
+ Usr_Can_t ICanEditQuestions)
{
extern const char *Txt_Questions;
extern const char *Txt_No_INDEX;
@@ -849,11 +849,11 @@ static void ExaSet_ListOneOrMoreQuestionsForEdition (struct Exa_Exams *Exams,
/* Put icon to remove the question */
switch (ICanEditQuestions)
{
- case Usr_I_CAN:
+ case Usr_CAN:
Ico_PutContextualIconToRemove (ActReqRemSetQst,NULL,
ExaSet_PutParsOneQst,Exams);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconRemovalNotAllowed ();
break;
@@ -1264,7 +1264,7 @@ void ExaSet_ReqRemSet (void)
ExaSet_GetAndCheckPars (&Exams,&Set);
/***** Check if exam is editable *****/
- if (ExaSet_CheckIfICanEditExamSets (&Exams.Exam) == Usr_I_CAN_NOT)
+ if (ExaSet_CheckIfICanEditExamSets (&Exams.Exam) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Show question and button to remove question *****/
@@ -1296,7 +1296,7 @@ void ExaSet_RemoveSet (void)
ExaSet_GetAndCheckPars (&Exams,&Set);
/***** Check if exam is editable *****/
- if (ExaSet_CheckIfICanEditExamSets (&Exams.Exam) == Usr_I_CAN_NOT)
+ if (ExaSet_CheckIfICanEditExamSets (&Exams.Exam) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Remove the set from all tables *****/
@@ -1337,7 +1337,7 @@ void ExaSet_MoveUpSet (void)
ExaSet_GetAndCheckPars (&Exams,&Set);
/***** Check if exam is editable *****/
- if (ExaSet_CheckIfICanEditExamSets (&Exams.Exam) == Usr_I_CAN_NOT)
+ if (ExaSet_CheckIfICanEditExamSets (&Exams.Exam) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Get set index *****/
@@ -1383,7 +1383,7 @@ void ExaSet_MoveDownSet (void)
ExaSet_GetAndCheckPars (&Exams,&Set);
/***** Check if exam is editable *****/
- if (ExaSet_CheckIfICanEditExamSets (&Exams.Exam) == Usr_I_CAN_NOT)
+ if (ExaSet_CheckIfICanEditExamSets (&Exams.Exam) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Get set index *****/
@@ -1415,22 +1415,22 @@ void ExaSet_MoveDownSet (void)
/*****************************************************************************/
// Before calling this function, number of sessions must be calculated
-static Usr_ICan_t ExaSet_CheckIfICanEditExamSets (const struct Exa_Exam *Exam)
+static Usr_Can_t ExaSet_CheckIfICanEditExamSets (const struct Exa_Exam *Exam)
{
switch (Exa_CheckIfICanEditExams ())
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Questions are editable only if exam has no sessions *****/
- return (Exam->NumSess == 0) ? Usr_I_CAN : // Exams with sessions should not be edited
- Usr_I_CAN_NOT;
+ return (Exam->NumSess == 0) ? Usr_CAN : // Exams with sessions should not be edited
+ Usr_CAN_NOT;
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
- return Usr_I_CAN_NOT; // Sets of questions are not editable
+ return Usr_CAN_NOT; // Sets of questions are not editable
break;
}
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
/*****************************************************************************/
diff --git a/swad_follow.c b/swad_follow.c
index 7609ade10..c38b7869b 100644
--- a/swad_follow.c
+++ b/swad_follow.c
@@ -572,13 +572,13 @@ static void Fol_ShowFollowedOrFollower (struct Usr_Data *UsrDat)
[PhoSha_SHAPE_OVAL ] = "PHOTOO60x80",
[PhoSha_SHAPE_RECTANGLE] = "PHOTOR60x80",
};
- Usr_ICan_t ICanView = Pri_CheckIfICanView (UsrDat->BaPrfVisibility,UsrDat);
+ Usr_Can_t ICanView = Pri_CheckIfICanView (UsrDat->BaPrfVisibility,UsrDat);
HTM_DIV_Begin ("class=\"FOLLOW_USR\"");
/***** Show user's photo *****/
HTM_DIV_Begin ("class=\"FOLLOW_PHOTO\"");
- if (ICanView == Usr_I_CAN)
+ if (ICanView == Usr_CAN)
Pho_ShowUsrPhotoIfAllowed (UsrDat,
ClassPhoto[Gbl.Prefs.PhotoShape],Pho_ZOOM);
HTM_DIV_End ();
@@ -586,7 +586,7 @@ static void Fol_ShowFollowedOrFollower (struct Usr_Data *UsrDat)
/***** Show user's name and icon to follow/unfollow *****/
HTM_DIV_Begin ("class=\"FOLLOW_TXT\"");
- if (ICanView == Usr_I_CAN)
+ if (ICanView == Usr_CAN)
{
/* Put form to go to public profile */
Frm_BeginForm (ActSeeOthPubPrf);
@@ -612,7 +612,7 @@ static void Fol_ShowFollowedOrFollower (struct Usr_Data *UsrDat)
UsrDat->UsrCod)) // I follow user
/* Form to unfollow */
Fol_PutIconToUnfollow (UsrDat->EnUsrCod);
- else if (ICanView == Usr_I_CAN) // I do not follow this user and I can follow
+ else if (ICanView == Usr_CAN) // I do not follow this user and I can follow
/* Form to follow */
Fol_PutIconToFollow (UsrDat->EnUsrCod);
}
@@ -636,13 +636,13 @@ static void Fol_WriteRowUsrToFollowOnRightColumn (struct Usr_Data *UsrDat)
[PhoSha_SHAPE_OVAL ] = "PHOTOO21x28",
[PhoSha_SHAPE_RECTANGLE] = "PHOTOR21x28",
};
- Usr_ICan_t ICanView = Pri_CheckIfICanView (UsrDat->BaPrfVisibility,UsrDat);
+ Usr_Can_t ICanView = Pri_CheckIfICanView (UsrDat->BaPrfVisibility,UsrDat);
/***** Show user's photo *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"CON_PHOTO %s\"",The_GetColorRows ());
- if (ICanView == Usr_I_CAN)
+ if (ICanView == Usr_CAN)
Pho_ShowUsrPhotoIfAllowed (UsrDat,
ClassPhoto[Gbl.Prefs.PhotoShape],Pho_ZOOM);
HTM_TD_End ();
@@ -650,7 +650,7 @@ static void Fol_WriteRowUsrToFollowOnRightColumn (struct Usr_Data *UsrDat)
/***** User's name *****/
HTM_TD_Begin ("class=\"CON_NAME_FOLLOW %s\"",
The_GetColorRows ());
- if (ICanView == Usr_I_CAN)
+ if (ICanView == Usr_CAN)
{
/* Put form to go to public profile */
Frm_BeginForm (ActSeeOthPubPrf);
@@ -679,7 +679,7 @@ static void Fol_WriteRowUsrToFollowOnRightColumn (struct Usr_Data *UsrDat)
UsrDat->UsrCod)) // I follow user
/* Form to unfollow */
Fol_PutIconToUnfollow (UsrDat->EnUsrCod);
- else if (ICanView == Usr_I_CAN) // I do not follow this user and I can follow
+ else if (ICanView == Usr_CAN) // I do not follow this user and I can follow
/* Form to follow */
Fol_PutIconToFollow (UsrDat->EnUsrCod);
}
diff --git a/swad_forum.c b/swad_forum.c
index fa6f923a9..e28b69b43 100644
--- a/swad_forum.c
+++ b/swad_forum.c
@@ -322,7 +322,7 @@ static void For_PutParsNewPost (void *Forums);
static void For_ShowAForumPost (struct For_Forums *Forums,
unsigned PstNum,
bool LastPst,char LastSubject[Cns_MAX_BYTES_SUBJECT + 1],
- bool NewPst,Usr_ICan_t ICanModerateForum);
+ bool NewPst,Usr_Can_t ICanModerateForum);
static void For_GetPstData (long PstCod,long *UsrCod,time_t *CreatTimeUTC,
char Subject[Cns_MAX_BYTES_SUBJECT + 1],
char Content[Cns_MAX_BYTES_LONG_TEXT + 1],
@@ -379,7 +379,7 @@ static void For_WriteFormForumPst (struct For_Forums *Forums,
static void For_PutParsRemThread (void *Forums);
-static Usr_ICan_t For_CheckIfICanMoveThreads (void);
+static Usr_Can_t For_CheckIfICanMoveThreads (void);
static void For_InsertThrInClipboard (long ThrCod);
static void For_ShowStatOfAForumType (For_ForumType_t ForumType,
@@ -711,7 +711,7 @@ void For_ShowPostsOfAThread (struct For_Forums *Forums,
time_t CreatTimeUTC; // Creation time of post
struct Pag_Pagination PaginationPsts;
bool NewPst = false;
- Usr_ICan_t ICanModerateForum = Usr_I_CAN_NOT;
+ Usr_Can_t ICanModerateForum = Usr_CAN_NOT;
/***** Get data of the thread *****/
Thread.ThrCod =
@@ -720,7 +720,7 @@ void For_ShowPostsOfAThread (struct For_Forums *Forums,
For_GetThreadData (&Thread);
/***** Get if there is a thread ready to be moved *****/
- if (For_CheckIfICanMoveThreads () == Usr_I_CAN)
+ if (For_CheckIfICanMoveThreads () == Usr_CAN)
Forums->Thread.ToMove = For_DB_GetThrInMyClipboard ();
/***** Get thread read time for the current user *****/
@@ -751,31 +751,31 @@ void For_ShowPostsOfAThread (struct For_Forums *Forums,
case For_FORUM_GLOBAL_TCHS:
case For_FORUM__SWAD__USRS:
case For_FORUM__SWAD__TCHS:
- ICanModerateForum = (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ ICanModerateForum = (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case For_FORUM_INSTIT_USRS:
case For_FORUM_INSTIT_TCHS:
- ICanModerateForum = (Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ ICanModerateForum = (Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case For_FORUM_CENTER_USRS:
case For_FORUM_CENTER_TCHS:
- ICanModerateForum = (Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ ICanModerateForum = (Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case For_FORUM_DEGREE_USRS:
case For_FORUM_DEGREE_TCHS:
case For_FORUM_COURSE_TCHS:
- ICanModerateForum = (Gbl.Usrs.Me.Role.Logged >= Rol_DEG_ADM) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ ICanModerateForum = (Gbl.Usrs.Me.Role.Logged >= Rol_DEG_ADM) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case For_FORUM_COURSE_USRS:
- ICanModerateForum = (Gbl.Usrs.Me.Role.Logged >= Rol_TCH) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ ICanModerateForum = (Gbl.Usrs.Me.Role.Logged >= Rol_TCH) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
default:
- ICanModerateForum = Usr_I_CAN_NOT;
+ ICanModerateForum = Usr_CAN_NOT;
break;
}
@@ -876,7 +876,7 @@ static void For_PutIconsOneThread (void *Forums)
/***** Put icon to get resource link *****/
if (((struct For_Forums *) Forums)->Forum.Type == For_FORUM_COURSE_USRS &&
- Rsc_CheckIfICanGetLink () == Usr_I_CAN)
+ Rsc_CheckIfICanGetLink () == Usr_CAN)
Ico_PutContextualIconToGetLink (ActReqLnkForCrsUsr,NULL,
For_PutParsNewPost,Forums);
}
@@ -901,7 +901,7 @@ static void For_PutParsNewPost (void *Forums)
static void For_ShowAForumPost (struct For_Forums *Forums,
unsigned PstNum,
bool LastPst,char LastSubject[Cns_MAX_BYTES_SUBJECT + 1],
- bool NewPst,Usr_ICan_t ICanModerateForum)
+ bool NewPst,Usr_Can_t ICanModerateForum)
{
extern const char *Txt_MSG_New;
extern const char *Txt_MSG_Open;
@@ -1006,7 +1006,7 @@ static void For_ShowAForumPost (struct For_Forums *Forums,
switch (ICanModerateForum)
{
- case Usr_I_CAN:
+ case Usr_CAN:
NextAction = DisabledOrEnabled == Cns_ENABLED ? For_ActionsDisPstFor[Forums->Forum.Type] :
For_ActionsEnbPstFor[Forums->Forum.Type];
Frm_BeginFormAnchor (NextAction,For_FORUM_POSTS_SECTION_ID);
@@ -1014,7 +1014,7 @@ static void For_ShowAForumPost (struct For_Forums *Forums,
Ico_PutIconLink (Icon[DisabledOrEnabled],Color[DisabledOrEnabled],NextAction);
Frm_EndForm ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
if (asprintf (&Title,*TxtAllowedBanned[DisabledOrEnabled],PstNum) < 0)
Err_NotEnoughMemoryExit ();
@@ -1235,12 +1235,12 @@ void For_ShowForumList (struct For_Forums *Forums)
unsigned NumDegs;
unsigned NumCrs;
unsigned NumCrss;
- Usr_ICan_t ICanSeeInsForum;
- Usr_ICan_t ICanSeeCtrForum;
- Usr_ICan_t ICanSeeDegForum;
+ Usr_Can_t ICanSeeInsForum;
+ Usr_Can_t ICanSeeCtrForum;
+ Usr_Can_t ICanSeeDegForum;
/***** Get if there is a thread ready to be moved *****/
- if (For_CheckIfICanMoveThreads () == Usr_I_CAN)
+ if (For_CheckIfICanMoveThreads () == Usr_CAN)
Forums->Thread.ToMove = For_DB_GetThrInMyClipboard ();
/***** Fill the list with the institutions I belong to *****/
@@ -1264,49 +1264,55 @@ void For_ShowForumList (struct For_Forums *Forums)
if (Gbl.Hierarchy.Node[Hie_INS].HieCod > 0)
{
if (Gbl.Usrs.Me.Role.Logged >= Rol_DEG_ADM)
- ICanSeeInsForum = Usr_I_CAN;
+ ICanSeeInsForum = Usr_CAN;
else
- ICanSeeInsForum = Hie_CheckIfIBelongTo (Hie_INS,Gbl.Hierarchy.Node[Hie_INS].HieCod) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ ICanSeeInsForum = (Hie_CheckIfIBelongTo (Hie_INS,
+ Gbl.Hierarchy.Node[Hie_INS].HieCod)
+ == Usr_BELONG) ? Usr_CAN :
+ Usr_CAN_NOT;
}
else
- ICanSeeInsForum = Usr_I_CAN_NOT;
+ ICanSeeInsForum = Usr_CAN_NOT;
/***** Links to forums about the platform *****/
For_WriteLinksToPlatformForums (Forums,true,IsLastItemInLevel);
- if (ICanSeeInsForum == Usr_I_CAN)
+ if (ICanSeeInsForum == Usr_CAN)
{
if (Gbl.Usrs.Me.Role.Logged >= Rol_DEG_ADM)
- ICanSeeCtrForum = Usr_I_CAN;
+ ICanSeeCtrForum = Usr_CAN;
else
- ICanSeeCtrForum = Hie_CheckIfIBelongTo (Hie_CTR,Gbl.Hierarchy.Node[Hie_CTR].HieCod) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ ICanSeeCtrForum = (Hie_CheckIfIBelongTo (Hie_CTR,
+ Gbl.Hierarchy.Node[Hie_CTR].HieCod)
+ == Usr_BELONG) ? Usr_CAN :
+ Usr_CAN_NOT;
/***** Links to forums of current institution *****/
if (For_WriteLinksToInsForums (Forums,Gbl.Hierarchy.Node[Hie_INS].HieCod,
true,
IsLastItemInLevel) > 0)
- if (ICanSeeCtrForum == Usr_I_CAN)
+ if (ICanSeeCtrForum == Usr_CAN)
{
if (Gbl.Usrs.Me.Role.Logged >= Rol_DEG_ADM)
- ICanSeeDegForum = Usr_I_CAN;
+ ICanSeeDegForum = Usr_CAN;
else
- ICanSeeDegForum = Hie_CheckIfIBelongTo (Hie_DEG,Gbl.Hierarchy.Node[Hie_DEG].HieCod) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ ICanSeeDegForum = (Hie_CheckIfIBelongTo (Hie_DEG,
+ Gbl.Hierarchy.Node[Hie_DEG].HieCod)
+ == Usr_BELONG) ? Usr_CAN :
+ Usr_CAN_NOT;
/***** Links to forums of current center *****/
if (For_WriteLinksToCtrForums (Forums,
Gbl.Hierarchy.Node[Hie_CTR].HieCod,
true,
IsLastItemInLevel) > 0)
- if (ICanSeeDegForum == Usr_I_CAN)
+ if (ICanSeeDegForum == Usr_CAN)
/***** Links to forums of current degree *****/
if (For_WriteLinksToDegForums (Forums,
Gbl.Hierarchy.Node[Hie_DEG].HieCod,
true,
IsLastItemInLevel) > 0)
- if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] ||
+ if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] == Usr_BELONG ||
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
/***** Links to forums of current degree *****/
For_WriteLinksToCrsForums (Forums,
@@ -1465,15 +1471,15 @@ static void For_WriteLinksToGblForums (const struct For_Forums *Forums,
Lay_LastItem_t IsLastItemInLevel[1 + For_FORUM_MAX_LEVELS])
{
Lay_Highlight_t Highlight;
- Usr_ICan_t ICanSeeTeacherForum;
+ Usr_Can_t ICanSeeTeacherForum;
struct For_Forum Forum;
/***** Can I see teachers's forums? *****/
Rol_GetRolesInAllCrss (&Gbl.Usrs.Me.UsrDat);
ICanSeeTeacherForum = (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM ||
(Gbl.Usrs.Me.UsrDat.Roles.InCrss & ((1 << Rol_NET) |
- (1 << Rol_TCH)))) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ (1 << Rol_TCH)))) ? Usr_CAN :
+ Usr_CAN_NOT;
/***** Link to forum global *****/
Forum.Type = For_FORUM_GLOBAL_USRS;
@@ -1485,7 +1491,7 @@ static void For_WriteLinksToGblForums (const struct For_Forums *Forums,
/***** Link to forum of teachers global *****/
Rol_GetRolesInAllCrss (&Gbl.Usrs.Me.UsrDat);
- if (ICanSeeTeacherForum == Usr_I_CAN)
+ if (ICanSeeTeacherForum == Usr_CAN)
{
Forum.Type = For_FORUM_GLOBAL_TCHS;
Forum.HieCod = -1L;
@@ -1505,15 +1511,15 @@ static void For_WriteLinksToPlatformForums (const struct For_Forums *Forums,
Lay_LastItem_t IsLastItemInLevel[1 + For_FORUM_MAX_LEVELS])
{
Lay_Highlight_t Highlight;
- Usr_ICan_t ICanSeeTeacherForum;
+ Usr_Can_t ICanSeeTeacherForum;
struct For_Forum Forum;
/***** Can I see teachers's forums? *****/
Rol_GetRolesInAllCrss (&Gbl.Usrs.Me.UsrDat);
ICanSeeTeacherForum = (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM ||
(Gbl.Usrs.Me.UsrDat.Roles.InCrss & ((1 << Rol_NET) |
- (1 << Rol_TCH)))) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ (1 << Rol_TCH)))) ? Usr_CAN :
+ Usr_CAN_NOT;
/***** Link to forum of users about the platform *****/
Forum.Type = For_FORUM__SWAD__USRS;
@@ -1521,12 +1527,12 @@ static void For_WriteLinksToPlatformForums (const struct For_Forums *Forums,
Highlight = (Forums->Forum.Type == For_FORUM__SWAD__USRS) ? Lay_HIGHLIGHT :
Lay_NO_HIGHLIGHT;
IsLastItemInLevel[1] = (IsLastForum &&
- ICanSeeTeacherForum == Usr_I_CAN_NOT) ? Lay_LAST_ITEM :
+ ICanSeeTeacherForum == Usr_CAN_NOT) ? Lay_LAST_ITEM :
Lay_NO_LAST_ITEM;
For_WriteLinkToForum (Forums,&Forum,Highlight,1,IsLastItemInLevel);
/***** Link to forum of teachers about the platform *****/
- if (ICanSeeTeacherForum == Usr_I_CAN)
+ if (ICanSeeTeacherForum == Usr_CAN)
{
Forum.Type = For_FORUM__SWAD__TCHS;
Forum.HieCod = -1L;
@@ -1549,7 +1555,7 @@ static long For_WriteLinksToInsForums (const struct For_Forums *Forums,
{
Lay_Highlight_t Highlight;
Rol_Role_t MaxRoleInIns;
- Usr_ICan_t ICanSeeTeacherForum;
+ Usr_Can_t ICanSeeTeacherForum;
struct For_Forum Forum;
if (InsCod > 0)
@@ -1557,8 +1563,8 @@ static long For_WriteLinksToInsForums (const struct For_Forums *Forums,
MaxRoleInIns = Rol_GetMyMaxRoleIn (Hie_INS,InsCod);
ICanSeeTeacherForum = ((Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM ||
MaxRoleInIns == Rol_NET ||
- MaxRoleInIns == Rol_TCH)) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ MaxRoleInIns == Rol_TCH)) ? Usr_CAN :
+ Usr_CAN_NOT;
/***** Link to the forum of users from this institution *****/
Forum.Type = For_FORUM_INSTIT_USRS;
@@ -1567,12 +1573,12 @@ static long For_WriteLinksToInsForums (const struct For_Forums *Forums,
Forums->Forum.HieCod == InsCod) ? Lay_HIGHLIGHT :
Lay_NO_HIGHLIGHT;
IsLastItemInLevel[2] = (IsLastIns &&
- ICanSeeTeacherForum == Usr_I_CAN_NOT) ? Lay_LAST_ITEM :
+ ICanSeeTeacherForum == Usr_CAN_NOT) ? Lay_LAST_ITEM :
Lay_NO_LAST_ITEM;
For_WriteLinkToForum (Forums,&Forum,Highlight,2,IsLastItemInLevel);
/***** Link to forum of teachers from this institution *****/
- if (ICanSeeTeacherForum == Usr_I_CAN)
+ if (ICanSeeTeacherForum == Usr_CAN)
{
Forum.Type = For_FORUM_INSTIT_TCHS;
Forum.HieCod = InsCod;
@@ -1598,7 +1604,7 @@ static long For_WriteLinksToCtrForums (const struct For_Forums *Forums,
{
Lay_Highlight_t Highlight;
Rol_Role_t MaxRoleInCtr;
- Usr_ICan_t ICanSeeTeacherForum;
+ Usr_Can_t ICanSeeTeacherForum;
struct For_Forum Forum;
if (CtrCod > 0)
@@ -1606,8 +1612,8 @@ static long For_WriteLinksToCtrForums (const struct For_Forums *Forums,
MaxRoleInCtr = Rol_GetMyMaxRoleIn (Hie_CTR,CtrCod);
ICanSeeTeacherForum = ((Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM ||
MaxRoleInCtr == Rol_NET ||
- MaxRoleInCtr == Rol_TCH)) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ MaxRoleInCtr == Rol_TCH)) ? Usr_CAN :
+ Usr_CAN_NOT;
/***** Link to the forum of users from this center *****/
Forum.Type = For_FORUM_CENTER_USRS;
@@ -1616,12 +1622,12 @@ static long For_WriteLinksToCtrForums (const struct For_Forums *Forums,
Forums->Forum.HieCod == CtrCod) ? Lay_HIGHLIGHT :
Lay_NO_HIGHLIGHT;
IsLastItemInLevel[3] = (IsLastCtr &&
- ICanSeeTeacherForum == Usr_I_CAN_NOT) ? Lay_LAST_ITEM :
+ ICanSeeTeacherForum == Usr_CAN_NOT) ? Lay_LAST_ITEM :
Lay_NO_LAST_ITEM;
For_WriteLinkToForum (Forums,&Forum,Highlight,3,IsLastItemInLevel);
/***** Link to forum of teachers from this center *****/
- if (ICanSeeTeacherForum == Usr_I_CAN)
+ if (ICanSeeTeacherForum == Usr_CAN)
{
Forum.Type = For_FORUM_CENTER_TCHS;
Forum.HieCod = CtrCod;
@@ -1647,7 +1653,7 @@ static long For_WriteLinksToDegForums (const struct For_Forums *Forums,
{
Lay_Highlight_t Highlight;
Rol_Role_t MaxRoleInDeg;
- Usr_ICan_t ICanSeeTeacherForum;
+ Usr_Can_t ICanSeeTeacherForum;
struct For_Forum Forum;
if (DegCod > 0)
@@ -1655,8 +1661,8 @@ static long For_WriteLinksToDegForums (const struct For_Forums *Forums,
MaxRoleInDeg = Rol_GetMyMaxRoleIn (Hie_DEG,DegCod);
ICanSeeTeacherForum = ((Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM ||
MaxRoleInDeg == Rol_NET ||
- MaxRoleInDeg == Rol_TCH)) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ MaxRoleInDeg == Rol_TCH)) ? Usr_CAN :
+ Usr_CAN_NOT;
/***** Link to the forum of users from this degree *****/
Forum.Type = For_FORUM_DEGREE_USRS;
@@ -1665,12 +1671,12 @@ static long For_WriteLinksToDegForums (const struct For_Forums *Forums,
Forums->Forum.HieCod == DegCod) ? Lay_HIGHLIGHT :
Lay_NO_HIGHLIGHT;
IsLastItemInLevel[4] = (IsLastDeg &&
- ICanSeeTeacherForum == Usr_I_CAN_NOT) ? Lay_LAST_ITEM :
+ ICanSeeTeacherForum == Usr_CAN_NOT) ? Lay_LAST_ITEM :
Lay_NO_LAST_ITEM;
For_WriteLinkToForum (Forums,&Forum,Highlight,4,IsLastItemInLevel);
/***** Link to forum of teachers from this degree *****/
- if (ICanSeeTeacherForum == Usr_I_CAN)
+ if (ICanSeeTeacherForum == Usr_CAN)
{
Forum.Type = For_FORUM_DEGREE_TCHS;
Forum.HieCod = DegCod;
@@ -1696,7 +1702,7 @@ static long For_WriteLinksToCrsForums (const struct For_Forums *Forums,
{
Lay_Highlight_t Highlight;
Rol_Role_t MyRoleInCrs;
- Usr_ICan_t ICanSeeTeacherForum;
+ Usr_Can_t ICanSeeTeacherForum;
struct For_Forum Forum;
if (CrsCod > 0)
@@ -1704,8 +1710,8 @@ static long For_WriteLinksToCrsForums (const struct For_Forums *Forums,
MyRoleInCrs = Rol_GetMyRoleInCrs (CrsCod);
ICanSeeTeacherForum = ((Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM ||
MyRoleInCrs == Rol_NET ||
- MyRoleInCrs == Rol_TCH)) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ MyRoleInCrs == Rol_TCH)) ? Usr_CAN :
+ Usr_CAN_NOT;
/***** Link to the forum of users from this course *****/
Forum.Type = For_FORUM_COURSE_USRS;
@@ -1713,12 +1719,12 @@ static long For_WriteLinksToCrsForums (const struct For_Forums *Forums,
Highlight = (Forums->Forum.Type == For_FORUM_COURSE_USRS &&
Forums->Forum.HieCod == CrsCod) ? Lay_HIGHLIGHT :
Lay_NO_HIGHLIGHT;
- IsLastItemInLevel[5] = (IsLastCrs && ICanSeeTeacherForum == Usr_I_CAN_NOT) ? Lay_LAST_ITEM :
+ IsLastItemInLevel[5] = (IsLastCrs && ICanSeeTeacherForum == Usr_CAN_NOT) ? Lay_LAST_ITEM :
Lay_NO_LAST_ITEM;
For_WriteLinkToForum (Forums,&Forum,Highlight,5,IsLastItemInLevel);
/***** Link to forum of teachers from this course *****/
- if (ICanSeeTeacherForum == Usr_I_CAN)
+ if (ICanSeeTeacherForum == Usr_CAN)
{
Forum.Type = For_FORUM_COURSE_TCHS;
Forum.HieCod = CrsCod;
@@ -2202,7 +2208,7 @@ static void For_PutIconsThreads (void *Forums)
/***** Put icon to get resource link *****/
if (((struct For_Forums *) Forums)->Forum.Type == For_FORUM_COURSE_USRS &&
- Rsc_CheckIfICanGetLink () == Usr_I_CAN)
+ Rsc_CheckIfICanGetLink () == Usr_CAN)
Ico_PutContextualIconToGetLink (ActReqLnkForCrsUsr,NULL,
For_PutParsNewPost,Forums);
}
@@ -2252,10 +2258,10 @@ static void For_ListForumThrs (struct For_Forums *Forums,
long ThreadInMyClipboard = -1L;
unsigned Column;
const char *BgColor;
- Usr_ICan_t ICanMoveThreads = For_CheckIfICanMoveThreads ();
+ Usr_Can_t ICanMoveThreads = For_CheckIfICanMoveThreads ();
/***** Get if there is a thread ready to be moved *****/
- if (ICanMoveThreads == Usr_I_CAN)
+ if (ICanMoveThreads == Usr_CAN)
ThreadInMyClipboard = For_DB_GetThrInMyClipboard ();
/***** Initialize structure with user's data *****/
@@ -2308,7 +2314,7 @@ static void For_ListForumThrs (struct For_Forums *Forums,
}
/***** Put button to cut the thread for moving it to another forum *****/
- if (ICanMoveThreads == Usr_I_CAN)
+ if (ICanMoveThreads == Usr_CAN)
{
HTM_BR ();
Frm_BeginFormAnchor (For_ActionsCutThrFor[Forums->Forum.Type],
@@ -2694,87 +2700,87 @@ static void For_SetForumType (struct For_Forums *Forums)
static void For_RestrictAccess (const struct For_Forums *Forums)
{
Rol_Role_t MaxRole;
- Usr_ICan_t ICanSeeForum;
+ Usr_Can_t ICanSeeForum;
/***** Restrict access *****/
switch (Forums->Forum.Type)
{
case For_FORUM_GLOBAL_USRS:
case For_FORUM__SWAD__USRS:
- ICanSeeForum = Usr_I_CAN;
+ ICanSeeForum = Usr_CAN;
break;
case For_FORUM_GLOBAL_TCHS:
case For_FORUM__SWAD__TCHS:
Rol_GetRolesInAllCrss (&Gbl.Usrs.Me.UsrDat);
ICanSeeForum = (Gbl.Usrs.Me.UsrDat.Roles.InCrss & ((1 << Rol_NET) |
- (1 << Rol_TCH))) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ (1 << Rol_TCH))) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case For_FORUM_INSTIT_USRS:
MaxRole = Rol_GetMyMaxRoleIn (Hie_INS,Forums->Forum.HieCod);
ICanSeeForum = (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM ||
MaxRole == Rol_STD ||
MaxRole == Rol_NET ||
- MaxRole == Rol_TCH) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ MaxRole == Rol_TCH) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case For_FORUM_INSTIT_TCHS:
MaxRole = Rol_GetMyMaxRoleIn (Hie_INS,Forums->Forum.HieCod);
ICanSeeForum = (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM ||
MaxRole == Rol_NET ||
- MaxRole == Rol_TCH) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ MaxRole == Rol_TCH) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case For_FORUM_CENTER_USRS:
MaxRole = Rol_GetMyMaxRoleIn (Hie_CTR,Forums->Forum.HieCod);
ICanSeeForum = (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM ||
MaxRole >= Rol_STD ||
MaxRole == Rol_NET ||
- MaxRole == Rol_TCH) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ MaxRole == Rol_TCH) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case For_FORUM_CENTER_TCHS:
MaxRole = Rol_GetMyMaxRoleIn (Hie_CTR,Forums->Forum.HieCod);
ICanSeeForum = (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM ||
MaxRole == Rol_NET ||
- MaxRole == Rol_TCH) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ MaxRole == Rol_TCH) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case For_FORUM_DEGREE_USRS:
MaxRole = Rol_GetMyMaxRoleIn (Hie_DEG,Forums->Forum.HieCod);
ICanSeeForum = (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM ||
MaxRole >= Rol_STD ||
MaxRole == Rol_NET ||
- MaxRole == Rol_TCH) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ MaxRole == Rol_TCH) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case For_FORUM_DEGREE_TCHS:
MaxRole = Rol_GetMyMaxRoleIn (Hie_DEG,Forums->Forum.HieCod);
ICanSeeForum = (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM ||
MaxRole == Rol_NET ||
- MaxRole == Rol_TCH) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ MaxRole == Rol_TCH) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case For_FORUM_COURSE_USRS:
MaxRole = Rol_GetMyRoleInCrs (Forums->Forum.HieCod);
ICanSeeForum = (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM ||
MaxRole >= Rol_STD ||
MaxRole == Rol_NET ||
- MaxRole == Rol_TCH) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ MaxRole == Rol_TCH) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case For_FORUM_COURSE_TCHS:
MaxRole = Rol_GetMyRoleInCrs (Forums->Forum.HieCod);
ICanSeeForum = (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM ||
MaxRole == Rol_NET ||
- MaxRole == Rol_TCH) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ MaxRole == Rol_TCH) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
default:
- ICanSeeForum = Usr_I_CAN_NOT;
+ ICanSeeForum = Usr_CAN_NOT;
break;
}
- if (ICanSeeForum == Usr_I_CAN_NOT)
+ if (ICanSeeForum == Usr_CAN_NOT)
Err_NoPermissionExit ();
}
@@ -3267,10 +3273,10 @@ void For_PasteThread (void)
/*********************** Check if I can move threads *************************/
/*****************************************************************************/
-static Usr_ICan_t For_CheckIfICanMoveThreads (void)
+static Usr_Can_t For_CheckIfICanMoveThreads (void)
{
- return (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? Usr_I_CAN : // If I have permission to move threads...
- Usr_I_CAN_NOT;
+ return (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? Usr_CAN : // If I have permission to move threads...
+ Usr_CAN_NOT;
}
/*****************************************************************************/
diff --git a/swad_game.c b/swad_game.c
index 9bf3341f2..b6d181026 100644
--- a/swad_game.c
+++ b/swad_game.c
@@ -113,8 +113,8 @@ extern struct Globals Gbl;
static void Gam_ListAllGamesHeading (const struct Gam_Games *Games);
-static Usr_ICan_t Gam_CheckIfICanEditGames (void);
-static Usr_ICan_t Gam_CheckIfICanListGameQuestions (void);
+static Usr_Can_t Gam_CheckIfICanEditGames (void);
+static Usr_Can_t Gam_CheckIfICanListGameQuestions (void);
static void Gam_PutIconsListingGames (void *Games);
static void Gam_PutIconToCreateNewGame (struct Gam_Games *Games);
static void Gam_PutParsToCreateNewGame (void *Games);
@@ -153,7 +153,7 @@ static void Gam_ListGameQuestions (struct Gam_Games *Games);
static void Gam_ListOneOrMoreQuestionsForEdition (struct Gam_Games *Games,
unsigned NumQsts,
MYSQL_RES *mysql_res,
- Usr_ICan_t ICanEditQuestions);
+ Usr_Can_t ICanEditQuestions);
static void Gam_PutIconToAddNewQuestions (void *Games);
@@ -163,7 +163,7 @@ static void Gam_FreeListsSelectedQuestions (struct Gam_Games *Games);
static void Gam_ExchangeQuestions (long GamCod,
unsigned QstIndTop,unsigned QstIndBottom);
-static Usr_ICan_t Gam_CheckIfICanEditGame (const struct Gam_Game *Game);
+static Usr_Can_t Gam_CheckIfICanEditGame (const struct Gam_Game *Game);
/*****************************************************************************/
/*************************** Reset games context *****************************/
@@ -346,12 +346,12 @@ static void Gam_ListAllGamesHeading (const struct Gam_Games *Games)
/************************ Check if I can edit games **************************/
/*****************************************************************************/
-static Usr_ICan_t Gam_CheckIfICanEditGames (void)
+static Usr_Can_t Gam_CheckIfICanEditGames (void)
{
- static Usr_ICan_t ICanEditGames[Rol_NUM_ROLES] =
+ static Usr_Can_t ICanEditGames[Rol_NUM_ROLES] =
{
- [Rol_TCH ] = Usr_I_CAN,
- [Rol_SYS_ADM] = Usr_I_CAN,
+ [Rol_TCH ] = Usr_CAN,
+ [Rol_SYS_ADM] = Usr_CAN,
};
return ICanEditGames[Gbl.Usrs.Me.Role.Logged];
@@ -361,13 +361,13 @@ static Usr_ICan_t Gam_CheckIfICanEditGames (void)
/**************** Check if I can list questions in games *********************/
/*****************************************************************************/
-static Usr_ICan_t Gam_CheckIfICanListGameQuestions (void)
+static Usr_Can_t Gam_CheckIfICanListGameQuestions (void)
{
- static Usr_ICan_t ICanListGameQuestions[Rol_NUM_ROLES] =
+ static Usr_Can_t ICanListGameQuestions[Rol_NUM_ROLES] =
{
- [Rol_NET ] = Usr_I_CAN,
- [Rol_TCH ] = Usr_I_CAN,
- [Rol_SYS_ADM] = Usr_I_CAN,
+ [Rol_NET ] = Usr_CAN,
+ [Rol_TCH ] = Usr_CAN,
+ [Rol_SYS_ADM] = Usr_CAN,
};
return ICanListGameQuestions[Gbl.Usrs.Me.Role.Logged];
@@ -390,7 +390,7 @@ static void Gam_PutIconsListingGames (void *Games)
if (Games)
{
/***** Put icon to create a new game *****/
- if (Gam_CheckIfICanEditGames () == Usr_I_CAN)
+ if (Gam_CheckIfICanEditGames () == Usr_CAN)
Gam_PutIconToCreateNewGame ((struct Gam_Games *) Games);
/***** Put icon to view matches results *****/
@@ -399,7 +399,7 @@ static void Gam_PutIconsListingGames (void *Games)
NULL,NULL);
/***** Link to get resource link *****/
- if (Rsc_CheckIfICanGetLink () == Usr_I_CAN)
+ if (Rsc_CheckIfICanGetLink () == Usr_CAN)
Ico_PutContextualIconToGetLink (ActReqLnkGam,NULL,Gam_PutPars,Games);
/***** Put icon to show a figure *****/
@@ -730,7 +730,7 @@ static void Gam_PutIconsToRemEditOneGame (struct Gam_Games *Games,
[Rol_SYS_ADM] = ActSeeUsrMchResGam,
};
- if (Gam_CheckIfICanEditGames () == Usr_I_CAN)
+ if (Gam_CheckIfICanEditGames () == Usr_CAN)
{
/***** Icon to remove game *****/
Ico_PutContextualIconToRemove (ActReqRemGam,NULL,
@@ -745,7 +745,7 @@ static void Gam_PutIconsToRemEditOneGame (struct Gam_Games *Games,
Ico_PutContextualIconToEdit (ActEdiOneGam,NULL,Gam_PutPars,Games);
}
- if (Gam_CheckIfICanListGameQuestions () == Usr_I_CAN)
+ if (Gam_CheckIfICanListGameQuestions () == Usr_CAN)
/***** Icon to view game listing its questions *****/
Ico_PutContextualIconToView (ActLstOneGam,NULL,Gam_PutPars,Games);
@@ -755,7 +755,7 @@ static void Gam_PutIconsToRemEditOneGame (struct Gam_Games *Games,
Gam_PutPars,Games);
/***** Link to get resource link *****/
- if (Rsc_CheckIfICanGetLink () == Usr_I_CAN)
+ if (Rsc_CheckIfICanGetLink () == Usr_CAN)
Ico_PutContextualIconToGetLink (ActReqLnkGam,NULL,Gam_PutPars,Games);
}
@@ -1052,7 +1052,7 @@ void Gam_AskRemGame (void)
/***** Get data of the game from database *****/
Gam_GetGameDataByCod (&Games.Game);
- if (Gam_CheckIfICanEditGames () == Usr_I_CAN_NOT)
+ if (Gam_CheckIfICanEditGames () == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Show question and button to remove game *****/
@@ -1085,7 +1085,7 @@ void Gam_RemoveGame (void)
/***** Get data of the game from database *****/
Gam_GetGameDataByCod (&Games.Game);
- if (Gam_CheckIfICanEditGames () == Usr_I_CAN_NOT)
+ if (Gam_CheckIfICanEditGames () == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Remove game from all tables *****/
@@ -1161,7 +1161,7 @@ static void Gam_HideUnhideGame (HidVis_HiddenOrVisible_t HiddenOrVisible)
/***** Get data of the game from database *****/
Gam_GetGameDataByCod (&Games.Game);
- if (Gam_CheckIfICanEditGames () == Usr_I_CAN_NOT)
+ if (Gam_CheckIfICanEditGames () == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Unhide game *****/
@@ -1187,7 +1187,7 @@ void Gam_ListGame (void)
Gam_ResetGame (&Games.Game);
/***** Check if I can list game questions *****/
- if (Gam_CheckIfICanListGameQuestions () == Usr_I_CAN_NOT)
+ if (Gam_CheckIfICanListGameQuestions () == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Get parameters *****/
@@ -1221,7 +1221,7 @@ void Gam_ReqCreatOrEditGame (void)
Gam_ResetGame (&Games.Game);
/***** Check if I can edit games *****/
- if (Gam_CheckIfICanEditGames () == Usr_I_CAN_NOT)
+ if (Gam_CheckIfICanEditGames () == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Get parameters *****/
@@ -1437,7 +1437,7 @@ void Gam_ReceiveGame (void)
Gam_ResetGame (&Games.Game);
/***** Check if I can edit games *****/
- if (Gam_CheckIfICanEditGames () == Usr_I_CAN_NOT)
+ if (Gam_CheckIfICanEditGames () == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Get parameters *****/
@@ -1566,7 +1566,7 @@ void Gam_ReqSelectQstsToAddToGame (void)
Gam_GetGameDataByCod (&Games.Game);
/***** Check if game has matches *****/
- if (Gam_CheckIfICanEditGame (&Games.Game) == Usr_I_CAN_NOT)
+ if (Gam_CheckIfICanEditGame (&Games.Game) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Show form to create a new question in this game *****/
@@ -1598,7 +1598,7 @@ void Gam_ListQstsToAddToGame (void)
Gam_GetGameDataByCod (&Games.Game);
/***** Check if game has matches *****/
- if (Gam_CheckIfICanEditGame (&Games.Game) == Usr_I_CAN_NOT)
+ if (Gam_CheckIfICanEditGame (&Games.Game) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** List several test questions for selection *****/
@@ -1638,16 +1638,16 @@ static void Gam_ListGameQuestions (struct Gam_Games *Games)
extern const char *Txt_Questions;
MYSQL_RES *mysql_res;
unsigned NumQsts;
- Usr_ICan_t ICanEditQuestions = Gam_CheckIfICanEditGame (&Games->Game);
- static void (*FunctionToDrawContextualIcons[Usr_NUM_I_CAN]) (void *Args) =
+ Usr_Can_t ICanEditQuestions = Gam_CheckIfICanEditGame (&Games->Game);
+ static void (*FunctionToDrawContextualIcons[Usr_NUM_CAN]) (void *Args) =
{
- [Usr_I_CAN_NOT] = NULL,
- [Usr_I_CAN ] = Gam_PutIconToAddNewQuestions,
+ [Usr_CAN_NOT] = NULL,
+ [Usr_CAN ] = Gam_PutIconToAddNewQuestions,
};
- void *Args[Usr_NUM_I_CAN] =
+ void *Args[Usr_NUM_CAN] =
{
- [Usr_I_CAN_NOT] = NULL,
- [Usr_I_CAN ] = Games,
+ [Usr_CAN_NOT] = NULL,
+ [Usr_CAN ] = Games,
};
/***** Get data of questions from database *****/
@@ -1678,7 +1678,7 @@ static void Gam_ListGameQuestions (struct Gam_Games *Games)
static void Gam_ListOneOrMoreQuestionsForEdition (struct Gam_Games *Games,
unsigned NumQsts,
MYSQL_RES *mysql_res,
- Usr_ICan_t ICanEditQuestions)
+ Usr_Can_t ICanEditQuestions)
{
extern const char *Txt_Questions;
extern const char *Txt_No_INDEX;
@@ -1749,18 +1749,18 @@ static void Gam_ListOneOrMoreQuestionsForEdition (struct Gam_Games *Games,
/* Put icon to remove the question */
switch (ICanEditQuestions)
{
- case Usr_I_CAN:
+ case Usr_CAN:
Ico_PutContextualIconToRemove (ActReqRemGamQst,NULL,
Gam_PutParsOneQst,Games);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconRemovalNotAllowed ();
break;
}
/* Put icon to move up the question */
- if (ICanEditQuestions == Usr_I_CAN && QstInd > 1)
+ if (ICanEditQuestions == Usr_CAN && QstInd > 1)
Lay_PutContextualLinkOnlyIcon (ActUp_GamQst,Anchor,
Gam_PutParsOneQst,Games,
"arrow-up.svg",Ico_BLACK);
@@ -1769,7 +1769,7 @@ static void Gam_ListOneOrMoreQuestionsForEdition (struct Gam_Games *Games,
Txt_Movement_not_allowed);
/* Put icon to move down the question */
- if (ICanEditQuestions == Usr_I_CAN && QstInd < MaxQstInd)
+ if (ICanEditQuestions == Usr_CAN && QstInd < MaxQstInd)
Lay_PutContextualLinkOnlyIcon (ActDwnGamQst,Anchor,
Gam_PutParsOneQst,Games,
"arrow-down.svg",Ico_BLACK);
@@ -1778,7 +1778,7 @@ static void Gam_ListOneOrMoreQuestionsForEdition (struct Gam_Games *Games,
Txt_Movement_not_allowed);
/* Put icon to edit the question */
- if (ICanEditQuestions == Usr_I_CAN)
+ if (ICanEditQuestions == Usr_CAN)
Ico_PutContextualIconToEdit (ActEdiOneTstQst,NULL,
Qst_PutParQstCod,&Question.QstCod);
@@ -1839,7 +1839,7 @@ void Gam_AddQstsToGame (void)
Gam_GetGameDataByCod (&Games.Game);
/***** Check if game has matches *****/
- if (Gam_CheckIfICanEditGame (&Games.Game) == Usr_I_CAN_NOT)
+ if (Gam_CheckIfICanEditGame (&Games.Game) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Get selected questions *****/
@@ -1947,7 +1947,7 @@ void Gam_ReqRemQstFromGame (void)
Gam_GetGameDataByCod (&Games.Game);
/***** Check if game has matches *****/
- if (Gam_CheckIfICanEditGame (&Games.Game) == Usr_I_CAN_NOT)
+ if (Gam_CheckIfICanEditGame (&Games.Game) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Get question index *****/
@@ -1989,7 +1989,7 @@ void Gam_RemoveQstFromGame (void)
Gam_GetGameDataByCod (&Games.Game);
/***** Check if game has matches *****/
- if (Gam_CheckIfICanEditGame (&Games.Game) == Usr_I_CAN_NOT)
+ if (Gam_CheckIfICanEditGame (&Games.Game) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Get question index *****/
@@ -2038,7 +2038,7 @@ void Gam_MoveUpQst (void)
Gam_GetGameDataByCod (&Games.Game);
/***** Check if game has matches *****/
- if (Gam_CheckIfICanEditGame (&Games.Game) == Usr_I_CAN_NOT)
+ if (Gam_CheckIfICanEditGame (&Games.Game) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Get question index *****/
@@ -2088,7 +2088,7 @@ void Gam_MoveDownQst (void)
Gam_GetGameDataByCod (&Games.Game);
/***** Check if game has matches *****/
- if (Gam_CheckIfICanEditGame (&Games.Game) == Usr_I_CAN_NOT)
+ if (Gam_CheckIfICanEditGame (&Games.Game) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Get question index *****/
@@ -2167,14 +2167,14 @@ static void Gam_ExchangeQuestions (long GamCod,
/*****************************************************************************/
// Before calling this function, number of matches must be calculated
-static Usr_ICan_t Gam_CheckIfICanEditGame (const struct Gam_Game *Game)
+static Usr_Can_t Gam_CheckIfICanEditGame (const struct Gam_Game *Game)
{
- if (Gam_CheckIfICanEditGames () == Usr_I_CAN)
+ if (Gam_CheckIfICanEditGames () == Usr_CAN)
/***** Questions are editable only if game has no matches *****/
if (Game->NumMchs == 0)
- return Usr_I_CAN;
+ return Usr_CAN;
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
/*****************************************************************************/
diff --git a/swad_global.h b/swad_global.h
index 8d4036b71..b3b189ac1 100644
--- a/swad_global.h
+++ b/swad_global.h
@@ -135,7 +135,7 @@ struct Globals
unsigned Num; // Number of courses/degrees/centers/institutions/countries
bool Filled; // List is already filled?
} Hierarchy[Hie_NUM_LEVELS]; // My hierarchy
- bool IBelongToCurrent[Hie_NUM_LEVELS];
+ Usr_Belong_t IBelongToCurrent[Hie_NUM_LEVELS];
Set_ShowUsrsType_t ListType; // My preference about user's list type
unsigned NumFollowers; // Number of users who follow me
unsigned NumFollowing; // Number of users I follow
diff --git a/swad_group.c b/swad_group.c
index a1033e81a..bac06a4b4 100644
--- a/swad_group.c
+++ b/swad_group.c
@@ -76,7 +76,7 @@ extern struct Globals Gbl;
/***************************** Private prototypes ****************************/
/*****************************************************************************/
-static Usr_ICan_t Grp_CheckIfICanChangeGrps (void);
+static Usr_Can_t Grp_CheckIfICanChangeGrps (void);
static void Grp_ReqEditGroupsInternal (Ale_AlertType_t AlertTypeGroupTypes,const char *AlertTextGroupTypes,
Ale_AlertType_t AlertTypeGroups,const char *AlertTextGroups);
@@ -107,7 +107,7 @@ static void Grp_WriteHeadingGroups (void);
static void Grp_PutIconToEditGroups (__attribute__((unused)) void *Args);
static void Grp_ShowWarningToStdsToChangeGrps (void);
-static Usr_ICan_t Grp_ListGrpsForChangeMySelection (struct GroupType *GrpTyp,
+static Usr_Can_t Grp_ListGrpsForChangeMySelection (struct GroupType *GrpTyp,
unsigned *NumGrpsThisTypeIBelong);
static void Grp_ListGrpsToAddOrRemUsrs (struct GroupType *GrpTyp,long UsrCod);
static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp);
@@ -135,13 +135,13 @@ static void Grp_PutParGrpCod (void *GrpCod);
/************************ Check if I can change groups ***********************/
/*****************************************************************************/
-static Usr_ICan_t Grp_CheckIfICanChangeGrps (void)
+static Usr_Can_t Grp_CheckIfICanChangeGrps (void)
{
- static Usr_ICan_t Grp_ICanChangeGrps[Rol_NUM_ROLES] =
+ static Usr_Can_t Grp_ICanChangeGrps[Rol_NUM_ROLES] =
{
- [Rol_STD ] = Usr_I_CAN,
- [Rol_TCH ] = Usr_I_CAN,
- [Rol_SYS_ADM] = Usr_I_CAN,
+ [Rol_STD ] = Usr_CAN,
+ [Rol_TCH ] = Usr_CAN,
+ [Rol_SYS_ADM] = Usr_CAN,
};
return Grp_ICanChangeGrps[Gbl.Usrs.Me.Role.Logged];
@@ -348,11 +348,11 @@ void Grp_ShowFormToSelectSeveralGroups (Act_Action_t NextAction,
extern const char *Txt_Groups;
extern const char *Txt_Update_users;
unsigned NumGrpTyp;
- Usr_ICan_t ICanEdit;
- static void (*FunctionToDrawContextualIcons[Usr_NUM_I_CAN]) (void *Args) =
+ Usr_Can_t ICanEdit;
+ static void (*FunctionToDrawContextualIcons[Usr_NUM_CAN]) (void *Args) =
{
- [Usr_I_CAN_NOT] = NULL,
- [Usr_I_CAN ] = Grp_PutIconToEditGroups,
+ [Usr_CAN_NOT] = NULL,
+ [Usr_CAN ] = Grp_PutIconToEditGroups,
};
/***** Trivial check: if no groups ==> nothing to do *****/
@@ -362,8 +362,8 @@ void Grp_ShowFormToSelectSeveralGroups (Act_Action_t NextAction,
/***** Begin box *****/
ICanEdit = (!Frm_CheckIfInside () &&
(Gbl.Usrs.Me.Role.Logged == Rol_TCH ||
- Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)) ? Usr_CAN :
+ Usr_CAN_NOT;
Box_BoxBegin (Txt_Groups,
FunctionToDrawContextualIcons[ICanEdit],NULL,
Hlp_USERS_Groups,Box_CLOSABLE);
@@ -410,7 +410,7 @@ void Grp_ShowFormToSelectSeveralGroups (Act_Action_t NextAction,
static void Grp_PutCheckboxAllGrps (void)
{
extern const char *Txt_All_groups;
- Usr_ICan_t ICanSelUnselGroup;
+ Usr_Can_t ICanSelUnselGroup;
switch (Gbl.Usrs.Me.Role.Logged)
{
@@ -419,10 +419,10 @@ static void Grp_PutCheckboxAllGrps (void)
case Rol_CTR_ADM:
case Rol_INS_ADM:
case Rol_SYS_ADM:
- ICanSelUnselGroup = Usr_I_CAN;
+ ICanSelUnselGroup = Usr_CAN;
break;
default:
- ICanSelUnselGroup = Usr_I_CAN_NOT;
+ ICanSelUnselGroup = Usr_CAN_NOT;
break;
}
@@ -430,7 +430,7 @@ static void Grp_PutCheckboxAllGrps (void)
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ());
HTM_INPUT_CHECKBOX ("AllGroups",HTM_DONT_SUBMIT_ON_CHANGE,
"value=\"Y\"%s",
- ICanSelUnselGroup == Usr_I_CAN ? (Gbl.Crs.Grps.AllGrps ? " checked=\"checked\""
+ ICanSelUnselGroup == Usr_CAN ? (Gbl.Crs.Grps.AllGrps ? " checked=\"checked\""
" onclick=\"togglecheckChildren(this,'GrpCods')\"" :
" onclick=\"togglecheckChildren(this,'GrpCods')\"") :
" disabled=\"disabled\"");
@@ -633,7 +633,7 @@ void Grp_ChangeMyGrps (Cns_QuietOrVerbose_t QuietOrVerbose)
bool ChangesMade;
/***** Can I change my groups? *****/
- if (Grp_CheckIfICanChangeGrps () == Usr_I_CAN_NOT)
+ if (Grp_CheckIfICanChangeGrps () == Usr_CAN_NOT)
return;
/***** Get list of groups types and groups in this course *****/
@@ -692,7 +692,7 @@ void Grp_ChangeOtherUsrGrps (void)
bool SelectionIsValid;
/***** Can I change another user's groups? *****/
- if (Grp_CheckIfICanChangeGrps () == Usr_I_CAN_NOT)
+ if (Grp_CheckIfICanChangeGrps () == Usr_CAN_NOT)
return;
/***** Get list of groups types and groups in current course *****/
@@ -1723,15 +1723,15 @@ void Grp_ShowLstGrpsToChgMyGrps (void)
unsigned NumGrpsIBelong = 0;
Frm_PutForm_t PutFormToChangeGrps = Frm_CheckIfInside () ? Frm_DONT_PUT_FORM : // Inside another form (record card)?
Frm_PUT_FORM;
- Usr_ICan_t ICanEdit = (!Frm_CheckIfInside () &&
+ Usr_Can_t ICanEdit = (!Frm_CheckIfInside () &&
(Gbl.Usrs.Me.Role.Logged == Rol_TCH ||
- Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
- Usr_ICan_t ICanChangeMyGrps = Usr_I_CAN_NOT;
- static void (*FunctionToDrawContextualIcons[Usr_NUM_I_CAN]) (void *Args) =
+ Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)) ? Usr_CAN :
+ Usr_CAN_NOT;
+ Usr_Can_t ICanChangeMyGrps = Usr_CAN_NOT;
+ static void (*FunctionToDrawContextualIcons[Usr_NUM_CAN]) (void *Args) =
{
- [Usr_I_CAN_NOT] = NULL,
- [Usr_I_CAN ] = Grp_PutIconToEditGroups,
+ [Usr_CAN_NOT] = NULL,
+ [Usr_CAN ] = Grp_PutIconToEditGroups,
};
if (Gbl.Crs.Grps.NumGrps) // This course has groups
@@ -1764,8 +1764,8 @@ void Grp_ShowLstGrpsToChgMyGrps (void)
if (Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].NumGrps) // If there are groups of this type
{
if (Grp_ListGrpsForChangeMySelection (&Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp],
- &NumGrpsThisTypeIBelong) == Usr_I_CAN)
- ICanChangeMyGrps = Usr_I_CAN;
+ &NumGrpsThisTypeIBelong) == Usr_CAN)
+ ICanChangeMyGrps = Usr_CAN;
NumGrpsIBelong += NumGrpsThisTypeIBelong;
}
HTM_TABLE_End ();
@@ -1773,7 +1773,7 @@ void Grp_ShowLstGrpsToChgMyGrps (void)
/***** End form *****/
if (PutFormToChangeGrps)
{
- if (ICanChangeMyGrps == Usr_I_CAN)
+ if (ICanChangeMyGrps == Usr_CAN)
Btn_PutConfirmButton (NumGrpsIBelong ? Txt_Change_my_groups :
Txt_Enrol_in_groups);
Frm_EndForm ();
@@ -1842,7 +1842,7 @@ static void Grp_ShowWarningToStdsToChangeGrps (void)
/*****************************************************************************/
// Returns true if I can change my selection
-static Usr_ICan_t Grp_ListGrpsForChangeMySelection (struct GroupType *GrpTyp,
+static Usr_Can_t Grp_ListGrpsForChangeMySelection (struct GroupType *GrpTyp,
unsigned *NumGrpsThisTypeIBelong)
{
struct ListCodGrps LstGrpsIBelong;
@@ -1850,8 +1850,8 @@ static Usr_ICan_t Grp_ListGrpsForChangeMySelection (struct GroupType *GrpTyp,
struct Group *Grp;
bool IBelongToThisGroup;
bool IBelongToAClosedGroup;
- Usr_ICan_t ICanChangeMySelectionForThisGrpTyp;
- Usr_ICan_t ICanChangeMySelectionForThisGrp;
+ Usr_Can_t ICanChangeMySelectionForThisGrpTyp;
+ Usr_Can_t ICanChangeMySelectionForThisGrp;
char StrGrpCod[32];
/***** Write heading *****/
@@ -1868,9 +1868,9 @@ static Usr_ICan_t Grp_ListGrpsForChangeMySelection (struct GroupType *GrpTyp,
case Rol_STD:
if (GrpTyp->MultipleEnrolment) // Enrolment is multiple
{
- for (NumGrpThisType = 0, ICanChangeMySelectionForThisGrpTyp = Usr_I_CAN_NOT;
+ for (NumGrpThisType = 0, ICanChangeMySelectionForThisGrpTyp = Usr_CAN_NOT;
NumGrpThisType < GrpTyp->NumGrps &&
- ICanChangeMySelectionForThisGrpTyp == Usr_I_CAN_NOT;
+ ICanChangeMySelectionForThisGrpTyp == Usr_CAN_NOT;
NumGrpThisType++)
{
Grp = &(GrpTyp->LstGrps[NumGrpThisType]);
@@ -1878,10 +1878,10 @@ static Usr_ICan_t Grp_ListGrpsForChangeMySelection (struct GroupType *GrpTyp,
{
IBelongToThisGroup = Grp_CheckIfGrpIsInList (Grp->GrpCod,&LstGrpsIBelong);
if (IBelongToThisGroup) // I belong to this group
- ICanChangeMySelectionForThisGrpTyp = Usr_I_CAN; // I can unregister from group
+ ICanChangeMySelectionForThisGrpTyp = Usr_CAN; // I can unregister from group
else // I don't belong
if (Grp->NumUsrs[Rol_STD] < Grp->MaxStudents) // Group is not full
- ICanChangeMySelectionForThisGrpTyp = Usr_I_CAN; // I can register into group
+ ICanChangeMySelectionForThisGrpTyp = Usr_CAN; // I can register into group
}
}
}
@@ -1902,12 +1902,12 @@ static Usr_ICan_t Grp_ListGrpsForChangeMySelection (struct GroupType *GrpTyp,
}
if (IBelongToAClosedGroup) // I belong to a closed group
- ICanChangeMySelectionForThisGrpTyp = Usr_I_CAN_NOT; // I can not unregister
+ ICanChangeMySelectionForThisGrpTyp = Usr_CAN_NOT; // I can not unregister
else // I don't belong to a closed group
/* Step 2: Check if I can register in at least one group to which I don't belong */
- for (NumGrpThisType = 0, ICanChangeMySelectionForThisGrpTyp = Usr_I_CAN_NOT;
+ for (NumGrpThisType = 0, ICanChangeMySelectionForThisGrpTyp = Usr_CAN_NOT;
NumGrpThisType < GrpTyp->NumGrps &&
- ICanChangeMySelectionForThisGrpTyp == Usr_I_CAN_NOT;
+ ICanChangeMySelectionForThisGrpTyp == Usr_CAN_NOT;
NumGrpThisType++)
{
Grp = &(GrpTyp->LstGrps[NumGrpThisType]);
@@ -1916,17 +1916,17 @@ static Usr_ICan_t Grp_ListGrpsForChangeMySelection (struct GroupType *GrpTyp,
{
IBelongToThisGroup = Grp_CheckIfGrpIsInList (Grp->GrpCod,&LstGrpsIBelong);
if (!IBelongToThisGroup) // I don't belong to this group
- ICanChangeMySelectionForThisGrpTyp = Usr_I_CAN; // I can register into this group
+ ICanChangeMySelectionForThisGrpTyp = Usr_CAN; // I can register into this group
}
}
}
break;
case Rol_TCH:
case Rol_SYS_ADM:
- ICanChangeMySelectionForThisGrpTyp = Usr_I_CAN; // I can not register/unregister
+ ICanChangeMySelectionForThisGrpTyp = Usr_CAN; // I can not register/unregister
break;
default:
- ICanChangeMySelectionForThisGrpTyp = Usr_I_CAN_NOT; // I can not register/unregister
+ ICanChangeMySelectionForThisGrpTyp = Usr_CAN_NOT; // I can not register/unregister
break;
}
@@ -1941,25 +1941,25 @@ static Usr_ICan_t Grp_ListGrpsForChangeMySelection (struct GroupType *GrpTyp,
/* Selection disabled? */
switch (ICanChangeMySelectionForThisGrpTyp) // I can change my selection for this group type
{
- case Usr_I_CAN:
- ICanChangeMySelectionForThisGrp = Usr_I_CAN;
+ case Usr_CAN:
+ ICanChangeMySelectionForThisGrp = Usr_CAN;
if (Gbl.Usrs.Me.Role.Logged == Rol_STD)
switch (Grp->ClosedOrOpen)
{
case CloOpe_OPEN: // If group is open
if (!IBelongToThisGroup && // I don't belong to group
Grp->NumUsrs[Rol_STD] >= Grp->MaxStudents) // Group is full
- ICanChangeMySelectionForThisGrp = Usr_I_CAN_NOT;
+ ICanChangeMySelectionForThisGrp = Usr_CAN_NOT;
break;
case CloOpe_CLOSED: // If group is closed
default:
- ICanChangeMySelectionForThisGrp = Usr_I_CAN_NOT;
+ ICanChangeMySelectionForThisGrp = Usr_CAN_NOT;
break;
}
break;
- case Usr_I_CAN_NOT: // I can not change my selection for this group type
+ case Usr_CAN_NOT: // I can not change my selection for this group type
default:
- ICanChangeMySelectionForThisGrp = Usr_I_CAN_NOT;
+ ICanChangeMySelectionForThisGrp = Usr_CAN_NOT;
break;
}
@@ -1980,7 +1980,7 @@ static Usr_ICan_t Grp_ListGrpsForChangeMySelection (struct GroupType *GrpTyp,
"id=\"Grp%ld\" value=\"%ld\"%s%s",
Grp->GrpCod,Grp->GrpCod,
IBelongToThisGroup ? " checked=\"checked\"" : "", // Group selected?
- ICanChangeMySelectionForThisGrp == Usr_I_CAN ? "" :
+ ICanChangeMySelectionForThisGrp == Usr_CAN ? "" :
IBelongToThisGroup ? " readonly" : // I can not unregister (disabled does not work because the value is not submitted)
" disabled=\"disabled\""); // I can not register
else // If the enrolment is not mandatory, I can select no groups
@@ -1989,7 +1989,7 @@ static Usr_ICan_t Grp_ListGrpsForChangeMySelection (struct GroupType *GrpTyp,
" onclick=\"selectUnselectRadio(this,this.form.GrpCod%ld,%u)\"",
Grp->GrpCod,Grp->GrpCod,
IBelongToThisGroup ? " checked=\"checked\"" : "", // Group selected?
- ICanChangeMySelectionForThisGrp == Usr_I_CAN ? "" :
+ ICanChangeMySelectionForThisGrp == Usr_CAN ? "" :
IBelongToThisGroup ? " readonly" : // I can not unregister (disabled does not work because the value is not submitted)
" disabled=\"disabled\"", // I can not register
GrpTyp->GrpTypCod,GrpTyp->NumGrps);
@@ -2000,7 +2000,7 @@ static Usr_ICan_t Grp_ListGrpsForChangeMySelection (struct GroupType *GrpTyp,
"id=\"Grp%ld\" value=\"%ld\"%s%s",
Grp->GrpCod,Grp->GrpCod,
IBelongToThisGroup ? " checked=\"checked\"" : "",
- ICanChangeMySelectionForThisGrp == Usr_I_CAN ? "" :
+ ICanChangeMySelectionForThisGrp == Usr_CAN ? "" :
IBelongToThisGroup ? " readonly" : // I can not unregister (disabled does not work because the value is not submitted)
" disabled=\"disabled\""); // I can not register
@@ -2126,7 +2126,7 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp)
unsigned NumGrpSel;
struct ListCodGrps LstGrpsIBelong;
bool IBelongToThisGroup;
- Usr_ICan_t ICanSelUnselGroup;
+ Usr_Can_t ICanSelUnselGroup;
bool Checked;
struct Group *Grp;
Rol_Role_t Role;
@@ -2151,24 +2151,24 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp)
/* Check if I can select / unselect this group */
if (IBelongToThisGroup)
- ICanSelUnselGroup = Usr_I_CAN;
+ ICanSelUnselGroup = Usr_CAN;
else
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_STD:
case Rol_NET:
- ICanSelUnselGroup = IBelongToThisGroup ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ ICanSelUnselGroup = IBelongToThisGroup ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case Rol_TCH:
case Rol_DEG_ADM:
case Rol_CTR_ADM:
case Rol_INS_ADM:
case Rol_SYS_ADM:
- ICanSelUnselGroup = Usr_I_CAN;
+ ICanSelUnselGroup = Usr_CAN;
break;
default:
- ICanSelUnselGroup = Usr_I_CAN_NOT;
+ ICanSelUnselGroup = Usr_CAN_NOT;
break;
}
@@ -2195,7 +2195,7 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp)
Grp->GrpCod,Grp->GrpCod,
Checked ? " checked=\"checked\"" :
"",
- ICanSelUnselGroup == Usr_I_CAN ? " onclick=\"checkParent(this,'AllGroups')\"" :
+ ICanSelUnselGroup == Usr_CAN ? " onclick=\"checkParent(this,'AllGroups')\"" :
" disabled=\"disabled\"");
HTM_TD_End ();
@@ -2211,11 +2211,11 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp)
/***** Write rows to select the students who don't belong to any group *****/
/* To get the students who don't belong to a type of group, use group code -(GrpTyp->GrpTypCod) */
/* Write checkbox to select the group */
- ICanSelUnselGroup = (Gbl.Usrs.Me.Role.Logged >= Rol_STD) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ ICanSelUnselGroup = (Gbl.Usrs.Me.Role.Logged >= Rol_STD) ? Usr_CAN :
+ Usr_CAN_NOT;
switch (ICanSelUnselGroup)
{
- case Usr_I_CAN:
+ case Usr_CAN:
if (Gbl.Crs.Grps.AllGrps)
Checked = true;
else
@@ -2228,7 +2228,7 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp)
break;
}
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Checked = false;
break;
@@ -2241,7 +2241,7 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp)
"id=\"Grp%ld\" value=\"%ld\"%s"
" onclick=\"checkParent(this,'AllGroups')\"",
-GrpTyp->GrpTypCod,-GrpTyp->GrpTypCod,
- ICanSelUnselGroup == Usr_I_CAN ? (Checked ? " checked=\"checked\"" :
+ ICanSelUnselGroup == Usr_CAN ? (Checked ? " checked=\"checked\"" :
"") :
" disabled=\"disabled\"");
HTM_TD_End ();
@@ -3087,7 +3087,7 @@ bool Grp_CheckIfUsrSharesAnyOfMyGrpsInCurrentCrs (const struct Usr_Data *UsrDat)
return false;
/***** 4. Fast check: Do I belong to the current course? *****/
- if (!Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS])
+ if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] == Usr_DONT_BELONG)
return false;
/***** 5. Fast check: It's me? *****/
@@ -4376,8 +4376,8 @@ Grp_WhichGroups_t Grp_GetParWhichGroups (void)
If I belong to this course ==> see only my groups
If I don't belong to this course ==> see all groups
*/
- WhichGroupsDefault = Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] ? Grp_MY_GROUPS :
- Grp_ALL_GROUPS;
+ WhichGroupsDefault = (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] == Usr_BELONG) ? Grp_MY_GROUPS :
+ Grp_ALL_GROUPS;
break;
case ActSeeMyTT: // Show my timetable
case ActPrnMyTT: // Print my timetable
diff --git a/swad_help.c b/swad_help.c
index a4ede764a..21d19cdcb 100644
--- a/swad_help.c
+++ b/swad_help.c
@@ -130,34 +130,36 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void)
{
if (Gbl.Hierarchy.Level == Hie_CRS) // Course selected
{
- if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS]) // I belong to this course
- {
- if (Gbl.Action.Act != ActLogIn &&
- Gbl.Action.Act != ActLogInNew &&
- Gbl.Action.Act != ActLogInLan) // I am not just logged
- if (ActionsRemoveMe[Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs] != ActUnk)
- {
- /***** Request my removing from this course *****/
- if (asprintf (&Description,Txt_Remove_me_from_THE_COURSE_X,
- Gbl.Hierarchy.Node[Hie_CRS].ShrtName) < 0)
- Err_NotEnoughMemoryExit ();
- Hlp_ShowRowHelpWhatWouldYouLikeToDo (Description,
- ActionsRemoveMe[Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs],
- Btn_REMOVE_BUTTON,Txt_Remove_me);
- free (Description);
- }
- }
- else // I do not belong to this course
- {
- /***** Request my registration in this course *****/
- if (asprintf (&Description,Txt_Register_me_in_X,
- Gbl.Hierarchy.Node[Hie_CRS].ShrtName) < 0)
- Err_NotEnoughMemoryExit ();
- Hlp_ShowRowHelpWhatWouldYouLikeToDo (Description,
- ActReqSignUp,
- Btn_CREATE_BUTTON,Txt_Sign_up);
- free (Description);
- }
+ switch (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS])
+ {
+ case Usr_BELONG: // I belong to this course
+ if (Gbl.Action.Act != ActLogIn &&
+ Gbl.Action.Act != ActLogInNew &&
+ Gbl.Action.Act != ActLogInLan) // I am not just logged
+ if (ActionsRemoveMe[Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs] != ActUnk)
+ {
+ /***** Request my removing from this course *****/
+ if (asprintf (&Description,Txt_Remove_me_from_THE_COURSE_X,
+ Gbl.Hierarchy.Node[Hie_CRS].ShrtName) < 0)
+ Err_NotEnoughMemoryExit ();
+ Hlp_ShowRowHelpWhatWouldYouLikeToDo (Description,
+ ActionsRemoveMe[Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs],
+ Btn_REMOVE_BUTTON,Txt_Remove_me);
+ free (Description);
+ }
+ break;
+ case Usr_DONT_BELONG: // I do not belong to this course
+ default:
+ /***** Request my registration in this course *****/
+ if (asprintf (&Description,Txt_Register_me_in_X,
+ Gbl.Hierarchy.Node[Hie_CRS].ShrtName) < 0)
+ Err_NotEnoughMemoryExit ();
+ Hlp_ShowRowHelpWhatWouldYouLikeToDo (Description,
+ ActReqSignUp,
+ Btn_CREATE_BUTTON,Txt_Sign_up);
+ free (Description);
+ break;
+ }
}
if (Gbl.Usrs.Me.Hierarchy[Hie_CRS].Num) // I am enroled in some courses
diff --git a/swad_hierarchy.c b/swad_hierarchy.c
index c38f667ca..3d1e5a60b 100644
--- a/swad_hierarchy.c
+++ b/swad_hierarchy.c
@@ -605,8 +605,7 @@ void Hie_ResetHierarchy (void)
Gbl.Hierarchy.Node[Level].ShrtName[0] =
Gbl.Hierarchy.Node[Level].FullName[0] = '\0';
Gbl.Hierarchy.Node[Level].WWW[0] = '\0';
-
- Gbl.Usrs.Me.IBelongToCurrent[Level] = false;
+ Gbl.Usrs.Me.IBelongToCurrent[Level] = Usr_DONT_BELONG;
}
Gbl.Hierarchy.Node[Hie_CTR].Specific.PlcCod = -1L;
Gbl.Hierarchy.Node[Hie_DEG].Specific.TypCod = -1L;
@@ -707,23 +706,23 @@ void Hie_GetAndWriteInsCtrDegAdminBy (long UsrCod,unsigned ColSpan)
/****************** Check if I can edit hierarchy elements *******************/
/*****************************************************************************/
-Usr_ICan_t Hie_CheckIfICanEdit (void)
+Usr_Can_t Hie_CheckIfICanEdit (void)
{
// Some admins can edit all hierarchy elements.
// Any user can edit the elements he/she has created...
// ...as long as they are in pending status.
- static Usr_ICan_t ICanEdit[Rol_NUM_ROLES] =
+ static Usr_Can_t ICanEdit[Rol_NUM_ROLES] =
{
/* Users who can edit */
- [Rol_GST ] = Usr_I_CAN,
- [Rol_USR ] = Usr_I_CAN,
- [Rol_STD ] = Usr_I_CAN,
- [Rol_NET ] = Usr_I_CAN,
- [Rol_TCH ] = Usr_I_CAN,
- [Rol_DEG_ADM] = Usr_I_CAN,
- [Rol_CTR_ADM] = Usr_I_CAN,
- [Rol_INS_ADM] = Usr_I_CAN,
- [Rol_SYS_ADM] = Usr_I_CAN,
+ [Rol_GST ] = Usr_CAN,
+ [Rol_USR ] = Usr_CAN,
+ [Rol_STD ] = Usr_CAN,
+ [Rol_NET ] = Usr_CAN,
+ [Rol_TCH ] = Usr_CAN,
+ [Rol_DEG_ADM] = Usr_CAN,
+ [Rol_CTR_ADM] = Usr_CAN,
+ [Rol_INS_ADM] = Usr_CAN,
+ [Rol_SYS_ADM] = Usr_CAN,
};
return ICanEdit[Gbl.Usrs.Me.Role.Logged];
@@ -746,7 +745,7 @@ void Hie_WriteStatusCell (Hie_Status_t Status,
HTM_TD_End ();
}
-void Hie_WriteStatusCellEditable (Usr_ICan_t ICanEdit,Hie_Status_t Status,
+void Hie_WriteStatusCellEditable (Usr_Can_t ICanEdit,Hie_Status_t Status,
Act_Action_t NextAction,long HieCod,
const char *Txt[Hie_NUM_STATUS_TXT])
{
@@ -755,7 +754,7 @@ void Hie_WriteStatusCellEditable (Usr_ICan_t ICanEdit,Hie_Status_t Status,
/***** Begin cell *****/
HTM_TD_Begin ("class=\"LM DAT_%s\"",The_GetSuffix ());
- if (ICanEdit == Usr_I_CAN && StatusTxt == Hie_STATUS_PENDING)
+ if (ICanEdit == Usr_CAN && StatusTxt == Hie_STATUS_PENDING)
{
/* Begin form */
Frm_BeginForm (NextAction);
@@ -906,7 +905,7 @@ void Hie_ResetMyHierarchy (void)
Gbl.Usrs.Me.Hierarchy[Level].Nodes = NULL;
Gbl.Usrs.Me.Hierarchy[Level].Num = 0;
Gbl.Usrs.Me.Hierarchy[Level].Filled = false;
- Gbl.Usrs.Me.IBelongToCurrent[Level] = false;
+ Gbl.Usrs.Me.IBelongToCurrent[Level] = Usr_DONT_BELONG;
}
}
@@ -1008,7 +1007,7 @@ void Hie_GetMyHierarchy (Hie_Level_t Level)
/****** Check if I belong to a course/degree/center/institution/country ******/
/*****************************************************************************/
-bool Hie_CheckIfIBelongTo (Hie_Level_t Level,long HieCod)
+Usr_Belong_t Hie_CheckIfIBelongTo (Hie_Level_t Level,long HieCod)
{
unsigned NumMyNode;
@@ -1020,8 +1019,8 @@ bool Hie_CheckIfIBelongTo (Hie_Level_t Level,long HieCod)
NumMyNode < Gbl.Usrs.Me.Hierarchy[Level].Num;
NumMyNode++)
if (Gbl.Usrs.Me.Hierarchy[Level].Nodes[NumMyNode].HieCod == HieCod)
- return true;
- return false;
+ return Usr_BELONG;
+ return Usr_DONT_BELONG;
}
/*****************************************************************************/
diff --git a/swad_hierarchy.h b/swad_hierarchy.h
index a16b2077e..75ed4a338 100644
--- a/swad_hierarchy.h
+++ b/swad_hierarchy.h
@@ -49,12 +49,12 @@ void Hie_ResetHierarchy (void);
void Hie_GetAndWriteInsCtrDegAdminBy (long UsrCod,unsigned ColSpan);
-Usr_ICan_t Hie_CheckIfICanEdit (void);
+Usr_Can_t Hie_CheckIfICanEdit (void);
void Hie_WriteStatusCell (Hie_Status_t Status,
const char *Class,const char *BgColor,
const char *Txt[Hie_NUM_STATUS_TXT]);
-void Hie_WriteStatusCellEditable (Usr_ICan_t ICanEdit,Hie_Status_t Status,
+void Hie_WriteStatusCellEditable (Usr_Can_t ICanEdit,Hie_Status_t Status,
Act_Action_t NextAction,long HieCod,
const char *Txt[Hie_NUM_STATUS_TXT]);
Hie_Status_t Hie_GetParStatus (void);
@@ -67,7 +67,7 @@ void Hie_FreeList (Hie_Level_t Level);
void Hie_ResetMyHierarchy (void);
void Hie_FreeMyHierarchy (void);
void Hie_GetMyHierarchy (Hie_Level_t Level);
-bool Hie_CheckIfIBelongTo (Hie_Level_t Level,long HieCod);
+Usr_Belong_t Hie_CheckIfIBelongTo (Hie_Level_t Level,long HieCod);
void Hie_FlushCacheUsrBelongsTo (Hie_Level_t Level);
bool Hie_CheckIfUsrBelongsTo (Hie_Level_t Level,long UsrCod,long HieCod,
diff --git a/swad_holiday.c b/swad_holiday.c
index 1222c0816..7dac49455 100644
--- a/swad_holiday.c
+++ b/swad_holiday.c
@@ -60,7 +60,7 @@ static struct Hld_Holiday *Hld_EditingHld = NULL; // Static variable to keep the
/***************************** Private prototypes ****************************/
/*****************************************************************************/
-static Usr_ICan_t Hld_CheckIfICanEditHlds (void);
+static Usr_Can_t Hld_CheckIfICanEditHlds (void);
static Hld_Order_t Hld_GetParHldOrder (void);
static void Hld_PutIconsSeeHolidays (__attribute__((unused)) void *Args);
@@ -88,13 +88,13 @@ static void Hld_EditingHolidayDestructor (void);
/************************ Check if I can edit holidays ***********************/
/*****************************************************************************/
-static Usr_ICan_t Hld_CheckIfICanEditHlds (void)
+static Usr_Can_t Hld_CheckIfICanEditHlds (void)
{
- static Usr_ICan_t Hld_ICanEditHlds[Rol_NUM_ROLES] =
+ static Usr_Can_t Hld_ICanEditHlds[Rol_NUM_ROLES] =
{
/* Users who can edit */
- [Rol_INS_ADM] = Usr_I_CAN,
- [Rol_SYS_ADM] = Usr_I_CAN,
+ [Rol_INS_ADM] = Usr_CAN,
+ [Rol_SYS_ADM] = Usr_CAN,
};
return Hld_ICanEditHlds[Gbl.Usrs.Me.Role.Logged];
@@ -241,7 +241,7 @@ static Hld_Order_t Hld_GetParHldOrder (void)
static void Hld_PutIconsSeeHolidays (__attribute__((unused)) void *Args)
{
/***** Edit holidays *****/
- if (Hld_CheckIfICanEditHlds () == Usr_I_CAN)
+ if (Hld_CheckIfICanEditHlds () == Usr_CAN)
Ico_PutContextualIconToEdit (ActEdiHld,NULL,NULL,NULL);
/***** View calendar *****/
diff --git a/swad_info.c b/swad_info.c
index c98a4be90..74f29ab06 100644
--- a/swad_info.c
+++ b/swad_info.c
@@ -176,19 +176,19 @@ void Inf_ShowInfo (void)
struct Syl_Syllabus Syllabus;
struct Inf_FromDB FromDB;
bool Disabled;
- Usr_ICan_t ICanEdit = (Gbl.Usrs.Me.Role.Logged == Rol_TCH ||
- Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ Usr_Can_t ICanEdit = (Gbl.Usrs.Me.Role.Logged == Rol_TCH ||
+ Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? Usr_CAN :
+ Usr_CAN_NOT;
bool ShowWarningNoInfo = false;
- static void (*FunctionToDrawContextualIcons[Usr_NUM_I_CAN]) (void *Args) =
+ static void (*FunctionToDrawContextualIcons[Usr_NUM_CAN]) (void *Args) =
{
- [Usr_I_CAN_NOT] = NULL,
- [Usr_I_CAN ] = Inf_PutIconToEditInfo,
+ [Usr_CAN_NOT] = NULL,
+ [Usr_CAN ] = Inf_PutIconToEditInfo,
};
- static void *Args[Usr_NUM_I_CAN] =
+ static void *Args[Usr_NUM_CAN] =
{
- [Usr_I_CAN_NOT] = NULL,
- [Usr_I_CAN ] = &Gbl.Crs.Info.Type,
+ [Usr_CAN_NOT] = NULL,
+ [Usr_CAN ] = &Gbl.Crs.Info.Type,
};
static const char **Help[Inf_NUM_TYPES] =
{
diff --git a/swad_institution.c b/swad_institution.c
index d83997872..d9e6957c5 100644
--- a/swad_institution.c
+++ b/swad_institution.c
@@ -89,7 +89,7 @@ static void Ins_GetInstitDataFromRow (MYSQL_RES *mysql_res,
bool GetNumUsrsWhoClaimToBelongToIns);
static void Ins_ListInstitutionsForEdition (void);
-static Usr_ICan_t Ins_CheckIfICanEdit (struct Hie_Node *Ins);
+static Usr_Can_t Ins_CheckIfICanEdit (struct Hie_Node *Ins);
static void Ins_UpdateInsNameDB (long InsCod,const char *FldName,const char *NewName);
@@ -331,7 +331,7 @@ static void Ins_ListInstitutions (void)
static void Ins_PutIconsListingInstitutions (__attribute__((unused)) void *Args)
{
/***** Put icon to edit institutions *****/
- if (Hie_CheckIfICanEdit () == Usr_I_CAN)
+ if (Hie_CheckIfICanEdit () == Usr_CAN)
Ins_PutIconToEditInstitutions ();
/***** Put icon to show a figure *****/
@@ -882,7 +882,7 @@ static void Ins_ListInstitutionsForEdition (void)
struct Hie_Node *Ins;
char WWW[Cns_MAX_BYTES_WWW + 1];
struct Usr_Data UsrDat;
- Usr_ICan_t ICanEdit;
+ Usr_Can_t ICanEdit;
unsigned NumCtrs;
unsigned NumUsrsIns;
unsigned NumUsrsInCrssOfIns;
@@ -918,7 +918,7 @@ static void Ins_ListInstitutionsForEdition (void)
/* Put icon to remove institution */
HTM_TD_Begin ("class=\"BT\"");
- if (ICanEdit == Usr_I_CAN_NOT ||
+ if (ICanEdit == Usr_CAN_NOT ||
NumCtrs || // Institution has centers
NumUsrsIns || // Institution has users
NumUsrsInCrssOfIns) // Institution has users
@@ -945,14 +945,14 @@ static void Ins_ListInstitutionsForEdition (void)
Nam_ExistingShortAndFullNames (ActionRename,
ParCod_OthHie,Ins->HieCod,
Names,
- ICanEdit == Usr_I_CAN ? Frm_PUT_FORM :
+ ICanEdit == Usr_CAN ? Frm_PUT_FORM :
Frm_DONT_PUT_FORM);
/* Institution WWW */
HTM_TD_Begin ("class=\"LT DAT_%s\"",The_GetSuffix ());
switch (ICanEdit)
{
- case Usr_I_CAN:
+ case Usr_CAN:
Frm_BeginForm (ActChgInsWWW);
ParCod_PutPar (ParCod_OthHie,Ins->HieCod);
HTM_INPUT_URL ("WWW",Ins->WWW,HTM_SUBMIT_ON_CHANGE,
@@ -961,7 +961,7 @@ static void Ins_ListInstitutionsForEdition (void)
The_GetSuffix ());
Frm_EndForm ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Str_Copy (WWW,Ins->WWW,sizeof (WWW) - 1);
HTM_DIV_Begin ("class=\"EXTERNAL_WWW_SHRT\"");
@@ -997,8 +997,8 @@ static void Ins_ListInstitutionsForEdition (void)
HTM_TD_End ();
/* Institution status */
- Hie_WriteStatusCellEditable (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM ? Usr_I_CAN :
- Usr_I_CAN_NOT,
+ Hie_WriteStatusCellEditable (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM ? Usr_CAN :
+ Usr_CAN_NOT,
Ins->Status,ActChgInsSta,Ins->HieCod,
Txt_INSTITUTION_STATUS);
@@ -1016,12 +1016,12 @@ static void Ins_ListInstitutionsForEdition (void)
/************ Check if I can edit, remove, etc. an institution ***************/
/*****************************************************************************/
-static Usr_ICan_t Ins_CheckIfICanEdit (struct Hie_Node *Ins)
+static Usr_Can_t Ins_CheckIfICanEdit (struct Hie_Node *Ins)
{
return (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM || // I am a superuser
((Ins->Status & Hie_STATUS_BIT_PENDING) != 0 && // Institution is not yet activated
- Gbl.Usrs.Me.UsrDat.UsrCod == Ins->RequesterUsrCod)) ? Usr_I_CAN : // I am the requester
- Usr_I_CAN_NOT;
+ Gbl.Usrs.Me.UsrDat.UsrCod == Ins->RequesterUsrCod)) ? Usr_CAN : // I am the requester
+ Usr_CAN_NOT;
}
/*****************************************************************************/
@@ -1045,7 +1045,7 @@ void Ins_RemoveInstitution (void)
Hie_GetDataByCod[Hie_INS] (Ins_EditingIns);
/***** Check if I can edit this institution *****/
- if (Ins_CheckIfICanEdit (Ins_EditingIns) == Usr_I_CAN_NOT)
+ if (Ins_CheckIfICanEdit (Ins_EditingIns) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Check if this institution has centers or users *****/
diff --git a/swad_link.c b/swad_link.c
index 0ff3498cb..50444e713 100644
--- a/swad_link.c
+++ b/swad_link.c
@@ -71,7 +71,7 @@ static struct Lnk_Link *Lnk_EditingLnk = NULL; // Static variable to keep the li
/***************************** Private prototypes ****************************/
/*****************************************************************************/
-static Usr_ICan_t Lnk_CheckIfICanEditLinks (void);
+static Usr_Can_t Lnk_CheckIfICanEditLinks (void);
static void Lnk_PutIconsListingLinks (__attribute__((unused)) void *Args);
static void Lnk_PutIconToEditLinks (void);
@@ -100,12 +100,12 @@ static void Lnk_EditingLinkDestructor (void);
/************************* Check if I can edit links *************************/
/*****************************************************************************/
-static Usr_ICan_t Lnk_CheckIfICanEditLinks (void)
+static Usr_Can_t Lnk_CheckIfICanEditLinks (void)
{
- static Usr_ICan_t Lnk_ICanEditLinks[Rol_NUM_ROLES] =
+ static Usr_Can_t Lnk_ICanEditLinks[Rol_NUM_ROLES] =
{
/* Users who can edit */
- [Rol_SYS_ADM] = Usr_I_CAN,
+ [Rol_SYS_ADM] = Usr_CAN,
};
return Lnk_ICanEditLinks[Gbl.Usrs.Me.Role.Logged];
@@ -149,7 +149,7 @@ void Lnk_SeeLinks (void)
static void Lnk_PutIconsListingLinks (__attribute__((unused)) void *Args)
{
/***** Put icon to edit links *****/
- if (Lnk_CheckIfICanEditLinks () == Usr_I_CAN)
+ if (Lnk_CheckIfICanEditLinks () == Usr_CAN)
Lnk_PutIconToEditLinks ();
/***** Put icon to view banners *****/
diff --git a/swad_mail.c b/swad_mail.c
index 3a864c8dd..cf4a5ec42 100644
--- a/swad_mail.c
+++ b/swad_mail.c
@@ -1298,14 +1298,14 @@ void Mai_RemoveOtherUsrEmail (void)
if (Usr_GetParOtherUsrCodEncryptedAndGetUsrData ())
switch (Usr_CheckIfICanEditOtherUsr (&Gbl.Usrs.Other.UsrDat))
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Remove user's email *****/
Mai_RemoveEmail (&Gbl.Usrs.Other.UsrDat);
/***** Show form again *****/
Acc_ShowFormChgOtherUsrAccount ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ale_ShowAlertUserNotFoundOrYouDoNotHavePermission ();
break;
@@ -1325,7 +1325,7 @@ static void Mai_RemoveEmail (struct Usr_Data *UsrDat)
switch (Usr_CheckIfICanEditOtherUsr (UsrDat))
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Get new email from form *****/
Par_GetParText ("Email",Email,Cns_MAX_BYTES_EMAIL_ADDRESS);
@@ -1340,7 +1340,7 @@ static void Mai_RemoveEmail (struct Usr_Data *UsrDat)
/***** Update list of emails *****/
Mai_GetEmailFromUsrCod (UsrDat);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ale_ShowAlertUserNotFoundOrYouDoNotHavePermission ();
break;
@@ -1370,7 +1370,7 @@ void Mai_ChangeOtherUsrEmail (void)
if (Usr_GetParOtherUsrCodEncryptedAndGetUsrData ())
switch (Usr_CheckIfICanEditOtherUsr (&Gbl.Usrs.Other.UsrDat))
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Change user's ID *****/
Mai_ChangeUsrEmail (&Gbl.Usrs.Other.UsrDat,
Usr_ItsMe (Gbl.Usrs.Other.UsrDat.UsrCod));
@@ -1378,7 +1378,7 @@ void Mai_ChangeOtherUsrEmail (void)
/***** Show form again *****/
Acc_ShowFormChgOtherUsrAccount ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ale_ShowAlertUserNotFoundOrYouDoNotHavePermission ();
break;
@@ -1401,7 +1401,7 @@ static void Mai_ChangeUsrEmail (struct Usr_Data *UsrDat,Usr_MeOrOther_t MeOrOthe
switch (Usr_CheckIfICanEditOtherUsr (UsrDat))
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Get new email from form *****/
Par_GetParText ("NewEmail",NewEmail,Cns_MAX_BYTES_EMAIL_ADDRESS);
@@ -1441,7 +1441,7 @@ static void Mai_ChangeUsrEmail (struct Usr_Data *UsrDat,Usr_MeOrOther_t MeOrOthe
Txt_The_email_address_entered_X_is_not_valid,
NewEmail);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ale_CreateAlertUserNotFoundOrYouDoNotHavePermission ();
break;
@@ -1678,11 +1678,11 @@ void Mai_WriteFootNoteEMail (FILE *FileMail,Lan_Language_t Language)
/**************** Check if I can see another user's email ********************/
/*****************************************************************************/
-Usr_ICan_t Mai_ICanSeeOtherUsrEmail (const struct Usr_Data *UsrDat)
+Usr_Can_t Mai_ICanSeeOtherUsrEmail (const struct Usr_Data *UsrDat)
{
/***** I can see my email *****/
if (Usr_ItsMe (UsrDat->UsrCod) == Usr_ME)
- return Usr_I_CAN;
+ return Usr_CAN;
/***** Check if I have permission to see another user's email *****/
switch (Gbl.Usrs.Me.Role.Logged)
@@ -1692,40 +1692,40 @@ Usr_ICan_t Mai_ICanSeeOtherUsrEmail (const struct Usr_Data *UsrDat)
I can see the email of confirmed teachers */
return ((UsrDat->Roles.InCurrentCrs == Rol_NET || // A non-editing teacher
UsrDat->Roles.InCurrentCrs == Rol_TCH) && // or a teacher
- UsrDat->Accepted) ? Usr_I_CAN : // who accepted registration
- Usr_I_CAN_NOT;
+ UsrDat->Accepted) ? Usr_CAN : // who accepted registration
+ Usr_CAN_NOT;
case Rol_NET:
case Rol_TCH:
/* If I am a teacher in the current course,
I can see the email of confirmed students and teachers */
return (Enr_CheckIfUsrBelongsToCurrentCrs (UsrDat) && // A user belonging to the current course
- UsrDat->Accepted) ? Usr_I_CAN : // who accepted registration
- Usr_I_CAN_NOT;
+ UsrDat->Accepted) ? Usr_CAN : // who accepted registration
+ Usr_CAN_NOT;
case Rol_DEG_ADM:
/* If I am an administrator of current degree,
I only can see the user's email of users from current degree */
return Hie_CheckIfUsrBelongsTo (Hie_DEG,UsrDat->UsrCod,
Gbl.Hierarchy.Node[Hie_DEG].HieCod,
- true) ? Usr_I_CAN : // count only accepted courses
- Usr_I_CAN_NOT;
+ true) ? Usr_CAN : // count only accepted courses
+ Usr_CAN_NOT;
case Rol_CTR_ADM:
/* If I am an administrator of current center,
I only can see the user's email of users from current center */
return Hie_CheckIfUsrBelongsTo (Hie_CTR,UsrDat->UsrCod,
Gbl.Hierarchy.Node[Hie_CTR].HieCod,
- true) ? Usr_I_CAN : // count only accepted courses
- Usr_I_CAN_NOT;
+ true) ? Usr_CAN : // count only accepted courses
+ Usr_CAN_NOT;
case Rol_INS_ADM:
/* If I am an administrator of current institution,
I only can see the user's email of users from current institution */
return Hie_CheckIfUsrBelongsTo (Hie_INS,UsrDat->UsrCod,
Gbl.Hierarchy.Node[Hie_INS].HieCod,
- true) ? Usr_I_CAN : // count only accepted courses
- Usr_I_CAN_NOT;
+ true) ? Usr_CAN : // count only accepted courses
+ Usr_CAN_NOT;
case Rol_SYS_ADM:
- return Usr_I_CAN;
+ return Usr_CAN;
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
}
diff --git a/swad_mail.h b/swad_mail.h
index c1079aeb3..fb7495acc 100644
--- a/swad_mail.h
+++ b/swad_mail.h
@@ -100,7 +100,7 @@ void Mai_WriteWelcomeNoteEMail (FILE *FileMail,const struct Usr_Data *UsrDat,
Lan_Language_t ToUsrLanguage);
void Mai_WriteFootNoteEMail (FILE *FileMail,Lan_Language_t Language);
-Usr_ICan_t Mai_ICanSeeOtherUsrEmail (const struct Usr_Data *UsrDat);
+Usr_Can_t Mai_ICanSeeOtherUsrEmail (const struct Usr_Data *UsrDat);
int Mai_SendMailMsg (const char FileNameMail[PATH_MAX + 1],
const char *Subject,
diff --git a/swad_main.c b/swad_main.c
index bfb57ed3a..f3f9e27cc 100644
--- a/swad_main.c
+++ b/swad_main.c
@@ -147,7 +147,7 @@ int main (void)
Fir_CheckFirewallAndExitIfTooManyRequests ();
/***** Check if the user have permission to execute the action *****/
- if (Act_CheckIfICanExecuteAction (Gbl.Action.Act) == Usr_I_CAN_NOT)
+ if (Act_CheckIfICanExecuteAction (Gbl.Action.Act) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Update most frequently used actions *****/
diff --git a/swad_match.c b/swad_match.c
index e807c9cde..8c93d21be 100644
--- a/swad_match.c
+++ b/swad_match.c
@@ -103,10 +103,10 @@ static void Mch_ListOneOrMoreMatches (struct Gam_Games *Games,
Frm_PutForm_t PutFormMatch,
unsigned NumMatches,
MYSQL_RES *mysql_res);
-static void Mch_ListOneOrMoreMatchesHeading (Usr_ICan_t ICanEditMatches);
-static Usr_ICan_t Mch_CheckIfICanEditMatches (void);
-static Usr_ICan_t Mch_CheckIfICanEditThisMatch (const struct Mch_Match *Match);
-static Usr_ICan_t Mch_CheckIfICanChangeVisibilityOfResults (const struct Mch_Match *Match);
+static void Mch_ListOneOrMoreMatchesHeading (Usr_Can_t ICanEditMatches);
+static Usr_Can_t Mch_CheckIfICanEditMatches (void);
+static Usr_Can_t Mch_CheckIfICanEditThisMatch (const struct Mch_Match *Match);
+static Usr_Can_t Mch_CheckIfICanChangeVisibilityOfResults (const struct Mch_Match *Match);
static void Mch_ListOneOrMoreMatchesIcons (struct Gam_Games *Games,
const struct Mch_Match *Match,
const char *Anchor);
@@ -284,7 +284,7 @@ void Mch_ListMatches (struct Gam_Games *Games,
Hlp_ASSESSMENT_Games_matches,Box_NOT_CLOSABLE);
/***** Select whether show only my groups or all groups *****/
- if (Gbl.Crs.Grps.NumGrps && Mch_CheckIfICanEditMatches () == Usr_I_CAN)
+ if (Gbl.Crs.Grps.NumGrps && Mch_CheckIfICanEditMatches () == Usr_CAN)
{
Set_BeginSettingsHead ();
Grp_ShowFormToSelWhichGrps (ActSeeOneGam,Gam_PutPars,Games);
@@ -329,7 +329,7 @@ void Mch_GetMatchDataByCod (struct Mch_Match *Match)
static void Mch_PutIconsInListOfMatches (void *Games)
{
if (Games)
- if (Mch_CheckIfICanEditMatches () == Usr_I_CAN)
+ if (Mch_CheckIfICanEditMatches () == Usr_CAN)
/***** Put icon to create a new match in current game *****/
Mch_PutIconToCreateNewMatch ((struct Gam_Games *) Games);
}
@@ -357,7 +357,7 @@ static void Mch_ListOneOrMoreMatches (struct Gam_Games *Games,
unsigned UniqueId;
struct Mch_Match Match;
char *Anchor;
- Usr_ICan_t ICanEditMatches = Mch_CheckIfICanEditMatches ();
+ Usr_Can_t ICanEditMatches = Mch_CheckIfICanEditMatches ();
long MchCodToBeEdited = PutFormMatch == Frm_PUT_FORM &&
Games->MchCod > 0 ? Games->MchCod :
-1L;
@@ -380,7 +380,7 @@ static void Mch_ListOneOrMoreMatches (struct Gam_Games *Games,
/***** Get match data from row *****/
Mch_GetMatchDataFromRow (mysql_res,&Match);
- if (Mch_CheckIfICanPlayThisMatchBasedOnGrps (&Match) == Usr_I_CAN)
+ if (Mch_CheckIfICanPlayThisMatchBasedOnGrps (&Match) == Usr_CAN)
{
/***** Build anchor string *****/
if (asprintf (&Anchor,"mch_%ld",Match.MchCod) < 0)
@@ -390,7 +390,7 @@ static void Mch_ListOneOrMoreMatches (struct Gam_Games *Games,
HTM_TR_Begin (NULL);
/* Icons */
- if (ICanEditMatches == Usr_I_CAN)
+ if (ICanEditMatches == Usr_CAN)
Mch_ListOneOrMoreMatchesIcons (Games,&Match,Anchor);
/* Start/end date/time */
@@ -416,11 +416,11 @@ static void Mch_ListOneOrMoreMatches (struct Gam_Games *Games,
HTM_TR_End ();
/***** Third row for this match used for edition ****/
- if (ICanEditMatches == Usr_I_CAN &&
+ if (ICanEditMatches == Usr_CAN &&
PutFormMatch == Frm_PUT_FORM && // Editing...
Match.MchCod == MchCodToBeEdited) // ...this match
/***** Check if I can edit this match *****/
- if (Mch_CheckIfICanEditThisMatch (&Match) == Usr_I_CAN)
+ if (Mch_CheckIfICanEditThisMatch (&Match) == Usr_CAN)
{
HTM_TR_Begin (NULL);
HTM_TD_Begin ("colspan=\"7\" class=\"LT %s\"",
@@ -436,7 +436,7 @@ static void Mch_ListOneOrMoreMatches (struct Gam_Games *Games,
}
/***** Put button to play a new match in this game *****/
- if (ICanEditMatches == Usr_I_CAN &&
+ if (ICanEditMatches == Usr_CAN &&
PutFormMatch == Frm_PUT_FORM &&
MchCodToBeEdited <= 0)
{
@@ -461,7 +461,7 @@ static void Mch_ListOneOrMoreMatches (struct Gam_Games *Games,
/***************** Put a column for match start and end times ****************/
/*****************************************************************************/
-static void Mch_ListOneOrMoreMatchesHeading (Usr_ICan_t ICanEditMatches)
+static void Mch_ListOneOrMoreMatchesHeading (Usr_Can_t ICanEditMatches)
{
extern const char *Txt_START_END_TIME[Dat_NUM_START_END_TIME];
extern const char *Txt_Match;
@@ -473,7 +473,7 @@ static void Mch_ListOneOrMoreMatchesHeading (Usr_ICan_t ICanEditMatches)
HTM_TR_Begin (NULL);
/***** Column for icons *****/
- if (ICanEditMatches == Usr_I_CAN)
+ if (ICanEditMatches == Usr_CAN)
HTM_TH_Empty (1);
/***** The rest of columns *****/
@@ -494,13 +494,13 @@ static void Mch_ListOneOrMoreMatchesHeading (Usr_ICan_t ICanEditMatches)
/*********************** Check if I can edit matches *************************/
/*****************************************************************************/
-static Usr_ICan_t Mch_CheckIfICanEditMatches (void)
+static Usr_Can_t Mch_CheckIfICanEditMatches (void)
{
- static Usr_ICan_t ICanEditMatches[Rol_NUM_ROLES] =
+ static Usr_Can_t ICanEditMatches[Rol_NUM_ROLES] =
{
- [Rol_NET ] = Usr_I_CAN,
- [Rol_TCH ] = Usr_I_CAN,
- [Rol_SYS_ADM] = Usr_I_CAN,
+ [Rol_NET ] = Usr_CAN,
+ [Rol_TCH ] = Usr_CAN,
+ [Rol_SYS_ADM] = Usr_CAN,
};
return ICanEditMatches[Gbl.Usrs.Me.Role.Logged];
@@ -510,21 +510,21 @@ static Usr_ICan_t Mch_CheckIfICanEditMatches (void)
/***************** Check if I can edit (remove/resume) a match ***************/
/*****************************************************************************/
-static Usr_ICan_t Mch_CheckIfICanEditThisMatch (const struct Mch_Match *Match)
+static Usr_Can_t Mch_CheckIfICanEditThisMatch (const struct Mch_Match *Match)
{
if (Match->MchCod <= 0)
- return Usr_I_CAN;
+ return Usr_CAN;
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_NET:
- return (Match->UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod) ? Usr_I_CAN : // Only if I am the creator
- Usr_I_CAN_NOT;
+ return (Match->UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod) ? Usr_CAN : // Only if I am the creator
+ Usr_CAN_NOT;
case Rol_TCH:
case Rol_SYS_ADM:
- return Usr_I_CAN;
+ return Usr_CAN;
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
}
@@ -532,13 +532,13 @@ static Usr_ICan_t Mch_CheckIfICanEditThisMatch (const struct Mch_Match *Match)
/*********** Check if visibility of match results can be changed *************/
/*****************************************************************************/
-static Usr_ICan_t Mch_CheckIfICanChangeVisibilityOfResults (const struct Mch_Match *Match)
+static Usr_Can_t Mch_CheckIfICanChangeVisibilityOfResults (const struct Mch_Match *Match)
{
if (Match->Status.ShowUsrResults || // Results are currently visible
Match->Status.Showing == Mch_END) // Match has finished
return Mch_CheckIfICanEditThisMatch (Match);
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
/*****************************************************************************/
@@ -553,7 +553,7 @@ static void Mch_ListOneOrMoreMatchesIcons (struct Gam_Games *Games,
switch (Mch_CheckIfICanEditThisMatch (Match))
{
- case Usr_I_CAN:
+ case Usr_CAN:
Games->MchCod = Match->MchCod;
/***** Put icon to remove the match *****/
@@ -562,7 +562,7 @@ static void Mch_ListOneOrMoreMatchesIcons (struct Gam_Games *Games,
/***** Put icon to edit the match *****/
Ico_PutContextualIconToEdit (ActReqChgMch,Anchor,Mch_PutParsEdit,Games);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconRemovalNotAllowed ();
break;
@@ -833,7 +833,7 @@ static void Mch_ListOneOrMoreMatchesResultTch (struct Gam_Games *Games,
Games->MchCod = Match->MchCod;
/***** Show match results *****/
- if (Mch_CheckIfICanEditThisMatch (Match) == Usr_I_CAN)
+ if (Mch_CheckIfICanEditThisMatch (Match) == Usr_CAN)
Lay_PutContextualLinkOnlyIcon (ActSeeUsrMchResMch,MchRes_RESULTS_BOX_ID,
Mch_PutParsEdit,Games,
"trophy.svg",Ico_BLACK);
@@ -841,7 +841,7 @@ static void Mch_ListOneOrMoreMatchesResultTch (struct Gam_Games *Games,
/***** Check if visibility of session results can be changed *****/
switch (Mch_CheckIfICanChangeVisibilityOfResults (Match))
{
- case Usr_I_CAN:
+ case Usr_CAN:
/* I can edit visibility */
if (Match->Status.ShowUsrResults)
Lay_PutContextualLinkOnlyIcon (ActChgVisResMchUsr,NULL,
@@ -852,7 +852,7 @@ static void Mch_ListOneOrMoreMatchesResultTch (struct Gam_Games *Games,
Mch_PutParsEdit,Games,
"eye-slash.svg",Ico_RED);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
/* I can not edit visibility */
if (Match->Status.ShowUsrResults)
@@ -881,7 +881,7 @@ void Mch_ToggleVisResultsMchUsr (void)
Mch_GetAndCheckPars (&Games,&Match);
/***** Check if visibility of match results can be changed *****/
- if (Mch_CheckIfICanChangeVisibilityOfResults (&Match) == Usr_I_CAN_NOT)
+ if (Mch_CheckIfICanChangeVisibilityOfResults (&Match) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Toggle visibility of match results *****/
@@ -1029,7 +1029,7 @@ void Mch_RemoveMatch (void)
Mch_GetAndCheckPars (&Games,&Match);
/***** Check if I can remove this match *****/
- if (Mch_CheckIfICanEditThisMatch (&Match) == Usr_I_CAN_NOT)
+ if (Mch_CheckIfICanEditThisMatch (&Match) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Remove the match from all database tables *****/
@@ -1125,7 +1125,7 @@ void Mch_ReqCreatOrEditMatch (void)
Mch_GetAndCheckPars (&Games,&Match);
/***** Check if I can edit this match *****/
- if (Mch_CheckIfICanEditThisMatch (&Match) == Usr_I_CAN_NOT)
+ if (Mch_CheckIfICanEditThisMatch (&Match) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Show game *****/
@@ -1333,7 +1333,7 @@ void Mch_ChangeMatch (void)
Mch_GetAndCheckPars (&Games,&Match);
/***** Check if I can update this match *****/
- if (Mch_CheckIfICanEditThisMatch (&Match) == Usr_I_CAN_NOT)
+ if (Mch_CheckIfICanEditThisMatch (&Match) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Get match title and groups *****/
@@ -1391,7 +1391,7 @@ void Mch_ResumeMatch (void)
Mch_GetMatchDataByCod (&Match);
/***** Check if I have permission to resume match *****/
- if (Mch_CheckIfICanEditThisMatch (&Match) == Usr_I_CAN_NOT)
+ if (Mch_CheckIfICanEditThisMatch (&Match) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Update match status in database *****/
@@ -1988,7 +1988,7 @@ static void Mch_ShowMatchStatusForStd (struct Mch_Match *Match,Mch_Update_t Upda
struct Mch_UsrAnswer UsrAnswer;
/***** Can I play this match? *****/
- if (Mch_CheckIfICanPlayThisMatchBasedOnGrps (Match) == Usr_I_CAN_NOT)
+ if (Mch_CheckIfICanPlayThisMatchBasedOnGrps (Match) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Get student's answer to this question
@@ -2009,7 +2009,7 @@ static void Mch_ShowMatchStatusForStd (struct Mch_Match *Match,Mch_Update_t Upda
/************ Check if I belong to any of the groups of a match **************/
/*****************************************************************************/
-Usr_ICan_t Mch_CheckIfICanPlayThisMatchBasedOnGrps (const struct Mch_Match *Match)
+Usr_Can_t Mch_CheckIfICanPlayThisMatchBasedOnGrps (const struct Mch_Match *Match)
{
switch (Gbl.Usrs.Me.Role.Logged)
{
@@ -2019,13 +2019,13 @@ Usr_ICan_t Mch_CheckIfICanPlayThisMatchBasedOnGrps (const struct Mch_Match *Matc
return Mch_DB_CheckIfICanPlayThisMatchBasedOnGrps (Match->MchCod);
case Rol_NET:
/***** Only if I am the creator *****/
- return (Match->UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return (Match->UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod) ? Usr_CAN :
+ Usr_CAN_NOT;
case Rol_TCH:
case Rol_SYS_ADM:
- return Usr_I_CAN;
+ return Usr_CAN;
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
}
diff --git a/swad_match.h b/swad_match.h
index 744e96a6f..49d45e71c 100644
--- a/swad_match.h
+++ b/swad_match.h
@@ -126,7 +126,7 @@ void Mch_ToggleVisResultsMchQst (void);
void Mch_BackMatch (void);
void Mch_ForwardMatch (void);
-Usr_ICan_t Mch_CheckIfICanPlayThisMatchBasedOnGrps (const struct Mch_Match *Match);
+Usr_Can_t Mch_CheckIfICanPlayThisMatchBasedOnGrps (const struct Mch_Match *Match);
bool Mch_RegisterMeAsPlayerInMatch (struct Mch_Match *Match);
diff --git a/swad_match_database.c b/swad_match_database.c
index 92ceac5e9..07aa10ffc 100644
--- a/swad_match_database.c
+++ b/swad_match_database.c
@@ -569,7 +569,7 @@ unsigned Mch_DB_GetGrpNamesAssociatedToMatch (MYSQL_RES **mysql_res,long MchCod)
/************ Check if I belong to any of the groups of a match **************/
/*****************************************************************************/
-Usr_ICan_t Mch_DB_CheckIfICanPlayThisMatchBasedOnGrps (long MchCod)
+Usr_Can_t Mch_DB_CheckIfICanPlayThisMatchBasedOnGrps (long MchCod)
{
return
DB_QueryEXISTS ("can not check if I can play a match",
@@ -588,8 +588,8 @@ Usr_ICan_t Mch_DB_CheckIfICanPlayThisMatchBasedOnGrps (long MchCod)
" WHERE grp_users.UsrCod=%ld"
" AND grp_users.GrpCod=mch_groups.GrpCod)))",
MchCod,
- Gbl.Usrs.Me.UsrDat.UsrCod) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ Gbl.Usrs.Me.UsrDat.UsrCod) ? Usr_CAN :
+ Usr_CAN_NOT;
}
/*****************************************************************************/
diff --git a/swad_match_database.h b/swad_match_database.h
index 9a6312b91..571a6aeae 100644
--- a/swad_match_database.h
+++ b/swad_match_database.h
@@ -66,7 +66,7 @@ void Mch_DB_AssociateGroupToMatch (long MchCod,long GrpCod);
unsigned Mch_DB_GetGrpCodsAssociatedToMatch (MYSQL_RES **mysql_res,long MchCod);
unsigned Mch_DB_GetGrpNamesAssociatedToMatch (MYSQL_RES **mysql_res,long MchCod);
-Usr_ICan_t Mch_DB_CheckIfICanPlayThisMatchBasedOnGrps (long MchCod);
+Usr_Can_t Mch_DB_CheckIfICanPlayThisMatchBasedOnGrps (long MchCod);
void Mch_DB_RemoveGroup (long GrpCod);
void Mch_DB_RemoveGroupsOfType (long GrpTypCod);
diff --git a/swad_match_result.c b/swad_match_result.c
index f9a18700e..b87eeeaaa 100644
--- a/swad_match_result.c
+++ b/swad_match_result.c
@@ -63,8 +63,8 @@ extern struct Globals Gbl;
struct MchRes_ICanView
{
- Usr_ICan_t Result;
- Usr_ICan_t Score;
+ Usr_Can_t Result;
+ Usr_Can_t Score;
};
/*****************************************************************************/
@@ -304,7 +304,7 @@ static void MchRes_ListAllMchResultsInSelectedGames (struct Gam_Games *Games)
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat,
Usr_DONT_GET_PREFS,
Usr_GET_ROLE_IN_CRS))
- if (Usr_CheckIfICanViewTstExaMchResult (&Gbl.Usrs.Other.UsrDat) == Usr_I_CAN)
+ if (Usr_CheckIfICanViewTstExaMchResult (&Gbl.Usrs.Other.UsrDat) == Usr_CAN)
{
/***** Show matches results *****/
Gbl.Usrs.Other.UsrDat.Accepted = Enr_CheckIfUsrHasAcceptedInCurrentCrs (&Gbl.Usrs.Other.UsrDat);
@@ -395,7 +395,7 @@ static void MchRes_ListAllMchResultsInGam (struct Gam_Games *Games)
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat,
Usr_DONT_GET_PREFS,
Usr_GET_ROLE_IN_CRS))
- if (Usr_CheckIfICanViewTstExaMchResult (&Gbl.Usrs.Other.UsrDat) == Usr_I_CAN)
+ if (Usr_CheckIfICanViewTstExaMchResult (&Gbl.Usrs.Other.UsrDat) == Usr_CAN)
{
/***** Show matches results *****/
Gbl.Usrs.Other.UsrDat.Accepted = Enr_CheckIfUsrHasAcceptedInCurrentCrs (&Gbl.Usrs.Other.UsrDat);
@@ -467,7 +467,7 @@ static void MchRes_ListAllMchResultsInMch (struct Gam_Games *Games,long MchCod)
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat,
Usr_DONT_GET_PREFS,
Usr_GET_ROLE_IN_CRS))
- if (Usr_CheckIfICanViewTstExaMchResult (&Gbl.Usrs.Other.UsrDat) == Usr_I_CAN)
+ if (Usr_CheckIfICanViewTstExaMchResult (&Gbl.Usrs.Other.UsrDat) == Usr_CAN)
{
/***** Show matches results *****/
Gbl.Usrs.Other.UsrDat.Accepted = Enr_CheckIfUsrHasAcceptedInCurrentCrs (&Gbl.Usrs.Other.UsrDat);
@@ -776,7 +776,7 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games,
HTM_TD_End ();
/* Accumulate questions and score */
- if (ICanView.Score == Usr_I_CAN)
+ if (ICanView.Score == Usr_CAN)
{
NumTotalQsts.All += Print.NumQsts.All;
NumTotalQsts.NotBlank += Print.NumQsts.NotBlank;
@@ -788,10 +788,10 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games,
The_GetSuffix (),The_GetColorRows ());
switch (ICanView.Score)
{
- case Usr_I_CAN:
+ case Usr_CAN:
HTM_Unsigned (Print.NumQsts.All);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -803,13 +803,13 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games,
The_GetSuffix (),The_GetColorRows ());
switch (ICanView.Score)
{
- case Usr_I_CAN:
+ case Usr_CAN:
if (Print.NumQsts.NotBlank)
HTM_Unsigned (Print.NumQsts.NotBlank);
else
HTM_Light0 ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -822,13 +822,13 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games,
NumQstsBlank = Print.NumQsts.All - Print.NumQsts.NotBlank;
switch (ICanView.Score)
{
- case Usr_I_CAN:
+ case Usr_CAN:
if (NumQstsBlank)
HTM_Unsigned (NumQstsBlank);
else
HTM_Light0 ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -840,12 +840,12 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games,
The_GetSuffix (),The_GetColorRows ());
switch (ICanView.Score)
{
- case Usr_I_CAN:
+ case Usr_CAN:
HTM_Double2Decimals (Print.Score);
HTM_Txt ("/");
HTM_Unsigned (Print.NumQsts.All);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -857,12 +857,12 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games,
The_GetSuffix (),The_GetColorRows ());
switch (ICanView.Score)
{
- case Usr_I_CAN:
+ case Usr_CAN:
HTM_Double2Decimals (Print.NumQsts.All ? Print.Score /
(double) Print.NumQsts.All :
0.0);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -874,13 +874,13 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games,
The_GetSuffix (),The_GetColorRows ());
switch (ICanView.Score)
{
- case Usr_I_CAN:
+ case Usr_CAN:
Grade = TstPrn_ComputeGrade (Print.NumQsts.All,Print.Score,
Games->Game.MaxGrade);
TstPrn_ShowGrade (Grade,Games->Game.MaxGrade);
TotalGrade += Grade;
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -892,7 +892,7 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games,
The_GetColorRows ());
switch (ICanView.Result)
{
- case Usr_I_CAN:
+ case Usr_CAN:
Games->Game.GamCod = Match.GamCod;
Games->MchCod = Match.MchCod;
switch (MeOrOther)
@@ -911,7 +911,7 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games,
}
Frm_EndForm ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -1108,7 +1108,7 @@ void MchRes_ShowOneMchResult (void)
/***** Check if I can view this match result and score *****/
MchRes_CheckIfICanViewMatchResult (&Games.Game,&Match,UsrDat->UsrCod,&ICanView);
- if (ICanView.Result == Usr_I_CAN_NOT)
+ if (ICanView.Result == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Get questions and user's answers of the match result from database *****/
@@ -1128,7 +1128,7 @@ void MchRes_ShowOneMchResult (void)
Usr_DONT_GET_PREFS,
Usr_GET_ROLE_IN_CRS))
Err_WrongUserExit ();
- if (Usr_CheckIfICanViewTstExaMchResult (UsrDat) == Usr_I_CAN_NOT)
+ if (Usr_CheckIfICanViewTstExaMchResult (UsrDat) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/* Get if user has accepted enrolment */
@@ -1227,14 +1227,14 @@ void MchRes_ShowOneMchResult (void)
The_GetSuffix ());
switch (ICanView.Score)
{
- case Usr_I_CAN:
+ case Usr_CAN:
HTM_STRONG_Begin ();
HTM_Double2Decimals (Print.Score);
HTM_Txt ("/");
HTM_Unsigned (Print.NumQsts.All);
HTM_STRONG_End ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -1255,13 +1255,13 @@ void MchRes_ShowOneMchResult (void)
The_GetSuffix ());
switch (ICanView.Score)
{
- case Usr_I_CAN:
+ case Usr_CAN:
HTM_STRONG_Begin ();
TstPrn_ComputeAndShowGrade (Print.NumQsts.All,Print.Score,
Games.Game.MaxGrade);
HTM_STRONG_End ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -1315,21 +1315,21 @@ static void MchRes_CheckIfICanViewMatchResult (const struct Gam_Game *Game,
// Depends on visibility of game and result (eye icons)
ICanView->Result = (Game->HiddenOrVisible == HidVis_VISIBLE && // The game is visible
Match->Status.ShowUsrResults && // The results of the match are visible to users
- Usr_ItsMe (UsrCod) == Usr_ME) ? Usr_I_CAN : // The result is mine
- Usr_I_CAN_NOT;
+ Usr_ItsMe (UsrCod) == Usr_ME) ? Usr_CAN : // The result is mine
+ Usr_CAN_NOT;
// Whether I belong or not to groups of match is not checked here...
// ...because I should be able to see old matches made in old groups to which I belonged
switch (ICanView->Result)
{
- case Usr_I_CAN:
+ case Usr_CAN:
// Depends on 5 visibility icons associated to game
- ICanView->Score = TstVis_IsVisibleTotalScore (Game->Visibility) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ ICanView->Score = TstVis_IsVisibleTotalScore (Game->Visibility) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
- ICanView->Score = Usr_I_CAN_NOT;
+ ICanView->Score = Usr_CAN_NOT;
break;
}
break;
@@ -1340,11 +1340,11 @@ static void MchRes_CheckIfICanViewMatchResult (const struct Gam_Game *Game,
case Rol_INS_ADM:
case Rol_SYS_ADM:
ICanView->Result =
- ICanView->Score = Usr_I_CAN;
+ ICanView->Score = Usr_CAN;
break;
default:
ICanView->Result =
- ICanView->Score = Usr_I_CAN_NOT;
+ ICanView->Score = Usr_CAN_NOT;
break;
}
}
diff --git a/swad_menu.c b/swad_menu.c
index 1181d0e7d..8d2ce5c23 100644
--- a/swad_menu.c
+++ b/swad_menu.c
@@ -227,7 +227,7 @@ Act_Action_t Mnu_GetFirstActionAvailableInCurrentTab (void)
{
if ((Action = Mnu_Menu[Gbl.Action.Tab][NumOptInMenu].Action) == 0)
return ActUnk;
- if (Act_CheckIfICanExecuteAction (Action) == Usr_I_CAN)
+ if (Act_CheckIfICanExecuteAction (Action) == Usr_CAN)
return Action;
}
return ActUnk;
@@ -264,7 +264,7 @@ void Mnu_WriteMenuThisTab (void)
Action = Mnu_Menu[Gbl.Action.Tab][NumOptInMenu].Action;
if (Action == 0) // At the end of each tab, actions are initialized to 0, so 0 marks the end of the menu
break;
- if (Act_CheckIfICanExecuteAction (Action) == Usr_I_CAN)
+ if (Act_CheckIfICanExecuteAction (Action) == Usr_CAN)
{
IsTheSelectedAction = (Action == Act_GetSuperAction (Gbl.Action.Act));
diff --git a/swad_message.c b/swad_message.c
index cd86a9f41..170be8bc3 100644
--- a/swad_message.c
+++ b/swad_message.c
@@ -249,7 +249,7 @@ static void Msg_PutFormMsgUsrs (Act_Action_t NextAction,
Messages->ShowOnlyOneRecipient = false;
GetUsrsInCrs = !Messages->ShowOnlyOneRecipient && // Show list of potential recipients
- (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] || // If there is a course selected and I belong to it
+ (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] == Usr_BELONG || // If there is a course selected and I belong to it
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM);
if (GetUsrsInCrs)
{
@@ -524,7 +524,7 @@ static void Msg_WriteFormUsrsIDsOrNicksOtherRecipients (void)
char Nickname[Nck_MAX_BYTES_NICK_WITHOUT_ARROBA + 1];
unsigned ColSpan;
bool StdsAndTchsWritten = Gbl.Hierarchy.Level == Hie_CRS && // Course selected
- (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] || // I belong to it
+ (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] == Usr_BELONG || // I belong to it
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM);
/***** How many columns? *****/
diff --git a/swad_nickname.c b/swad_nickname.c
index c7eadf1c6..11cc261b8 100644
--- a/swad_nickname.c
+++ b/swad_nickname.c
@@ -425,7 +425,7 @@ void Nck_RemoveOtherUsrNick (void)
if (Usr_GetParOtherUsrCodEncryptedAndGetUsrData ())
switch (Usr_CheckIfICanEditOtherUsr (&Gbl.Usrs.Other.UsrDat))
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Get nickname from form *****/
Par_GetParText ("Nick",NickWithoutArr,
Nck_MAX_BYTES_NICK_WITHOUT_ARROBA);
@@ -441,7 +441,7 @@ void Nck_RemoveOtherUsrNick (void)
/***** Show user's account again *****/
Acc_ShowFormChgOtherUsrAccount ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ale_ShowAlertUserNotFoundOrYouDoNotHavePermission ();
break;
@@ -473,14 +473,14 @@ void Nck_ChangeOtherUsrNick (void)
if (Usr_GetParOtherUsrCodEncryptedAndGetUsrData ())
switch (Usr_CheckIfICanEditOtherUsr (&Gbl.Usrs.Other.UsrDat))
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Update user's nickname *****/
Nck_ChangeUsrNick (&Gbl.Usrs.Other.UsrDat);
/***** Show user's account again *****/
Acc_ShowFormChgOtherUsrAccount ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ale_ShowAlertUserNotFoundOrYouDoNotHavePermission ();
break;
diff --git a/swad_notice.c b/swad_notice.c
index 224a6e0b1..56031efc1 100644
--- a/swad_notice.c
+++ b/swad_notice.c
@@ -78,7 +78,7 @@ static unsigned Not_MaxCharsURLOnScreen[Not_NUM_TYPES_LISTING] =
static void Not_PutLinkToRSSFile (void);
-static Usr_ICan_t Not_CheckIfICanEditNotices (void);
+static Usr_Can_t Not_CheckIfICanEditNotices (void);
static void Not_PutIconsListNotices (__attribute__((unused)) void *Args);
static void Not_PutIconToAddNewNotice (void);
static void Not_GetDataAndShowNotice (long NotCod);
@@ -401,11 +401,11 @@ static void Not_PutLinkToRSSFile (void)
/*********************** Check if I can edit notices *************************/
/*****************************************************************************/
-static Usr_ICan_t Not_CheckIfICanEditNotices (void)
+static Usr_Can_t Not_CheckIfICanEditNotices (void)
{
return (Gbl.Usrs.Me.Role.Logged == Rol_TCH ||
- Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? Usr_CAN :
+ Usr_CAN_NOT;
}
/*****************************************************************************/
@@ -415,7 +415,7 @@ static Usr_ICan_t Not_CheckIfICanEditNotices (void)
static void Not_PutIconsListNotices (__attribute__((unused)) void *Args)
{
/***** Put icon to add a new notice *****/
- if (Not_CheckIfICanEditNotices () == Usr_I_CAN)
+ if (Not_CheckIfICanEditNotices () == Usr_CAN)
Not_PutIconToAddNewNotice ();
/***** Put icon to show a figure *****/
@@ -552,7 +552,7 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
/***** Write the date in the top part of the yellow note *****/
/* Write symbol to indicate if notice is obsolete or active */
if (TypeNoticesListing == Not_LIST_FULL_NOTICES)
- if (Not_CheckIfICanEditNotices () == Usr_I_CAN)
+ if (Not_CheckIfICanEditNotices () == Usr_CAN)
{
/***** Icon to remove announcement *****/
Ico_PutContextualIconToRemove (ActReqRemNot,NULL,
diff --git a/swad_password.c b/swad_password.c
index c591b496d..a39b6386b 100644
--- a/swad_password.c
+++ b/swad_password.c
@@ -178,11 +178,11 @@ void Pwd_UpdateOtherUsrPwd (void)
if (Usr_GetParOtherUsrCodEncryptedAndGetUsrData ())
switch (Usr_CheckIfICanEditOtherUsr (&Gbl.Usrs.Other.UsrDat))
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Check and update password *****/
Pwd_CheckAndUpdateNewPwd (&Gbl.Usrs.Other.UsrDat);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ale_ShowAlertUserNotFoundOrYouDoNotHavePermission ();
break;
diff --git a/swad_photo.c b/swad_photo.c
index 4f8c678e9..e90d52531 100644
--- a/swad_photo.c
+++ b/swad_photo.c
@@ -141,11 +141,11 @@ static void Pho_ComputePhotoSize (const struct Pho_DegPhotos *DegPhotos,
/************** Check if I can change the photo of another user **************/
/*****************************************************************************/
-Usr_ICan_t Pho_ICanChangeOtherUsrPhoto (struct Usr_Data *UsrDat)
+Usr_Can_t Pho_ICanChangeOtherUsrPhoto (struct Usr_Data *UsrDat)
{
/***** I can change my photo *****/
if (Usr_ItsMe (UsrDat->UsrCod) == Usr_ME)
- return Usr_I_CAN;
+ return Usr_CAN;
/***** Check if I have permission to change user's photo *****/
switch (Gbl.Usrs.Me.Role.Logged)
@@ -153,19 +153,19 @@ Usr_ICan_t Pho_ICanChangeOtherUsrPhoto (struct Usr_Data *UsrDat)
case Rol_TCH:
/* A teacher can change the photo of confirmed students */
if (UsrDat->Roles.InCurrentCrs != Rol_STD) // Not a student
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/* It's a student in this course,
check if he/she has accepted registration */
- return (UsrDat->Accepted = Enr_CheckIfUsrHasAcceptedInCurrentCrs (UsrDat)) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return (UsrDat->Accepted = Enr_CheckIfUsrHasAcceptedInCurrentCrs (UsrDat)) ? Usr_CAN :
+ Usr_CAN_NOT;
case Rol_DEG_ADM:
case Rol_CTR_ADM:
case Rol_INS_ADM:
case Rol_SYS_ADM:
return Usr_CheckIfICanEditOtherUsr (UsrDat);
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
}
@@ -198,7 +198,7 @@ void Pho_PutIconToChangeUsrPhoto (struct Usr_Data *UsrDat)
"camera.svg",Ico_BLACK);
break;
case Usr_OTHER:
- if (Pho_ICanChangeOtherUsrPhoto (UsrDat) == Usr_I_CAN)
+ if (Pho_ICanChangeOtherUsrPhoto (UsrDat) == Usr_CAN)
Lay_PutContextualLinkOnlyIcon (NextAction[UsrDat->Roles.InCurrentCrs],NULL,
Rec_PutParUsrCodEncrypted,NULL,
"camera.svg",Ico_BLACK);
@@ -353,7 +353,7 @@ void Pho_SendPhotoUsr (void)
}
/***** Check if I have permission to change user's photo *****/
- if (Pho_ICanChangeOtherUsrPhoto (&Gbl.Usrs.Other.UsrDat) == Usr_I_CAN_NOT)
+ if (Pho_ICanChangeOtherUsrPhoto (&Gbl.Usrs.Other.UsrDat) == Usr_CAN_NOT)
{
Ale_ShowAlertUserNotFoundOrYouDoNotHavePermission ();
return;
@@ -520,7 +520,7 @@ void Pho_ReqRemUsrPhoto (void)
Usr_DONT_GET_ROLE_IN_CRS))
switch (Pho_ICanChangeOtherUsrPhoto (&Gbl.Usrs.Other.UsrDat))
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Show current photo and help message *****/
if (Pho_BuildLinkToPhoto (&Gbl.Usrs.Other.UsrDat,PhotoURL))
{
@@ -541,7 +541,7 @@ void Pho_ReqRemUsrPhoto (void)
else
Ale_ShowAlert (Ale_INFO,Txt_The_photo_no_longer_exists);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ale_ShowAlertUserNotFoundOrYouDoNotHavePermission ();
break;
@@ -992,7 +992,7 @@ bool Pho_ShowingUsrPhotoIsAllowed (struct Usr_Data *UsrDat,
char PhotoURL[Cns_MAX_BYTES_WWW + 1])
{
/***** Photo is shown if I can see it, and it exists *****/
- return (Pri_CheckIfICanView (UsrDat->PhotoVisibility,UsrDat) == Usr_I_CAN) ? Pho_BuildLinkToPhoto (UsrDat,PhotoURL) :
+ return (Pri_CheckIfICanView (UsrDat->PhotoVisibility,UsrDat) == Usr_CAN) ? Pho_BuildLinkToPhoto (UsrDat,PhotoURL) :
false;
}
diff --git a/swad_photo.h b/swad_photo.h
index 79e7594d8..a3d353c91 100644
--- a/swad_photo.h
+++ b/swad_photo.h
@@ -95,7 +95,7 @@ struct Pho_DegPhotos
/***************************** Public prototypes *****************************/
/*****************************************************************************/
-Usr_ICan_t Pho_ICanChangeOtherUsrPhoto (struct Usr_Data *UsrDat);
+Usr_Can_t Pho_ICanChangeOtherUsrPhoto (struct Usr_Data *UsrDat);
void Pho_PutIconToChangeUsrPhoto (struct Usr_Data *UsrDat);
void Pho_ReqMyPhoto (void);
void Pho_SendPhotoUsr (void);
diff --git a/swad_place.c b/swad_place.c
index 13fa8fd57..805ae494b 100644
--- a/swad_place.c
+++ b/swad_place.c
@@ -61,7 +61,7 @@ static struct Plc_Place *Plc_EditingPlc = NULL; // Static variable to keep the p
/***************************** Private prototypes ****************************/
/*****************************************************************************/
-static Usr_ICan_t Plc_CheckIfICanEditPlaces (void);
+static Usr_Can_t Plc_CheckIfICanEditPlaces (void);
static Plc_Order_t Plc_GetParPlcOrder (void);
static void Plc_PutIconsListingPlaces (__attribute__((unused)) void *Args);
@@ -86,13 +86,13 @@ static void Plc_EditingPlaceDestructor (void);
/************************* Check if I can edit places ************************/
/*****************************************************************************/
-static Usr_ICan_t Plc_CheckIfICanEditPlaces (void)
+static Usr_Can_t Plc_CheckIfICanEditPlaces (void)
{
- static Usr_ICan_t Plc_ICanEditPlaces[Rol_NUM_ROLES] =
+ static Usr_Can_t Plc_ICanEditPlaces[Rol_NUM_ROLES] =
{
/* Users who can edit */
- [Rol_INS_ADM] = Usr_I_CAN,
- [Rol_SYS_ADM] = Usr_I_CAN,
+ [Rol_INS_ADM] = Usr_CAN,
+ [Rol_SYS_ADM] = Usr_CAN,
};
return Plc_ICanEditPlaces[Gbl.Usrs.Me.Role.Logged];
@@ -238,7 +238,7 @@ static Plc_Order_t Plc_GetParPlcOrder (void)
static void Plc_PutIconsListingPlaces (__attribute__((unused)) void *Args)
{
/***** Put icon to edit places *****/
- if (Plc_CheckIfICanEditPlaces () == Usr_I_CAN)
+ if (Plc_CheckIfICanEditPlaces () == Usr_CAN)
Plc_PutIconToEditPlaces ();
}
diff --git a/swad_privacy.c b/swad_privacy.c
index d9fbd31aa..9a970e955 100644
--- a/swad_privacy.c
+++ b/swad_privacy.c
@@ -249,40 +249,40 @@ Pri_Visibility_t Pri_GetParVisibility (const char *ParName,
/*********** Check if user's photo or public profile can be shown ************/
/*****************************************************************************/
-Usr_ICan_t Pri_CheckIfICanView (Pri_Visibility_t Visibility,
+Usr_Can_t Pri_CheckIfICanView (Pri_Visibility_t Visibility,
struct Usr_Data *UsrDat)
{
/***** I always can see my things *****/
if (Usr_ItsMe (UsrDat->UsrCod) == Usr_ME)
- return Usr_I_CAN;
+ return Usr_CAN;
/***** System admins always can see others' profiles *****/
if (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
- return Usr_I_CAN;
+ return Usr_CAN;
/***** Check if I can see the other's photo *****/
switch (Visibility)
{
case Pri_VISIBILITY_UNKNOWN:
- return Usr_I_CAN_NOT; // It's not me
+ return Usr_CAN_NOT; // It's not me
case Pri_VISIBILITY_USER: // Only visible
// by me and my teachers if I am a student
// or me and my students if I am a teacher
// Do both users share the same course but whit different role?
- return Enr_DB_CheckIfUsrSharesAnyOfMyCrsWithDifferentRole (UsrDat->UsrCod) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return Enr_DB_CheckIfUsrSharesAnyOfMyCrsWithDifferentRole (UsrDat->UsrCod) ? Usr_CAN :
+ Usr_CAN_NOT;
case Pri_VISIBILITY_COURSE: // Visible by users sharing courses with me
// Do both users share the same course?
- return Enr_CheckIfUsrSharesAnyOfMyCrs (UsrDat) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return Enr_CheckIfUsrSharesAnyOfMyCrs (UsrDat) ? Usr_CAN :
+ Usr_CAN_NOT;
case Pri_VISIBILITY_SYSTEM: // Visible by any user logged in platform
- return Gbl.Usrs.Me.Logged ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return Gbl.Usrs.Me.Logged ? Usr_CAN :
+ Usr_CAN_NOT;
case Pri_VISIBILITY_WORLD: // Public, visible by everyone, even unlogged visitors
- return Usr_I_CAN;
+ return Usr_CAN;
}
- return Usr_I_CAN_NOT; // Never reached. To avoid warning
+ return Usr_CAN_NOT; // Never reached. To avoid warning
}
/*****************************************************************************/
diff --git a/swad_privacy.h b/swad_privacy.h
index 9432ede05..1fed7afe5 100644
--- a/swad_privacy.h
+++ b/swad_privacy.h
@@ -65,7 +65,7 @@ Pri_Visibility_t Pri_GetVisibilityFromStr (const char *Str);
Pri_Visibility_t Pri_GetParVisibility (const char *ParName,
unsigned MaskAllowedVisibility);
-Usr_ICan_t Pri_CheckIfICanView (Pri_Visibility_t Visibility,struct Usr_Data *UsrDat);
+Usr_Can_t Pri_CheckIfICanView (Pri_Visibility_t Visibility,struct Usr_Data *UsrDat);
//-------------------------------- Figures ------------------------------------
void Pri_GetAndShowNumUsrsPerPrivacy (void);
diff --git a/swad_profile.c b/swad_profile.c
index fbd6f8cf1..38f56779a 100644
--- a/swad_profile.c
+++ b/swad_profile.c
@@ -289,7 +289,7 @@ bool Prf_ShowUsrProfile (struct Usr_Data *UsrDat)
Usr_MeOrOther_t MeOrOther = Usr_ItsMe (UsrDat->UsrCod);
/***** Check if I can see the public profile *****/
- if (Pri_CheckIfICanView (UsrDat->BaPrfVisibility,UsrDat) == Usr_I_CAN)
+ if (Pri_CheckIfICanView (UsrDat->BaPrfVisibility,UsrDat) == Usr_CAN)
{
if (Gbl.Usrs.Me.Logged)
{
@@ -314,7 +314,7 @@ bool Prf_ShowUsrProfile (struct Usr_Data *UsrDat)
Rec_ShowSharedUsrRecord (Rec_SHA_RECORD_PUBLIC,UsrDat,NULL);
/***** Extended profile *****/
- if (Pri_CheckIfICanView (UsrDat->ExPrfVisibility,UsrDat) == Usr_I_CAN)
+ if (Pri_CheckIfICanView (UsrDat->ExPrfVisibility,UsrDat) == Usr_CAN)
{
/***** Show details of user's profile *****/
Prf_ShowDetailsUserProfile (UsrDat);
@@ -1337,7 +1337,7 @@ static void Prf_ShowUsrInRanking (struct Usr_Data *UsrDat,unsigned Rank,
[PhoSha_SHAPE_OVAL ] = "PHOTOO30x40",
[PhoSha_SHAPE_RECTANGLE] = "PHOTOR30x40",
};
- Usr_ICan_t ICanView = Pri_CheckIfICanView (UsrDat->BaPrfVisibility,UsrDat);
+ Usr_Can_t ICanView = Pri_CheckIfICanView (UsrDat->BaPrfVisibility,UsrDat);
HTM_TD_Begin ("class=\"RM %s_%s %s\"",
Class[MeOrOther],
@@ -1348,7 +1348,7 @@ static void Prf_ShowUsrInRanking (struct Usr_Data *UsrDat,unsigned Rank,
/***** Check if I can see the public profile *****/
HTM_TD_Begin ("class=\"RANK_PHOTO %s\"",The_GetColorRows ());
- if (ICanView == Usr_I_CAN)
+ if (ICanView == Usr_CAN)
/***** User's photo *****/
Pho_ShowUsrPhotoIfAllowed (UsrDat,
ClassPhoto[Gbl.Prefs.PhotoShape],Pho_ZOOM);
@@ -1359,7 +1359,7 @@ static void Prf_ShowUsrInRanking (struct Usr_Data *UsrDat,unsigned Rank,
Class[MeOrOther],
The_GetSuffix (),
The_GetColorRows ());
- if (ICanView == Usr_I_CAN)
+ if (ICanView == Usr_CAN)
{
Frm_BeginForm (ActSeeOthPubPrf);
Usr_PutParUsrCodEncrypted (UsrDat->EnUsrCod);
diff --git a/swad_program.c b/swad_program.c
index 060b410e9..e48409016 100644
--- a/swad_program.c
+++ b/swad_program.c
@@ -323,11 +323,11 @@ void Prg_ShowAllItems (Prg_ListingType_t ListingType,
/******************* Check if I can create program items *********************/
/*****************************************************************************/
-Usr_ICan_t Prg_CheckIfICanEditProgram (void)
+Usr_Can_t Prg_CheckIfICanEditProgram (void)
{
return (Gbl.Usrs.Me.Role.Logged == Rol_TCH ||
- Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? Usr_CAN :
+ Usr_CAN_NOT;
}
/*****************************************************************************/
@@ -337,7 +337,7 @@ Usr_ICan_t Prg_CheckIfICanEditProgram (void)
static void Prg_PutIconsListItems (__attribute__((unused)) void *Args)
{
/***** Put icon to edit program *****/
- if (Prg_CheckIfICanEditProgram () == Usr_I_CAN)
+ if (Prg_CheckIfICanEditProgram () == Usr_CAN)
Prg_PutIconToEditProgram ();
/***** Put icon to show a figure *****/
@@ -353,7 +353,7 @@ static void Prg_PutIconsEditItems (__attribute__((unused)) void *Args)
/***** Put icon to view program *****/
Prg_PutIconToViewProgram ();
- if (Prg_CheckIfICanEditProgram () == Usr_I_CAN)
+ if (Prg_CheckIfICanEditProgram () == Usr_CAN)
{
/***** Put icon to create a new program item *****/
Prg_PutIconToCreateNewItem ();
@@ -438,7 +438,7 @@ static void Prg_WriteRowItem (Prg_ListingType_t ListingType,
[ConExp_CONTRACTED] = "", // Not expanded
[ConExp_EXPANDED ] = " rowspan=\"2\"", // Expanded
};
- HidVis_HiddenOrVisible_t HiddenOrVisible = HidVis_HIDDEN; // Initialized to avoid warning
+ HidVis_HiddenOrVisible_t HiddenOrVisible;
char *Id;
unsigned ColSpan;
unsigned NumCol;
@@ -450,12 +450,13 @@ static void Prg_WriteRowItem (Prg_ListingType_t ListingType,
Prg_SetHiddenLevel (Item->Hierarchy.Level,Item->Hierarchy.HiddenOrVisible);
switch (Item->Hierarchy.HiddenOrVisible)
{
- case HidVis_HIDDEN: // this item is marked as hidden
- HiddenOrVisible = HidVis_HIDDEN;
- break;
case HidVis_VISIBLE: // this item is not marked as hidden
HiddenOrVisible = Prg_CheckIfAnyHigherLevelIsHidden (Item->Hierarchy.Level);
break;
+ case HidVis_HIDDEN: // this item is marked as hidden
+ default:
+ HiddenOrVisible = HidVis_HIDDEN;
+ break;
}
if (ViewingOrEditingProgram[ListingType] == Vie_EDIT ||
diff --git a/swad_program.h b/swad_program.h
index a950bf331..2209df7a3 100644
--- a/swad_program.h
+++ b/swad_program.h
@@ -121,7 +121,7 @@ void Prg_EditCourseProgram (void);
void Prg_ShowAllItems (Prg_ListingType_t ListingType,
long SelectedItmCod,long SelectedRscCod);
-Usr_ICan_t Prg_CheckIfICanEditProgram (void);
+Usr_Can_t Prg_CheckIfICanEditProgram (void);
void Prg_PutParItmCod (void *ItmCod);
void Prg_GetPars (struct Prg_Item *Item);
diff --git a/swad_program_resource.c b/swad_program_resource.c
index e326738b2..8c5dfcf71 100644
--- a/swad_program_resource.c
+++ b/swad_program_resource.c
@@ -305,7 +305,7 @@ static void PrgRsc_PutIconsViewResources (void *ItmCod)
/***** Put icon to create a new item resource *****/
if (ItmCod)
if (*(long *) ItmCod > 0)
- if (Prg_CheckIfICanEditProgram () == Usr_I_CAN)
+ if (Prg_CheckIfICanEditProgram () == Usr_CAN)
Ico_PutContextualIconToView (ActFrmSeePrgRsc,PrgRsc_RESOURCE_SECTION_ID,
Prg_PutParItmCod,ItmCod);
}
@@ -315,7 +315,7 @@ static void PrgRsc_PutIconsEditResources (void *ItmCod)
/***** Put icon to create a new item resource *****/
if (ItmCod)
if (*(long *) ItmCod > 0)
- if (Prg_CheckIfICanEditProgram () == Usr_I_CAN)
+ if (Prg_CheckIfICanEditProgram () == Usr_CAN)
Ico_PutContextualIconToEdit (ActFrmEdiPrgRsc,PrgRsc_RESOURCE_SECTION_ID,
Prg_PutParItmCod,ItmCod);
}
@@ -895,7 +895,7 @@ static void PrgRsc_ShowClipboard (void)
static void PrgRsc_PutIconsClipboard (__attribute__((unused)) void *Args)
{
/***** Put icon to remove resource clipboard in program *****/
- if (Prg_CheckIfICanEditProgram () == Usr_I_CAN)
+ if (Prg_CheckIfICanEditProgram () == Usr_CAN)
if (Rsc_DB_GetNumResourcesInClipboard ()) // Only if there are resources
Ico_PutContextualIconToRemove (ActRemRscCli_InPrg,NULL,
NULL,NULL);
diff --git a/swad_project.c b/swad_project.c
index 060ac0b2e..f8dd29aee 100644
--- a/swad_project.c
+++ b/swad_project.c
@@ -189,7 +189,7 @@ static void Prj_ShowFormToFilterByWarning (const struct Prj_Projects *Projects);
static void Prj_ShowFormToFilterByReview (const struct Prj_Projects *Projects);
static void Prj_ShowFormToFilterByDpt (const struct Prj_Projects *Projects);
-static Usr_ICan_t Prj_CheckIfICanViewProjectFiles (long PrjCod);
+static Usr_Can_t Prj_CheckIfICanViewProjectFiles (long PrjCod);
static void Prj_PutParAssign (unsigned Assign);
static void Prj_PutParHidden (unsigned Hidden);
@@ -205,7 +205,7 @@ static Usr_Who_t Prj_GetParWho (void);
static void Prj_ShowProjectsHead (struct Prj_Projects *Projects);
static void Prj_ShowTableAllProjectsHead (void);
-static Usr_ICan_t Prj_CheckIfICanCreateProjects (const struct Prj_Projects *Projects);
+static Usr_Can_t Prj_CheckIfICanCreateProjects (const struct Prj_Projects *Projects);
static void Prj_PutIconToCreateNewPrj (struct Prj_Projects *Projects);
static void Prj_PutIconToShowAllData (struct Prj_Projects *Projects);
@@ -226,7 +226,7 @@ static void Prj_ShowReviewStatus (struct Prj_Projects *Projects,
const struct Prj_Faults *Faults,
const char *Anchor);
static void Prj_PutSelectorReviewStatus (struct Prj_Projects *Projects);
-static Usr_ICan_t Prj_CheckIfICanReviewProjects (void);
+static Usr_Can_t Prj_CheckIfICanReviewProjects (void);
static void Prj_ShowAssigned (const struct Prj_Projects *Projects,
const char *ClassLabel,
const char *ClassData,
@@ -288,7 +288,7 @@ static Prj_Order_t Prj_GetParPrjOrder (void);
static void Prj_PutIconsToRemEditOnePrj (struct Prj_Projects *Projects,
const char *Anchor);
-static Usr_ICan_t Prj_CheckIfICanEditProject (const struct Prj_Project *Prj);
+static Usr_Can_t Prj_CheckIfICanEditProject (const struct Prj_Project *Prj);
static void Prj_GetListProjects (struct Prj_Projects *Projects);
@@ -317,8 +317,8 @@ static Prj_ReviewStatus_t Prj_GetParReviewStatus (void);
static void Prj_ShowRubrics (struct Prj_Projects *Projects);
static void Prj_ShowRubricsOfType (struct Prj_Projects *Projects,
PrjCfg_RubricType_t RubricType);
-static Usr_ICan_t Prj_CheckIfICanViewRubric (long PrjCod,PrjCfg_RubricType_t WhichRubric);
-static Usr_ICan_t Prj_CheckIfICanFillRubric (long PrjCod,PrjCfg_RubricType_t WhichRubric);
+static Usr_Can_t Prj_CheckIfICanViewRubric (long PrjCod,PrjCfg_RubricType_t WhichRubric);
+static Usr_Can_t Prj_CheckIfICanFillRubric (long PrjCod,PrjCfg_RubricType_t WhichRubric);
/*****************************************************************************/
/******* Set/get project code (used to pass parameter to file browser) *******/
@@ -864,19 +864,19 @@ static void Prj_ShowFormToFilterByDpt (const struct Prj_Projects *Projects)
/******************** Can I view files of a given project? *******************/
/*****************************************************************************/
-static Usr_ICan_t Prj_CheckIfICanViewProjectFiles (long PrjCod)
+static Usr_Can_t Prj_CheckIfICanViewProjectFiles (long PrjCod)
{
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_STD:
case Rol_NET:
- return (Prj_GetMyRolesInProject (PrjCod) != 0) ? Usr_I_CAN : // Am I a member?
- Usr_I_CAN_NOT;
+ return (Prj_GetMyRolesInProject (PrjCod) != 0) ? Usr_CAN : // Am I a member?
+ Usr_CAN_NOT;
case Rol_TCH: // Editing teachers in a course can access to all files
case Rol_SYS_ADM:
- return Usr_I_CAN;
+ return Usr_CAN;
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
}
@@ -884,19 +884,19 @@ static Usr_ICan_t Prj_CheckIfICanViewProjectFiles (long PrjCod)
/******** Check if I have permission to view project documents zone **********/
/*****************************************************************************/
-Usr_ICan_t Prj_CheckIfICanViewProjectDocuments (long PrjCod)
+Usr_Can_t Prj_CheckIfICanViewProjectDocuments (long PrjCod)
{
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_STD:
case Rol_NET:
- return (Prj_GetMyRolesInProject (PrjCod) != 0) ? Usr_I_CAN : // Am I a member?
- Usr_I_CAN_NOT;
+ return (Prj_GetMyRolesInProject (PrjCod) != 0) ? Usr_CAN : // Am I a member?
+ Usr_CAN_NOT;
case Rol_TCH: // Editing teachers in a course can access to all files
case Rol_SYS_ADM:
- return Usr_I_CAN;
+ return Usr_CAN;
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
}
@@ -904,20 +904,20 @@ Usr_ICan_t Prj_CheckIfICanViewProjectDocuments (long PrjCod)
/******** Check if I have permission to view project assessment zone *********/
/*****************************************************************************/
-Usr_ICan_t Prj_CheckIfICanViewProjectAssessment (long PrjCod)
+Usr_Can_t Prj_CheckIfICanViewProjectAssessment (long PrjCod)
{
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_STD:
case Rol_NET:
return ((Prj_GetMyRolesInProject (PrjCod) & (1 << Prj_ROLE_TUT | // Tutor...
- 1 << Prj_ROLE_EVL)) != 0) ? Usr_I_CAN : // ...or evaluator
- Usr_I_CAN_NOT;
+ 1 << Prj_ROLE_EVL)) != 0) ? Usr_CAN : // ...or evaluator
+ Usr_CAN_NOT;
case Rol_TCH: // Editing teachers in a course can access to all files
case Rol_SYS_ADM:
- return Usr_I_CAN;
+ return Usr_CAN;
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
}
@@ -1229,18 +1229,18 @@ static void Prj_ShowTableAllProjectsHead (void)
/********************** Check if I can create projects ***********************/
/*****************************************************************************/
-static Usr_ICan_t Prj_CheckIfICanCreateProjects (const struct Prj_Projects *Projects)
+static Usr_Can_t Prj_CheckIfICanCreateProjects (const struct Prj_Projects *Projects)
{
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_NET:
- return Projects->Config.NETCanCreate ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return Projects->Config.NETCanCreate ? Usr_CAN :
+ Usr_CAN_NOT;
case Rol_TCH:
case Rol_SYS_ADM:
- return Usr_I_CAN;
+ return Usr_CAN;
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
}
@@ -1250,14 +1250,14 @@ static Usr_ICan_t Prj_CheckIfICanCreateProjects (const struct Prj_Projects *Proj
void Prj_PutIconsListProjects (void *Projects)
{
- Usr_ICan_t ICanConfigAllProjects;
+ Usr_Can_t ICanConfigAllProjects;
if (Projects)
{
ICanConfigAllProjects = PrjCfg_CheckIfICanConfig ();
/***** Put icon to create a new project *****/
- if (Prj_CheckIfICanCreateProjects ((struct Prj_Projects *) Projects) == Usr_I_CAN)
+ if (Prj_CheckIfICanCreateProjects ((struct Prj_Projects *) Projects) == Usr_CAN)
Prj_PutIconToCreateNewPrj ((struct Prj_Projects *) Projects);
if (((struct Prj_Projects *) Projects)->Num)
@@ -1265,19 +1265,19 @@ void Prj_PutIconsListProjects (void *Projects)
/***** Put icon to show all data in a table *****/
Prj_PutIconToShowAllData ((struct Prj_Projects *) Projects);
- if (ICanConfigAllProjects == Usr_I_CAN)
+ if (ICanConfigAllProjects == Usr_CAN)
/****** Put icons to request locking/unlocking edition
of all selected projects *******/
Prj_PutIconsToLockUnlockAllProjects ((struct Prj_Projects *) Projects);
}
/***** Put form to go to configuration of projects *****/
- if (ICanConfigAllProjects == Usr_I_CAN)
+ if (ICanConfigAllProjects == Usr_CAN)
Ico_PutContextualIconToConfigure (ActCfgPrj,NULL,
NULL,NULL);
/***** Link to get resource link *****/
- if (Rsc_CheckIfICanGetLink () == Usr_I_CAN)
+ if (Rsc_CheckIfICanGetLink () == Usr_CAN)
Ico_PutContextualIconToGetLink (ActReqLnkPrj,NULL,
Prj_PutCurrentPars,Projects);
@@ -1362,7 +1362,7 @@ void Prj_ShowBoxWithOneProject (struct Prj_Projects *Projects)
HTM_FIELDSET_End ();
/***** Show project file browsers *****/
- if (Prj_CheckIfICanViewProjectFiles (Projects->Prj.PrjCod) == Usr_I_CAN)
+ if (Prj_CheckIfICanViewProjectFiles (Projects->Prj.PrjCod) == Usr_CAN)
Brw_ShowFileBrowserProject (Projects->Prj.PrjCod);
/***** Show project rubrics *****/
@@ -1518,10 +1518,10 @@ static void Prj_ShowFirstRow (struct Prj_Projects *Projects,
extern const char *HidVis_DateBlueClass[HidVis_NUM_HIDDEN_VISIBLE];
extern const char *HidVis_TitleClass[HidVis_NUM_HIDDEN_VISIBLE];
extern const char *Txt_Actions[ActLst_NUM_ACTIONS];
- static Act_Action_t NextActions[Usr_NUM_I_CAN] =
+ static Act_Action_t NextActions[Usr_NUM_CAN] =
{
- [Usr_I_CAN_NOT] = ActSeeOnePrj,
- [Usr_I_CAN ] = ActAdmDocPrj,
+ [Usr_CAN_NOT] = ActSeeOnePrj,
+ [Usr_CAN ] = ActAdmDocPrj,
};
Act_Action_t NextAction;
char *Id;
@@ -1709,7 +1709,7 @@ static void Prj_ShowReviewStatus (struct Prj_Projects *Projects,
PutForm = Frm_DONT_PUT_FORM;
break;
default:
- PutForm = (Prj_CheckIfICanReviewProjects () == Usr_I_CAN) ? Frm_PUT_FORM :
+ PutForm = (Prj_CheckIfICanReviewProjects () == Usr_CAN) ? Frm_PUT_FORM :
Frm_DONT_PUT_FORM;
break;
}
@@ -1875,12 +1875,12 @@ static void Prj_PutSelectorReviewStatus (struct Prj_Projects *Projects)
/**************************** Can I review projects? *************************/
/*****************************************************************************/
-static Usr_ICan_t Prj_CheckIfICanReviewProjects (void)
+static Usr_Can_t Prj_CheckIfICanReviewProjects (void)
{
- static Usr_ICan_t ICanReviewProjects[Rol_NUM_ROLES] =
+ static Usr_Can_t ICanReviewProjects[Rol_NUM_ROLES] =
{
- [Rol_TCH ] = Usr_I_CAN,
- [Rol_SYS_ADM] = Usr_I_CAN,
+ [Rol_TCH ] = Usr_CAN,
+ [Rol_SYS_ADM] = Usr_CAN,
};
return ICanReviewProjects[Gbl.Usrs.Me.Role.Logged];
@@ -3052,7 +3052,7 @@ static void Prj_ReqRemUsrFromPrj (struct Prj_Projects *Projects,
if (Usr_GetParOtherUsrCodEncryptedAndGetUsrData ())
switch (Prj_CheckIfICanEditProject (&Projects->Prj))
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Show question and button to remove user as a role from project *****/
/* Begin alert */
Ale_ShowAlertAndButtonBegin (Ale_QUESTION,Question[Usr_ItsMe (Gbl.Usrs.Other.UsrDat.UsrCod)],
@@ -3075,7 +3075,7 @@ static void Prj_ReqRemUsrFromPrj (struct Prj_Projects *Projects,
/* End alert */
Ale_ShowAlertAndButtonEnd (ActUnk,NULL,NULL,NULL,NULL,Btn_NO_BUTTON,NULL);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ale_ShowAlertUserNotFoundOrYouDoNotHavePermission ();
break;
@@ -3132,7 +3132,7 @@ static void Prj_RemUsrFromPrj (Prj_RoleInProject_t RoleInPrj)
if (Usr_GetParOtherUsrCodEncryptedAndGetUsrData ())
switch (Prj_CheckIfICanEditProject (&Projects.Prj))
{
- case Usr_I_CAN:
+ case Usr_CAN:
/***** Remove user from the table of project-users *****/
Prj_DB_RemoveUsrFromPrj (Projects.Prj.PrjCod,RoleInPrj,Gbl.Usrs.Other.UsrDat.UsrCod);
@@ -3146,7 +3146,7 @@ static void Prj_RemUsrFromPrj (Prj_RoleInProject_t RoleInPrj)
Txt_PROJECT_ROLES_SINGUL_abc[RoleInPrj][Gbl.Usrs.Other.UsrDat.Sex],
Projects.Prj.Title);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ale_ShowAlertUserNotFoundOrYouDoNotHavePermission ();
break;
@@ -3187,7 +3187,7 @@ static void Prj_PutIconsToRemEditOnePrj (struct Prj_Projects *Projects,
[HidVis_VISIBLE] = ActHidPrj, // Visible ==> action to hide
};
- if (Prj_CheckIfICanEditProject (&Projects->Prj) == Usr_I_CAN)
+ if (Prj_CheckIfICanEditProject (&Projects->Prj) == Usr_CAN)
{
/***** Icon to remove project *****/
Ico_PutContextualIconToRemove (ActReqRemPrj,NULL,
@@ -3204,7 +3204,7 @@ static void Prj_PutIconsToRemEditOnePrj (struct Prj_Projects *Projects,
}
/***** Icon to admin project documents *****/
- if (Prj_CheckIfICanViewProjectFiles (Projects->Prj.PrjCod) == Usr_I_CAN)
+ if (Prj_CheckIfICanViewProjectFiles (Projects->Prj.PrjCod) == Usr_CAN)
Ico_PutContextualIconToViewFiles (ActAdmDocPrj,
Prj_PutCurrentPars,Projects);
@@ -3214,14 +3214,14 @@ static void Prj_PutIconsToRemEditOnePrj (struct Prj_Projects *Projects,
/***** Locked/unlocked project edition *****/
switch (PrjCfg_CheckIfICanConfig ())
{
- case Usr_I_CAN:
+ case Usr_CAN:
/* Icon to lock/unlock project edition */
HTM_DIV_Begin ("id=\"prj_lck_%ld\" class=\"PRJ_LOCK\"",
Projects->Prj.PrjCod);
Prj_FormLockUnlock (&Projects->Prj);
HTM_DIV_End ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
/* Icon to inform about locked/unlocked project edition */
Prj_PutIconOffLockedUnlocked (&Projects->Prj);
@@ -3229,7 +3229,7 @@ static void Prj_PutIconsToRemEditOnePrj (struct Prj_Projects *Projects,
}
/***** Link to get resource link *****/
- if (Rsc_CheckIfICanGetLink () == Usr_I_CAN)
+ if (Rsc_CheckIfICanGetLink () == Usr_CAN)
Ico_PutContextualIconToGetLink (ActReqLnkPrj,NULL,
Prj_PutCurrentPars,Projects);
}
@@ -3238,21 +3238,21 @@ static void Prj_PutIconsToRemEditOnePrj (struct Prj_Projects *Projects,
/************************ Can I edit a given project? ************************/
/*****************************************************************************/
-static Usr_ICan_t Prj_CheckIfICanEditProject (const struct Prj_Project *Prj)
+static Usr_Can_t Prj_CheckIfICanEditProject (const struct Prj_Project *Prj)
{
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_NET:
if (Prj->Locked == Prj_LOCKED) // Locked edition
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
return ((Prj_GetMyRolesInProject (Prj->PrjCod) &
- (1 << Prj_ROLE_TUT)) != 0) ? Usr_I_CAN : // Am I a tutor?
- Usr_I_CAN_NOT;
+ (1 << Prj_ROLE_TUT)) != 0) ? Usr_CAN : // Am I a tutor?
+ Usr_CAN_NOT;
case Rol_TCH:
case Rol_SYS_ADM:
- return Usr_I_CAN;
+ return Usr_CAN;
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
}
@@ -3517,7 +3517,7 @@ void Prj_ReqRemProject (void)
Prj_GetProjectDataByCod (&Projects.Prj);
/***** Check if I can edit this project *****/
- if (Prj_CheckIfICanEditProject (&Projects.Prj) == Usr_I_CAN_NOT)
+ if (Prj_CheckIfICanEditProject (&Projects.Prj) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Show question and button to remove the project *****/
@@ -3557,7 +3557,7 @@ void Prj_RemoveProject (void)
Prj_GetProjectDataByCod (&Projects.Prj); // Inside this function, the course is checked to be the current one
/***** Check if I can edit this project *****/
- if (Prj_CheckIfICanEditProject (&Projects.Prj) == Usr_I_CAN_NOT)
+ if (Prj_CheckIfICanEditProject (&Projects.Prj) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Remove users in project *****/
@@ -3621,7 +3621,7 @@ static void Prj_HideUnhideProject (HidVis_HiddenOrVisible_t HiddenOrVisible)
Prj_GetProjectDataByCod (&Projects.Prj);
/***** Check if I can edit this project *****/
- if (Prj_CheckIfICanEditProject (&Projects.Prj) == Usr_I_CAN_NOT)
+ if (Prj_CheckIfICanEditProject (&Projects.Prj) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Hide/unhide project *****/
@@ -3646,7 +3646,7 @@ void Prj_ReqCreatePrj (void)
Prj_ResetPrjsAndReadConfig (&Projects);
/***** Check if I can create new projects *****/
- if (Prj_CheckIfICanCreateProjects (&Projects) == Usr_I_CAN_NOT)
+ if (Prj_CheckIfICanCreateProjects (&Projects) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Get parameters *****/
@@ -4011,7 +4011,7 @@ void Prj_ReceiveProject (void)
extern const char *Txt_The_project_has_been_modified;
struct Prj_Projects Projects;
bool ItsANewProject;
- Usr_ICan_t ICanEditProject;
+ Usr_Can_t ICanEditProject;
bool NewProjectIsCorrect = true;
/***** Reset projects *****/
@@ -4040,7 +4040,7 @@ void Prj_ReceiveProject (void)
}
/* Check if I can create/edit project */
- if (ICanEditProject == Usr_I_CAN_NOT)
+ if (ICanEditProject == Usr_CAN_NOT)
Err_NoPermissionExit ();
/* Get project title */
@@ -4178,7 +4178,7 @@ void Prj_ReqLockSelectedPrjsEdition (void)
Prj_ResetPrjsAndReadConfig (&Projects);
/***** Check if I can configure projects *****/
- if (PrjCfg_CheckIfICanConfig () == Usr_I_CAN_NOT)
+ if (PrjCfg_CheckIfICanConfig () == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Get parameters *****/
@@ -4216,7 +4216,7 @@ void Prj_ReqUnloSelectedPrjsEdition (void)
Prj_ResetPrjsAndReadConfig (&Projects);
/***** Check if I can configure projects *****/
- if (PrjCfg_CheckIfICanConfig () == Usr_I_CAN_NOT)
+ if (PrjCfg_CheckIfICanConfig () == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Get parameters *****/
@@ -4257,7 +4257,7 @@ void Prj_LockSelectedPrjsEdition (void)
Prj_ResetPrjsAndReadConfig (&Projects);
/***** Check if I can configure projects *****/
- if (PrjCfg_CheckIfICanConfig () == Usr_I_CAN_NOT)
+ if (PrjCfg_CheckIfICanConfig () == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Get parameters *****/
@@ -4293,7 +4293,7 @@ void Prj_UnloSelectedPrjsEdition (void)
Prj_ResetPrjsAndReadConfig (&Projects);
/***** Check if I can configure projects *****/
- if (PrjCfg_CheckIfICanConfig () == Usr_I_CAN_NOT)
+ if (PrjCfg_CheckIfICanConfig () == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Get parameters *****/
@@ -4383,7 +4383,7 @@ void Prj_LockProjectEdition (void)
Prj_ResetPrjsAndReadConfig (&Projects);
/***** Check if I can configure projects *****/
- if (PrjCfg_CheckIfICanConfig () == Usr_I_CAN_NOT)
+ if (PrjCfg_CheckIfICanConfig () == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Allocate memory for the project *****/
@@ -4419,7 +4419,7 @@ void Prj_UnloProjectEdition (void)
Prj_ResetPrjsAndReadConfig (&Projects);
/***** Check if I can configure projects *****/
- if (PrjCfg_CheckIfICanConfig () == Usr_I_CAN_NOT)
+ if (PrjCfg_CheckIfICanConfig () == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Allocate memory for the project *****/
@@ -4455,7 +4455,7 @@ void Prj_ChangeReviewStatus (void)
Prj_ResetPrjsAndReadConfig (&Projects);
/***** Check if I can review projects *****/
- if (Prj_CheckIfICanReviewProjects () == Usr_I_CAN_NOT)
+ if (Prj_CheckIfICanReviewProjects () == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Allocate memory for the project *****/
@@ -4514,7 +4514,7 @@ static void Prj_ShowRubrics (struct Prj_Projects *Projects)
for (RubricType = (PrjCfg_RubricType_t) 1;
RubricType <= (PrjCfg_RubricType_t) (PrjCfg_NUM_RUBRIC_TYPES - 1);
RubricType++)
- if (Prj_CheckIfICanViewRubric (Projects->Prj.PrjCod,RubricType) == Usr_I_CAN)
+ if (Prj_CheckIfICanViewRubric (Projects->Prj.PrjCod,RubricType) == Usr_CAN)
Prj_ShowRubricsOfType (Projects,RubricType);
/***** End table *****/
@@ -4536,7 +4536,7 @@ static void Prj_ShowRubricsOfType (struct Prj_Projects *Projects,
unsigned NumRubricsThisType;
unsigned NumRubThisType;
struct Rub_Rubric Rubric;
- Usr_ICan_t ICanFill = Prj_CheckIfICanFillRubric (Projects->Prj.PrjCod,RubricType);
+ Usr_Can_t ICanFill = Prj_CheckIfICanFillRubric (Projects->Prj.PrjCod,RubricType);
/***** Get project rubrics for current course from database *****/
NumRubricsThisType = Prj_DB_GetRubricsOfType (&mysql_res,RubricType);
@@ -4602,7 +4602,7 @@ static void Prj_ShowRubricsOfType (struct Prj_Projects *Projects,
/************************* Who can view/fill rubrics *************************/
/*****************************************************************************/
-static Usr_ICan_t Prj_CheckIfICanViewRubric (long PrjCod,PrjCfg_RubricType_t WhichRubric)
+static Usr_Can_t Prj_CheckIfICanViewRubric (long PrjCod,PrjCfg_RubricType_t WhichRubric)
{
switch (Gbl.Usrs.Me.Role.Logged)
{
@@ -4611,26 +4611,26 @@ static Usr_ICan_t Prj_CheckIfICanViewRubric (long PrjCod,PrjCfg_RubricType_t Whi
switch (WhichRubric)
{
case PrjCfg_RUBRIC_ERR:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
case PrjCfg_RUBRIC_TUT:
case PrjCfg_RUBRIC_EVL:
return ((Prj_GetMyRolesInProject (PrjCod) & (1 << Prj_ROLE_TUT | // I am a tutor...
- 1 << Prj_ROLE_EVL)) != 0) ? Usr_I_CAN : // ...or an evaluator
- Usr_I_CAN_NOT;
+ 1 << Prj_ROLE_EVL)) != 0) ? Usr_CAN : // ...or an evaluator
+ Usr_CAN_NOT;
case PrjCfg_RUBRIC_GBL:
- return (Prj_GetMyRolesInProject (PrjCod) != 0) ? Usr_I_CAN : // I am a member
- Usr_I_CAN_NOT;
+ return (Prj_GetMyRolesInProject (PrjCod) != 0) ? Usr_CAN : // I am a member
+ Usr_CAN_NOT;
}
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
case Rol_TCH: // Editing teachers in a course can view all rubrics
case Rol_SYS_ADM:
- return Usr_I_CAN;
+ return Usr_CAN;
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
}
-static Usr_ICan_t Prj_CheckIfICanFillRubric (long PrjCod,PrjCfg_RubricType_t WhichRubric)
+static Usr_Can_t Prj_CheckIfICanFillRubric (long PrjCod,PrjCfg_RubricType_t WhichRubric)
{
switch (Gbl.Usrs.Me.Role.Logged)
{
@@ -4639,22 +4639,22 @@ static Usr_ICan_t Prj_CheckIfICanFillRubric (long PrjCod,PrjCfg_RubricType_t Whi
switch (WhichRubric)
{
case PrjCfg_RUBRIC_ERR:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
case PrjCfg_RUBRIC_TUT:
- return ((Prj_GetMyRolesInProject (PrjCod) & (1 << Prj_ROLE_TUT)) != 0) ? Usr_I_CAN : // I am a tutor
- Usr_I_CAN_NOT;
+ return ((Prj_GetMyRolesInProject (PrjCod) & (1 << Prj_ROLE_TUT)) != 0) ? Usr_CAN : // I am a tutor
+ Usr_CAN_NOT;
case PrjCfg_RUBRIC_EVL:
- return ((Prj_GetMyRolesInProject (PrjCod) & (1 << Prj_ROLE_EVL)) != 0) ? Usr_I_CAN : // Am I an evaluator
- Usr_I_CAN_NOT;
+ return ((Prj_GetMyRolesInProject (PrjCod) & (1 << Prj_ROLE_EVL)) != 0) ? Usr_CAN : // Am I an evaluator
+ Usr_CAN_NOT;
case PrjCfg_RUBRIC_GBL:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
case Rol_TCH: // Editing teachers in a course can fill all rubrics
case Rol_SYS_ADM:
- return Usr_I_CAN;
+ return Usr_CAN;
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
}
@@ -4690,10 +4690,10 @@ void Prj_ChangeCriterionScore (void)
/***** Update review *****/
switch (Prj_CheckIfICanFillRubric (Prj.PrjCod,WhichRubric))
{
- case Usr_I_CAN:
+ case Usr_CAN:
Rub_DB_UpdateScore (Rsc_PROJECT,Prj.PrjCod,-1L,CriCod,Score);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Err_NoPermission ();
break;
diff --git a/swad_project.h b/swad_project.h
index 36d9cdf7c..b5a373fbd 100644
--- a/swad_project.h
+++ b/swad_project.h
@@ -205,8 +205,8 @@ void Prj_SeeAllProjects (void);
void Prj_ShowProjects (struct Prj_Projects *Projects);
void Prj_ShowTableSelectedPrjs (void);
-Usr_ICan_t Prj_CheckIfICanViewProjectDocuments (long PrjCod);
-Usr_ICan_t Prj_CheckIfICanViewProjectAssessment (long PrjCod);
+Usr_Can_t Prj_CheckIfICanViewProjectDocuments (long PrjCod);
+Usr_Can_t Prj_CheckIfICanViewProjectAssessment (long PrjCod);
void Prj_PutCurrentPars (void *Projects);
void Prj_PutPars (struct Prj_Filter *Filter,
diff --git a/swad_project_config.c b/swad_project_config.c
index 03fb93ad8..cbe073f29 100644
--- a/swad_project_config.c
+++ b/swad_project_config.c
@@ -82,12 +82,12 @@ void PrjCfg_GetConfig (struct PrjCfg_Config *Config)
/************************ Can I configure all projects? **********************/
/*****************************************************************************/
-Usr_ICan_t PrjCfg_CheckIfICanConfig (void)
+Usr_Can_t PrjCfg_CheckIfICanConfig (void)
{
- static Usr_ICan_t ICanConfigAllProjects[Rol_NUM_ROLES] =
+ static Usr_Can_t ICanConfigAllProjects[Rol_NUM_ROLES] =
{
- [Rol_TCH ] = Usr_I_CAN,
- [Rol_SYS_ADM] = Usr_I_CAN,
+ [Rol_TCH ] = Usr_CAN,
+ [Rol_SYS_ADM] = Usr_CAN,
};
return ICanConfigAllProjects[Gbl.Usrs.Me.Role.Logged];
diff --git a/swad_project_config.h b/swad_project_config.h
index a281b24a7..9fecbc20a 100644
--- a/swad_project_config.h
+++ b/swad_project_config.h
@@ -61,7 +61,7 @@ struct PrgCfg_ListRubCods
void PrjCfg_GetConfig (struct PrjCfg_Config *Config);
-Usr_ICan_t PrjCfg_CheckIfICanConfig (void);
+Usr_Can_t PrjCfg_CheckIfICanConfig (void);
void PrjCfg_ShowFormConfig (void);
PrjCfg_RubricType_t PrjCfg_GetRubricFromString (const char *Str);
void PrjCfg_ChangeNETCanCreate (void);
diff --git a/swad_record.c b/swad_record.c
index b0388c13f..6c035015a 100644
--- a/swad_record.c
+++ b/swad_record.c
@@ -129,7 +129,7 @@ static bool Rec_GetParShowOfficeHours (void);
static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView,
struct Usr_Data *UsrDat,const char *Anchor);
static void Rec_ShowMyCrsRecordUpdated (void);
-static Usr_ICan_t Rec_CheckIfICanEditField (Rec_VisibilityRecordFields_t Visibility);
+static Usr_Can_t Rec_CheckIfICanEditField (Rec_VisibilityRecordFields_t Visibility);
static void Rec_PutIconsCommands (__attribute__((unused)) void *Args);
static void Rec_PutParsMyResults (__attribute__((unused)) void *Args);
@@ -962,7 +962,7 @@ void Rec_GetUsrAndShowRecOneStdCrs (void)
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat, // Get student's data from database
Usr_DONT_GET_PREFS,
Usr_GET_ROLE_IN_CRS))
- if (Usr_CheckIfICanViewRecordStd (&Gbl.Usrs.Other.UsrDat) == Usr_I_CAN)
+ if (Usr_CheckIfICanViewRecordStd (&Gbl.Usrs.Other.UsrDat) == Usr_CAN)
Rec_ShowRecordOneStdCrs ();
}
@@ -1185,7 +1185,7 @@ void Rec_GetUsrAndShowRecOneTchCrs (void)
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat, // Get teacher's data from database
Usr_DONT_GET_PREFS,
Usr_GET_ROLE_IN_CRS))
- if (Usr_CheckIfICanViewRecordTch (&Gbl.Usrs.Other.UsrDat) == Usr_I_CAN)
+ if (Usr_CheckIfICanViewRecordTch (&Gbl.Usrs.Other.UsrDat) == Usr_CAN)
Rec_ShowRecordOneTchCrs ();
}
@@ -1575,13 +1575,13 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView,
[Rec_CRS_PRINT_ONE_RECORD ] = NULL,
[Rec_CRS_PRINT_SEVERAL_RECORDS ] = NULL,
};
- Usr_ICan_t ICanEdit = Usr_I_CAN_NOT;
+ Usr_Can_t ICanEdit = Usr_CAN_NOT;
unsigned NumField;
MYSQL_RES *mysql_res;
MYSQL_ROW row = NULL; // Initialized to avoid warning
bool ShowField;
bool ThisFieldHasText;
- Usr_ICan_t ICanEditThisField;
+ Usr_Can_t ICanEditThisField;
char Text[Cns_MAX_BYTES_TEXT + 1];
switch (Gbl.Usrs.Me.Role.Logged)
@@ -1614,7 +1614,7 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView,
NumField++)
if (Gbl.Crs.Records.LstFields.Lst[NumField].Visibility == Rec_EDITABLE_FIELD)
{
- ICanEdit = Usr_I_CAN;
+ ICanEdit = Usr_CAN;
Frm_BeginForm (ActRcvRecCrs);
break;
}
@@ -1626,7 +1626,7 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView,
if (TypeOfView == Rec_CRS_LIST_ONE_RECORD ||
TypeOfView == Rec_CRS_LIST_SEVERAL_RECORDS)
{
- ICanEdit = Usr_I_CAN;
+ ICanEdit = Usr_CAN;
Frm_BeginFormAnchor (ActRcvRecOthUsr,Anchor);
ParCod_PutPar (ParCod_OrgAct,Act_GetActCod (ActSeeRecSevStd)); // Original action, used to know where we came from
Usr_PutParUsrCodEncrypted (UsrDat->EnUsrCod);
@@ -1682,17 +1682,17 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView,
{
case Rol_STD:
ICanEditThisField = (TypeOfView == Rec_CRS_MY_RECORD_AS_STUDENT_FORM &&
- Gbl.Crs.Records.LstFields.Lst[NumField].Visibility == Rec_EDITABLE_FIELD) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ Gbl.Crs.Records.LstFields.Lst[NumField].Visibility == Rec_EDITABLE_FIELD) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case Rol_TCH:
case Rol_SYS_ADM:
ICanEditThisField = (TypeOfView == Rec_CRS_LIST_ONE_RECORD ||
- TypeOfView == Rec_CRS_LIST_SEVERAL_RECORDS) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ TypeOfView == Rec_CRS_LIST_SEVERAL_RECORDS) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
default:
- ICanEditThisField = Usr_I_CAN_NOT;
+ ICanEditThisField = Usr_CAN_NOT;
break;
}
@@ -1700,7 +1700,7 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView,
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"REC_C1_BOT %s_%s RT %s\"",
- ICanEditThisField == Usr_I_CAN ? "FORM_IN" :
+ ICanEditThisField == Usr_CAN ? "FORM_IN" :
"REC_DAT_SMALL", // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
The_GetSuffix (),
The_GetColorRows ());
@@ -1735,7 +1735,7 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView,
The_GetColorRows ());
switch (ICanEditThisField)
{
- case Usr_I_CAN: // Show with form
+ case Usr_CAN: // Show with form
HTM_TEXTAREA_Begin ("name=\"Field%ld\" rows=\"%u\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
Gbl.Crs.Records.LstFields.Lst[NumField].FieldCod,
@@ -1745,7 +1745,7 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView,
HTM_Txt (row[0]);
HTM_TEXTAREA_End ();
break;
- case Usr_I_CAN_NOT: // Show without form
+ case Usr_CAN_NOT: // Show without form
default:
if (ThisFieldHasText)
{
@@ -1771,14 +1771,14 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView,
/***** End box *****/
switch (ICanEdit)
{
- case Usr_I_CAN:
+ case Usr_CAN:
/* End table, send button and end box */
Box_BoxTableWithButtonEnd (Btn_CONFIRM_BUTTON,Txt_Save_changes);
/* End form */
Frm_EndForm ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
/* End table and box */
Box_BoxTableEnd ();
@@ -1798,7 +1798,7 @@ void Rec_GetFieldsCrsRecordFromForm (void)
for (NumField = 0;
NumField < Gbl.Crs.Records.LstFields.Num;
NumField++)
- if (Rec_CheckIfICanEditField (Gbl.Crs.Records.LstFields.Lst[NumField].Visibility) == Usr_I_CAN)
+ if (Rec_CheckIfICanEditField (Gbl.Crs.Records.LstFields.Lst[NumField].Visibility) == Usr_CAN)
{
/* Get text from the form */
snprintf (FieldParName,sizeof (FieldParName),"Field%ld",
@@ -1820,7 +1820,7 @@ void Rec_UpdateCrsRecord (long UsrCod)
for (NumField = 0;
NumField < Gbl.Crs.Records.LstFields.Num;
NumField++)
- if (Rec_CheckIfICanEditField (Gbl.Crs.Records.LstFields.Lst[NumField].Visibility) == Usr_I_CAN)
+ if (Rec_CheckIfICanEditField (Gbl.Crs.Records.LstFields.Lst[NumField].Visibility) == Usr_CAN)
{
/***** Check if already exists this field for this user in database *****/
FieldAlreadyExists = (Rec_DB_GetFieldTxtFromUsrRecord (&mysql_res,
@@ -1876,7 +1876,7 @@ void Rec_AllocMemFieldsRecordsCrs (void)
for (NumField = 0;
NumField < Gbl.Crs.Records.LstFields.Num;
NumField++)
- if (Rec_CheckIfICanEditField (Gbl.Crs.Records.LstFields.Lst[NumField].Visibility) == Usr_I_CAN)
+ if (Rec_CheckIfICanEditField (Gbl.Crs.Records.LstFields.Lst[NumField].Visibility) == Usr_CAN)
/* Allocate memory for the texts of the fields */
if ((Gbl.Crs.Records.LstFields.Lst[NumField].Text = malloc (Cns_MAX_BYTES_TEXT + 1)) == NULL)
Err_NotEnoughMemoryExit ();
@@ -1893,7 +1893,7 @@ void Rec_FreeMemFieldsRecordsCrs (void)
for (NumField = 0;
NumField < Gbl.Crs.Records.LstFields.Num;
NumField++)
- if (Rec_CheckIfICanEditField (Gbl.Crs.Records.LstFields.Lst[NumField].Visibility) == Usr_I_CAN)
+ if (Rec_CheckIfICanEditField (Gbl.Crs.Records.LstFields.Lst[NumField].Visibility) == Usr_CAN)
/* Free memory of the text of the field */
if (Gbl.Crs.Records.LstFields.Lst[NumField].Text)
{
@@ -1906,14 +1906,14 @@ void Rec_FreeMemFieldsRecordsCrs (void)
/* Check if I can edit a field depending on my role and the field visibility */
/*****************************************************************************/
-static Usr_ICan_t Rec_CheckIfICanEditField (Rec_VisibilityRecordFields_t Visibility)
+static Usr_Can_t Rec_CheckIfICanEditField (Rec_VisibilityRecordFields_t Visibility)
{
// Non-editing teachers can not edit fields
return ( Gbl.Usrs.Me.Role.Logged == Rol_TCH ||
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM ||
(Gbl.Usrs.Me.Role.Logged == Rol_STD &&
- Visibility == Rec_EDITABLE_FIELD)) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ Visibility == Rec_EDITABLE_FIELD)) ? Usr_CAN :
+ Usr_CAN_NOT;
}
/*****************************************************************************/
@@ -2074,7 +2074,7 @@ void Rec_ShowSharedUsrRecord (Rec_SharedRecordViewType_t TypeOfView,
ViewType = Vie_EDIT;
break;
case Rec_SHA_OTHER_EXISTING_USR_FORM:
- ViewType = (Usr_ICanChangeOtherUsrData (UsrDat) == Usr_I_CAN) ? Vie_EDIT :
+ ViewType = (Usr_ICanChangeOtherUsrData (UsrDat) == Usr_CAN) ? Vie_EDIT :
Vie_VIEW;
break;
default: // In other options, I can not edit user's data
@@ -2256,7 +2256,7 @@ void Rec_ShowSharedUsrRecord (Rec_SharedRecordViewType_t TypeOfView,
{
case Usr_ME:
// Don't show groups if I don't belong to course
- if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS])
+ if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] == Usr_BELONG)
Grp_ShowLstGrpsToChgMyGrps ();
break;
case Usr_OTHER:
@@ -2289,7 +2289,7 @@ void Rec_ShowSharedUsrRecord (Rec_SharedRecordViewType_t TypeOfView,
static void Rec_PutIconsCommands (__attribute__((unused)) void *Args)
{
Usr_MeOrOther_t MeOrOther = Usr_ItsMe (Rec_Record.UsrDat->UsrCod);
- Usr_ICan_t ICanViewUsrProfile;
+ Usr_Can_t ICanViewUsrProfile;
bool RecipientHasBannedMe;
static Act_Action_t NextAction[Rol_NUM_ROLES] =
{
@@ -2372,25 +2372,25 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args)
"pen.svg",Ico_BLACK);
/***** Button to view user's profile *****/
- if (ICanViewUsrProfile == Usr_I_CAN)
+ if (ICanViewUsrProfile == Usr_CAN)
Lay_PutContextualLinkOnlyIcon (ActSeeOthPubPrf,NULL,
Rec_PutParUsrCodEncrypted,NULL,
"user.svg",Ico_BLACK);
/***** Button to view user's record card *****/
- if (Usr_CheckIfICanViewRecordStd (Rec_Record.UsrDat) == Usr_I_CAN)
+ if (Usr_CheckIfICanViewRecordStd (Rec_Record.UsrDat) == Usr_CAN)
/* View student's records: common record card and course record card */
Lay_PutContextualLinkOnlyIcon (ActSeeRecOneStd,NULL,
Rec_PutParUsrCodEncrypted,NULL,
"address-card.svg",Ico_BLACK);
- else if (Usr_CheckIfICanViewRecordTch (Rec_Record.UsrDat) == Usr_I_CAN)
+ else if (Usr_CheckIfICanViewRecordTch (Rec_Record.UsrDat) == Usr_CAN)
/* View teacher's record card and timetable */
Lay_PutContextualLinkOnlyIcon (ActSeeRecOneTch,NULL,
Rec_PutParUsrCodEncrypted,NULL,
"address-card.svg",Ico_BLACK);
/***** Button to view user's agenda *****/
- if (Agd_CheckIfICanViewUsrAgenda (Rec_Record.UsrDat) == Usr_I_CAN)
+ if (Agd_CheckIfICanViewUsrAgenda (Rec_Record.UsrDat) == Usr_CAN)
Lay_PutContextualLinkOnlyIcon (ActSeeAgd[MeOrOther],NULL,
FuncPutParsAgd[MeOrOther],NULL,
"calendar.svg",Ico_BLACK);
@@ -2411,7 +2411,7 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args)
if (Rec_Record.UsrDat->Roles.InCurrentCrs == Rol_STD) // He/she is a student in current course
{
/***** Buttons to view student's test, exam and match results *****/
- if (Usr_CheckIfICanViewTstExaMchResult (Rec_Record.UsrDat) == Usr_I_CAN)
+ if (Usr_CheckIfICanViewTstExaMchResult (Rec_Record.UsrDat) == Usr_CAN)
{
/* Test results in course */
Lay_PutContextualLinkOnlyIcon (ActSeeTstResCrs[MeOrOther],NULL,
@@ -2428,13 +2428,13 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args)
}
/***** Button to view student's assignments and works *****/
- if (Usr_CheckIfICanViewAsgWrk (Rec_Record.UsrDat) == Usr_I_CAN)
+ if (Usr_CheckIfICanViewAsgWrk (Rec_Record.UsrDat) == Usr_CAN)
Lay_PutContextualLinkOnlyIcon (ActAdmAsgWrk[MeOrOther],NULL,
FuncPutParsAdmAsgWrk[MeOrOther],NULL,
"folder-open.svg",Ico_BLACK);
/***** Button to view student's attendance *****/
- if (Usr_CheckIfICanViewAtt (Rec_Record.UsrDat) == Usr_I_CAN)
+ if (Usr_CheckIfICanViewAtt (Rec_Record.UsrDat) == Usr_CAN)
Lay_PutContextualLinkOnlyIcon (ActSeeLstAtt[MeOrOther],NULL,
FuncPutParsSeeLstAtt[MeOrOther],NULL,
"calendar-check.svg",Ico_BLACK);
@@ -2462,7 +2462,7 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args)
Lay_PutContextualLinkOnlyIcon (ActUnfUsr,NULL,
Rec_PutParUsrCodEncrypted,NULL,
"user-check.svg",Ico_BLACK); // Put button to unfollow, even if I can not view user's profile
- else if (ICanViewUsrProfile == Usr_I_CAN)
+ else if (ICanViewUsrProfile == Usr_CAN)
Lay_PutContextualLinkOnlyIcon (ActFolUsr,NULL,
Rec_PutParUsrCodEncrypted,NULL,
"user-plus.svg",Ico_BLACK); // Put button to follow
@@ -2688,13 +2688,13 @@ static void Rec_ShowEmail (struct Usr_Data *UsrDat)
if (UsrDat->Email[0])
switch (Mai_ICanSeeOtherUsrEmail (UsrDat))
{
- case Usr_I_CAN:
+ case Usr_CAN:
HTM_A_Begin ("href=\"mailto:%s\" class=\"DAT_STRONG_%s\"",
UsrDat->Email,The_GetSuffix ());
HTM_Txt (UsrDat->Email);
HTM_A_End ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
HTM_Txt ("********");
break;
diff --git a/swad_resource.c b/swad_resource.c
index acdbbae7b..9e158cf9a 100644
--- a/swad_resource.c
+++ b/swad_resource.c
@@ -472,12 +472,12 @@ bool Rsc_GetParLink (struct Rsc_Link *Link)
/************************** Check if I can get link **************************/
/*****************************************************************************/
-Usr_ICan_t Rsc_CheckIfICanGetLink (void)
+Usr_Can_t Rsc_CheckIfICanGetLink (void)
{
- static Usr_ICan_t ICanGetLink[Rol_NUM_ROLES] =
+ static Usr_Can_t ICanGetLink[Rol_NUM_ROLES] =
{
- [Rol_TCH ] = Usr_I_CAN,
- [Rol_SYS_ADM] = Usr_I_CAN,
+ [Rol_TCH ] = Usr_CAN,
+ [Rol_SYS_ADM] = Usr_CAN,
};
return ICanGetLink[Gbl.Usrs.Me.Role.Logged];
diff --git a/swad_resource.h b/swad_resource.h
index 67f965947..2d5aa580c 100644
--- a/swad_resource.h
+++ b/swad_resource.h
@@ -89,6 +89,6 @@ Rsc_Type_t Rsc_GetTypeFromString (const char *Str);
bool Rsc_GetParLink (struct Rsc_Link *Link);
-Usr_ICan_t Rsc_CheckIfICanGetLink (void);
+Usr_Can_t Rsc_CheckIfICanGetLink (void);
#endif
diff --git a/swad_role.c b/swad_role.c
index 80fbb06b5..eb52be399 100644
--- a/swad_role.c
+++ b/swad_role.c
@@ -70,11 +70,11 @@ extern struct Globals Gbl;
void Rol_SetMyRoles (void)
{
- Usr_ICan_t ICanBeAdm[Hie_NUM_LEVELS] =
+ Usr_Can_t ICanBeAdm[Hie_NUM_LEVELS] =
{
- [Hie_INS] = Usr_I_CAN_NOT,
- [Hie_CTR] = Usr_I_CAN_NOT,
- [Hie_DEG] = Usr_I_CAN_NOT,
+ [Hie_INS] = Usr_CAN_NOT,
+ [Hie_CTR] = Usr_CAN_NOT,
+ [Hie_DEG] = Usr_CAN_NOT,
};
/***** Get my role in current course if not yet filled *****/
@@ -109,90 +109,116 @@ void Rol_SetMyRoles (void)
{
/* Check if I am and administrator of current institution */
ICanBeAdm[Hie_INS] = Adm_DB_CheckIfUsrIsAdm (Gbl.Usrs.Me.UsrDat.UsrCod,
- Hie_INS) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ Hie_INS) ? Usr_CAN :
+ Usr_CAN_NOT;
if (Gbl.Hierarchy.Node[Hie_CTR].HieCod > 0)
{
/* Check if I am and administrator of current center */
ICanBeAdm[Hie_CTR] = Adm_DB_CheckIfUsrIsAdm (Gbl.Usrs.Me.UsrDat.UsrCod,
- Hie_CTR) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ Hie_CTR) ? Usr_CAN :
+ Usr_CAN_NOT;
if (Gbl.Hierarchy.Node[Hie_DEG].HieCod > 0)
/* Check if I am and administrator of current degree */
ICanBeAdm[Hie_DEG] = Adm_DB_CheckIfUsrIsAdm (Gbl.Usrs.Me.UsrDat.UsrCod,
- Hie_DEG) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ Hie_DEG) ? Usr_CAN :
+ Usr_CAN_NOT;
}
}
/***** Check if I belong to current course *****/
if (Gbl.Hierarchy.Level == Hie_CRS) // Course selected
{
- Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] = Enr_CheckIfUsrBelongsToCurrentCrs (&Gbl.Usrs.Me.UsrDat);
- if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS])
- Gbl.Usrs.Me.UsrDat.Accepted = Enr_CheckIfUsrHasAcceptedInCurrentCrs (&Gbl.Usrs.Me.UsrDat);
- else
- Gbl.Usrs.Me.UsrDat.Accepted = false;
+ Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] =
+ Enr_CheckIfUsrBelongsToCurrentCrs (&Gbl.Usrs.Me.UsrDat) ? Usr_BELONG :
+ Usr_DONT_BELONG;
+ switch (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS])
+ {
+ case Usr_BELONG:
+ Gbl.Usrs.Me.UsrDat.Accepted = Enr_CheckIfUsrHasAcceptedInCurrentCrs (&Gbl.Usrs.Me.UsrDat);
+ break;
+ case Usr_DONT_BELONG:
+ default:
+ Gbl.Usrs.Me.UsrDat.Accepted = false;
+ break;
+ }
}
else // No course selected
{
- Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] = false;
+ Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] = Usr_DONT_BELONG;
Gbl.Usrs.Me.UsrDat.Accepted = false;
}
/***** Check if I belong to current degree *****/
if (Gbl.Hierarchy.Node[Hie_DEG].HieCod > 0)
- {
- if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS])
- Gbl.Usrs.Me.IBelongToCurrent[Hie_DEG] = true;
- else
- Gbl.Usrs.Me.IBelongToCurrent[Hie_DEG] = Hie_CheckIfIBelongTo (Hie_DEG,Gbl.Hierarchy.Node[Hie_DEG].HieCod);
- }
+ switch (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS])
+ {
+ case Usr_BELONG:
+ Gbl.Usrs.Me.IBelongToCurrent[Hie_DEG] = Usr_BELONG;
+ break;
+ case Usr_DONT_BELONG:
+ default:
+ Gbl.Usrs.Me.IBelongToCurrent[Hie_DEG] = Hie_CheckIfIBelongTo (Hie_DEG,Gbl.Hierarchy.Node[Hie_DEG].HieCod);
+ break;
+ }
else
- Gbl.Usrs.Me.IBelongToCurrent[Hie_DEG] = false;
+ Gbl.Usrs.Me.IBelongToCurrent[Hie_DEG] = Usr_DONT_BELONG;
/***** Check if I belong to current center *****/
if (Gbl.Hierarchy.Node[Hie_CTR].HieCod > 0)
- {
- if (Gbl.Usrs.Me.IBelongToCurrent[Hie_DEG])
- Gbl.Usrs.Me.IBelongToCurrent[Hie_CTR] = true;
- else
- Gbl.Usrs.Me.IBelongToCurrent[Hie_CTR] = Hie_CheckIfIBelongTo (Hie_CTR,Gbl.Hierarchy.Node[Hie_CTR].HieCod);
- }
+ switch (Gbl.Usrs.Me.IBelongToCurrent[Hie_DEG])
+ {
+ case Usr_BELONG:
+ Gbl.Usrs.Me.IBelongToCurrent[Hie_CTR] = Usr_BELONG;
+ break;
+ case Usr_DONT_BELONG:
+ default:
+ Gbl.Usrs.Me.IBelongToCurrent[Hie_CTR] = Hie_CheckIfIBelongTo (Hie_CTR,Gbl.Hierarchy.Node[Hie_CTR].HieCod);
+ break;
+ }
else
- Gbl.Usrs.Me.IBelongToCurrent[Hie_CTR] = false;
+ Gbl.Usrs.Me.IBelongToCurrent[Hie_CTR] = Usr_DONT_BELONG;
/***** Check if I belong to current institution *****/
if (Gbl.Hierarchy.Node[Hie_INS].HieCod > 0)
- {
- if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CTR])
- Gbl.Usrs.Me.IBelongToCurrent[Hie_INS] = true;
- else
- Gbl.Usrs.Me.IBelongToCurrent[Hie_INS] = Hie_CheckIfIBelongTo (Hie_INS,Gbl.Hierarchy.Node[Hie_INS].HieCod);
- }
+ switch (Gbl.Usrs.Me.IBelongToCurrent[Hie_CTR])
+ {
+ case Usr_BELONG:
+ Gbl.Usrs.Me.IBelongToCurrent[Hie_INS] = Usr_BELONG;
+ break;
+ case Usr_DONT_BELONG:
+ default:
+ Gbl.Usrs.Me.IBelongToCurrent[Hie_INS] = Hie_CheckIfIBelongTo (Hie_INS,
+ Gbl.Hierarchy.Node[Hie_INS].HieCod);
+ break;
+ }
else
- Gbl.Usrs.Me.IBelongToCurrent[Hie_INS] = false;
+ Gbl.Usrs.Me.IBelongToCurrent[Hie_INS] = Usr_DONT_BELONG;
/***** Build my list of available roles for current course *****/
if (Gbl.Hierarchy.Level == Hie_CRS)
- {
- if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS])
- Gbl.Usrs.Me.Role.Available = (1 << Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs);
- else if (Gbl.Usrs.Me.Role.Max >= Rol_STD)
- Gbl.Usrs.Me.Role.Available = (1 << Rol_USR);
- else
- Gbl.Usrs.Me.Role.Available = (1 << Rol_GST);
- }
+ switch (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS])
+ {
+ case Usr_BELONG:
+ Gbl.Usrs.Me.Role.Available = (1 << Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs);
+ break;
+ case Usr_DONT_BELONG:
+ default:
+ if (Gbl.Usrs.Me.Role.Max >= Rol_STD)
+ Gbl.Usrs.Me.Role.Available = (1 << Rol_USR);
+ else
+ Gbl.Usrs.Me.Role.Available = (1 << Rol_GST);
+ break;
+ }
else if (Gbl.Usrs.Me.Role.Max >= Rol_STD)
Gbl.Usrs.Me.Role.Available = (1 << Rol_USR);
else
Gbl.Usrs.Me.Role.Available = (1 << Rol_GST);
- if (ICanBeAdm[Hie_INS] == Usr_I_CAN)
+ if (ICanBeAdm[Hie_INS] == Usr_CAN)
Gbl.Usrs.Me.Role.Available |= (1 << Rol_INS_ADM);
- if (ICanBeAdm[Hie_CTR] == Usr_I_CAN)
+ if (ICanBeAdm[Hie_CTR] == Usr_CAN)
Gbl.Usrs.Me.Role.Available |= (1 << Rol_CTR_ADM);
- if (ICanBeAdm[Hie_DEG] == Usr_I_CAN)
+ if (ICanBeAdm[Hie_DEG] == Usr_CAN)
Gbl.Usrs.Me.Role.Available |= (1 << Rol_DEG_ADM);
if (Usr_CheckIfUsrIsSuperuser (Gbl.Usrs.Me.UsrDat.UsrCod))
Gbl.Usrs.Me.Role.Available |= (1 << Rol_SYS_ADM);
diff --git a/swad_room.c b/swad_room.c
index 27e906d07..a0f416363 100644
--- a/swad_room.c
+++ b/swad_room.c
@@ -97,7 +97,7 @@ static void Roo_GetAndListMACAddresses (long RooCod);
static void Roo_GetAndEditMACAddresses (long RooCod,const char *Anchor);
static Roo_Order_t Roo_GetParRoomOrder (void);
-static Usr_ICan_t Roo_CheckIfICanCreateRooms (void);
+static Usr_Can_t Roo_CheckIfICanCreateRooms (void);
static void Roo_PutIconsListingRooms (__attribute__((unused)) void *Args);
static void Roo_PutIconToEditRooms (void);
static void Roo_PutIconsEditingRooms (__attribute__((unused)) void *Args);
@@ -377,10 +377,10 @@ static Roo_Order_t Roo_GetParRoomOrder (void)
/*********************** Check if I can create rooms *************************/
/*****************************************************************************/
-static Usr_ICan_t Roo_CheckIfICanCreateRooms (void)
+static Usr_Can_t Roo_CheckIfICanCreateRooms (void)
{
- return (Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return (Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM) ? Usr_CAN :
+ Usr_CAN_NOT;
}
/*****************************************************************************/
@@ -390,7 +390,7 @@ static Usr_ICan_t Roo_CheckIfICanCreateRooms (void)
static void Roo_PutIconsListingRooms (__attribute__((unused)) void *Args)
{
/***** Put icon to edit rooms *****/
- if (Roo_CheckIfICanCreateRooms () == Usr_I_CAN)
+ if (Roo_CheckIfICanCreateRooms () == Usr_CAN)
Roo_PutIconToEditRooms ();
}
diff --git a/swad_room_database.c b/swad_room_database.c
index adf4ee57c..2884f5696 100644
--- a/swad_room_database.c
+++ b/swad_room_database.c
@@ -396,7 +396,7 @@ long Roo_DB_CheckIn (long RooCod)
/********************** Check if I can see user's location *******************/
/*****************************************************************************/
-Usr_ICan_t Roo_DB_CheckIfICanSeeUsrLocation (long UsrCod)
+Usr_Can_t Roo_DB_CheckIfICanSeeUsrLocation (long UsrCod)
{
/*
I can only consult the location of another user
@@ -426,8 +426,8 @@ Usr_ICan_t Roo_DB_CheckIfICanSeeUsrLocation (long UsrCod)
" AND crs_courses.DegCod=deg_degrees.DegCod) AS C2" // centers of user's courses
" WHERE C1.CtrCod=C2.CtrCod)",
Gbl.Usrs.Me.UsrDat.UsrCod,
- UsrCod) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ UsrCod) ? Usr_CAN :
+ Usr_CAN_NOT;
}
/*****************************************************************************/
diff --git a/swad_room_database.h b/swad_room_database.h
index e18c323d7..1a26252a6 100644
--- a/swad_room_database.h
+++ b/swad_room_database.h
@@ -55,7 +55,7 @@ void Roo_DB_RemoveAllRoomsInCtr (long CtrCod);
//--------------------------------- Check in ----------------------------------
long Roo_DB_CheckIn (long RooCod);
-Usr_ICan_t Roo_DB_CheckIfICanSeeUsrLocation (long UsrCod);
+Usr_Can_t Roo_DB_CheckIfICanSeeUsrLocation (long UsrCod);
unsigned Roo_DB_GetUsrLastLocation (MYSQL_RES **mysql_res,long UsrCod);
unsigned Roo_DB_GetLocationByMAC (MYSQL_RES **mysql_res,unsigned long long MACnum);
diff --git a/swad_rubric.c b/swad_rubric.c
index fe07ddd9b..37aa1ae92 100644
--- a/swad_rubric.c
+++ b/swad_rubric.c
@@ -228,12 +228,12 @@ void Rub_ListAllRubrics (struct Rub_Rubrics *Rubrics)
/************************ Check if I can edit rubrics ************************/
/*****************************************************************************/
-Usr_ICan_t Rub_CheckIfICanEditRubrics (void)
+Usr_Can_t Rub_CheckIfICanEditRubrics (void)
{
- static Usr_ICan_t ICanEditRubrics[Rol_NUM_ROLES] =
+ static Usr_Can_t ICanEditRubrics[Rol_NUM_ROLES] =
{
- [Rol_TCH ] = Usr_I_CAN,
- [Rol_SYS_ADM] = Usr_I_CAN,
+ [Rol_TCH ] = Usr_CAN,
+ [Rol_SYS_ADM] = Usr_CAN,
};
return ICanEditRubrics[Gbl.Usrs.Me.Role.Logged];
@@ -245,7 +245,7 @@ Usr_ICan_t Rub_CheckIfICanEditRubrics (void)
bool Rub_CheckIfEditable (void)
{
- if (Rub_CheckIfICanEditRubrics () == Usr_I_CAN)
+ if (Rub_CheckIfICanEditRubrics () == Usr_CAN)
{
/***** Rubric is editable only if ... *****/
// TODO: Change to control that a rubric is not edited in some circunstances?
@@ -267,7 +267,7 @@ static void Rub_PutIconsListRubrics (void *Rubrics)
{
if (Rubrics)
{
- if (Rub_CheckIfICanEditRubrics () == Usr_I_CAN)
+ if (Rub_CheckIfICanEditRubrics () == Usr_CAN)
{
/***** Put icon to create a new rubric *****/
Rub_PutIconToCreateNewRubric ((struct Rub_Rubrics *) Rubrics);
@@ -277,7 +277,7 @@ static void Rub_PutIconsListRubrics (void *Rubrics)
}
/***** Link to get resource link *****/
- if (Rsc_CheckIfICanGetLink () == Usr_I_CAN)
+ if (Rsc_CheckIfICanGetLink () == Usr_CAN)
Ico_PutContextualIconToGetLink (ActReqLnkRub,NULL,Rub_PutPars,Rubrics);
/***** Put icon to show a figure *****/
@@ -477,7 +477,7 @@ static void Rub_PutIconsEditingOneRubric (void *Rubrics)
static void Rub_PutIconsToRemEditOneRubric (struct Rub_Rubrics *Rubrics)
{
- if (Rub_CheckIfICanEditRubrics () == Usr_I_CAN)
+ if (Rub_CheckIfICanEditRubrics () == Usr_CAN)
{
/***** Icon to remove rubric *****/
Ico_PutContextualIconToRemove (ActReqRemRub,NULL,Rub_PutPars,Rubrics);
@@ -486,7 +486,7 @@ static void Rub_PutIconsToRemEditOneRubric (struct Rub_Rubrics *Rubrics)
Ico_PutContextualIconToEdit (ActEdiOneRub,NULL,Rub_PutPars,Rubrics);
/***** Link to get resource link *****/
- if (Rsc_CheckIfICanGetLink () == Usr_I_CAN)
+ if (Rsc_CheckIfICanGetLink () == Usr_CAN)
Ico_PutContextualIconToGetLink (ActReqLnkRub,NULL,Rub_PutPars,Rubrics);
}
}
@@ -648,7 +648,7 @@ void Rub_AskRemRubric (void)
/***** Get data of the rubric from database *****/
Rub_GetRubricDataByCod (&Rubrics.Rubric);
- if (Rub_CheckIfICanEditRubrics () == Usr_I_CAN_NOT)
+ if (Rub_CheckIfICanEditRubrics () == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Show criterion and button to remove rubric *****/
@@ -682,7 +682,7 @@ void Rub_RemoveRubric (void)
/***** Get data of the rubric from database *****/
Rub_GetRubricDataByCod (&Rubrics.Rubric);
- if (Rub_CheckIfICanEditRubrics () == Usr_I_CAN_NOT)
+ if (Rub_CheckIfICanEditRubrics () == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Remove rubric from all tables *****/
@@ -734,7 +734,7 @@ void Rub_ReqCreatOrEditRubric (void)
Rub_ExistingNewRubric_t ExistingNewRubric;
/***** Check if I can edit rubrics *****/
- if (Rub_CheckIfICanEditRubrics () == Usr_I_CAN_NOT)
+ if (Rub_CheckIfICanEditRubrics () == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Reset rubrics context *****/
@@ -906,7 +906,7 @@ void Rub_ReceiveRubric (void)
Rub_ExistingNewRubric_t ExistingNewRubric;
/***** Check if I can edit rubrics *****/
- if (Rub_CheckIfICanEditRubrics () == Usr_I_CAN_NOT)
+ if (Rub_CheckIfICanEditRubrics () == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Reset rubrics context *****/
diff --git a/swad_rubric.h b/swad_rubric.h
index 42e5181a6..fa710708b 100644
--- a/swad_rubric.h
+++ b/swad_rubric.h
@@ -54,7 +54,7 @@ void Rub_RubricDestructor (struct Rub_Rubric *Rubric);
void Rub_SeeAllRubrics (void);
void Rub_ListAllRubrics (struct Rub_Rubrics *Rubrics);
-Usr_ICan_t Rub_CheckIfICanEditRubrics (void);
+Usr_Can_t Rub_CheckIfICanEditRubrics (void);
bool Rub_CheckIfEditable (void);
void Rub_SeeOneRubric (void);
void Rub_ShowOnlyOneRubric (struct Rub_Rubrics *Rubrics);
diff --git a/swad_rubric_criteria.c b/swad_rubric_criteria.c
index 713254476..be972efa2 100644
--- a/swad_rubric_criteria.c
+++ b/swad_rubric_criteria.c
@@ -527,8 +527,8 @@ void RubCri_ListCriteriaForEdition (struct Rub_Rubrics *Rubrics)
MYSQL_RES *mysql_res;
unsigned MaxCriInd;
unsigned NumCriteria;
- Usr_ICan_t ICanEditCriteria = Rub_CheckIfEditable () ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ Usr_Can_t ICanEditCriteria = Rub_CheckIfEditable () ? Usr_CAN :
+ Usr_CAN_NOT;
/***** Get maximum criterion index *****/
MaxCriInd = Rub_DB_GetMaxCriterionIndexInRubric (Rubrics->Rubric.RubCod);
@@ -547,7 +547,7 @@ void RubCri_ListCriteriaForEdition (struct Rub_Rubrics *Rubrics)
NumCriteria,mysql_res);
/***** Put forms to create/edit a criterion *****/
- if (ICanEditCriteria == Usr_I_CAN)
+ if (ICanEditCriteria == Usr_CAN)
RubCri_PutFormNewCriterion (Rubrics,MaxCriInd);
/***** End box *****/
@@ -562,7 +562,7 @@ void RubCri_ListCriteriaForEdition (struct Rub_Rubrics *Rubrics)
/*****************************************************************************/
void RubCri_ListCriteriaInProject (struct Prj_Projects *Projects,long RubCod,
- Usr_ICan_t ICanFill)
+ Usr_Can_t ICanFill)
{
MYSQL_RES *mysql_res;
unsigned NumCriteria;
diff --git a/swad_rubric_criteria.h b/swad_rubric_criteria.h
index 77bd55673..6f9184a02 100644
--- a/swad_rubric_criteria.h
+++ b/swad_rubric_criteria.h
@@ -45,7 +45,7 @@ void RubCri_ChangeWeight (void);
void RubCri_ListCriteriaForSeeing (const struct Rub_Rubrics *Rubrics);
void RubCri_ListCriteriaForEdition (struct Rub_Rubrics *Rubrics);
void RubCri_ListCriteriaInProject (struct Prj_Projects *Projects,long RubCod,
- Usr_ICan_t ICanFill);
+ Usr_Can_t ICanFill);
void Rub_PushRubCod (struct Rub_Node **TOS,long RubCod);
void Rub_PopRubCod (struct Rub_Node **TOS);
diff --git a/swad_rubric_resource.c b/swad_rubric_resource.c
index 1b85b8911..e62611eaa 100644
--- a/swad_rubric_resource.c
+++ b/swad_rubric_resource.c
@@ -114,7 +114,7 @@ static void RubRsc_ShowClipboard (void)
static void RubRsc_PutIconsClipboard (__attribute__((unused)) void *Args)
{
/***** Put icon to remove resource clipboard in rubrics *****/
- if (Rub_CheckIfICanEditRubrics () == Usr_I_CAN)
+ if (Rub_CheckIfICanEditRubrics () == Usr_CAN)
if (Rsc_DB_GetNumResourcesInClipboard ()) // Only if there are resources
Ico_PutContextualIconToRemove (ActRemRscCli_InRub,NULL,
NULL,NULL);
diff --git a/swad_search.c b/swad_search.c
index aff79565c..49ad5a226 100644
--- a/swad_search.c
+++ b/swad_search.c
@@ -74,7 +74,7 @@ static struct Sch_Search Sch_Search =
/*****************************************************************************/
static void Sch_PutFormToSearchWithWhatToSearchAndScope (Hie_Level_t DefaultScope);
-static Usr_ICan_t Sch_CheckIfICanSearch (Sch_WhatToSearch_t WhatToSearch);
+static Usr_Can_t Sch_CheckIfICanSearch (Sch_WhatToSearch_t WhatToSearch);
static void Sch_GetParSearchStr (void);
static void Sch_SearchInDB (void);
@@ -190,7 +190,7 @@ static void Sch_PutFormToSearchWithWhatToSearchAndScope (Hie_Level_t DefaultScop
for (WhatToSearch = (Sch_WhatToSearch_t) 0;
WhatToSearch <= (Sch_WhatToSearch_t) (Sch_NUM_WHAT_TO_SEARCH - 1);
WhatToSearch++)
- if (Sch_CheckIfICanSearch (WhatToSearch) == Usr_I_CAN)
+ if (Sch_CheckIfICanSearch (WhatToSearch) == Usr_CAN)
{
WTS = (unsigned) WhatToSearch;
HTM_OPTION (HTM_Type_UNSIGNED,&WTS,
@@ -222,7 +222,7 @@ static void Sch_PutFormToSearchWithWhatToSearchAndScope (Hie_Level_t DefaultScop
/************* Check if I have permission to execute an action ***************/
/*****************************************************************************/
-static Usr_ICan_t Sch_CheckIfICanSearch (Sch_WhatToSearch_t WhatToSearch)
+static Usr_Can_t Sch_CheckIfICanSearch (Sch_WhatToSearch_t WhatToSearch)
{
static unsigned Permissions[Sch_NUM_WHAT_TO_SEARCH] =
{
@@ -242,8 +242,8 @@ static Usr_ICan_t Sch_CheckIfICanSearch (Sch_WhatToSearch_t WhatToSearch)
[Sch_SEARCH_MY_DOCUMENTS ] = 0x3FE, // Only if I am logged
};
- return (Permissions[WhatToSearch] & (1 << Gbl.Usrs.Me.Role.Logged)) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return (Permissions[WhatToSearch] & (1 << Gbl.Usrs.Me.Role.Logged)) ? Usr_CAN :
+ Usr_CAN_NOT;
}
/*****************************************************************************/
@@ -489,7 +489,7 @@ static unsigned Sch_SearchCountrsInDB (const char *RangeQuery)
Gbl.Scope.Current != Hie_DEG &&
Gbl.Scope.Current != Hie_CRS)
/***** Check user's permission *****/
- if (Sch_CheckIfICanSearch (Sch_SEARCH_COUNTRIES) == Usr_I_CAN)
+ if (Sch_CheckIfICanSearch (Sch_SEARCH_COUNTRIES) == Usr_CAN)
{
/***** Split countries string into words *****/
snprintf (FldName,sizeof (FldName),"Name_%s",
@@ -524,7 +524,7 @@ static unsigned Sch_SearchInstitsInDB (const char *RangeQuery)
Gbl.Scope.Current != Hie_DEG &&
Gbl.Scope.Current != Hie_CRS)
/***** Check user's permission *****/
- if (Sch_CheckIfICanSearch (Sch_SEARCH_INSTITS) == Usr_I_CAN)
+ if (Sch_CheckIfICanSearch (Sch_SEARCH_INSTITS) == Usr_CAN)
/***** Split institutions string into words *****/
if (Sch_BuildSearchQuery (SearchQuery,Sch_GetSearch (),
"ins_instits.FullName",NULL,NULL))
@@ -553,7 +553,7 @@ static unsigned Sch_SearchCentersInDB (const char *RangeQuery)
if (Gbl.Scope.Current != Hie_DEG &&
Gbl.Scope.Current != Hie_CRS)
/***** Check user's permission *****/
- if (Sch_CheckIfICanSearch (Sch_SEARCH_CENTERS) == Usr_I_CAN)
+ if (Sch_CheckIfICanSearch (Sch_SEARCH_CENTERS) == Usr_CAN)
/***** Split center string into words *****/
if (Sch_BuildSearchQuery (SearchQuery,Sch_GetSearch (),
"ctr_centers.FullName",NULL,NULL))
@@ -581,7 +581,7 @@ static unsigned Sch_SearchDegreesInDB (const char *RangeQuery)
/***** Check scope *****/
if (Gbl.Scope.Current != Hie_CRS)
/***** Check user's permission *****/
- if (Sch_CheckIfICanSearch (Sch_SEARCH_DEGREES) == Usr_I_CAN)
+ if (Sch_CheckIfICanSearch (Sch_SEARCH_DEGREES) == Usr_CAN)
/***** Split degree string into words *****/
if (Sch_BuildSearchQuery (SearchQuery,Sch_GetSearch (),
"deg_degrees.FullName",NULL,NULL))
@@ -607,7 +607,7 @@ static unsigned Sch_SearchCoursesInDB (const char *RangeQuery)
unsigned NumCrss;
/***** Check user's permission *****/
- if (Sch_CheckIfICanSearch (Sch_SEARCH_COURSES) == Usr_I_CAN)
+ if (Sch_CheckIfICanSearch (Sch_SEARCH_COURSES) == Usr_CAN)
/***** Split course string into words *****/
if (Sch_BuildSearchQuery (SearchQuery,Sch_GetSearch (),
"crs_courses.FullName",NULL,NULL))
@@ -663,7 +663,7 @@ static unsigned Sch_SearchOpenDocumentsInDB (const char *RangeQuery)
unsigned NumDocs;
/***** Check user's permission *****/
- if (Sch_CheckIfICanSearch (Sch_SEARCH_OPEN_DOCUMENTS) == Usr_I_CAN)
+ if (Sch_CheckIfICanSearch (Sch_SEARCH_OPEN_DOCUMENTS) == Usr_CAN)
/***** Split document string into words *****/
if (Sch_BuildSearchQuery (SearchQuery,Sch_GetSearch (),
"SUBSTRING_INDEX(brw_files.Path,'/',-1)",
@@ -696,7 +696,7 @@ static unsigned Sch_SearchDocumentsInMyCoursesInDB (const char *RangeQuery)
unsigned NumDocs;
/***** Check user's permission *****/
- if (Sch_CheckIfICanSearch (Sch_SEARCH_DOCUM_IN_MY_COURSES) == Usr_I_CAN)
+ if (Sch_CheckIfICanSearch (Sch_SEARCH_DOCUM_IN_MY_COURSES) == Usr_CAN)
/***** Split document string into words *****/
if (Sch_BuildSearchQuery (SearchQuery,Sch_GetSearch (),
"SUBSTRING_INDEX(brw_files.Path,'/',-1)",
@@ -729,7 +729,7 @@ static unsigned Sch_SearchMyDocumentsInDB (const char *RangeQuery)
unsigned NumDocs;
/***** Check user's permission *****/
- if (Sch_CheckIfICanSearch (Sch_SEARCH_MY_DOCUMENTS) == Usr_I_CAN)
+ if (Sch_CheckIfICanSearch (Sch_SEARCH_MY_DOCUMENTS) == Usr_CAN)
/***** Split document string into words *****/
if (Sch_BuildSearchQuery (SearchQuery,Sch_GetSearch (),
"SUBSTRING_INDEX(brw_files.Path,'/',-1)",
diff --git a/swad_statistic.c b/swad_statistic.c
index 3c5535531..4ec91b16f 100644
--- a/swad_statistic.c
+++ b/swad_statistic.c
@@ -791,7 +791,7 @@ static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
Sta_ClicksDetailedOrGrouped_t DetailedOrGrouped = Sta_CLICKS_GROUPED;
char BrowserTimeZone[Dat_MAX_BYTES_TIME_ZONE + 1];
unsigned NumDays;
- Usr_ICan_t ICanQueryWholeRange;
+ Usr_Can_t ICanQueryWholeRange;
unsigned NumUsrsInList = 0;
long *LstSelectedUsrCods = NULL;
@@ -943,9 +943,9 @@ static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
Gbl.Scope.Current == Hie_CTR ||
Gbl.Scope.Current == Hie_DEG ||
Gbl.Scope.Current == Hie_CRS)) ||
- Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
- if (ICanQueryWholeRange == Usr_I_CAN_NOT &&
+ Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? Usr_CAN :
+ Usr_CAN_NOT;
+ if (ICanQueryWholeRange == Usr_CAN_NOT &&
NumDays > Cfg_DAYS_IN_RECENT_LOG)
{
/* ...write warning message and show the form again */
diff --git a/swad_survey.c b/swad_survey.c
index 1fd88fc44..e62896b3a 100644
--- a/swad_survey.c
+++ b/swad_survey.c
@@ -75,7 +75,7 @@ extern struct Globals Gbl;
/***************************** Private prototypes ****************************/
/*****************************************************************************/
-static Usr_ICan_t Svy_CheckIfICanCreateSvy (void);
+static Usr_Can_t Svy_CheckIfICanCreateSvy (void);
static void Svy_PutIconsListSurveys (void *Surveys);
static void Svy_PutIconToCreateNewSvy (struct Svy_Surveys *Surveys);
static void Svy_PutParsToCreateNewSvy (void *Surveys);
@@ -223,8 +223,8 @@ void Svy_ListAllSurveys (struct Svy_Surveys *Surveys)
HTM_TABLE_Begin ("TBL_SCROLL");
HTM_TR_Begin (NULL);
- if (Surveys->Svy.Status.ICanEdit ||
- Rsc_CheckIfICanGetLink () == Usr_I_CAN)
+ if (Surveys->Svy.Status.ICanEdit == Usr_CAN ||
+ Rsc_CheckIfICanGetLink () == Usr_CAN)
HTM_TH_Span (NULL,HTM_HEAD_CENTER,1,1,"CONTEXT_COL"); // Column for contextual icons
for (Order = (Dat_StartEndTime_t) 0;
@@ -287,15 +287,15 @@ void Svy_ListAllSurveys (struct Svy_Surveys *Surveys)
/******************* Check if I can create a new survey **********************/
/*****************************************************************************/
-static Usr_ICan_t Svy_CheckIfICanCreateSvy (void)
+static Usr_Can_t Svy_CheckIfICanCreateSvy (void)
{
- static Usr_ICan_t ICanCreateSvy[Rol_NUM_ROLES] =
+ static Usr_Can_t ICanCreateSvy[Rol_NUM_ROLES] =
{
- [Rol_TCH ] = Usr_I_CAN,
- [Rol_DEG_ADM] = Usr_I_CAN,
- [Rol_CTR_ADM] = Usr_I_CAN,
- [Rol_INS_ADM] = Usr_I_CAN,
- [Rol_SYS_ADM] = Usr_I_CAN,
+ [Rol_TCH ] = Usr_CAN,
+ [Rol_DEG_ADM] = Usr_CAN,
+ [Rol_CTR_ADM] = Usr_CAN,
+ [Rol_INS_ADM] = Usr_CAN,
+ [Rol_SYS_ADM] = Usr_CAN,
};
return ICanCreateSvy[Gbl.Usrs.Me.Role.Logged];
@@ -308,11 +308,11 @@ static Usr_ICan_t Svy_CheckIfICanCreateSvy (void)
static void Svy_PutIconsListSurveys (void *Surveys)
{
/***** Put icon to create a new survey *****/
- if (Svy_CheckIfICanCreateSvy () == Usr_I_CAN)
+ if (Svy_CheckIfICanCreateSvy () == Usr_CAN)
Svy_PutIconToCreateNewSvy ((struct Svy_Surveys *) Surveys);
/***** Put icon to get resource link *****/
- if (Rsc_CheckIfICanGetLink () == Usr_I_CAN)
+ if (Rsc_CheckIfICanGetLink () == Usr_CAN)
Ico_PutContextualIconToGetLink (ActReqLnkSvy,NULL,Svy_PutPars,Surveys);
/***** Put icon to show a figure *****/
@@ -436,8 +436,8 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys,
{
HTM_TD_Begin ("rowspan=\"2\" class=\"CONTEXT_COL %s\"",
The_GetColorRows ());
- if (Surveys->Svy.Status.ICanEdit ||
- Rsc_CheckIfICanGetLink () == Usr_I_CAN)
+ if (Surveys->Svy.Status.ICanEdit == Usr_CAN ||
+ Rsc_CheckIfICanGetLink () == Usr_CAN)
Svy_PutFormsToRemEditOneSvy (Surveys,Anchor);
HTM_TD_End ();
}
@@ -527,36 +527,41 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys,
if (!ShowOnlyThisSvyComplete)
{
/* Possible button to answer this survey */
- if (Surveys->Svy.Status.ICanAnswer)
+ switch (Surveys->Svy.Status.ICanAnswer)
{
- HTM_DIV_Begin ("class=\"BUTTONS_AFTER_ALERT\"");
+ case Usr_CAN:
+ HTM_DIV_Begin ("class=\"BUTTONS_AFTER_ALERT\"");
- Frm_BeginForm (ActSeeOneSvy);
- ParCod_PutPar (ParCod_Svy,Surveys->Svy.SvyCod);
- Svy_PutParSvyOrder (Surveys->SelectedOrder);
- WhichGroups = Grp_GetParWhichGroups ();
- Grp_PutParWhichGroups (&WhichGroups);
- Pag_PutParPagNum (Pag_SURVEYS,Surveys->CurrentPage);
- Btn_PutCreateButtonInline (Txt_Answer_survey);
- Frm_EndForm ();
+ Frm_BeginForm (ActSeeOneSvy);
+ ParCod_PutPar (ParCod_Svy,Surveys->Svy.SvyCod);
+ Svy_PutParSvyOrder (Surveys->SelectedOrder);
+ WhichGroups = Grp_GetParWhichGroups ();
+ Grp_PutParWhichGroups (&WhichGroups);
+ Pag_PutParPagNum (Pag_SURVEYS,Surveys->CurrentPage);
+ Btn_PutCreateButtonInline (Txt_Answer_survey);
+ Frm_EndForm ();
- HTM_DIV_End ();
- }
- /* Possible button to see the result of the survey */
- else if (Surveys->Svy.Status.ICanViewResults)
- {
- HTM_DIV_Begin ("class=\"BUTTONS_AFTER_ALERT\"");
+ HTM_DIV_End ();
+ break;
+ case Usr_CAN_NOT:
+ default:
+ /* Possible button to see the result of the survey */
+ if (Surveys->Svy.Status.ICanViewResults == Usr_CAN)
+ {
+ HTM_DIV_Begin ("class=\"BUTTONS_AFTER_ALERT\"");
- Frm_BeginForm (ActSeeOneSvy);
- ParCod_PutPar (ParCod_Svy,Surveys->Svy.SvyCod);
- Svy_PutParSvyOrder (Surveys->SelectedOrder);
- WhichGroups = Grp_GetParWhichGroups ();
- Grp_PutParWhichGroups (&WhichGroups);
- Pag_PutParPagNum (Pag_SURVEYS,Surveys->CurrentPage);
- Btn_PutConfirmButtonInline (Txt_View_results);
- Frm_EndForm ();
+ Frm_BeginForm (ActSeeOneSvy);
+ ParCod_PutPar (ParCod_Svy,Surveys->Svy.SvyCod);
+ Svy_PutParSvyOrder (Surveys->SelectedOrder);
+ WhichGroups = Grp_GetParWhichGroups ();
+ Grp_PutParWhichGroups (&WhichGroups);
+ Pag_PutParPagNum (Pag_SURVEYS,Surveys->CurrentPage);
+ Btn_PutConfirmButtonInline (Txt_View_results);
+ Frm_EndForm ();
- HTM_DIV_End ();
+ HTM_DIV_End ();
+ }
+ break;
}
}
@@ -732,8 +737,8 @@ static void Svy_WriteStatus (struct Svy_Survey *Svy)
};
CloOpe_ClosedOrOpen_t ClosedOrOpenDependingOnMyRole = Svy->Status.IAmLoggedWithAValidRoleToAnswer ? CloOpe_OPEN :
CloOpe_CLOSED;
- CloOpe_ClosedOrOpen_t ClosedOrOpenDependingOnScope = Svy->Status.IBelongToScope ? CloOpe_OPEN :
- CloOpe_CLOSED;
+ CloOpe_ClosedOrOpen_t ClosedOrOpenDependingOnScope = (Svy->Status.IBelongToScope == Usr_BELONG) ? CloOpe_OPEN :
+ CloOpe_CLOSED;
CloOpe_ClosedOrOpen_t ClosedOrOpenDependingOnAlreadyAnswered = Svy->Status.IHaveAnswered ? CloOpe_CLOSED :
CloOpe_OPEN;
@@ -814,7 +819,7 @@ static void Svy_PutFormsToRemEditOneSvy (struct Svy_Surveys *Surveys,
[HidVis_VISIBLE] = ActHidSvy, // Visible ==> action to hide
};
- if (Surveys->Svy.Status.ICanEdit)
+ if (Surveys->Svy.Status.ICanEdit == Usr_CAN)
{
/***** Icon to remove survey *****/
Ico_PutContextualIconToRemove (ActReqRemSvy,NULL,Svy_PutPars,Surveys);
@@ -832,7 +837,7 @@ static void Svy_PutFormsToRemEditOneSvy (struct Svy_Surveys *Surveys,
}
/***** Icon to get resource link *****/
- if (Rsc_CheckIfICanGetLink () == Usr_I_CAN)
+ if (Rsc_CheckIfICanGetLink () == Usr_CAN)
Ico_PutContextualIconToGetLink (ActReqLnkSvy,NULL,Svy_PutPars,Surveys);
}
@@ -919,16 +924,16 @@ static void Svy_SetAllowedAndHiddenScopes (unsigned *ScopesAllowed,
// ...but not belonging to the current course *********
*ScopesAllowed = 1 << Hie_SYS;
*HiddenAllowed = 0;
- if (Hie_CheckIfIBelongTo (Hie_CTY,Gbl.Hierarchy.Node[Hie_CTY].HieCod))
+ if (Hie_CheckIfIBelongTo (Hie_CTY,Gbl.Hierarchy.Node[Hie_CTY].HieCod) == Usr_BELONG)
{
*ScopesAllowed |= 1 << Hie_CTY;
- if (Hie_CheckIfIBelongTo (Hie_INS,Gbl.Hierarchy.Node[Hie_INS].HieCod))
+ if (Hie_CheckIfIBelongTo (Hie_INS,Gbl.Hierarchy.Node[Hie_INS].HieCod) == Usr_BELONG)
{
*ScopesAllowed |= 1 << Hie_INS;
- if (Hie_CheckIfIBelongTo (Hie_CTR,Gbl.Hierarchy.Node[Hie_CTR].HieCod))
+ if (Hie_CheckIfIBelongTo (Hie_CTR,Gbl.Hierarchy.Node[Hie_CTR].HieCod) == Usr_BELONG)
{
*ScopesAllowed |= 1 << Hie_CTR;
- if (Hie_CheckIfIBelongTo (Hie_DEG,Gbl.Hierarchy.Node[Hie_DEG].HieCod))
+ if (Hie_CheckIfIBelongTo (Hie_DEG,Gbl.Hierarchy.Node[Hie_DEG].HieCod) == Usr_BELONG)
*ScopesAllowed |= 1 << Hie_DEG;
}
}
@@ -937,19 +942,19 @@ static void Svy_SetAllowedAndHiddenScopes (unsigned *ScopesAllowed,
case Rol_STD: // Student in current course **************************
*ScopesAllowed = 1 << Hie_SYS;
*HiddenAllowed = 0;
- if (Hie_CheckIfIBelongTo (Hie_CTY,Gbl.Hierarchy.Node[Hie_CTY].HieCod))
+ if (Hie_CheckIfIBelongTo (Hie_CTY,Gbl.Hierarchy.Node[Hie_CTY].HieCod) == Usr_BELONG)
{
*ScopesAllowed |= 1 << Hie_CTY;
- if (Hie_CheckIfIBelongTo (Hie_INS,Gbl.Hierarchy.Node[Hie_INS].HieCod))
+ if (Hie_CheckIfIBelongTo (Hie_INS,Gbl.Hierarchy.Node[Hie_INS].HieCod) == Usr_BELONG)
{
*ScopesAllowed |= 1 << Hie_INS;
- if (Hie_CheckIfIBelongTo (Hie_CTR,Gbl.Hierarchy.Node[Hie_CTR].HieCod))
+ if (Hie_CheckIfIBelongTo (Hie_CTR,Gbl.Hierarchy.Node[Hie_CTR].HieCod) == Usr_BELONG)
{
*ScopesAllowed |= 1 << Hie_CTR;
- if (Hie_CheckIfIBelongTo (Hie_DEG,Gbl.Hierarchy.Node[Hie_DEG].HieCod))
+ if (Hie_CheckIfIBelongTo (Hie_DEG,Gbl.Hierarchy.Node[Hie_DEG].HieCod) == Usr_BELONG)
{
*ScopesAllowed |= 1 << Hie_DEG;
- if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS])
+ if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] == Usr_BELONG)
*ScopesAllowed |= 1 << Hie_CRS;
}
}
@@ -960,19 +965,19 @@ static void Svy_SetAllowedAndHiddenScopes (unsigned *ScopesAllowed,
case Rol_TCH: // Teacher in current course **************************
*ScopesAllowed = 1 << Hie_SYS;
*HiddenAllowed = 0;
- if (Hie_CheckIfIBelongTo (Hie_CTY,Gbl.Hierarchy.Node[Hie_CTY].HieCod))
+ if (Hie_CheckIfIBelongTo (Hie_CTY,Gbl.Hierarchy.Node[Hie_CTY].HieCod) == Usr_BELONG)
{
*ScopesAllowed |= 1 << Hie_CTY;
- if (Hie_CheckIfIBelongTo (Hie_INS,Gbl.Hierarchy.Node[Hie_INS].HieCod))
+ if (Hie_CheckIfIBelongTo (Hie_INS,Gbl.Hierarchy.Node[Hie_INS].HieCod) == Usr_BELONG)
{
*ScopesAllowed |= 1 << Hie_INS;
- if (Hie_CheckIfIBelongTo (Hie_CTR,Gbl.Hierarchy.Node[Hie_CTR].HieCod))
+ if (Hie_CheckIfIBelongTo (Hie_CTR,Gbl.Hierarchy.Node[Hie_CTR].HieCod) == Usr_BELONG)
{
*ScopesAllowed |= 1 << Hie_CTR;
- if (Hie_CheckIfIBelongTo (Hie_DEG,Gbl.Hierarchy.Node[Hie_DEG].HieCod))
+ if (Hie_CheckIfIBelongTo (Hie_DEG,Gbl.Hierarchy.Node[Hie_DEG].HieCod) == Usr_BELONG)
{
*ScopesAllowed |= 1 << Hie_DEG;
- if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS])
+ if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] == Usr_BELONG)
{
*ScopesAllowed |= 1 << Hie_CRS;
*HiddenAllowed |= 1 << Hie_CRS; // A non-editing teacher or teacher can view hidden course surveys
@@ -1122,7 +1127,8 @@ void Svy_GetSurveyDataByCod (struct Svy_Survey *Svy)
switch (Svy->Level)
{
case Hie_SYS: // System
- Svy->Status.IBelongToScope = Gbl.Usrs.Me.Logged;
+ Svy->Status.IBelongToScope = Gbl.Usrs.Me.Logged ? Usr_BELONG :
+ Usr_DONT_BELONG;
break;
case Hie_CTY: // Country
case Hie_INS: // Institution
@@ -1131,8 +1137,9 @@ void Svy_GetSurveyDataByCod (struct Svy_Survey *Svy)
Svy->Status.IBelongToScope = Hie_CheckIfIBelongTo (Svy->Level,Svy->HieCod);
break;
case Hie_CRS: // Course
- Svy->Status.IBelongToScope = Hie_CheckIfIBelongTo (Svy->Level,Svy->HieCod) &&
- Svy_DB_CheckIfICanDoThisSurveyBasedOnGrps (Svy->SvyCod) == Usr_I_CAN;
+ Svy->Status.IBelongToScope = (Hie_CheckIfIBelongTo (Svy->Level,Svy->HieCod) == Usr_BELONG &&
+ Svy_DB_CheckIfICanDoThisSurveyBasedOnGrps (Svy->SvyCod) == Usr_CAN) ? Usr_BELONG :
+ Usr_DONT_BELONG;
break;
default: // Unknown
Err_WrongHierarchyLevelExit ();
@@ -1143,99 +1150,111 @@ void Svy_GetSurveyDataByCod (struct Svy_Survey *Svy)
Svy->Status.IHaveAnswered = Svy_DB_CheckIfIHaveAnsweredSvy (Svy->SvyCod);
/* Can I answer survey? */
- Svy->Status.ICanAnswer = ( Svy->NumQsts != 0) &&
+ Svy->Status.ICanAnswer = ( Svy->NumQsts &&
Svy->Status.HiddenOrVisible == HidVis_VISIBLE &&
Svy->Status.ClosedOrOpen == CloOpe_OPEN &&
Svy->Status.IAmLoggedWithAValidRoleToAnswer &&
- Svy->Status.IBelongToScope &&
- !Svy->Status.IHaveAnswered;
+ Svy->Status.IBelongToScope == Usr_BELONG &&
+ !Svy->Status.IHaveAnswered) ? Usr_CAN :
+ Usr_CAN_NOT;
/* Can I view results of the survey?
Can I edit survey? */
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_STD:
- Svy->Status.ICanViewResults = (Svy->Level == Hie_CRS ||
- Svy->Level == Hie_DEG ||
- Svy->Level == Hie_CTR ||
- Svy->Level == Hie_INS ||
- Svy->Level == Hie_CTY ||
- Svy->Level == Hie_SYS) &&
- (Svy->NumQsts != 0) &&
- Svy->Status.HiddenOrVisible == HidVis_VISIBLE &&
- Svy->Status.ClosedOrOpen == CloOpe_OPEN &&
- Svy->Status.IAmLoggedWithAValidRoleToAnswer &&
- Svy->Status.IBelongToScope &&
- Svy->Status.IHaveAnswered;
- Svy->Status.ICanViewComments = false;
- Svy->Status.ICanEdit = false;
+ Svy->Status.ICanViewResults = ((Svy->Level == Hie_CRS ||
+ Svy->Level == Hie_DEG ||
+ Svy->Level == Hie_CTR ||
+ Svy->Level == Hie_INS ||
+ Svy->Level == Hie_CTY ||
+ Svy->Level == Hie_SYS) &&
+ Svy->NumQsts &&
+ Svy->Status.HiddenOrVisible == HidVis_VISIBLE &&
+ Svy->Status.ClosedOrOpen == CloOpe_OPEN &&
+ Svy->Status.IAmLoggedWithAValidRoleToAnswer &&
+ Svy->Status.IBelongToScope == Usr_BELONG &&
+ Svy->Status.IHaveAnswered) ? Usr_CAN :
+ Usr_CAN_NOT;
+ Svy->Status.ICanViewComments = Usr_CAN_NOT;
+ Svy->Status.ICanEdit = Usr_CAN_NOT;
break;
case Rol_NET:
Svy->Status.ICanViewResults =
- Svy->Status.ICanViewComments = (Svy->Level == Hie_CRS ||
- Svy->Level == Hie_DEG ||
- Svy->Level == Hie_CTR ||
- Svy->Level == Hie_INS ||
- Svy->Level == Hie_CTY ||
- Svy->Level == Hie_SYS) &&
- Svy->NumQsts != 0 &&
- !Svy->Status.ICanAnswer;
- Svy->Status.ICanEdit = false;
+ Svy->Status.ICanViewComments = ((Svy->Level == Hie_CRS ||
+ Svy->Level == Hie_DEG ||
+ Svy->Level == Hie_CTR ||
+ Svy->Level == Hie_INS ||
+ Svy->Level == Hie_CTY ||
+ Svy->Level == Hie_SYS) &&
+ Svy->NumQsts &&
+ Svy->Status.ICanAnswer == Usr_CAN_NOT) ? Usr_CAN :
+ Usr_CAN_NOT;
+ Svy->Status.ICanEdit = Usr_CAN_NOT;
break;
case Rol_TCH:
Svy->Status.ICanViewResults =
- Svy->Status.ICanViewComments = (Svy->Level == Hie_CRS ||
- Svy->Level == Hie_DEG ||
- Svy->Level == Hie_CTR ||
- Svy->Level == Hie_INS ||
- Svy->Level == Hie_CTY ||
- Svy->Level == Hie_SYS) &&
- Svy->NumQsts != 0 &&
- !Svy->Status.ICanAnswer;
- Svy->Status.ICanEdit = Svy->Level == Hie_CRS; // && Svy->Status.IBelongToScope
+ Svy->Status.ICanViewComments = ((Svy->Level == Hie_CRS ||
+ Svy->Level == Hie_DEG ||
+ Svy->Level == Hie_CTR ||
+ Svy->Level == Hie_INS ||
+ Svy->Level == Hie_CTY ||
+ Svy->Level == Hie_SYS) &&
+ Svy->NumQsts &&
+ Svy->Status.ICanAnswer == Usr_CAN_NOT) ? Usr_CAN :
+ Usr_CAN_NOT;
+ Svy->Status.ICanEdit = (Svy->Level == Hie_CRS) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case Rol_DEG_ADM:
Svy->Status.ICanViewResults =
- Svy->Status.ICanViewComments = (Svy->Level == Hie_DEG ||
- Svy->Level == Hie_CTR ||
- Svy->Level == Hie_INS ||
- Svy->Level == Hie_CTY ||
- Svy->Level == Hie_SYS) &&
- (Svy->NumQsts != 0) &&
- !Svy->Status.ICanAnswer;
- Svy->Status.ICanEdit = Svy->Level == Hie_DEG &&
- Svy->Status.IBelongToScope;
+ Svy->Status.ICanViewComments = ((Svy->Level == Hie_DEG ||
+ Svy->Level == Hie_CTR ||
+ Svy->Level == Hie_INS ||
+ Svy->Level == Hie_CTY ||
+ Svy->Level == Hie_SYS) &&
+ Svy->NumQsts &&
+ Svy->Status.ICanAnswer == Usr_CAN_NOT) ? Usr_CAN :
+ Usr_CAN_NOT;
+ Svy->Status.ICanEdit = (Svy->Level == Hie_DEG &&
+ Svy->Status.IBelongToScope == Usr_BELONG) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case Rol_CTR_ADM:
Svy->Status.ICanViewResults =
- Svy->Status.ICanViewComments = (Svy->Level == Hie_CTR ||
- Svy->Level == Hie_INS ||
- Svy->Level == Hie_CTY ||
- Svy->Level == Hie_SYS) &&
- (Svy->NumQsts != 0) &&
- !Svy->Status.ICanAnswer;
- Svy->Status.ICanEdit = Svy->Level == Hie_CTR &&
- Svy->Status.IBelongToScope;
+ Svy->Status.ICanViewComments = ((Svy->Level == Hie_CTR ||
+ Svy->Level == Hie_INS ||
+ Svy->Level == Hie_CTY ||
+ Svy->Level == Hie_SYS) &&
+ Svy->NumQsts &&
+ Svy->Status.ICanAnswer == Usr_CAN_NOT) ? Usr_CAN :
+ Usr_CAN_NOT;
+ Svy->Status.ICanEdit = (Svy->Level == Hie_CTR &&
+ Svy->Status.IBelongToScope == Usr_BELONG) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case Rol_INS_ADM:
Svy->Status.ICanViewResults =
- Svy->Status.ICanViewComments = (Svy->Level == Hie_INS ||
- Svy->Level == Hie_CTY ||
- Svy->Level == Hie_SYS) &&
- (Svy->NumQsts != 0) &&
- !Svy->Status.ICanAnswer;
- Svy->Status.ICanEdit = Svy->Level == Hie_INS &&
- Svy->Status.IBelongToScope;
+ Svy->Status.ICanViewComments = ((Svy->Level == Hie_INS ||
+ Svy->Level == Hie_CTY ||
+ Svy->Level == Hie_SYS) &&
+ Svy->NumQsts &&
+ Svy->Status.ICanAnswer == Usr_CAN_NOT) ? Usr_CAN :
+ Usr_CAN_NOT;
+ Svy->Status.ICanEdit = (Svy->Level == Hie_INS &&
+ Svy->Status.IBelongToScope == Usr_BELONG) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case Rol_SYS_ADM:
Svy->Status.ICanViewResults =
- Svy->Status.ICanViewComments = (Svy->NumQsts != 0);
- Svy->Status.ICanEdit = true;
+ Svy->Status.ICanViewComments = Svy->NumQsts ? Usr_CAN :
+ Usr_CAN_NOT;
+ Svy->Status.ICanEdit = Usr_CAN;
break;
default:
- Svy->Status.ICanViewResults = false;
- Svy->Status.ICanViewComments = false;
- Svy->Status.ICanEdit = false;
+ Svy->Status.ICanViewResults = Usr_CAN_NOT;
+ Svy->Status.ICanViewComments = Usr_CAN_NOT;
+ Svy->Status.ICanEdit = Usr_CAN_NOT;
break;
}
}
@@ -1254,12 +1273,12 @@ void Svy_GetSurveyDataByCod (struct Svy_Survey *Svy)
Svy->Status.HiddenOrVisible = HidVis_VISIBLE;
Svy->Status.ClosedOrOpen = CloOpe_CLOSED;
Svy->Status.IAmLoggedWithAValidRoleToAnswer = false;
- Svy->Status.IBelongToScope = false;
+ Svy->Status.IBelongToScope = Usr_DONT_BELONG;
Svy->Status.IHaveAnswered = false;
- Svy->Status.ICanAnswer = false;
- Svy->Status.ICanViewResults = false;
- Svy->Status.ICanViewComments = false;
- Svy->Status.ICanEdit = false;
+ Svy->Status.ICanAnswer = Usr_CAN_NOT;
+ Svy->Status.ICanViewResults = Usr_CAN_NOT;
+ Svy->Status.ICanViewComments = Usr_CAN_NOT;
+ Svy->Status.ICanEdit = Usr_CAN_NOT;
}
/***** Free structure that stores the query result *****/
@@ -1341,7 +1360,7 @@ void Svy_AskRemSurvey (void)
/***** Get data of the survey from database *****/
Svy_GetSurveyDataByCod (&Surveys.Svy);
- if (!Surveys.Svy.Status.ICanEdit)
+ if (Surveys.Svy.Status.ICanEdit == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Show question and button to remove survey *****/
@@ -1376,7 +1395,7 @@ void Svy_RemoveSurvey (void)
/***** Get data of the survey from database *****/
Svy_GetSurveyDataByCod (&Surveys.Svy);
- if (!Surveys.Svy.Status.ICanEdit)
+ if (Surveys.Svy.Status.ICanEdit == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Remove all users in this survey *****/
@@ -1429,7 +1448,7 @@ void Svy_AskResetSurvey (void)
/***** Get data of the survey from database *****/
Svy_GetSurveyDataByCod (&Surveys.Svy);
- if (!Surveys.Svy.Status.ICanEdit)
+ if (Surveys.Svy.Status.ICanEdit == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Show question and button to reset survey *****/
@@ -1465,7 +1484,7 @@ void Svy_ResetSurvey (void)
/***** Get data of the survey from database *****/
Svy_GetSurveyDataByCod (&Surveys.Svy);
- if (!Surveys.Svy.Status.ICanEdit)
+ if (Surveys.Svy.Status.ICanEdit == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Remove all users in this survey *****/
@@ -1515,7 +1534,7 @@ static void Svy_HideUnhideSurvey (HidVis_HiddenOrVisible_t HiddenOrVisible)
/***** Get data of the survey from database *****/
Svy_GetSurveyDataByCod (&Surveys.Svy);
- if (!Surveys.Svy.Status.ICanEdit)
+ if (Surveys.Svy.Status.ICanEdit == Usr_CAN_NOT)
Err_NoPermissionExit ();
/***** Show survey *****/
@@ -1563,7 +1582,7 @@ void Svy_ReqCreatOrEditSvy (void)
if (ItsANewSurvey)
{
/***** Put link (form) to create new survey *****/
- if (Svy_CheckIfICanCreateSvy () == Usr_I_CAN_NOT)
+ if (Svy_CheckIfICanCreateSvy () == Usr_CAN_NOT)
Err_NoPermissionExit ();
/* Initialize to empty survey */
@@ -1579,17 +1598,17 @@ void Svy_ReqCreatOrEditSvy (void)
Surveys.Svy.Status.HiddenOrVisible = HidVis_VISIBLE;
Surveys.Svy.Status.ClosedOrOpen = CloOpe_OPEN;
Surveys.Svy.Status.IAmLoggedWithAValidRoleToAnswer = false;
- Surveys.Svy.Status.IBelongToScope = false;
+ Surveys.Svy.Status.IBelongToScope = Usr_DONT_BELONG;
Surveys.Svy.Status.IHaveAnswered = false;
- Surveys.Svy.Status.ICanAnswer = false;
- Surveys.Svy.Status.ICanViewResults = false;
- Surveys.Svy.Status.ICanViewComments = false;
+ Surveys.Svy.Status.ICanAnswer = Usr_CAN_NOT;
+ Surveys.Svy.Status.ICanViewResults = Usr_CAN_NOT;
+ Surveys.Svy.Status.ICanViewComments = Usr_CAN_NOT;
}
else
{
/* Get data of the survey from database */
Svy_GetSurveyDataByCod (&Surveys.Svy);
- if (!Surveys.Svy.Status.ICanEdit)
+ if (Surveys.Svy.Status.ICanEdit == Usr_CAN_NOT)
Err_NoPermissionExit ();
/* Get text of the survey from database */
@@ -1710,7 +1729,7 @@ void Svy_ReqCreatOrEditSvy (void)
static void Svy_SetAllowedScopes (struct Svy_Survey *Svy)
{
- Usr_ICan_t ICanEdit = Usr_I_CAN_NOT;
+ Usr_Can_t ICanEdit = Usr_CAN_NOT;
/***** Set allowed scopes *****/
Gbl.Scope.Allowed = 0;
@@ -1725,7 +1744,7 @@ static void Svy_SetAllowedScopes (struct Svy_Survey *Svy)
if (Svy->Level == Hie_CRS)
{
Gbl.Scope.Allowed = 1 << Hie_CRS;
- ICanEdit = Usr_I_CAN;
+ ICanEdit = Usr_CAN;
}
}
break;
@@ -1735,7 +1754,7 @@ static void Svy_SetAllowedScopes (struct Svy_Survey *Svy)
if (Svy->Level == Hie_DEG)
{
Gbl.Scope.Allowed = 1 << Hie_DEG;
- ICanEdit = Usr_I_CAN;
+ ICanEdit = Usr_CAN;
}
break;
case Rol_CTR_ADM: // Center admins only can edit center surveys
@@ -1744,7 +1763,7 @@ static void Svy_SetAllowedScopes (struct Svy_Survey *Svy)
if (Svy->Level == Hie_CTR)
{
Gbl.Scope.Allowed = 1 << Hie_CTR;
- ICanEdit = Usr_I_CAN;
+ ICanEdit = Usr_CAN;
}
break;
case Rol_INS_ADM: // Institution admins only can edit institution surveys
@@ -1753,7 +1772,7 @@ static void Svy_SetAllowedScopes (struct Svy_Survey *Svy)
if (Svy->Level == Hie_INS)
{
Gbl.Scope.Allowed = 1 << Hie_INS;
- ICanEdit = Usr_I_CAN;
+ ICanEdit = Usr_CAN;
}
break;
case Rol_SYS_ADM:// System admins can edit any survey
@@ -1767,13 +1786,13 @@ static void Svy_SetAllowedScopes (struct Svy_Survey *Svy)
1 << Hie_CTR |
1 << Hie_DEG |
1 << Hie_CRS;
- ICanEdit = Usr_I_CAN;
+ ICanEdit = Usr_CAN;
break;
default:
break;
}
- if (ICanEdit == Usr_I_CAN_NOT)
+ if (ICanEdit == Usr_CAN_NOT)
Err_NoPermissionExit ();
}
@@ -1869,7 +1888,7 @@ void Svy_ReceiveSurvey (void)
/* Get data of the old (current) survey from database */
OldSvy.SvyCod = NewSvy.SvyCod;
Svy_GetSurveyDataByCod (&OldSvy);
- if (!OldSvy.Status.ICanEdit)
+ if (OldSvy.Status.ICanEdit == Usr_CAN_NOT)
Err_NoPermissionExit ();
NewSvy.Level = OldSvy.Level;
}
@@ -2574,16 +2593,16 @@ static void Svy_ListSvyQuestions (struct Svy_Surveys *Surveys)
Gbl.Action.Act == ActEdiOneSvyQst ||
Gbl.Action.Act == ActNewSvyQst ||
Gbl.Action.Act == ActChgSvyQst);
- Frm_PutForm_t PutFormAnswerSurvey = (Surveys->Svy.Status.ICanAnswer &&
+ Frm_PutForm_t PutFormAnswerSurvey = (Surveys->Svy.Status.ICanAnswer == Usr_CAN &&
!Editing) ? Frm_PUT_FORM :
Frm_DONT_PUT_FORM;
/***** Begin box *****/
Box_BoxBegin (Txt_Questions,
- Surveys->Svy.Status.ICanEdit ? Svy_PutIconToAddNewQuestion :
- NULL,
- Surveys->Svy.Status.ICanEdit ? Surveys :
- NULL,
+ (Surveys->Svy.Status.ICanEdit == Usr_CAN) ? Svy_PutIconToAddNewQuestion :
+ NULL,
+ (Surveys->Svy.Status.ICanEdit == Usr_CAN) ? Surveys :
+ NULL,
Hlp_ANALYTICS_Surveys_questions,Box_NOT_CLOSABLE);
/***** Get data of questions from database *****/
@@ -2600,7 +2619,7 @@ static void Svy_ListSvyQuestions (struct Svy_Surveys *Surveys)
HTM_TABLE_Begin ("TBL_SCROLL");
HTM_TR_Begin (NULL);
- if (Surveys->Svy.Status.ICanEdit)
+ if (Surveys->Svy.Status.ICanEdit == Usr_CAN)
HTM_TH_Empty (1);
HTM_TH (Txt_No_INDEX,HTM_HEAD_CENTER);
HTM_TH (Txt_Type ,HTM_HEAD_CENTER);
@@ -2620,7 +2639,7 @@ static void Svy_ListSvyQuestions (struct Svy_Surveys *Surveys)
HTM_TR_Begin (NULL);
- if (Surveys->Svy.Status.ICanEdit)
+ if (Surveys->Svy.Status.ICanEdit == Usr_CAN)
{
HTM_TD_Begin ("class=\"BT %s\"",The_GetColorRows ());
@@ -2861,7 +2880,7 @@ static void Svy_WriteAnswersOfAQst (struct Svy_Survey *Svy,
HTM_TD_End ();
/* Show stats of this answer */
- if (Svy->Status.ICanViewResults)
+ if (Svy->Status.ICanViewResults == Usr_CAN)
Svy_DrawBarNumUsrs (NumUsrsThisAnswer,Svy->NumUsrs);
HTM_TR_End ();
@@ -2896,7 +2915,7 @@ static void Svy_WriteCommentsOfAQst (struct Svy_Survey *Svy,
switch (PutFormAnswerSurvey)
{
case Frm_DONT_PUT_FORM:
- if (Svy->Status.ICanViewComments)
+ if (Svy->Status.ICanViewComments == Usr_CAN)
{
HTM_DL_Begin ();
diff --git a/swad_survey.h b/swad_survey.h
index 2807248ba..81e905308 100644
--- a/swad_survey.h
+++ b/swad_survey.h
@@ -56,12 +56,12 @@ struct Svy_Survey
HidVis_HiddenOrVisible_t HiddenOrVisible; // Survey is hidden or visible?
CloOpe_ClosedOrOpen_t ClosedOrOpen; // Start date <= now <= end date
bool IAmLoggedWithAValidRoleToAnswer; // I am logged with a valid role to answer this survey
- bool IBelongToScope; // I belong to the scope of this survey
- bool IHaveAnswered; // I have already answered this survey
- bool ICanAnswer;
- bool ICanViewResults;
- bool ICanViewComments;
- bool ICanEdit;
+ Usr_Belong_t IBelongToScope; // I belong to the scope of this survey
+ bool IHaveAnswered; // I have already answered this survey
+ Usr_Can_t ICanAnswer;
+ Usr_Can_t ICanViewResults;
+ Usr_Can_t ICanViewComments;
+ Usr_Can_t ICanEdit;
} Status;
};
diff --git a/swad_survey_database.c b/swad_survey_database.c
index a8e912dcf..3881658cc 100644
--- a/swad_survey_database.c
+++ b/swad_survey_database.c
@@ -743,7 +743,7 @@ unsigned Svy_DB_GetGrpNamesAssociatedToSvy (MYSQL_RES **mysql_res,long SvyCod)
/************ Check if I belong to any of the groups of a survey *************/
/*****************************************************************************/
-Usr_ICan_t Svy_DB_CheckIfICanDoThisSurveyBasedOnGrps (long SvyCod)
+Usr_Can_t Svy_DB_CheckIfICanDoThisSurveyBasedOnGrps (long SvyCod)
{
return
DB_QueryEXISTS ("can not check if I can do a survey",
@@ -762,8 +762,8 @@ Usr_ICan_t Svy_DB_CheckIfICanDoThisSurveyBasedOnGrps (long SvyCod)
" WHERE grp_users.UsrCod=%ld"
" AND grp_users.GrpCod=svy_groups.GrpCod)))",
SvyCod,
- Gbl.Usrs.Me.UsrDat.UsrCod) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ Gbl.Usrs.Me.UsrDat.UsrCod) ? Usr_CAN :
+ Usr_CAN_NOT;
}
/*****************************************************************************/
diff --git a/swad_survey_database.h b/swad_survey_database.h
index 9abeec3d8..f9a922a8f 100644
--- a/swad_survey_database.h
+++ b/swad_survey_database.h
@@ -66,7 +66,7 @@ void Svy_DB_RemoveSvysIn (Hie_Level_t Level,long HieCod);
void Svy_DB_CreateGrp (long SvyCod,long GrpCod);
unsigned Svy_DB_GetGrpNamesAssociatedToSvy (MYSQL_RES **mysql_res,long SvyCod);
-Usr_ICan_t Svy_DB_CheckIfICanDoThisSurveyBasedOnGrps (long SvyCod);
+Usr_Can_t Svy_DB_CheckIfICanDoThisSurveyBasedOnGrps (long SvyCod);
void Svy_DB_RemoveGroupsOfType (long GrpTypCod);
void Svy_DB_RemoveGroup (long GrpCod);
diff --git a/swad_tab.c b/swad_tab.c
index 7bbb080cc..666ebfeff 100644
--- a/swad_tab.c
+++ b/swad_tab.c
@@ -43,7 +43,7 @@ extern struct Globals Gbl;
/***************************** Private prototypes ****************************/
/*****************************************************************************/
-static Usr_ICan_t Tab_CheckIfICanViewTab (Tab_Tab_t Tab);
+static Usr_Can_t Tab_CheckIfICanViewTab (Tab_Tab_t Tab);
static const char *Tab_GetIcon (Tab_Tab_t Tab);
/*****************************************************************************/
@@ -79,7 +79,7 @@ void Tab_DrawTabs (void)
Tab_DisableIncompatibleTabs ();
}
- if (Tab_CheckIfICanViewTab (NumTab) == Usr_I_CAN) // Don't show the first hidden tabs
+ if (Tab_CheckIfICanViewTab (NumTab) == Usr_CAN) // Don't show the first hidden tabs
{
TabTxt = Tab_GetTxt (NumTab);
@@ -130,40 +130,40 @@ void Tab_DrawTabs (void)
/************************* Check if I can view a tab *************************/
/*****************************************************************************/
-static Usr_ICan_t Tab_CheckIfICanViewTab (Tab_Tab_t Tab)
+static Usr_Can_t Tab_CheckIfICanViewTab (Tab_Tab_t Tab)
{
switch (Tab)
{
case TabUnk:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
case TabSys:
- return (Gbl.Hierarchy.Level == Hie_SYS) ? Usr_I_CAN : // Institution selected
- Usr_I_CAN_NOT;
+ return (Gbl.Hierarchy.Level == Hie_SYS) ? Usr_CAN : // Institution selected
+ Usr_CAN_NOT;
case TabCty:
- return (Gbl.Hierarchy.Level == Hie_CTY) ? Usr_I_CAN : // Institution selected
- Usr_I_CAN_NOT;
+ return (Gbl.Hierarchy.Level == Hie_CTY) ? Usr_CAN : // Institution selected
+ Usr_CAN_NOT;
case TabIns:
- return (Gbl.Hierarchy.Level == Hie_INS) ? Usr_I_CAN : // Institution selected
- Usr_I_CAN_NOT;
+ return (Gbl.Hierarchy.Level == Hie_INS) ? Usr_CAN : // Institution selected
+ Usr_CAN_NOT;
case TabCtr:
- return (Gbl.Hierarchy.Level == Hie_CTR) ? Usr_I_CAN : // Center selected
- Usr_I_CAN_NOT;
+ return (Gbl.Hierarchy.Level == Hie_CTR) ? Usr_CAN : // Center selected
+ Usr_CAN_NOT;
case TabDeg:
- return (Gbl.Hierarchy.Level == Hie_DEG) ? Usr_I_CAN : // Degree selected
- Usr_I_CAN_NOT;
+ return (Gbl.Hierarchy.Level == Hie_DEG) ? Usr_CAN : // Degree selected
+ Usr_CAN_NOT;
case TabCrs:
- return (Gbl.Hierarchy.Level == Hie_CRS) ? Usr_I_CAN : // Course selected
- Usr_I_CAN_NOT;
+ return (Gbl.Hierarchy.Level == Hie_CRS) ? Usr_CAN : // Course selected
+ Usr_CAN_NOT;
case TabAss:
return (Gbl.Hierarchy.Level == Hie_CRS && // Course selected
- Gbl.Usrs.Me.Role.Logged >= Rol_STD) ? Usr_I_CAN : // I belong to course or I am an admin
- Usr_I_CAN_NOT;
+ Gbl.Usrs.Me.Role.Logged >= Rol_STD) ? Usr_CAN : // I belong to course or I am an admin
+ Usr_CAN_NOT;
case TabFil:
return (Gbl.Hierarchy.Node[Hie_INS].HieCod > 0 || // Institution selected
- Gbl.Usrs.Me.Logged) ? Usr_I_CAN : // I'm logged
- Usr_I_CAN_NOT;
+ Gbl.Usrs.Me.Logged) ? Usr_CAN : // I'm logged
+ Usr_CAN_NOT;
default:
- return Usr_I_CAN;
+ return Usr_CAN;
}
}
diff --git a/swad_test.c b/swad_test.c
index e558add70..36a5418d3 100644
--- a/swad_test.c
+++ b/swad_test.c
@@ -363,7 +363,7 @@ void Tst_AssessTest (void)
Lay_WriteHeaderClassPhoto (Vie_VIEW);
/***** Header *****/
- if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS])
+ if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] == Usr_BELONG)
{
HTM_DIV_Begin ("class=\"Tst_SUBTITLE DAT_%s\"",
The_GetSuffix ());
diff --git a/swad_test_database.c b/swad_test_database.c
index cc1d01895..ea4b6db1d 100644
--- a/swad_test_database.c
+++ b/swad_test_database.c
@@ -58,7 +58,7 @@ extern struct Globals Gbl;
void Tst_DB_IncreaseNumMyPrints (void)
{
/***** Trivial check: do I belong to current course? *****/
- if (!Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS])
+ if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] == Usr_DONT_BELONG)
return;
/***** Update my number of accesses to test in this course *****/
diff --git a/swad_test_print.c b/swad_test_print.c
index d89e5e67f..818967c6f 100644
--- a/swad_test_print.c
+++ b/swad_test_print.c
@@ -60,8 +60,8 @@
struct TstRes_ICanView
{
- Usr_ICan_t Result;
- Usr_ICan_t Score;
+ Usr_Can_t Result;
+ Usr_Can_t Score;
};
/*****************************************************************************/
@@ -126,31 +126,31 @@ static void TstPrn_GetCorrectAndComputeTxtAnsScore (struct TstPrn_PrintedQuestio
static void TstPrn_WriteIntAnsPrint (struct Usr_Data *UsrDat,
const struct TstPrn_PrintedQuestion *PrintedQuestion,
struct Qst_Question *Question,
- Usr_ICan_t ICanView[TstVis_NUM_ITEMS_VISIBILITY],
+ Usr_Can_t ICanView[TstVis_NUM_ITEMS_VISIBILITY],
__attribute__((unused)) const char *ClassTxt,
__attribute__((unused)) const char *ClassFeedback);
static void TstPrn_WriteFltAnsPrint (struct Usr_Data *UsrDat,
const struct TstPrn_PrintedQuestion *PrintedQuestion,
struct Qst_Question *Question,
- Usr_ICan_t ICanView[TstVis_NUM_ITEMS_VISIBILITY],
+ Usr_Can_t ICanView[TstVis_NUM_ITEMS_VISIBILITY],
__attribute__((unused)) const char *ClassTxt,
__attribute__((unused)) const char *ClassFeedback);
static void TstPrn_WriteTF_AnsPrint (struct Usr_Data *UsrDat,
const struct TstPrn_PrintedQuestion *PrintedQuestion,
struct Qst_Question *Question,
- Usr_ICan_t ICanView[TstVis_NUM_ITEMS_VISIBILITY],
+ Usr_Can_t ICanView[TstVis_NUM_ITEMS_VISIBILITY],
__attribute__((unused)) const char *ClassTxt,
__attribute__((unused)) const char *ClassFeedback);
static void TstPrn_WriteChoAnsPrint (struct Usr_Data *UsrDat,
const struct TstPrn_PrintedQuestion *PrintedQuestion,
struct Qst_Question *Question,
- Usr_ICan_t ICanView[TstVis_NUM_ITEMS_VISIBILITY],
+ Usr_Can_t ICanView[TstVis_NUM_ITEMS_VISIBILITY],
const char *ClassTxt,
const char *ClassFeedback);
static void TstPrn_WriteTxtAnsPrint (struct Usr_Data *UsrDat,
const struct TstPrn_PrintedQuestion *PrintedQuestion,
struct Qst_Question *Question,
- Usr_ICan_t ICanView[TstVis_NUM_ITEMS_VISIBILITY],
+ Usr_Can_t ICanView[TstVis_NUM_ITEMS_VISIBILITY],
__attribute__((unused)) const char *ClassTxt,
__attribute__((unused)) const char *ClassFeedback);
//-----------------------------------------------------------------------------
@@ -605,20 +605,20 @@ static void TstPrn_WriteQstAndAnsExam (struct Usr_Data *UsrDat,
extern const char *Txt_Question_removed;
extern const char *Txt_Question_modified;
bool QuestionUneditedAfterExam = false;
- Usr_ICan_t ICanView[TstVis_NUM_ITEMS_VISIBILITY];
+ Usr_Can_t ICanView[TstVis_NUM_ITEMS_VISIBILITY];
/***** Check if I can view each part of the question *****/
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_STD:
- ICanView[TstVis_VISIBLE_QST_ANS_TXT ] = TstVis_IsVisibleQstAndAnsTxt (Visibility) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
- ICanView[TstVis_VISIBLE_FEEDBACK_TXT ] = TstVis_IsVisibleFeedbackTxt (Visibility) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
- ICanView[TstVis_VISIBLE_CORRECT_ANSWER] = TstVis_IsVisibleCorrectAns (Visibility) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
- ICanView[TstVis_VISIBLE_EACH_QST_SCORE] = TstVis_IsVisibleEachQstScore (Visibility) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ ICanView[TstVis_VISIBLE_QST_ANS_TXT ] = TstVis_IsVisibleQstAndAnsTxt (Visibility) ? Usr_CAN :
+ Usr_CAN_NOT;
+ ICanView[TstVis_VISIBLE_FEEDBACK_TXT ] = TstVis_IsVisibleFeedbackTxt (Visibility) ? Usr_CAN :
+ Usr_CAN_NOT;
+ ICanView[TstVis_VISIBLE_CORRECT_ANSWER] = TstVis_IsVisibleCorrectAns (Visibility) ? Usr_CAN :
+ Usr_CAN_NOT;
+ ICanView[TstVis_VISIBLE_EACH_QST_SCORE] = TstVis_IsVisibleEachQstScore (Visibility) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case Rol_NET:
case Rol_TCH:
@@ -629,13 +629,13 @@ static void TstPrn_WriteQstAndAnsExam (struct Usr_Data *UsrDat,
ICanView[TstVis_VISIBLE_QST_ANS_TXT ] =
ICanView[TstVis_VISIBLE_FEEDBACK_TXT ] =
ICanView[TstVis_VISIBLE_CORRECT_ANSWER] =
- ICanView[TstVis_VISIBLE_EACH_QST_SCORE] = Usr_I_CAN;
+ ICanView[TstVis_VISIBLE_EACH_QST_SCORE] = Usr_CAN;
break;
default:
ICanView[TstVis_VISIBLE_QST_ANS_TXT ] =
ICanView[TstVis_VISIBLE_FEEDBACK_TXT ] =
ICanView[TstVis_VISIBLE_CORRECT_ANSWER] =
- ICanView[TstVis_VISIBLE_EACH_QST_SCORE] = Usr_I_CAN_NOT;
+ ICanView[TstVis_VISIBLE_EACH_QST_SCORE] = Usr_CAN_NOT;
break;
}
@@ -667,7 +667,7 @@ static void TstPrn_WriteQstAndAnsExam (struct Usr_Data *UsrDat,
ICanView[TstVis_VISIBLE_QST_ANS_TXT]);
/* Media */
- if (ICanView[TstVis_VISIBLE_QST_ANS_TXT] == Usr_I_CAN)
+ if (ICanView[TstVis_VISIBLE_QST_ANS_TXT] == Usr_CAN)
Med_ShowMedia (&Question->Media,
"Tst_MED_SHOW_CONT",
"Tst_MED_SHOW");
@@ -678,7 +678,7 @@ static void TstPrn_WriteQstAndAnsExam (struct Usr_Data *UsrDat,
ICanView,"Qst_TXT","Qst_TXT_LIGHT");
/* Write score retrieved from database */
- if (ICanView[TstVis_VISIBLE_EACH_QST_SCORE] == Usr_I_CAN)
+ if (ICanView[TstVis_VISIBLE_EACH_QST_SCORE] == Usr_CAN)
{
HTM_DIV_Begin ("class=\"LM DAT_SMALL_%s\"",The_GetSuffix ());
HTM_TxtColonNBSP (Txt_Score);
@@ -701,7 +701,7 @@ static void TstPrn_WriteQstAndAnsExam (struct Usr_Data *UsrDat,
/* Question feedback */
if (QuestionUneditedAfterExam)
- if (ICanView[TstVis_VISIBLE_FEEDBACK_TXT] == Usr_I_CAN)
+ if (ICanView[TstVis_VISIBLE_FEEDBACK_TXT] == Usr_CAN)
Qst_WriteQstFeedback (Question->Feedback,"Qst_TXT_LIGHT");
HTM_TD_End ();
@@ -1172,14 +1172,14 @@ void TstPrn_ShowGrade (double Grade,double MaxGrade)
void TstPrn_WriteAnswersExam (struct Usr_Data *UsrDat,
const struct TstPrn_PrintedQuestion *PrintedQuestion,
struct Qst_Question *Question,
- Usr_ICan_t ICanView[TstVis_NUM_ITEMS_VISIBILITY],
+ Usr_Can_t ICanView[TstVis_NUM_ITEMS_VISIBILITY],
const char *ClassTxt,
const char *ClassFeedback)
{
void (*TstPrn_WriteAnsExam[Qst_NUM_ANS_TYPES]) (struct Usr_Data *UsrDat,
const struct TstPrn_PrintedQuestion *PrintedQuestion,
struct Qst_Question *Question,
- Usr_ICan_t ICanView[TstVis_NUM_ITEMS_VISIBILITY],
+ Usr_Can_t ICanView[TstVis_NUM_ITEMS_VISIBILITY],
const char *ClassTxt,
const char *ClassFeedback) =
{
@@ -1203,7 +1203,7 @@ void TstPrn_WriteAnswersExam (struct Usr_Data *UsrDat,
static void TstPrn_WriteIntAnsPrint (struct Usr_Data *UsrDat,
const struct TstPrn_PrintedQuestion *PrintedQuestion,
struct Qst_Question *Question,
- Usr_ICan_t ICanView[TstVis_NUM_ITEMS_VISIBILITY],
+ Usr_Can_t ICanView[TstVis_NUM_ITEMS_VISIBILITY],
__attribute__((unused)) const char *ClassTxt,
__attribute__((unused)) const char *ClassFeedback)
{
@@ -1228,7 +1228,7 @@ static void TstPrn_WriteIntAnsPrint (struct Usr_Data *UsrDat,
if (sscanf (PrintedQuestion->StrAnswers,"%ld",&IntAnswerUsr) == 1)
{
HTM_TD_Begin ("class=\"CM %s_%s\"",
- ICanView[TstVis_VISIBLE_CORRECT_ANSWER] == Usr_I_CAN ?
+ ICanView[TstVis_VISIBLE_CORRECT_ANSWER] == Usr_CAN ?
(IntAnswerUsr == Question->Answer.Integer ? "Qst_ANS_OK" : // Correct
"Qst_ANS_BAD") : // Wrong
"Qst_ANS_0", // Blank answer
@@ -1250,10 +1250,10 @@ static void TstPrn_WriteIntAnsPrint (struct Usr_Data *UsrDat,
HTM_TD_Begin ("class=\"CM Qst_ANS_0_%s\"",The_GetSuffix ());
switch (ICanView[TstVis_VISIBLE_CORRECT_ANSWER])
{
- case Usr_I_CAN:
+ case Usr_CAN:
HTM_Long (Question->Answer.Integer);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -1272,7 +1272,7 @@ static void TstPrn_WriteIntAnsPrint (struct Usr_Data *UsrDat,
static void TstPrn_WriteFltAnsPrint (struct Usr_Data *UsrDat,
const struct TstPrn_PrintedQuestion *PrintedQuestion,
struct Qst_Question *Question,
- Usr_ICan_t ICanView[TstVis_NUM_ITEMS_VISIBILITY],
+ Usr_Can_t ICanView[TstVis_NUM_ITEMS_VISIBILITY],
__attribute__((unused)) const char *ClassTxt,
__attribute__((unused)) const char *ClassFeedback)
{
@@ -1298,7 +1298,7 @@ static void TstPrn_WriteFltAnsPrint (struct Usr_Data *UsrDat,
FloatAnsUsr = Str_GetDoubleFromStr (PrintedQuestion->StrAnswers);
// A bad formatted floating point answer will interpreted as 0.0
HTM_TD_Begin ("class=\"CM %s_%s\"",
- ICanView[TstVis_VISIBLE_CORRECT_ANSWER] == Usr_I_CAN ?
+ ICanView[TstVis_VISIBLE_CORRECT_ANSWER] == Usr_CAN ?
((FloatAnsUsr >= Question->Answer.FloatingPoint[0] &&
FloatAnsUsr <= Question->Answer.FloatingPoint[1]) ? "Qst_ANS_OK" : // Correct
"Qst_ANS_BAD") : // Wrong
@@ -1314,14 +1314,14 @@ static void TstPrn_WriteFltAnsPrint (struct Usr_Data *UsrDat,
HTM_TD_Begin ("class=\"CM Qst_ANS_0_%s\"",The_GetSuffix ());
switch (ICanView[TstVis_VISIBLE_CORRECT_ANSWER])
{
- case Usr_I_CAN:
+ case Usr_CAN:
HTM_Txt ("[");
HTM_Double (Question->Answer.FloatingPoint[0]);
HTM_Txt ("; ");
HTM_Double (Question->Answer.FloatingPoint[1]);
HTM_Txt ("]");
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -1340,7 +1340,7 @@ static void TstPrn_WriteFltAnsPrint (struct Usr_Data *UsrDat,
static void TstPrn_WriteTF_AnsPrint (struct Usr_Data *UsrDat,
const struct TstPrn_PrintedQuestion *PrintedQuestion,
struct Qst_Question *Question,
- Usr_ICan_t ICanView[TstVis_NUM_ITEMS_VISIBILITY],
+ Usr_Can_t ICanView[TstVis_NUM_ITEMS_VISIBILITY],
__attribute__((unused)) const char *ClassTxt,
__attribute__((unused)) const char *ClassFeedback)
{
@@ -1364,7 +1364,7 @@ static void TstPrn_WriteTF_AnsPrint (struct Usr_Data *UsrDat,
/***** Write the user answer *****/
HTM_TD_Begin ("class=\"CM %s_%s\"",
- ICanView[TstVis_VISIBLE_CORRECT_ANSWER] == Usr_I_CAN ?
+ ICanView[TstVis_VISIBLE_CORRECT_ANSWER] == Usr_CAN ?
(AnsTFUsr == Question->Answer.TF ? "Qst_ANS_OK" : // Correct
"Qst_ANS_BAD") : // Wrong
"Qst_ANS_0", // Blank answer
@@ -1376,10 +1376,10 @@ static void TstPrn_WriteTF_AnsPrint (struct Usr_Data *UsrDat,
HTM_TD_Begin ("class=\"CM Qst_ANS_0_%s\"",The_GetSuffix ());
switch (ICanView[TstVis_VISIBLE_CORRECT_ANSWER])
{
- case Usr_I_CAN:
+ case Usr_CAN:
Qst_WriteAnsTF (Question->Answer.TF);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -1398,7 +1398,7 @@ static void TstPrn_WriteTF_AnsPrint (struct Usr_Data *UsrDat,
static void TstPrn_WriteChoAnsPrint (struct Usr_Data *UsrDat,
const struct TstPrn_PrintedQuestion *PrintedQuestion,
struct Qst_Question *Question,
- Usr_ICan_t ICanView[TstVis_NUM_ITEMS_VISIBILITY],
+ Usr_Can_t ICanView[TstVis_NUM_ITEMS_VISIBILITY],
const char *ClassTxt,
const char *ClassFeedback)
{
@@ -1417,7 +1417,7 @@ static void TstPrn_WriteChoAnsPrint (struct Usr_Data *UsrDat,
Qst_ChangeFormatAnswersText (Question);
/***** Change format of answers feedback *****/
- if (ICanView[TstVis_VISIBLE_FEEDBACK_TXT] == Usr_I_CAN)
+ if (ICanView[TstVis_VISIBLE_FEEDBACK_TXT] == Usr_CAN)
Qst_ChangeFormatAnswersFeedback (Question);
/***** Get indexes for this question from string *****/
@@ -1446,7 +1446,7 @@ static void TstPrn_WriteChoAnsPrint (struct Usr_Data *UsrDat,
{
switch (ICanView[TstVis_VISIBLE_CORRECT_ANSWER])
{
- case Usr_I_CAN:
+ case Usr_CAN:
if (Question->Answer.Options[Indexes[NumOpt]].Correct)
{
Ans.Class = "Qst_ANS_OK"; // Correct
@@ -1458,7 +1458,7 @@ static void TstPrn_WriteChoAnsPrint (struct Usr_Data *UsrDat,
Ans.Str = "✗";
}
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ans.Class = "Qst_ANS_0"; // Blank answer
Ans.Str = "•";
@@ -1476,7 +1476,7 @@ static void TstPrn_WriteChoAnsPrint (struct Usr_Data *UsrDat,
/* Draw icon that indicates whether the answer is correct */
switch (ICanView[TstVis_VISIBLE_CORRECT_ANSWER])
{
- case Usr_I_CAN:
+ case Usr_CAN:
if (Question->Answer.Options[Indexes[NumOpt]].Correct)
{
HTM_TD_Begin ("class=\"CT Qst_ANS_0_%s\" title=\"%s\"",
@@ -1488,7 +1488,7 @@ static void TstPrn_WriteChoAnsPrint (struct Usr_Data *UsrDat,
else
HTM_TD_Empty (1);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
HTM_TD_Begin ("class=\"CT Qst_ANS_0_%s\"",The_GetSuffix ());
Ico_PutIconNotVisible ();
@@ -1507,20 +1507,20 @@ static void TstPrn_WriteChoAnsPrint (struct Usr_Data *UsrDat,
HTM_DIV_Begin ("class=\"%s_%s\"",ClassTxt,The_GetSuffix ());
switch (ICanView[TstVis_VISIBLE_QST_ANS_TXT])
{
- case Usr_I_CAN:
+ case Usr_CAN:
HTM_Txt (Question->Answer.Options[Indexes[NumOpt]].Text);
Med_ShowMedia (&Question->Answer.Options[Indexes[NumOpt]].Media,
"Tst_MED_SHOW_CONT",
"Tst_MED_SHOW");
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
}
HTM_DIV_End ();
- if (ICanView[TstVis_VISIBLE_CORRECT_ANSWER] == Usr_I_CAN)
+ if (ICanView[TstVis_VISIBLE_CORRECT_ANSWER] == Usr_CAN)
if (Question->Answer.Options[Indexes[NumOpt]].Feedback)
if (Question->Answer.Options[Indexes[NumOpt]].Feedback[0])
{
@@ -1546,7 +1546,7 @@ static void TstPrn_WriteChoAnsPrint (struct Usr_Data *UsrDat,
static void TstPrn_WriteTxtAnsPrint (struct Usr_Data *UsrDat,
const struct TstPrn_PrintedQuestion *PrintedQuestion,
struct Qst_Question *Question,
- Usr_ICan_t ICanView[TstVis_NUM_ITEMS_VISIBILITY],
+ Usr_Can_t ICanView[TstVis_NUM_ITEMS_VISIBILITY],
__attribute__((unused)) const char *ClassTxt,
__attribute__((unused)) const char *ClassFeedback)
{
@@ -1559,7 +1559,7 @@ static void TstPrn_WriteTxtAnsPrint (struct Usr_Data *UsrDat,
Qst_ChangeFormatAnswersText (Question);
/***** Change format of answers feedback *****/
- if (ICanView[TstVis_VISIBLE_FEEDBACK_TXT] == Usr_I_CAN)
+ if (ICanView[TstVis_VISIBLE_FEEDBACK_TXT] == Usr_CAN)
Qst_ChangeFormatAnswersFeedback (Question);
/***** Begin table *****/
@@ -1600,7 +1600,7 @@ static void TstPrn_WriteTxtAnsPrint (struct Usr_Data *UsrDat,
}
}
HTM_TD_Begin ("class=\"CT %s_%s\"",
- ICanView[TstVis_VISIBLE_CORRECT_ANSWER] == Usr_I_CAN ? (Correct ? "Qst_ANS_OK" : // Correct
+ ICanView[TstVis_VISIBLE_CORRECT_ANSWER] == Usr_CAN ? (Correct ? "Qst_ANS_OK" : // Correct
"Qst_ANS_BAD") : // Wrong
"Qst_ANS_0", // Blank answer
The_GetSuffix ());
@@ -1613,7 +1613,7 @@ static void TstPrn_WriteTxtAnsPrint (struct Usr_Data *UsrDat,
/***** Write the correct answers *****/
switch (ICanView[TstVis_VISIBLE_CORRECT_ANSWER])
{
- case Usr_I_CAN:
+ case Usr_CAN:
HTM_TD_Begin ("class=\"CT\"");
HTM_TABLE_BeginPadding (2);
@@ -1637,7 +1637,7 @@ static void TstPrn_WriteTxtAnsPrint (struct Usr_Data *UsrDat,
HTM_Txt (Question->Answer.Options[NumOpt].Text);
HTM_DIV_End ();
- if (ICanView[TstVis_VISIBLE_FEEDBACK_TXT] == Usr_I_CAN)
+ if (ICanView[TstVis_VISIBLE_FEEDBACK_TXT] == Usr_CAN)
if (Question->Answer.Options[NumOpt].Feedback)
if (Question->Answer.Options[NumOpt].Feedback[0])
{
@@ -1654,7 +1654,7 @@ static void TstPrn_WriteTxtAnsPrint (struct Usr_Data *UsrDat,
HTM_TABLE_End ();
HTM_TD_End ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
HTM_TD_Begin ("class=\"CT Qst_ANS_0_%s\"",The_GetSuffix ());
Ico_PutIconNotVisible ();
@@ -1808,7 +1808,7 @@ static void TstPrn_ShowUsrsPrints (__attribute__((unused)) void *Args)
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat,
Usr_DONT_GET_PREFS,
Usr_DONT_GET_ROLE_IN_CRS))
- if (Usr_CheckIfICanViewTstExaMchResult (&Gbl.Usrs.Other.UsrDat) == Usr_I_CAN)
+ if (Usr_CheckIfICanViewTstExaMchResult (&Gbl.Usrs.Other.UsrDat) == Usr_CAN)
{
/***** Show tests *****/
Gbl.Usrs.Other.UsrDat.Accepted = Enr_CheckIfUsrHasAcceptedInCurrentCrs (&Gbl.Usrs.Other.UsrDat);
@@ -1943,7 +1943,7 @@ static void TstPrn_ShowUsrPrints (struct Usr_Data *UsrDat)
}
/* Accumulate questions and score */
- if (ICanView.Score == Usr_I_CAN)
+ if (ICanView.Score == Usr_CAN)
{
NumTotalQsts.All += Print.NumQsts.All;
NumTotalQsts.NotBlank += Print.NumQsts.NotBlank;
@@ -1955,10 +1955,10 @@ static void TstPrn_ShowUsrPrints (struct Usr_Data *UsrDat)
ClassDat,The_GetSuffix (),The_GetColorRows ());
switch (ICanView.Result)
{
- case Usr_I_CAN:
+ case Usr_CAN:
HTM_Unsigned (Print.NumQsts.All);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -1970,13 +1970,13 @@ static void TstPrn_ShowUsrPrints (struct Usr_Data *UsrDat)
ClassDat,The_GetSuffix (),The_GetColorRows ());
switch (ICanView.Result)
{
- case Usr_I_CAN:
+ case Usr_CAN:
if (Print.NumQsts.NotBlank)
HTM_Unsigned (Print.NumQsts.NotBlank);
else
HTM_Light0 ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -1988,14 +1988,14 @@ static void TstPrn_ShowUsrPrints (struct Usr_Data *UsrDat)
ClassDat,The_GetSuffix (),The_GetColorRows ());
switch (ICanView.Result)
{
- case Usr_I_CAN:
+ case Usr_CAN:
NumQstsBlank = Print.NumQsts.All - Print.NumQsts.NotBlank;
if (NumQstsBlank)
HTM_Unsigned (NumQstsBlank);
else
HTM_Light0 ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -2007,12 +2007,12 @@ static void TstPrn_ShowUsrPrints (struct Usr_Data *UsrDat)
ClassDat,The_GetSuffix (),The_GetColorRows ());
switch (ICanView.Score)
{
- case Usr_I_CAN:
+ case Usr_CAN:
HTM_Double2Decimals (Print.Score);
HTM_Txt ("/");
HTM_Unsigned (Print.NumQsts.All);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -2024,12 +2024,12 @@ static void TstPrn_ShowUsrPrints (struct Usr_Data *UsrDat)
ClassDat,The_GetSuffix (),The_GetColorRows ());
switch (ICanView.Score)
{
- case Usr_I_CAN:
+ case Usr_CAN:
HTM_Double2Decimals (Print.NumQsts.All ? Print.Score /
(double) Print.NumQsts.All :
0.0);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -2041,11 +2041,11 @@ static void TstPrn_ShowUsrPrints (struct Usr_Data *UsrDat)
ClassDat,The_GetSuffix (),The_GetColorRows ());
switch (ICanView.Score)
{
- case Usr_I_CAN:
+ case Usr_CAN:
TstPrn_ComputeAndShowGrade (Print.NumQsts.All,Print.Score,
Tst_SCORE_MAX);
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -2056,7 +2056,7 @@ static void TstPrn_ShowUsrPrints (struct Usr_Data *UsrDat)
HTM_TD_Begin ("class=\"RT LINE_LEFT %s\"",The_GetColorRows ());
switch (ICanView.Result)
{
- case Usr_I_CAN:
+ case Usr_CAN:
Frm_BeginForm (Gbl.Action.Act == ActSeeMyTstResCrs ? ActSeeOneTstResMe :
ActSeeOneTstResOth);
ParCod_PutPar (ParCod_Prn,Print.PrnCod);
@@ -2065,7 +2065,7 @@ static void TstPrn_ShowUsrPrints (struct Usr_Data *UsrDat)
ActSeeOneTstResOth);
Frm_EndForm ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -2134,14 +2134,14 @@ static void TstPrn_ShowPrintsSummaryRow (Usr_MeOrOther_t MeOrOther,
double TotalScore)
{
extern const char *Txt_Visible_tests;
- Usr_ICan_t ICanViewTotalScore;
+ Usr_Can_t ICanViewTotalScore;
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_STD:
ICanViewTotalScore = (MeOrOther == Usr_ME &&
- TstVis_IsVisibleTotalScore (TstCfg_GetConfigVisibility ())) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ TstVis_IsVisibleTotalScore (TstCfg_GetConfigVisibility ())) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case Rol_NET:
case Rol_TCH:
@@ -2149,14 +2149,14 @@ static void TstPrn_ShowPrintsSummaryRow (Usr_MeOrOther_t MeOrOther,
case Rol_CTR_ADM:
case Rol_INS_ADM:
ICanViewTotalScore = (MeOrOther == Usr_ME ||
- NumPrints) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ NumPrints) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case Rol_SYS_ADM:
- ICanViewTotalScore = Usr_I_CAN;
+ ICanViewTotalScore = Usr_CAN;
break;
default:
- ICanViewTotalScore = Usr_I_CAN_NOT;
+ ICanViewTotalScore = Usr_CAN_NOT;
break;
}
@@ -2200,7 +2200,7 @@ static void TstPrn_ShowPrintsSummaryRow (Usr_MeOrOther_t MeOrOther,
HTM_TD_Begin ("class=\"RM DAT_STRONG_%s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"",
The_GetSuffix (),
The_GetColorRows ());
- if (ICanViewTotalScore == Usr_I_CAN)
+ if (ICanViewTotalScore == Usr_CAN)
{
HTM_Double2Decimals (TotalScore);
HTM_Txt ("/");
@@ -2212,7 +2212,7 @@ static void TstPrn_ShowPrintsSummaryRow (Usr_MeOrOther_t MeOrOther,
HTM_TD_Begin ("class=\"RM DAT_STRONG_%s LINE_TOP LINE_BOTTOM %s\"",
The_GetSuffix (),
The_GetColorRows ());
- if (ICanViewTotalScore == Usr_I_CAN)
+ if (ICanViewTotalScore == Usr_CAN)
HTM_Double2Decimals (NumTotalQsts->All ? TotalScore / (double) NumTotalQsts->All :
0.0);
HTM_TD_End ();
@@ -2221,7 +2221,7 @@ static void TstPrn_ShowPrintsSummaryRow (Usr_MeOrOther_t MeOrOther,
HTM_TD_Begin ("class=\"RM DAT_STRONG_%s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"",
The_GetSuffix (),
The_GetColorRows ());
- if (ICanViewTotalScore == Usr_I_CAN)
+ if (ICanViewTotalScore == Usr_CAN)
TstPrn_ComputeAndShowGrade (NumTotalQsts->All,TotalScore,Tst_SCORE_MAX);
HTM_TD_End ();
@@ -2273,7 +2273,7 @@ void TstPrn_ShowOnePrint (void)
if (Gbl.Usrs.Me.Role.Logged == Rol_STD)
TstCfg_GetConfig (); // To get visibility
TstRes_CheckIfICanSeePrintResult (&Print,Gbl.Usrs.Other.UsrDat.UsrCod,&ICanView);
- if (ICanView.Result == Usr_I_CAN_NOT) // I am not allowed to view this test
+ if (ICanView.Result == Usr_CAN_NOT) // I am not allowed to view this test
Err_NoPermissionExit ();
/***** Get questions and user's answers of the test from database *****/
@@ -2294,7 +2294,7 @@ void TstPrn_ShowOnePrint (void)
Usr_DONT_GET_PREFS,
Usr_DONT_GET_ROLE_IN_CRS))
Err_WrongUserExit ();
- if (Usr_CheckIfICanViewTstExaMchResult (&Gbl.Usrs.Other.UsrDat) == Usr_I_CAN_NOT)
+ if (Usr_CheckIfICanViewTstExaMchResult (&Gbl.Usrs.Other.UsrDat) == Usr_CAN_NOT)
Err_NoPermissionExit ();
/* User */
@@ -2388,14 +2388,14 @@ void TstPrn_ShowOnePrint (void)
The_GetSuffix ());
switch (ICanView.Score)
{
- case Usr_I_CAN:
+ case Usr_CAN:
HTM_STRONG_Begin ();
HTM_Double2Decimals (Print.Score);
HTM_Txt ("/");
HTM_Unsigned (Print.NumQsts.All);
HTM_STRONG_End ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -2416,13 +2416,13 @@ void TstPrn_ShowOnePrint (void)
The_GetSuffix ());
switch (ICanView.Score)
{
- case Usr_I_CAN:
+ case Usr_CAN:
HTM_STRONG_Begin ();
TstPrn_ComputeAndShowGrade (Print.NumQsts.All,Print.Score,
Tst_SCORE_MAX);
HTM_STRONG_End ();
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
Ico_PutIconNotVisible ();
break;
@@ -2474,18 +2474,18 @@ static void TstRes_CheckIfICanSeePrintResult (const struct TstPrn_Print *Print,
case Rol_STD:
// Depends on whether the print is sent or not
// if the print is not sent ==> I can not view results
- ICanView->Result = (Print->Sent && Usr_ItsMe (UsrCod) == Usr_ME) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ ICanView->Result = (Print->Sent && Usr_ItsMe (UsrCod) == Usr_ME) ? Usr_CAN :
+ Usr_CAN_NOT;
switch (ICanView->Result)
{
- case Usr_I_CAN:
+ case Usr_CAN:
// Depends on 5 visibility icons associated to tests
- ICanView->Score = TstVis_IsVisibleTotalScore (TstCfg_GetConfigVisibility ()) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ ICanView->Score = TstVis_IsVisibleTotalScore (TstCfg_GetConfigVisibility ()) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
- case Usr_I_CAN_NOT:
+ case Usr_CAN_NOT:
default:
- ICanView->Score = Usr_I_CAN_NOT;
+ ICanView->Score = Usr_CAN_NOT;
break;
}
break;
@@ -2499,16 +2499,16 @@ static void TstRes_CheckIfICanSeePrintResult (const struct TstPrn_Print *Print,
// if teachers are not allowed ==> I can not view results (except if the print is mine)
ICanView->Result =
ICanView->Score = Print->Sent &&
- (Print->AllowTeachers || Usr_ItsMe (UsrCod) == Usr_ME) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ (Print->AllowTeachers || Usr_ItsMe (UsrCod) == Usr_ME) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case Rol_SYS_ADM:
ICanView->Result =
- ICanView->Score = Usr_I_CAN;
+ ICanView->Score = Usr_CAN;
break;
default:
ICanView->Result =
- ICanView->Score = Usr_I_CAN_NOT;
+ ICanView->Score = Usr_CAN_NOT;
break;
}
}
@@ -2709,7 +2709,7 @@ unsigned TstPrn_GetNumPrintsGeneratedByMe (void)
unsigned NumRows;
unsigned NumPrintsGeneratedByMe = 0;
- if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS])
+ if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] == Usr_BELONG)
{
/***** Get number of test prints generated by me from database *****/
NumRows = Tst_DB_GetNumPrintsGeneratedByMe (&mysql_res);
diff --git a/swad_test_print.h b/swad_test_print.h
index 078410061..62387621c 100644
--- a/swad_test_print.h
+++ b/swad_test_print.h
@@ -131,7 +131,7 @@ void TstPrn_ShowGrade (double Grade,double MaxGrade);
void TstPrn_WriteAnswersExam (struct Usr_Data *UsrDat,
const struct TstPrn_PrintedQuestion *PrintedQuestion,
struct Qst_Question *Question,
- Usr_ICan_t ICanView[TstVis_NUM_ITEMS_VISIBILITY],
+ Usr_Can_t ICanView[TstVis_NUM_ITEMS_VISIBILITY],
const char *ClassTxt,
const char *ClassFeedback);
diff --git a/swad_timeline_comment.c b/swad_timeline_comment.c
index 039c8ca08..e08d9c590 100644
--- a/swad_timeline_comment.c
+++ b/swad_timeline_comment.c
@@ -877,7 +877,7 @@ static void TmlCom_ReqRemComm (struct Tml_Timeline *Timeline)
TmlCom_GetCommDataByCod (&Com);
/***** Do some checks *****/
- if (TmlUsr_CheckIfICanRemove (Com.PubCod,Com.UsrCod) == Usr_I_CAN_NOT)
+ if (TmlUsr_CheckIfICanRemove (Com.PubCod,Com.UsrCod) == Usr_CAN_NOT)
{
Med_MediaDestructor (&Com.Content.Media);
return;
diff --git a/swad_timeline_favourite.c b/swad_timeline_favourite.c
index 28a6c4d0c..5a5534682 100644
--- a/swad_timeline_favourite.c
+++ b/swad_timeline_favourite.c
@@ -135,7 +135,7 @@ static void TmlFav_FavNote (struct TmlNot_Note *Not)
TmlNot_GetNoteDataByCod (Not);
/***** Do some checks *****/
- if (TmlUsr_CheckIfICanFavSha (Not->NotCod,Not->UsrCod) == Usr_I_CAN_NOT)
+ if (TmlUsr_CheckIfICanFavSha (Not->NotCod,Not->UsrCod) == Usr_CAN_NOT)
return;
/***** Trivial check: Have I faved this note? *****/
@@ -165,7 +165,7 @@ static void TmlFav_UnfNote (struct TmlNot_Note *Not)
TmlNot_GetNoteDataByCod (Not);
/***** Do some checks *****/
- if (TmlUsr_CheckIfICanFavSha (Not->NotCod,Not->UsrCod) == Usr_I_CAN_NOT)
+ if (TmlUsr_CheckIfICanFavSha (Not->NotCod,Not->UsrCod) == Usr_CAN_NOT)
return;
/***** Trivial check: Have I faved this note? *****/
@@ -272,7 +272,7 @@ static void TmlFav_FavComm (struct TmlCom_Comment *Com)
TmlCom_GetCommDataByCod (Com);
/***** Do some checks *****/
- if (TmlUsr_CheckIfICanFavSha (Com->PubCod,Com->UsrCod) == Usr_I_CAN_NOT)
+ if (TmlUsr_CheckIfICanFavSha (Com->PubCod,Com->UsrCod) == Usr_CAN_NOT)
{
Med_MediaDestructor (&Com->Content.Media);
return;
@@ -311,7 +311,7 @@ static void TmlFav_UnfComm (struct TmlCom_Comment *Com)
TmlCom_GetCommDataByCod (Com);
/***** Do some checks *****/
- if (TmlUsr_CheckIfICanFavSha (Com->PubCod,Com->UsrCod) == Usr_I_CAN_NOT)
+ if (TmlUsr_CheckIfICanFavSha (Com->PubCod,Com->UsrCod) == Usr_CAN_NOT)
{
Med_MediaDestructor (&Com->Content.Media);
return;
diff --git a/swad_timeline_note.c b/swad_timeline_note.c
index 19c5983e4..93ca71531 100644
--- a/swad_timeline_note.c
+++ b/swad_timeline_note.c
@@ -1010,7 +1010,7 @@ static void TmlNot_ReqRemNote (struct Tml_Timeline *Timeline)
TmlNot_GetNoteDataByCod (&Not);
/***** Do some checks *****/
- if (TmlUsr_CheckIfICanRemove (Not.NotCod,Not.UsrCod) == Usr_I_CAN_NOT)
+ if (TmlUsr_CheckIfICanRemove (Not.NotCod,Not.UsrCod) == Usr_CAN_NOT)
return;
/***** Show question and button to remove note *****/
diff --git a/swad_timeline_share.c b/swad_timeline_share.c
index f36ff861c..984ac18d7 100644
--- a/swad_timeline_share.c
+++ b/swad_timeline_share.c
@@ -111,7 +111,7 @@ static void TmlSha_ShaNote (struct TmlNot_Note *Not)
TmlNot_GetNoteDataByCod (Not);
/***** Do some checks *****/
- if (TmlUsr_CheckIfICanFavSha (Not->NotCod,Not->UsrCod) == Usr_I_CAN_NOT)
+ if (TmlUsr_CheckIfICanFavSha (Not->NotCod,Not->UsrCod) == Usr_CAN_NOT)
return;
/***** Trivial check: Is note already shared by me? *****/
@@ -169,7 +169,7 @@ static void TmlSha_UnsNote (struct TmlNot_Note *Not)
TmlNot_GetNoteDataByCod (Not);
/***** Do some checks *****/
- if (TmlUsr_CheckIfICanFavSha (Not->NotCod,Not->UsrCod) == Usr_I_CAN_NOT)
+ if (TmlUsr_CheckIfICanFavSha (Not->NotCod,Not->UsrCod) == Usr_CAN_NOT)
return;
/***** Delete publication from database *****/
diff --git a/swad_timeline_user.c b/swad_timeline_user.c
index 61ec4a152..fc7074230 100644
--- a/swad_timeline_user.c
+++ b/swad_timeline_user.c
@@ -377,7 +377,7 @@ static void TmlUsr_PutDisabledIconFavSha (TmlUsr_FavSha_t FavSha,
/***************** Check if I can fav/share a note/comment *******************/
/*****************************************************************************/
-Usr_ICan_t TmlUsr_CheckIfICanFavSha (long Cod,long UsrCod)
+Usr_Can_t TmlUsr_CheckIfICanFavSha (long Cod,long UsrCod)
{
extern const char *Txt_The_post_no_longer_exists;
@@ -385,7 +385,7 @@ Usr_ICan_t TmlUsr_CheckIfICanFavSha (long Cod,long UsrCod)
if (Cod <= 0)
{
Ale_ShowAlert (Ale_WARNING,Txt_The_post_no_longer_exists);
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
/***** Trivial check 2: I must be logged
@@ -393,17 +393,17 @@ Usr_ICan_t TmlUsr_CheckIfICanFavSha (long Cod,long UsrCod)
if (!Gbl.Usrs.Me.Logged || Usr_ItsMe (UsrCod) == Usr_ME)
{
Err_NoPermission ();
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
- return Usr_I_CAN;
+ return Usr_CAN;
}
/*****************************************************************************/
/***************** Check if I can fav/share a note/comment *******************/
/*****************************************************************************/
-Usr_ICan_t TmlUsr_CheckIfICanRemove (long Cod,long UsrCod)
+Usr_Can_t TmlUsr_CheckIfICanRemove (long Cod,long UsrCod)
{
extern const char *Txt_The_post_no_longer_exists;
@@ -411,7 +411,7 @@ Usr_ICan_t TmlUsr_CheckIfICanRemove (long Cod,long UsrCod)
if (Cod <= 0)
{
Ale_ShowAlert (Ale_WARNING,Txt_The_post_no_longer_exists);
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
/***** Trivial check 2: I must be logged
@@ -419,8 +419,8 @@ Usr_ICan_t TmlUsr_CheckIfICanRemove (long Cod,long UsrCod)
if (!Gbl.Usrs.Me.Logged || Usr_ItsMe (UsrCod) == Usr_OTHER)
{
Err_NoPermission ();
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
- return Usr_I_CAN;
+ return Usr_CAN;
}
diff --git a/swad_timeline_user.h b/swad_timeline_user.h
index d725fd6bf..18f6e1fba 100644
--- a/swad_timeline_user.h
+++ b/swad_timeline_user.h
@@ -75,7 +75,7 @@ void TmlUsr_PutIconFavSha (TmlUsr_FavSha_t FavSha,
long Cod,long UsrCod,unsigned NumUsrs,
TmlUsr_HowManyUsrs_t HowManyUsrs);
-Usr_ICan_t TmlUsr_CheckIfICanFavSha (long Cod,long UsrCod);
-Usr_ICan_t TmlUsr_CheckIfICanRemove (long Cod,long UsrCod);
+Usr_Can_t TmlUsr_CheckIfICanFavSha (long Cod,long UsrCod);
+Usr_Can_t TmlUsr_CheckIfICanRemove (long Cod,long UsrCod);
#endif
diff --git a/swad_user.c b/swad_user.c
index 785bf1305..b41562f4e 100644
--- a/swad_user.c
+++ b/swad_user.c
@@ -234,8 +234,8 @@ static void Usr_PutLinkToSeeAdmins (void);
static void Usr_PutLinkToSeeGuests (void);
static Frm_PutForm_t Usr_SetOptionsListUsrsAllowed (Rol_Role_t UsrsRole,
- Usr_ICan_t ICanChooseOption[Usr_LIST_USRS_NUM_OPTIONS]);
-static void Usr_PutOptionsListUsrs (const Usr_ICan_t ICanChooseOption[Usr_LIST_USRS_NUM_OPTIONS]);
+ Usr_Can_t ICanChooseOption[Usr_LIST_USRS_NUM_OPTIONS]);
+static void Usr_PutOptionsListUsrs (const Usr_Can_t ICanChooseOption[Usr_LIST_USRS_NUM_OPTIONS]);
static void Usr_ShowOneListUsrsOption (Usr_ListUsrsOption_t ListUsrsAction,
const char *Label);
static Usr_ListUsrsOption_t Usr_GetListUsrsOption (Usr_ListUsrsOption_t DefaultAction);
@@ -774,11 +774,11 @@ bool Usr_CheckIfUsrIsSuperuser (long UsrCod)
/**************** Check if I can change another user's data ******************/
/*****************************************************************************/
-Usr_ICan_t Usr_ICanChangeOtherUsrData (const struct Usr_Data *UsrDat)
+Usr_Can_t Usr_ICanChangeOtherUsrData (const struct Usr_Data *UsrDat)
{
/***** I can change my data *****/
if (Usr_ItsMe (UsrDat->UsrCod) == Usr_ME)
- return Usr_I_CAN;
+ return Usr_CAN;
/***** Check if I have permission to see another user's IDs *****/
switch (Gbl.Usrs.Me.Role.Logged)
@@ -786,20 +786,20 @@ Usr_ICan_t Usr_ICanChangeOtherUsrData (const struct Usr_Data *UsrDat)
case Rol_TCH:
/* Check 1: I can change data of users who do not exist in database */
if (UsrDat->UsrCod <= 0) // User does not exist (when creating a new user)
- return Usr_I_CAN;
+ return Usr_CAN;
/* Check 2: I change data of users without password */
if (!UsrDat->Password[0]) // User has no password (never logged)
- return Usr_I_CAN;
+ return Usr_CAN;
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
case Rol_DEG_ADM:
case Rol_CTR_ADM:
case Rol_INS_ADM:
case Rol_SYS_ADM:
return Usr_CheckIfICanEditOtherUsr (UsrDat);
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
}
@@ -807,11 +807,11 @@ Usr_ICan_t Usr_ICanChangeOtherUsrData (const struct Usr_Data *UsrDat)
/***************** Check if I can edit another user's data *******************/
/*****************************************************************************/
-Usr_ICan_t Usr_CheckIfICanEditOtherUsr (const struct Usr_Data *UsrDat)
+Usr_Can_t Usr_CheckIfICanEditOtherUsr (const struct Usr_Data *UsrDat)
{
/***** I can edit me *****/
if (Usr_ItsMe (UsrDat->UsrCod) == Usr_ME)
- return Usr_I_CAN;
+ return Usr_CAN;
switch (Gbl.Usrs.Me.Role.Logged)
{
@@ -823,8 +823,8 @@ Usr_ICan_t Usr_CheckIfICanEditOtherUsr (const struct Usr_Data *UsrDat)
true)) // count only accepted courses
// Degree admins can't edit superusers' data
if (!Usr_CheckIfUsrIsSuperuser (UsrDat->UsrCod))
- return Usr_I_CAN;
- return Usr_I_CAN_NOT;
+ return Usr_CAN;
+ return Usr_CAN_NOT;
case Rol_CTR_ADM:
/* If I am an administrator of current center,
I only can edit from current center who have accepted */
@@ -833,8 +833,8 @@ Usr_ICan_t Usr_CheckIfICanEditOtherUsr (const struct Usr_Data *UsrDat)
true)) // count only accepted courses
// Center admins can't edit superusers' data
if (!Usr_CheckIfUsrIsSuperuser (UsrDat->UsrCod))
- return Usr_I_CAN;
- return Usr_I_CAN_NOT;
+ return Usr_CAN;
+ return Usr_CAN_NOT;
case Rol_INS_ADM:
/* If I am an administrator of current institution,
I only can edit from current institution who have accepted */
@@ -843,12 +843,12 @@ Usr_ICan_t Usr_CheckIfICanEditOtherUsr (const struct Usr_Data *UsrDat)
true)) // count only accepted courses
// Institution admins can't edit superusers' data
if (!Usr_CheckIfUsrIsSuperuser (UsrDat->UsrCod))
- return Usr_I_CAN;
- return Usr_I_CAN_NOT;
+ return Usr_CAN;
+ return Usr_CAN_NOT;
case Rol_SYS_ADM:
- return Usr_I_CAN;
+ return Usr_CAN;
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
}
@@ -856,51 +856,51 @@ Usr_ICan_t Usr_CheckIfICanEditOtherUsr (const struct Usr_Data *UsrDat)
/************ Check if I can view the record card of a student ***************/
/*****************************************************************************/
-Usr_ICan_t Usr_CheckIfICanViewRecordStd (const struct Usr_Data *UsrDat)
+Usr_Can_t Usr_CheckIfICanViewRecordStd (const struct Usr_Data *UsrDat)
{
/***** 1. Fast check: Am I logged? *****/
if (!Gbl.Usrs.Me.Logged)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** 2. Fast check: Is it a valid user code? *****/
if (UsrDat->UsrCod <= 0)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** 3. Fast check: Is it a course selected? *****/
if (Gbl.Hierarchy.Node[Hie_CRS].HieCod <= 0)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** 4. Fast check: Is he/she a student? *****/
if (UsrDat->Roles.InCurrentCrs != Rol_STD)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** 5. Fast check: Am I a system admin? *****/
if (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
- return Usr_I_CAN;
+ return Usr_CAN;
/***** 6. Fast check: Do I belong to the current course? *****/
- if (!Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS])
- return Usr_I_CAN_NOT;
+ if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] == Usr_DONT_BELONG)
+ return Usr_CAN_NOT;
/***** 7. Fast check: It's me? *****/
if (Usr_ItsMe (UsrDat->UsrCod) == Usr_ME)
- return Usr_I_CAN;
+ return Usr_CAN;
/***** 8. Fast / slow check: Does he/she belong to the current course? *****/
if (!Enr_CheckIfUsrBelongsToCurrentCrs (UsrDat))
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** 9. Fast / slow check depending on roles *****/
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_STD:
case Rol_NET:
- return Grp_CheckIfUsrSharesAnyOfMyGrpsInCurrentCrs (UsrDat) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return Grp_CheckIfUsrSharesAnyOfMyGrpsInCurrentCrs (UsrDat) ? Usr_CAN :
+ Usr_CAN_NOT;
case Rol_TCH:
- return Usr_I_CAN;
+ return Usr_CAN;
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
}
@@ -911,70 +911,70 @@ Usr_ICan_t Usr_CheckIfICanViewRecordStd (const struct Usr_Data *UsrDat)
// - a non-editing teacher
// - or a teacher
-Usr_ICan_t Usr_CheckIfICanViewRecordTch (struct Usr_Data *UsrDat)
+Usr_Can_t Usr_CheckIfICanViewRecordTch (struct Usr_Data *UsrDat)
{
/***** 1. Fast check: Am I logged? *****/
if (!Gbl.Usrs.Me.Logged)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** 2. Fast check: Is it a valid user code? *****/
if (UsrDat->UsrCod <= 0)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** 3. Fast check: Is it a course selected? *****/
if (Gbl.Hierarchy.Node[Hie_CRS].HieCod <= 0)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** 4. Fast check: Is he/she a non-editing teacher or a teacher? *****/
return (UsrDat->Roles.InCurrentCrs == Rol_NET ||
- UsrDat->Roles.InCurrentCrs == Rol_TCH) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ UsrDat->Roles.InCurrentCrs == Rol_TCH) ? Usr_CAN :
+ Usr_CAN_NOT;
}
/*****************************************************************************/
/********* Check if I can view test/exam/match result of another user ********/
/*****************************************************************************/
-Usr_ICan_t Usr_CheckIfICanViewTstExaMchResult (const struct Usr_Data *UsrDat)
+Usr_Can_t Usr_CheckIfICanViewTstExaMchResult (const struct Usr_Data *UsrDat)
{
/***** 1. Fast check: Am I logged? *****/
if (!Gbl.Usrs.Me.Logged)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** 2. Fast check: Is it a valid user code? *****/
if (UsrDat->UsrCod <= 0)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** 3. Fast check: Is it a course selected? *****/
if (Gbl.Hierarchy.Node[Hie_CRS].HieCod <= 0)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** 4. Fast check: Am I a system admin? *****/
if (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
- return Usr_I_CAN;
+ return Usr_CAN;
/***** 5. Fast check: Do I belong to the current course? *****/
- if (!Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS])
- return Usr_I_CAN_NOT;
+ if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] == Usr_DONT_BELONG)
+ return Usr_CAN_NOT;
/***** 6. Fast check: It's me? *****/
if (Usr_ItsMe (UsrDat->UsrCod) == Usr_ME)
- return Usr_I_CAN;
+ return Usr_CAN;
/***** 7. Fast check: Does he/she belong to the current course? *****/
if (!Enr_CheckIfUsrBelongsToCurrentCrs (UsrDat))
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** 8. Fast / slow check depending on roles *****/
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_NET:
- return Grp_CheckIfUsrSharesAnyOfMyGrpsInCurrentCrs (UsrDat) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return Grp_CheckIfUsrSharesAnyOfMyGrpsInCurrentCrs (UsrDat) ? Usr_CAN :
+ Usr_CAN_NOT;
case Rol_TCH:
- return Usr_I_CAN;
+ return Usr_CAN;
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
}
@@ -982,47 +982,47 @@ Usr_ICan_t Usr_CheckIfICanViewTstExaMchResult (const struct Usr_Data *UsrDat)
/********** Check if I can view assigments / works of another user ***********/
/*****************************************************************************/
-Usr_ICan_t Usr_CheckIfICanViewAsgWrk (const struct Usr_Data *UsrDat)
+Usr_Can_t Usr_CheckIfICanViewAsgWrk (const struct Usr_Data *UsrDat)
{
/***** 1. Fast check: Am I logged? *****/
if (!Gbl.Usrs.Me.Logged)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** 2. Fast check: Is it a valid user code? *****/
if (UsrDat->UsrCod <= 0)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** 3. Fast check: Is it a course selected? *****/
if (Gbl.Hierarchy.Node[Hie_CRS].HieCod <= 0)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** 4. Fast check: Does he/she belong to the current course? *****/
// Only users beloging to course can have files in assignments/works
if (!Enr_CheckIfUsrBelongsToCurrentCrs (UsrDat))
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** 5. Fast check: Am I a system admin? *****/
if (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
- return Usr_I_CAN;
+ return Usr_CAN;
/***** 6. Fast check: Do I belong to the current course? *****/
- if (!Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS])
- return Usr_I_CAN_NOT;
+ if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] == Usr_DONT_BELONG)
+ return Usr_CAN_NOT;
/***** 7. Fast check: It's me? *****/
if (Usr_ItsMe (UsrDat->UsrCod) == Usr_ME)
- return Usr_I_CAN;
+ return Usr_CAN;
/***** 8. Fast / slow check depending on roles *****/
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_NET:
- return Grp_CheckIfUsrSharesAnyOfMyGrpsInCurrentCrs (UsrDat) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return Grp_CheckIfUsrSharesAnyOfMyGrpsInCurrentCrs (UsrDat) ? Usr_CAN :
+ Usr_CAN_NOT;
case Rol_TCH:
- return Usr_I_CAN;
+ return Usr_CAN;
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
}
@@ -1030,42 +1030,42 @@ Usr_ICan_t Usr_CheckIfICanViewAsgWrk (const struct Usr_Data *UsrDat)
/************** Check if I can view attendance of another user ***************/
/*****************************************************************************/
-Usr_ICan_t Usr_CheckIfICanViewAtt (const struct Usr_Data *UsrDat)
+Usr_Can_t Usr_CheckIfICanViewAtt (const struct Usr_Data *UsrDat)
{
/***** 1. Fast check: Am I logged? *****/
if (!Gbl.Usrs.Me.Logged)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** 2. Fast check: Is it a valid user code? *****/
if (UsrDat->UsrCod <= 0)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** 3. Fast check: Is it a course selected? *****/
if (Gbl.Hierarchy.Node[Hie_CRS].HieCod <= 0)
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
/***** 4. Fast check: Am I a system admin? *****/
if (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
- return Usr_I_CAN;
+ return Usr_CAN;
/***** 5. Fast check: Do I belong to the current course? *****/
- if (!Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS])
- return Usr_I_CAN_NOT;
+ if (Gbl.Usrs.Me.IBelongToCurrent[Hie_CRS] == Usr_DONT_BELONG)
+ return Usr_CAN_NOT;
/***** 6. Fast check: It's me? *****/
if (Usr_ItsMe (UsrDat->UsrCod) == Usr_ME)
- return Usr_I_CAN;
+ return Usr_CAN;
/***** 7. Fast / slow check depending on roles *****/
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_NET:
- return Grp_CheckIfUsrSharesAnyOfMyGrpsInCurrentCrs (UsrDat) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ return Grp_CheckIfUsrSharesAnyOfMyGrpsInCurrentCrs (UsrDat) ? Usr_CAN :
+ Usr_CAN_NOT;
case Rol_TCH:
- return Usr_I_CAN;
+ return Usr_CAN;
default:
- return Usr_I_CAN_NOT;
+ return Usr_CAN_NOT;
}
}
@@ -2622,22 +2622,22 @@ static void Usr_WriteMainUsrDataExceptUsrID (struct Usr_Data *UsrDat,
static void Usr_WriteEmail (struct Usr_Data *UsrDat,const char *BgColor)
{
- Usr_ICan_t ShowEmail;
+ Usr_Can_t ShowEmail;
char MailLink[7 + Cns_MAX_BYTES_EMAIL_ADDRESS + 1]; // mailto:mail_address
if (UsrDat->Email[0])
{
ShowEmail = Mai_ICanSeeOtherUsrEmail (UsrDat);
- if (ShowEmail == Usr_I_CAN)
+ if (ShowEmail == Usr_CAN)
snprintf (MailLink,sizeof (MailLink),"mailto:%s",UsrDat->Email);
}
else
- ShowEmail = Usr_I_CAN_NOT;
+ ShowEmail = Usr_CAN_NOT;
Usr_WriteUsrData (BgColor,
- UsrDat->Email[0] ? (ShowEmail == Usr_I_CAN ? UsrDat->Email :
+ UsrDat->Email[0] ? (ShowEmail == Usr_CAN ? UsrDat->Email :
"********") :
" ",
- ShowEmail == Usr_I_CAN ? MailLink :
+ ShowEmail == Usr_CAN ? MailLink :
NULL,
true,UsrDat->Accepted);
}
@@ -5022,7 +5022,7 @@ void Usr_SeeGuests (void)
extern const char *Hlp_USERS_Guests;
extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
extern const char *Txt_Scope;
- Usr_ICan_t ICanChooseOption[Usr_LIST_USRS_NUM_OPTIONS];
+ Usr_Can_t ICanChooseOption[Usr_LIST_USRS_NUM_OPTIONS];
Frm_PutForm_t PutForm;
/***** Contextual menu *****/
@@ -5142,7 +5142,7 @@ void Usr_SeeStudents (void)
extern const char *Hlp_USERS_Students;
extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
extern const char *Txt_Scope;
- Usr_ICan_t ICanChooseOption[Usr_LIST_USRS_NUM_OPTIONS];
+ Usr_Can_t ICanChooseOption[Usr_LIST_USRS_NUM_OPTIONS];
Frm_PutForm_t PutForm;
/***** Put contextual links *****/
@@ -5301,7 +5301,7 @@ void Usr_SeeTeachers (void)
extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
extern const char *Txt_Scope;
unsigned NumUsrs;
- Usr_ICan_t ICanChooseOption[Usr_LIST_USRS_NUM_OPTIONS];
+ Usr_Can_t ICanChooseOption[Usr_LIST_USRS_NUM_OPTIONS];
Frm_PutForm_t PutForm;
/***** Put contextual links *****/
@@ -5477,7 +5477,7 @@ void Usr_SeeTeachers (void)
// Returns true if any option is allowed
static Frm_PutForm_t Usr_SetOptionsListUsrsAllowed (Rol_Role_t UsrsRole,
- Usr_ICan_t ICanChooseOption[Usr_LIST_USRS_NUM_OPTIONS])
+ Usr_Can_t ICanChooseOption[Usr_LIST_USRS_NUM_OPTIONS])
{
Usr_ListUsrsOption_t Opt;
@@ -5486,14 +5486,14 @@ static Frm_PutForm_t Usr_SetOptionsListUsrsAllowed (Rol_Role_t UsrsRole,
for (Opt = (Usr_ListUsrsOption_t) 1; // Skip unknown option
Opt <= (Usr_ListUsrsOption_t) (Usr_LIST_USRS_NUM_OPTIONS - 1);
Opt++)
- ICanChooseOption[Opt] = Usr_I_CAN_NOT;
+ ICanChooseOption[Opt] = Usr_CAN_NOT;
/* Activate some options depending on users' role, on my role, etc. */
switch (UsrsRole)
{
case Rol_GST:
- ICanChooseOption[Usr_OPTION_RECORDS] = (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ ICanChooseOption[Usr_OPTION_RECORDS] = (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case Rol_STD:
ICanChooseOption[Usr_OPTION_RECORDS] =
@@ -5503,16 +5503,16 @@ static Frm_PutForm_t Usr_SetOptionsListUsrsAllowed (Rol_Role_t UsrsRole,
(Gbl.Usrs.Me.Role.Logged == Rol_STD ||
Gbl.Usrs.Me.Role.Logged == Rol_NET ||
Gbl.Usrs.Me.Role.Logged == Rol_TCH ||
- Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)) ? Usr_CAN :
+ Usr_CAN_NOT;
ICanChooseOption[Usr_OPTION_HOMEWORK] =
ICanChooseOption[Usr_OPTION_ATTENDANCE] =
ICanChooseOption[Usr_OPTION_EMAIL] = (Gbl.Scope.Current == Hie_CRS &&
(Gbl.Usrs.Me.Role.Logged == Rol_NET ||
Gbl.Usrs.Me.Role.Logged == Rol_TCH ||
- Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
case Rol_TCH:
ICanChooseOption[Usr_OPTION_RECORDS] =
@@ -5523,13 +5523,13 @@ static Frm_PutForm_t Usr_SetOptionsListUsrsAllowed (Rol_Role_t UsrsRole,
(Gbl.Usrs.Me.Role.Logged == Rol_STD ||
Gbl.Usrs.Me.Role.Logged == Rol_NET ||
Gbl.Usrs.Me.Role.Logged == Rol_TCH ||
- Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)) ? Usr_CAN :
+ Usr_CAN_NOT;
ICanChooseOption[Usr_OPTION_HOMEWORK] = (Gbl.Scope.Current == Hie_CRS &&
(Gbl.Usrs.Me.Role.Logged == Rol_NET ||
Gbl.Usrs.Me.Role.Logged == Rol_TCH ||
- Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)) ? Usr_I_CAN :
- Usr_I_CAN_NOT;
+ Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)) ? Usr_CAN :
+ Usr_CAN_NOT;
break;
default:
return Frm_DONT_PUT_FORM;
@@ -5539,7 +5539,7 @@ static Frm_PutForm_t Usr_SetOptionsListUsrsAllowed (Rol_Role_t UsrsRole,
for (Opt = (Usr_ListUsrsOption_t) 1; // Skip unknown option
Opt <= (Usr_ListUsrsOption_t) (Usr_LIST_USRS_NUM_OPTIONS - 1);
Opt++)
- if (ICanChooseOption[Opt] == Usr_I_CAN)
+ if (ICanChooseOption[Opt] == Usr_CAN)
return Frm_PUT_FORM;
return Frm_DONT_PUT_FORM;
@@ -5550,7 +5550,7 @@ static Frm_PutForm_t Usr_SetOptionsListUsrsAllowed (Rol_Role_t UsrsRole,
/*****************************************************************************/
// Returns true if at least one action can be shown
-static void Usr_PutOptionsListUsrs (const Usr_ICan_t ICanChooseOption[Usr_LIST_USRS_NUM_OPTIONS])
+static void Usr_PutOptionsListUsrs (const Usr_Can_t ICanChooseOption[Usr_LIST_USRS_NUM_OPTIONS])
{
extern const char *Txt_View_records;
extern const char *Txt_View_homework;
@@ -5584,7 +5584,7 @@ static void Usr_PutOptionsListUsrs (const Usr_ICan_t ICanChooseOption[Usr_LIST_U
for (Opt = (Usr_ListUsrsOption_t) 1; // Skip unknown option
Opt <= (Usr_ListUsrsOption_t) (Usr_LIST_USRS_NUM_OPTIONS - 1);
Opt++)
- if (ICanChooseOption[Opt] == Usr_I_CAN)
+ if (ICanChooseOption[Opt] == Usr_CAN)
Usr_ShowOneListUsrsOption (Opt,*Label[Opt]);
/* End list of options */
diff --git a/swad_user.h b/swad_user.h
index 4d9da7cb6..0f5e47fd6 100644
--- a/swad_user.h
+++ b/swad_user.h
@@ -201,14 +201,14 @@ void Usr_FlushCachesUsr (void);
void Usr_FlushCacheUsrIsSuperuser (void);
bool Usr_CheckIfUsrIsSuperuser (long UsrCod);
-Usr_ICan_t Usr_ICanChangeOtherUsrData (const struct Usr_Data *UsrDat);
-Usr_ICan_t Usr_CheckIfICanEditOtherUsr (const struct Usr_Data *UsrDat);
+Usr_Can_t Usr_ICanChangeOtherUsrData (const struct Usr_Data *UsrDat);
+Usr_Can_t Usr_CheckIfICanEditOtherUsr (const struct Usr_Data *UsrDat);
-Usr_ICan_t Usr_CheckIfICanViewRecordStd (const struct Usr_Data *UsrDat);
-Usr_ICan_t Usr_CheckIfICanViewRecordTch (struct Usr_Data *UsrDat);
-Usr_ICan_t Usr_CheckIfICanViewTstExaMchResult (const struct Usr_Data *UsrDat);
-Usr_ICan_t Usr_CheckIfICanViewAsgWrk (const struct Usr_Data *UsrDat);
-Usr_ICan_t Usr_CheckIfICanViewAtt (const struct Usr_Data *UsrDat);
+Usr_Can_t Usr_CheckIfICanViewRecordStd (const struct Usr_Data *UsrDat);
+Usr_Can_t Usr_CheckIfICanViewRecordTch (struct Usr_Data *UsrDat);
+Usr_Can_t Usr_CheckIfICanViewTstExaMchResult (const struct Usr_Data *UsrDat);
+Usr_Can_t Usr_CheckIfICanViewAsgWrk (const struct Usr_Data *UsrDat);
+Usr_Can_t Usr_CheckIfICanViewAtt (const struct Usr_Data *UsrDat);
void Usr_WriteLandingPage (void);
void Usr_WriteFormLogout (void);
diff --git a/swad_user_type.h b/swad_user_type.h
index 4b619601e..488344837 100644
--- a/swad_user_type.h
+++ b/swad_user_type.h
@@ -110,12 +110,19 @@ typedef enum
} Usr_ListUsrsOption_t;
#define Usr_LIST_USRS_DEFAULT_OPTION Usr_OPTION_RECORDS
-#define Usr_NUM_I_CAN 2
+#define Usr_NUM_CAN 2
typedef enum
{
- Usr_I_CAN_NOT,
- Usr_I_CAN,
- } Usr_ICan_t;
+ Usr_CAN_NOT,
+ Usr_CAN,
+ } Usr_Can_t;
+
+#define Usr_NUM_BELONG 2
+typedef enum
+ {
+ Usr_DONT_BELONG,
+ Usr_BELONG,
+ } Usr_Belong_t;
#define Usr_NUM_ME_OR_OTHER 2
typedef enum
diff --git a/swad_zip.c b/swad_zip.c
index da7f0aa9e..3f0d7b9f9 100644
--- a/swad_zip.c
+++ b/swad_zip.c
@@ -475,7 +475,7 @@ static unsigned long long ZIP_CloneDir (const char *Path,const char *PathClone,c
Brw_IS_FILE; // It's a file
HiddenOrVisible = (Brw_TypeIsSeeDoc[Gbl.FileBrowser.Type] ||
- Brw_TypeIsSeeMrk[Gbl.FileBrowser.Type]) ? Brw_CheckIfFileOrFolderIsSetAsHiddenInDB (FileType,
+ Brw_TypeIsSeeMrk[Gbl.FileBrowser.Type]) ? Brw_CheckIfFileOrFolderIsHiddenOrVisible (FileType,
PathFileInTree) :
HidVis_VISIBLE;