mirror of https://github.com/acanas/swad-core.git
Version 14.128.1
This commit is contained in:
parent
9da7c01477
commit
ce6a5e2d9b
|
@ -1230,12 +1230,13 @@ CREATE TABLE IF NOT EXISTS usr_webs (
|
|||
'delicious','deviantart','diaspora',
|
||||
'edmodo',
|
||||
'facebook','flickr','foursquare',
|
||||
'github','googleplus','googlescholar',
|
||||
'instagram',
|
||||
'github','gnusocial','googleplus','googlescholar',
|
||||
'identica','instagram',
|
||||
'linkedin',
|
||||
'orcid',
|
||||
'paperli','pinterest',
|
||||
'quitter',
|
||||
'researchgate',
|
||||
'researchgate','researcherid',
|
||||
'scoopit','slideshare','storify',
|
||||
'tumblr','twitter',
|
||||
'wikipedia',
|
||||
|
|
|
@ -240,7 +240,8 @@ static void Acc_PutLinkToRemoveMyAccount (void)
|
|||
{
|
||||
extern const char *Txt_Remove_account;
|
||||
|
||||
Act_PutContextualLink (ActUpdOthUsrDat,Acc_PutLinkToRemoveMyAccountParams,
|
||||
// TODO: Put this option in Profile > Account
|
||||
Act_PutContextualLink (ActUpdOthGst,Acc_PutLinkToRemoveMyAccountParams,
|
||||
"delon",Txt_Remove_account);
|
||||
}
|
||||
|
||||
|
|
|
@ -916,14 +916,23 @@ Users:
|
|||
760. ActReqRejSignUp Ask if reject the enrollment of a user in a course
|
||||
761. ActRejSignUp Reject the enrollment of a user in a course
|
||||
|
||||
762. ActReqMdfOneUsr Request the enrollment/removing of a user
|
||||
763. ActReqMdfUsr Register a user in this course
|
||||
762b. ActReqMdfOneGst Request a user's ID for enrollment/removing
|
||||
762c. ActReqMdfOneStd Request a user's ID for enrollment/removing
|
||||
762d. ActReqMdfOneTch Request a user's ID for enrollment/removing
|
||||
762e. ActReqMdfOneAdm Request a user's ID for enrollment/removing
|
||||
763b. ActReqMdfGst Request enrollment/removing of a user
|
||||
763c. ActReqMdfStd Request enrollment/removing of a user
|
||||
763d. ActReqMdfTch Request enrollment/removing of a user
|
||||
763e. ActReqMdfAdm Request enrollment/removing of a user
|
||||
764. ActReqUsrPho Show form to send the photo of another user
|
||||
765. ActDetUsrPho Receive other user's photo and detect faces on it
|
||||
766. ActUpdUsrPho Update other user's photo
|
||||
767. ActRemUsrPho Remove the photo of otro user
|
||||
768. ActCreOthUsrDat Insertar a new user in this course
|
||||
769. ActUpdOthUsrDat Actualizar the card of otro user
|
||||
769b. ActUpdOthGst Update another user's data and groups
|
||||
769c. ActUpdOthStd Update another user's data and groups
|
||||
769d. ActUpdOthTch Update another user's data and groups
|
||||
769e. ActUpdOthAdm Update another user's data and groups
|
||||
770. ActReqAccEnrCrs Confirm acceptation / refusion of enrollment in current course
|
||||
771. ActAccEnrCrs Accept enrollment in current course
|
||||
772. ActRemMeCrs Refuse enrollment in current course
|
||||
|
@ -2294,16 +2303,26 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
|||
/* ActReqRejSignUp */{1058,-1,TabUsr,ActSeeSignUpReq ,0x1F0,0x1F0,0x1F0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_AskIfRejectSignUp ,NULL},
|
||||
/* ActRejSignUp */{1059,-1,TabUsr,ActSeeSignUpReq ,0x1F0,0x1F0,0x1F0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_RejectSignUp ,NULL},
|
||||
|
||||
/* ActReqMdfOneUsr */{ 177,-1,TabUsr,ActReqMdfSevUsr ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ReqRegRemUsr ,NULL},
|
||||
/* ActReqMdfUsr */{ 161,-1,TabUsr,ActReqMdfSevUsr ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_AskIfRegRemAnotherUsr ,NULL},
|
||||
/* ActReqMdfOneGst */{1414,-1,TabUsr,ActLstInv ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ReqRegRemGst ,NULL},
|
||||
/* ActReqMdfOneStd */{1415,-1,TabUsr,ActLstStd ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ReqRegRemStd ,NULL},
|
||||
/* ActReqMdfOneTch */{1416,-1,TabUsr,ActLstTch ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ReqRegRemTch ,NULL},
|
||||
/* ActReqMdfOneAdm */{1417,-1,TabUsr,ActLstAdm ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ReqRegRemAdm ,NULL},
|
||||
|
||||
/* ActReqMdfUsr */{1418,-1,TabUsr,ActLstInv ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_AskIfRegRemAnotherGst ,NULL},
|
||||
/* ActReqMdfUsr */{1419,-1,TabUsr,ActLstStd ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_AskIfRegRemAnotherStd ,NULL},
|
||||
/* ActReqMdfUsr */{1420,-1,TabUsr,ActLstTch ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_AskIfRegRemAnotherTch ,NULL},
|
||||
/* ActReqMdfUsr */{1421,-1,TabUsr,ActLstAdm ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_AskIfRegRemAnotherAdm ,NULL},
|
||||
|
||||
/* ActReqUsrPho */{ 375,-1,TabUsr,ActReqMdfSevUsr ,0x1F0,0x1E0,0x1E0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Pho_SendPhotoUsr ,NULL},
|
||||
/* ActDetUsrPho */{ 695,-1,TabUsr,ActReqMdfSevUsr ,0x1F0,0x1E0,0x1E0,Act_CONTENT_DATA,Act_MAIN_WINDOW,NULL ,Pho_RecUsrPhotoDetFaces ,NULL},
|
||||
/* ActUpdUsrPho */{ 374,-1,TabUsr,ActReqMdfSevUsr ,0x1F0,0x1E0,0x1E0,Act_CONTENT_NORM,Act_MAIN_WINDOW,Pho_UpdateUsrPhoto1 ,Pho_UpdateUsrPhoto2 ,NULL},
|
||||
/* ActRemUsrPho */{ 429,-1,TabUsr,ActReqMdfSevUsr ,0x1F0,0x1E0,0x1E0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Pho_RemoveUsrPhoto ,NULL},
|
||||
|
||||
/* ActCreOthUsrDat */{ 440,-1,TabUsr,ActReqMdfSevUsr ,0x1F0,0x1E0,0x1E0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_CreatAndShowNewUsrRecordAndRegInCrs,NULL},
|
||||
/* ActUpdOthUsrDat */{ 439,-1,TabUsr,ActReqMdfSevUsr ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ModifAndShowUsrCardAndRegInCrsAndGrps,NULL},
|
||||
/* ActCreOthUsrDat */{ 440,-1,TabUsr,ActReqMdfSevUsr ,0x1F0,0x1E0,0x1E0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_CreateNewUsr ,NULL},
|
||||
/* ActUpdOthGst */{1422,-1,TabUsr,ActLstInv ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ModifyUsr ,NULL},
|
||||
/* ActUpdOthStd */{1423,-1,TabUsr,ActLstStd ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ModifyUsr ,NULL},
|
||||
/* ActUpdOthTch */{1424,-1,TabUsr,ActLstTch ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ModifyUsr ,NULL},
|
||||
/* ActUpdOthAdm */{1425,-1,TabUsr,ActLstAdm ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ModifyUsr ,NULL},
|
||||
|
||||
/* ActReqAccEnrCrs */{ 592,-1,TabUsr,ActReqMdfSevUsr ,0x1F8,0x000,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_ReqAcceptRegisterInCrs ,NULL},
|
||||
/* ActAccEnrCrs */{ 558,-1,TabUsr,ActReqMdfSevUsr ,0x1F8,0x000,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Enr_AcceptRegisterMeInCrs ,NULL},
|
||||
|
@ -2833,7 +2852,7 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
|
|||
-1, // #158 (obsolete action)
|
||||
-1, // #159 (obsolete action)
|
||||
-1, // #160 (obsolete action)
|
||||
ActReqMdfUsr, // #161
|
||||
-1, // #161 (obsolete action)
|
||||
-1, // #162 (obsolete action)
|
||||
-1, // #163 (obsolete action)
|
||||
ActRcvPagCrsLnk, // #164
|
||||
|
@ -2849,7 +2868,7 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
|
|||
ActNewGrpTyp, // #174
|
||||
ActRemGrp, // #175
|
||||
-1, // #176 (obsolete action)
|
||||
ActReqMdfOneUsr, // #177
|
||||
-1, // #177 (obsolete action)
|
||||
-1, // #178 (obsolete action)
|
||||
ActPrnExaAnn, // #179
|
||||
-1, // #180 (obsolete action)
|
||||
|
@ -3111,7 +3130,7 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
|
|||
ActDelAllRcvMsg, // #436
|
||||
-1, // #437 (obsolete action)
|
||||
-1, // #438 (obsolete action)
|
||||
ActUpdOthUsrDat, // #439
|
||||
-1, // #439 (obsolete action)
|
||||
ActCreOthUsrDat, // #440
|
||||
-1, // #441 (obsolete action)
|
||||
-1, // #442 (obsolete action)
|
||||
|
@ -4089,6 +4108,18 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
|
|||
ActUnfUsr, // #1411
|
||||
ActSeeFlg, // #1412
|
||||
ActSeeFlr, // #1413
|
||||
ActReqMdfOneGst, // #1414
|
||||
ActReqMdfOneStd, // #1415
|
||||
ActReqMdfOneTch, // #1416
|
||||
ActReqMdfOneAdm, // #1417
|
||||
ActReqMdfGst, // #1418
|
||||
ActReqMdfStd, // #1419
|
||||
ActReqMdfTch, // #1420
|
||||
ActReqMdfAdm, // #1421
|
||||
ActUpdOthGst, // #1422
|
||||
ActUpdOthStd, // #1423
|
||||
ActUpdOthTch, // #1424
|
||||
ActUpdOthAdm, // #1425
|
||||
};
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -4484,7 +4515,7 @@ void Act_AdjustCurrentAction (void)
|
|||
case ActReqEdiRecCom:
|
||||
case ActReqEdiMyIns:
|
||||
case ActReqSelGrp:
|
||||
case ActReqMdfOneUsr: // A student use this action to remove him/herself from current course
|
||||
case ActReqMdfOneStd: // A student use this action to remove him/herself from current course
|
||||
case ActSeeCrsTimTbl:
|
||||
case ActPrnCrsTimTbl:
|
||||
case ActSeeMyTimTbl:
|
||||
|
|
|
@ -69,9 +69,9 @@ typedef enum
|
|||
|
||||
typedef int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action
|
||||
|
||||
#define Act_NUM_ACTIONS (7+52+15+90+73+68+204+182+110+168+28+77)
|
||||
#define Act_NUM_ACTIONS (7+52+15+90+73+68+204+182+119+168+28+77)
|
||||
|
||||
#define Act_MAX_ACTION_COD 1413
|
||||
#define Act_MAX_ACTION_COD 1425
|
||||
|
||||
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 20
|
||||
|
||||
|
@ -942,53 +942,63 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica
|
|||
#define ActReqRejSignUp (ActChgNumRowFooGrp+ 70)
|
||||
#define ActRejSignUp (ActChgNumRowFooGrp+ 71)
|
||||
|
||||
#define ActReqMdfOneUsr (ActChgNumRowFooGrp+ 72)
|
||||
#define ActReqMdfUsr (ActChgNumRowFooGrp+ 73)
|
||||
#define ActReqMdfOneGst (ActChgNumRowFooGrp+ 72)
|
||||
#define ActReqMdfOneStd (ActChgNumRowFooGrp+ 73)
|
||||
#define ActReqMdfOneTch (ActChgNumRowFooGrp+ 74)
|
||||
#define ActReqMdfOneAdm (ActChgNumRowFooGrp+ 75)
|
||||
|
||||
#define ActReqUsrPho (ActChgNumRowFooGrp+ 74)
|
||||
#define ActDetUsrPho (ActChgNumRowFooGrp+ 75)
|
||||
#define ActUpdUsrPho (ActChgNumRowFooGrp+ 76)
|
||||
#define ActRemUsrPho (ActChgNumRowFooGrp+ 77)
|
||||
#define ActCreOthUsrDat (ActChgNumRowFooGrp+ 78)
|
||||
#define ActUpdOthUsrDat (ActChgNumRowFooGrp+ 79)
|
||||
#define ActReqMdfGst (ActChgNumRowFooGrp+ 76)
|
||||
#define ActReqMdfStd (ActChgNumRowFooGrp+ 77)
|
||||
#define ActReqMdfTch (ActChgNumRowFooGrp+ 78)
|
||||
#define ActReqMdfAdm (ActChgNumRowFooGrp+ 79)
|
||||
|
||||
#define ActReqAccEnrCrs (ActChgNumRowFooGrp+ 80)
|
||||
#define ActAccEnrCrs (ActChgNumRowFooGrp+ 81)
|
||||
#define ActRemMeCrs (ActChgNumRowFooGrp+ 82)
|
||||
#define ActReqUsrPho (ActChgNumRowFooGrp+ 80)
|
||||
#define ActDetUsrPho (ActChgNumRowFooGrp+ 81)
|
||||
#define ActUpdUsrPho (ActChgNumRowFooGrp+ 82)
|
||||
#define ActRemUsrPho (ActChgNumRowFooGrp+ 83)
|
||||
#define ActCreOthUsrDat (ActChgNumRowFooGrp+ 84)
|
||||
#define ActUpdOthGst (ActChgNumRowFooGrp+ 85)
|
||||
#define ActUpdOthStd (ActChgNumRowFooGrp+ 86)
|
||||
#define ActUpdOthTch (ActChgNumRowFooGrp+ 87)
|
||||
#define ActUpdOthAdm (ActChgNumRowFooGrp+ 88)
|
||||
|
||||
#define ActNewAdmIns (ActChgNumRowFooGrp+ 83)
|
||||
#define ActRemAdmIns (ActChgNumRowFooGrp+ 84)
|
||||
#define ActNewAdmCtr (ActChgNumRowFooGrp+ 85)
|
||||
#define ActRemAdmCtr (ActChgNumRowFooGrp+ 86)
|
||||
#define ActNewAdmDeg (ActChgNumRowFooGrp+ 87)
|
||||
#define ActRemAdmDeg (ActChgNumRowFooGrp+ 88)
|
||||
#define ActReqAccEnrCrs (ActChgNumRowFooGrp+ 89)
|
||||
#define ActAccEnrCrs (ActChgNumRowFooGrp+ 90)
|
||||
#define ActRemMeCrs (ActChgNumRowFooGrp+ 91)
|
||||
|
||||
#define ActRcvFrmMdfUsrCrs (ActChgNumRowFooGrp+ 89)
|
||||
#define ActFrmIDsOthUsr (ActChgNumRowFooGrp+ 90)
|
||||
#define ActRemIDOth (ActChgNumRowFooGrp+ 91)
|
||||
#define ActNewIDOth (ActChgNumRowFooGrp+ 92)
|
||||
#define ActFrmPwdOthUsr (ActChgNumRowFooGrp+ 93)
|
||||
#define ActChgPwdOthUsr (ActChgNumRowFooGrp+ 94)
|
||||
#define ActRemUsrCrs (ActChgNumRowFooGrp+ 95)
|
||||
#define ActRemUsrGbl (ActChgNumRowFooGrp+ 96)
|
||||
#define ActNewAdmIns (ActChgNumRowFooGrp+ 92)
|
||||
#define ActRemAdmIns (ActChgNumRowFooGrp+ 93)
|
||||
#define ActNewAdmCtr (ActChgNumRowFooGrp+ 94)
|
||||
#define ActRemAdmCtr (ActChgNumRowFooGrp+ 95)
|
||||
#define ActNewAdmDeg (ActChgNumRowFooGrp+ 96)
|
||||
#define ActRemAdmDeg (ActChgNumRowFooGrp+ 97)
|
||||
|
||||
#define ActReqRemAllStdCrs (ActChgNumRowFooGrp+ 97)
|
||||
#define ActRemAllStdCrs (ActChgNumRowFooGrp+ 98)
|
||||
#define ActRcvFrmMdfUsrCrs (ActChgNumRowFooGrp+ 98)
|
||||
#define ActFrmIDsOthUsr (ActChgNumRowFooGrp+ 99)
|
||||
#define ActRemIDOth (ActChgNumRowFooGrp+100)
|
||||
#define ActNewIDOth (ActChgNumRowFooGrp+101)
|
||||
#define ActFrmPwdOthUsr (ActChgNumRowFooGrp+102)
|
||||
#define ActChgPwdOthUsr (ActChgNumRowFooGrp+103)
|
||||
#define ActRemUsrCrs (ActChgNumRowFooGrp+104)
|
||||
#define ActRemUsrGbl (ActChgNumRowFooGrp+105)
|
||||
|
||||
#define ActReqRemOldUsr (ActChgNumRowFooGrp+ 99)
|
||||
#define ActRemOldUsr (ActChgNumRowFooGrp+100)
|
||||
#define ActReqRemAllStdCrs (ActChgNumRowFooGrp+106)
|
||||
#define ActRemAllStdCrs (ActChgNumRowFooGrp+107)
|
||||
|
||||
#define ActSeePubPrf (ActChgNumRowFooGrp+101)
|
||||
#define ActCal1stClkTim (ActChgNumRowFooGrp+102)
|
||||
#define ActCalNumClk (ActChgNumRowFooGrp+103)
|
||||
#define ActCalNumFilVie (ActChgNumRowFooGrp+104)
|
||||
#define ActCalNumForPst (ActChgNumRowFooGrp+105)
|
||||
#define ActCalNumMsgSnt (ActChgNumRowFooGrp+106)
|
||||
#define ActReqRemOldUsr (ActChgNumRowFooGrp+108)
|
||||
#define ActRemOldUsr (ActChgNumRowFooGrp+109)
|
||||
|
||||
#define ActFolUsr (ActChgNumRowFooGrp+107)
|
||||
#define ActUnfUsr (ActChgNumRowFooGrp+108)
|
||||
#define ActSeeFlg (ActChgNumRowFooGrp+109)
|
||||
#define ActSeeFlr (ActChgNumRowFooGrp+110)
|
||||
#define ActSeePubPrf (ActChgNumRowFooGrp+110)
|
||||
#define ActCal1stClkTim (ActChgNumRowFooGrp+111)
|
||||
#define ActCalNumClk (ActChgNumRowFooGrp+112)
|
||||
#define ActCalNumFilVie (ActChgNumRowFooGrp+113)
|
||||
#define ActCalNumForPst (ActChgNumRowFooGrp+114)
|
||||
#define ActCalNumMsgSnt (ActChgNumRowFooGrp+115)
|
||||
|
||||
#define ActFolUsr (ActChgNumRowFooGrp+116)
|
||||
#define ActUnfUsr (ActChgNumRowFooGrp+117)
|
||||
#define ActSeeFlg (ActChgNumRowFooGrp+118)
|
||||
#define ActSeeFlr (ActChgNumRowFooGrp+119)
|
||||
|
||||
/*****************************************************************************/
|
||||
/******************************* Messages tab ********************************/
|
||||
|
|
|
@ -103,12 +103,31 @@
|
|||
/****************************** Public constants *****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
#define Log_PLATFORM_VERSION "SWAD 14.128.1 (2015/09/10)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 14.129 (2015/09/11)"
|
||||
|
||||
// Number of lines (includes comments but not blank lines) has been got with the following command:
|
||||
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1
|
||||
/*
|
||||
Version 14.128.1: Sep 10, 2015 Two new social networks. (184278 lines)
|
||||
Version 14.129: Sep 11, 2015 New links to admin a user in list of students.
|
||||
Changes in user enrollment.
|
||||
Fixed bug in user enrollment. (184411 lines)
|
||||
UPDATE actions SET Obsolete='Y' WHERE ActCod='177';
|
||||
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1414','es','N','Solicitar ID modif. invitado');
|
||||
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1415','es','N','Solicitar ID modif. estudiante');
|
||||
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1416','es','N','Solicitar ID modif. profesor');
|
||||
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1417','es','N','Solicitar ID modif. administrador');
|
||||
UPDATE actions SET Obsolete='Y' WHERE ActCod='161';
|
||||
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1418','es','N','Confirmar modif. invitado');
|
||||
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1419','es','N','Confirmar modif. estudiante');
|
||||
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1420','es','N','Confirmar modif. profesor');
|
||||
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1421','es','N','Confirmar modif. administrador');
|
||||
UPDATE actions SET Obsolete='Y' WHERE ActCod='439';
|
||||
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1422','es','N','Modificar datos invitado');
|
||||
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1423','es','N','Modificar datos estudiante');
|
||||
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1424','es','N','Modificar datos profesor');
|
||||
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1425','es','N','Modificar datos administrador');
|
||||
|
||||
Version 14.128.1: Sep 11, 2015 Two new social networks. (184278 lines)
|
||||
1 change necessary in database:
|
||||
ALTER TABLE usr_webs CHANGE Web Web ENUM('www','500px','delicious','deviantart','diaspora','edmodo','facebook','flickr','foursquare','github','gnusocial','googleplus','googlescholar','identica','instagram','linkedin','orcid','paperli','pinterest','quitter','researchgate','researcherid','scoopit','slideshare','storify','tumblr','twitter','wikipedia','youtube') NOT NULL;
|
||||
|
||||
|
|
|
@ -88,7 +88,6 @@ extern struct Globals Gbl;
|
|||
|
||||
static void Enr_ShowFormRegRemSeveralUsrs (void);
|
||||
|
||||
static void Enr_PutLinkToRemOldUsrs (void);
|
||||
static void Enr_PutAreaToEnterUsrsIDs (void);
|
||||
static void Enr_PutActionsRegRemSeveralUsrs (void);
|
||||
|
||||
|
@ -96,14 +95,13 @@ static void Enr_RegisterUsr (struct UsrData *UsrDat,Rol_Role_t RegRemRole,
|
|||
struct ListCodGrps *LstGrps,unsigned *NumUsrsRegistered);
|
||||
static void Enr_MarkOfficialStdsAsRemovable (long ImpGrpCod,bool RemoveSpecifiedUsrs);
|
||||
|
||||
static void Enr_PutLinkToRemAllStdsThisCrs (void);
|
||||
static void Enr_RemoveEnrollmentRequest (long CrsCod,long UsrCod);
|
||||
static void Enr_PutLinkToAdminOneUsr (void);
|
||||
static void Enr_PutLinkToAdminSeveralUsrs (void);
|
||||
|
||||
static void Enr_ReqAnotherUsrIDToRegisterRemove (void);
|
||||
static void Enr_AskIfRegRemMe (void);
|
||||
static void Enr_AskIfRegRemUsr (struct ListUsrCods *ListUsrCods);
|
||||
static void Enr_ReqRegRemUsr (Rol_Role_t Role);
|
||||
static void Enr_ReqAnotherUsrIDToRegisterRemove (Rol_Role_t Role);
|
||||
static void Enr_AskIfRegRemMe (Rol_Role_t Role);
|
||||
static void Enr_AskIfRegRemAnotherUsr (Rol_Role_t Role);
|
||||
static void Enr_AskIfRegRemUsr (struct ListUsrCods *ListUsrCods,Rol_Role_t Role);
|
||||
|
||||
static void Enr_ShowFormToEditOtherUsr (void);
|
||||
|
||||
|
@ -447,39 +445,28 @@ void Enr_ReqAdminUsrs (void)
|
|||
switch (Gbl.Usrs.Me.LoggedRole)
|
||||
{
|
||||
case Rol__GUEST_:
|
||||
case Rol_VISITOR:
|
||||
Enr_AskIfRegRemMe (Rol__GUEST_);
|
||||
break;
|
||||
case Rol_STUDENT:
|
||||
Enr_AskIfRegRemMe ();
|
||||
Enr_AskIfRegRemMe (Rol_STUDENT);
|
||||
break;
|
||||
case Rol_TEACHER:
|
||||
if (Gbl.CurrentCrs.Crs.CrsCod > 0)
|
||||
Enr_ShowFormRegRemSeveralUsrs ();
|
||||
else
|
||||
Enr_AskIfRegRemMe ();
|
||||
Enr_AskIfRegRemMe (Rol_TEACHER);
|
||||
break;
|
||||
case Rol_DEG_ADM:
|
||||
if (Gbl.CurrentDeg.Deg.DegCod > 0)
|
||||
Enr_ReqAnotherUsrIDToRegisterRemove ();
|
||||
else
|
||||
Enr_AskIfRegRemMe ();
|
||||
break;
|
||||
case Rol_CTR_ADM:
|
||||
if (Gbl.CurrentCtr.Ctr.CtrCod > 0)
|
||||
Enr_ReqAnotherUsrIDToRegisterRemove ();
|
||||
else
|
||||
Enr_AskIfRegRemMe ();
|
||||
break;
|
||||
case Rol_INS_ADM:
|
||||
if (Gbl.CurrentIns.Ins.InsCod > 0)
|
||||
Enr_ReqAnotherUsrIDToRegisterRemove ();
|
||||
else
|
||||
Enr_AskIfRegRemMe ();
|
||||
Enr_ReqRegRemUsr (Rol_DEG_ADM);
|
||||
break;
|
||||
case Rol_SYS_ADM:
|
||||
if (Gbl.CurrentCrs.Crs.CrsCod > 0)
|
||||
Enr_ShowFormRegRemSeveralUsrs ();
|
||||
else
|
||||
Enr_ReqAnotherUsrIDToRegisterRemove ();
|
||||
Enr_ReqAnotherUsrIDToRegisterRemove (Rol_TEACHER); // TODO: Change this line to the following
|
||||
// Enr_ReqAnotherUsrIDToRegisterRemove (Role);
|
||||
break;
|
||||
default:
|
||||
Lay_ShowAlert (Lay_ERROR,Txt_You_dont_have_permission_to_perform_this_action);
|
||||
|
@ -512,9 +499,6 @@ static void Enr_ShowFormRegRemSeveralUsrs (void)
|
|||
/***** Put contextual links *****/
|
||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
||||
|
||||
/* Put link to go to admin one user */
|
||||
Enr_PutLinkToAdminOneUsr ();
|
||||
|
||||
/* Put link to remove all the students in the current course */
|
||||
if (Gbl.CurrentCrs.Crs.CrsCod > 0) // Course selected
|
||||
Enr_PutLinkToRemAllStdsThisCrs ();
|
||||
|
@ -618,7 +602,7 @@ static void Enr_ShowFormRegRemSeveralUsrs (void)
|
|||
/******************** Put a link (form) to remove old users ******************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Enr_PutLinkToRemOldUsrs (void)
|
||||
void Enr_PutLinkToRemOldUsrs (void)
|
||||
{
|
||||
extern const char *Txt_Remove_old_users;
|
||||
|
||||
|
@ -1697,7 +1681,7 @@ static void Enr_MarkOfficialStdsAsRemovable (long ImpGrpCod,bool RemoveSpecified
|
|||
/**** Put a link (form) to remove all the students in the current course *****/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Enr_PutLinkToRemAllStdsThisCrs (void)
|
||||
void Enr_PutLinkToRemAllStdsThisCrs (void)
|
||||
{
|
||||
extern const char *Txt_Remove_all_students;
|
||||
|
||||
|
@ -2411,15 +2395,20 @@ void Enr_ShowEnrollmentRequests (void)
|
|||
|
||||
/* Get user code (row[2]) */
|
||||
UsrDat.UsrCod = Str_ConvertStrCodToLongCod (row[2]);
|
||||
|
||||
UsrExists = Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat);
|
||||
|
||||
/***** Get requested role (row[3]) *****/
|
||||
DesiredRole = Rol_ConvertUnsignedStrToRole (row[3]);
|
||||
|
||||
if (UsrExists)
|
||||
UsrBelongsToCrs = Usr_CheckIfUsrBelongsToCrs (UsrDat.UsrCod,Crs.CrsCod);
|
||||
else
|
||||
UsrBelongsToCrs = false;
|
||||
|
||||
if (UsrExists & !UsrBelongsToCrs)
|
||||
if (UsrExists &&
|
||||
!UsrBelongsToCrs &&
|
||||
(DesiredRole == Rol_STUDENT ||
|
||||
DesiredRole == Rol_TEACHER))
|
||||
{
|
||||
/***** Number *****/
|
||||
fprintf (Gbl.F.Out,"<tr>"
|
||||
|
@ -2463,7 +2452,6 @@ void Enr_ShowEnrollmentRequests (void)
|
|||
Usr_RestrictLengthAndWriteName (&UsrDat,20);
|
||||
|
||||
/***** Requested role (row[3]) *****/
|
||||
DesiredRole = Rol_ConvertUnsignedStrToRole (row[3]);
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">"
|
||||
"%s"
|
||||
"</td>",
|
||||
|
@ -2474,7 +2462,8 @@ void Enr_ShowEnrollmentRequests (void)
|
|||
|
||||
/***** Button to confirm the request *****/
|
||||
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">");
|
||||
Act_FormStart (ActReqMdfUsr);
|
||||
Act_FormStart (DesiredRole == Rol_STUDENT ? ActReqMdfStd :
|
||||
ActReqMdfTch);
|
||||
Crs_PutParamCrsCod (Crs.CrsCod);
|
||||
Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod);
|
||||
Lay_PutCreateButton (Txt_Register);
|
||||
|
@ -2550,11 +2539,11 @@ static void Enr_RemoveEnrollmentRequest (long CrsCod,long UsrCod)
|
|||
/********************** Write a form to admin one user ***********************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Enr_PutLinkToAdminOneUsr (void)
|
||||
void Enr_PutLinkToAdminOneUsr (Act_Action_t NextAction)
|
||||
{
|
||||
extern const char *Txt_Admin_one_user;
|
||||
|
||||
Act_PutContextualLink (ActReqMdfOneUsr,NULL,
|
||||
Act_PutContextualLink (NextAction,NULL,
|
||||
"configtest",Txt_Admin_one_user);
|
||||
}
|
||||
|
||||
|
@ -2562,7 +2551,7 @@ static void Enr_PutLinkToAdminOneUsr (void)
|
|||
/******************* Write a form to admin several users *********************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Enr_PutLinkToAdminSeveralUsrs (void)
|
||||
void Enr_PutLinkToAdminSeveralUsrs (void)
|
||||
{
|
||||
extern const char *Txt_Admin_several_users;
|
||||
|
||||
|
@ -2574,43 +2563,64 @@ static void Enr_PutLinkToAdminSeveralUsrs (void)
|
|||
/************** Form to request the user's ID of another user ****************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Enr_ReqRegRemUsr (void)
|
||||
void Enr_ReqRegRemGst (void)
|
||||
{
|
||||
Enr_ReqRegRemUsr (Rol__GUEST_);
|
||||
}
|
||||
|
||||
void Enr_ReqRegRemStd (void)
|
||||
{
|
||||
Enr_ReqRegRemUsr (Rol_STUDENT);
|
||||
}
|
||||
|
||||
void Enr_ReqRegRemTch (void)
|
||||
{
|
||||
Enr_ReqRegRemUsr (Rol_TEACHER);
|
||||
}
|
||||
|
||||
void Enr_ReqRegRemAdm (void)
|
||||
{
|
||||
Enr_ReqRegRemUsr (Rol_DEG_ADM);
|
||||
}
|
||||
|
||||
static void Enr_ReqRegRemUsr (Rol_Role_t Role)
|
||||
{
|
||||
extern const char *Txt_You_dont_have_permission_to_perform_this_action;
|
||||
|
||||
switch (Gbl.Usrs.Me.LoggedRole)
|
||||
{
|
||||
case Rol__GUEST_:
|
||||
case Rol_VISITOR:
|
||||
Enr_AskIfRegRemMe (Rol__GUEST_);
|
||||
break;
|
||||
case Rol_STUDENT:
|
||||
Enr_AskIfRegRemMe ();
|
||||
Enr_AskIfRegRemMe (Rol_STUDENT);
|
||||
break;
|
||||
case Rol_TEACHER:
|
||||
if (Gbl.CurrentCrs.Crs.CrsCod > 0)
|
||||
Enr_ReqAnotherUsrIDToRegisterRemove ();
|
||||
Enr_ReqAnotherUsrIDToRegisterRemove (Role);
|
||||
else
|
||||
Enr_AskIfRegRemMe ();
|
||||
Enr_AskIfRegRemMe (Rol_TEACHER);
|
||||
break;
|
||||
case Rol_DEG_ADM:
|
||||
if (Gbl.CurrentDeg.Deg.DegCod > 0)
|
||||
Enr_ReqAnotherUsrIDToRegisterRemove ();
|
||||
Enr_ReqAnotherUsrIDToRegisterRemove (Role);
|
||||
else
|
||||
Enr_AskIfRegRemMe ();
|
||||
Enr_AskIfRegRemMe (Rol_DEG_ADM);
|
||||
break;
|
||||
case Rol_CTR_ADM:
|
||||
if (Gbl.CurrentCtr.Ctr.CtrCod > 0)
|
||||
Enr_ReqAnotherUsrIDToRegisterRemove ();
|
||||
Enr_ReqAnotherUsrIDToRegisterRemove (Role);
|
||||
else
|
||||
Enr_AskIfRegRemMe ();
|
||||
Enr_AskIfRegRemMe (Rol_DEG_ADM);
|
||||
break;
|
||||
case Rol_INS_ADM:
|
||||
if (Gbl.CurrentIns.Ins.InsCod > 0)
|
||||
Enr_ReqAnotherUsrIDToRegisterRemove ();
|
||||
Enr_ReqAnotherUsrIDToRegisterRemove (Role);
|
||||
else
|
||||
Enr_AskIfRegRemMe ();
|
||||
Enr_AskIfRegRemMe (Rol_DEG_ADM);
|
||||
break;
|
||||
case Rol_SYS_ADM:
|
||||
Enr_ReqAnotherUsrIDToRegisterRemove ();
|
||||
Enr_ReqAnotherUsrIDToRegisterRemove (Role);
|
||||
break;
|
||||
default:
|
||||
Lay_ShowAlert (Lay_ERROR,Txt_You_dont_have_permission_to_perform_this_action);
|
||||
|
@ -2622,7 +2632,7 @@ void Enr_ReqRegRemUsr (void)
|
|||
/****** Write a form to request another user's ID, @nickname or e-mail *******/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Enr_ReqAnotherUsrIDToRegisterRemove (void)
|
||||
static void Enr_ReqAnotherUsrIDToRegisterRemove (Rol_Role_t Role)
|
||||
{
|
||||
extern const char *Txt_Admin_one_user;
|
||||
|
||||
|
@ -2646,7 +2656,10 @@ static void Enr_ReqAnotherUsrIDToRegisterRemove (void)
|
|||
Lay_StartRoundFrame (NULL,Txt_Admin_one_user);
|
||||
|
||||
/***** Write form to request another user's ID *****/
|
||||
Enr_WriteFormToReqAnotherUsrID (ActReqMdfUsr);
|
||||
Enr_WriteFormToReqAnotherUsrID ( Role == Rol__GUEST_ ? ActReqMdfGst :
|
||||
(Role == Rol_STUDENT ? ActReqMdfStd :
|
||||
(Role == Rol_TEACHER ? ActReqMdfTch :
|
||||
ActReqMdfAdm)));
|
||||
|
||||
/***** End frame *****/
|
||||
Lay_EndRoundFrame ();
|
||||
|
@ -2656,7 +2669,7 @@ static void Enr_ReqAnotherUsrIDToRegisterRemove (void)
|
|||
/********************** Ask me for register/remove me ************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Enr_AskIfRegRemMe (void)
|
||||
static void Enr_AskIfRegRemMe (Rol_Role_t Role)
|
||||
{
|
||||
struct ListUsrCods ListUsrCods;
|
||||
|
||||
|
@ -2666,14 +2679,34 @@ static void Enr_AskIfRegRemMe (void)
|
|||
Usr_AllocateListUsrCods (&ListUsrCods);
|
||||
ListUsrCods.Lst[0] = Gbl.Usrs.Other.UsrDat.UsrCod;
|
||||
|
||||
Enr_AskIfRegRemUsr (&ListUsrCods);
|
||||
Enr_AskIfRegRemUsr (&ListUsrCods,Role);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/****************** Ask me for register/remove another user ******************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Enr_AskIfRegRemAnotherUsr (void)
|
||||
void Enr_AskIfRegRemAnotherGst (void)
|
||||
{
|
||||
Enr_AskIfRegRemAnotherUsr (Rol__GUEST_);
|
||||
}
|
||||
|
||||
void Enr_AskIfRegRemAnotherStd (void)
|
||||
{
|
||||
Enr_AskIfRegRemAnotherUsr (Rol_STUDENT);
|
||||
}
|
||||
|
||||
void Enr_AskIfRegRemAnotherTch (void)
|
||||
{
|
||||
Enr_AskIfRegRemAnotherUsr (Rol_TEACHER);
|
||||
}
|
||||
|
||||
void Enr_AskIfRegRemAnotherAdm (void)
|
||||
{
|
||||
Enr_AskIfRegRemAnotherUsr (Rol_DEG_ADM);
|
||||
}
|
||||
|
||||
static void Enr_AskIfRegRemAnotherUsr (Rol_Role_t Role)
|
||||
{
|
||||
struct ListUsrCods ListUsrCods;
|
||||
|
||||
|
@ -2692,14 +2725,14 @@ void Enr_AskIfRegRemAnotherUsr (void)
|
|||
use user's ID to identify the user to be enrolled /removed *****/
|
||||
Usr_GetParamOtherUsrIDNickOrEMailAndGetUsrCods (&ListUsrCods);
|
||||
|
||||
Enr_AskIfRegRemUsr (&ListUsrCods);
|
||||
Enr_AskIfRegRemUsr (&ListUsrCods,Role);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/********************** Ask me for register/remove user **********************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Enr_AskIfRegRemUsr (struct ListUsrCods *ListUsrCods)
|
||||
static void Enr_AskIfRegRemUsr (struct ListUsrCods *ListUsrCods,Rol_Role_t Role)
|
||||
{
|
||||
extern const char *Txt_There_are_X_users_with_the_ID_Y;
|
||||
extern const char *Txt_THE_USER_X_is_already_enrolled_in_the_course_Y;
|
||||
|
@ -2795,7 +2828,7 @@ static void Enr_AskIfRegRemUsr (struct ListUsrCods *ListUsrCods)
|
|||
sprintf (Gbl.Message,Txt_If_this_is_a_new_user_in_X_you_should_indicate_her_his_ID,
|
||||
Cfg_PLATFORM_SHORT_NAME);
|
||||
Lay_ShowAlert (Lay_WARNING,Gbl.Message);
|
||||
Enr_ReqRegRemUsr ();
|
||||
Enr_ReqRegRemUsr (Role);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3172,7 +3205,7 @@ void Enr_AcceptRegisterMeInCrs (void)
|
|||
/******************* Create and show data from other user ********************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Enr_CreatAndShowNewUsrRecordAndRegInCrs (void)
|
||||
void Enr_CreateNewUsr (void)
|
||||
{
|
||||
extern const char *Txt_The_ID_X_is_not_valid;
|
||||
Rol_Role_t NewRole;
|
||||
|
@ -3227,15 +3260,12 @@ void Enr_CreatAndShowNewUsrRecordAndRegInCrs (void)
|
|||
/**** Modify other user's data and register her/him in course and groups *****/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Enr_ModifAndShowUsrCardAndRegInCrsAndGrps (void)
|
||||
void Enr_ModifyUsr (void)
|
||||
{
|
||||
extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
|
||||
char UnsignedStr[10+1];
|
||||
unsigned UnsignedNum;
|
||||
bool ItsMe;
|
||||
bool IAmTeacher;
|
||||
bool HeIsTeacher;
|
||||
bool ICanChangeUsrName;
|
||||
Enr_RegRemOneUsrAction_t RegRemAction;
|
||||
Rol_Role_t NewRole;
|
||||
bool Error = false;
|
||||
|
@ -3254,13 +3284,8 @@ void Enr_ModifAndShowUsrCardAndRegInCrsAndGrps (void)
|
|||
case Enr_REGISTER_MODIFY_ONE_USR_IN_CRS:
|
||||
if (ItsMe || Gbl.Usrs.Me.LoggedRole >= Rol_TEACHER)
|
||||
{
|
||||
IAmTeacher = (Gbl.Usrs.Me.LoggedRole == Rol_TEACHER); // I am logged as teacher
|
||||
HeIsTeacher = (Gbl.Usrs.Other.UsrDat.Roles & (1 << Rol_TEACHER)); // He/she is already a teacher in any course
|
||||
ICanChangeUsrName = ItsMe ||
|
||||
!(IAmTeacher && HeIsTeacher); // A teacher can not change another teacher's name
|
||||
|
||||
/***** Get user's name from record form *****/
|
||||
if (ICanChangeUsrName)
|
||||
if (Gbl.Usrs.Me.LoggedRole >= Rol_DEG_ADM) // Only an admin can change another user's name
|
||||
Rec_GetUsrNameFromRecordForm (&Gbl.Usrs.Other.UsrDat);
|
||||
|
||||
/***** Update user's data in database *****/
|
||||
|
|
|
@ -94,6 +94,9 @@ void Enr_RemoveOldUsrs (void);
|
|||
bool Enr_PutActionsRegRemOneUsr (bool ItsMe);
|
||||
|
||||
void Enr_ReceiveFormUsrsCrs (void);
|
||||
void Enr_PutLinkToRemAllStdsThisCrs (void);
|
||||
void Enr_PutLinkToRemOldUsrs (void);
|
||||
void Enr_PutLinkToAdminSeveralUsrs (void);
|
||||
void Enr_AskRemAllStdsThisCrs (void);
|
||||
void Enr_RemAllStdsThisCrs (void);
|
||||
unsigned Enr_RemAllStdsInCrs (struct Course *Crs);
|
||||
|
@ -105,8 +108,16 @@ void Enr_AskIfRejectSignUp (void);
|
|||
void Enr_RejectSignUp (void);
|
||||
void Enr_ShowEnrollmentRequests (void);
|
||||
|
||||
void Enr_ReqRegRemUsr (void);
|
||||
void Enr_AskIfRegRemAnotherUsr (void);
|
||||
void Enr_PutLinkToAdminOneUsr (Act_Action_t NextAction);
|
||||
|
||||
void Enr_ReqRegRemGst (void);
|
||||
void Enr_ReqRegRemStd (void);
|
||||
void Enr_ReqRegRemTch (void);
|
||||
void Enr_ReqRegRemAdm (void);
|
||||
void Enr_AskIfRegRemAnotherGst (void);
|
||||
void Enr_AskIfRegRemAnotherStd (void);
|
||||
void Enr_AskIfRegRemAnotherTch (void);
|
||||
void Enr_AskIfRegRemAnotherAdm (void);
|
||||
void Enr_AddAdmToIns (void);
|
||||
void Enr_AddAdmToCtr (void);
|
||||
void Enr_AddAdmToDeg (void);
|
||||
|
@ -119,8 +130,8 @@ void Enr_RemAdmCtr (void);
|
|||
void Enr_RemAdmDeg (void);
|
||||
|
||||
void Enr_AcceptRegisterMeInCrs (void);
|
||||
void Enr_CreatAndShowNewUsrRecordAndRegInCrs (void);
|
||||
void Enr_ModifAndShowUsrCardAndRegInCrsAndGrps (void);
|
||||
void Enr_CreateNewUsr (void);
|
||||
void Enr_ModifyUsr (void);
|
||||
void Enr_AcceptUsrInCrs (long UsrCod);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1991,17 +1991,17 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
|||
UsrDat->RoleInCurrentCrsDB == Rol_TEACHER);
|
||||
bool CountryForm = (TypeOfView == Rec_FORM_MY_COMMON_RECORD ||
|
||||
TypeOfView == Rec_FORM_NEW_RECORD_OTHER_NEW_USR);
|
||||
bool RoleForm = (Gbl.CurrentCrs.Crs.CrsCod > 0 &&
|
||||
bool RoleForm = Gbl.CurrentCrs.Crs.CrsCod > 0 &&
|
||||
(TypeOfView == Rec_FORM_SIGN_UP ||
|
||||
TypeOfView == Rec_FORM_NEW_RECORD_OTHER_NEW_USR ||
|
||||
TypeOfView == Rec_FORM_MODIFY_RECORD_OTHER_EXISTING_USR));
|
||||
TypeOfView == Rec_FORM_MODIFY_RECORD_OTHER_EXISTING_USR);
|
||||
bool SexForm = TypeOfView == Rec_FORM_MY_COMMON_RECORD;
|
||||
bool DataForm = (TypeOfView == Rec_FORM_MY_COMMON_RECORD ||
|
||||
bool DataForm = TypeOfView == Rec_FORM_MY_COMMON_RECORD ||
|
||||
TypeOfView == Rec_FORM_NEW_RECORD_OTHER_NEW_USR ||
|
||||
(TypeOfView == Rec_FORM_MODIFY_RECORD_OTHER_EXISTING_USR &&
|
||||
Gbl.Usrs.Me.LoggedRole > Rol_TEACHER));
|
||||
Gbl.Usrs.Me.LoggedRole >= Rol_DEG_ADM);
|
||||
bool PutFormLinks; // Put links (forms) inside record card
|
||||
bool ShowEmail = (ItsMe ||
|
||||
bool ShowEmail = ItsMe ||
|
||||
Gbl.Usrs.Me.LoggedRole >= Rol_DEG_ADM ||
|
||||
DataForm ||
|
||||
TypeOfView == Rec_FORM_MY_COMMON_RECORD ||
|
||||
|
@ -2012,8 +2012,8 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
|||
(TypeOfView == Rec_CHECK_OTHER_USR_COMMON_RECORD ||
|
||||
((TypeOfView == Rec_RECORD_LIST ||
|
||||
TypeOfView == Rec_RECORD_PRINT) &&
|
||||
(IAmLoggedAsTeacher || Gbl.Usrs.Listing.RecsUsrs == Rec_RECORD_USERS_TEACHERS)))));
|
||||
bool ShowID = (ItsMe ||
|
||||
(IAmLoggedAsTeacher || Gbl.Usrs.Listing.RecsUsrs == Rec_RECORD_USERS_TEACHERS))));
|
||||
bool ShowID = ItsMe ||
|
||||
Gbl.Usrs.Me.LoggedRole >= Rol_DEG_ADM ||
|
||||
DataForm ||
|
||||
TypeOfView == Rec_FORM_MY_COMMON_RECORD ||
|
||||
|
@ -2025,19 +2025,19 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
|||
!(IAmLoggedAsTeacher && HeIsTeacherInAnyCourse)) || // A teacher can not see another teacher's ID
|
||||
((TypeOfView == Rec_RECORD_LIST ||
|
||||
TypeOfView == Rec_RECORD_PRINT) &&
|
||||
IAmLoggedAsTeacher && Gbl.Usrs.Listing.RecsUsrs == Rec_RECORD_USERS_STUDENTS))));
|
||||
IAmLoggedAsTeacher && Gbl.Usrs.Listing.RecsUsrs == Rec_RECORD_USERS_STUDENTS)));
|
||||
bool ShowData = ItsMe ||
|
||||
Gbl.Usrs.Me.LoggedRole >= Rol_DEG_ADM ||
|
||||
UsrDat->Accepted;
|
||||
bool ShowIDRows = (TypeOfView != Rec_RECORD_PUBLIC);
|
||||
bool ShowAddressRows = (TypeOfView == Rec_FORM_MY_COMMON_RECORD ||
|
||||
bool ShowIDRows = TypeOfView != Rec_RECORD_PUBLIC;
|
||||
bool ShowAddressRows = TypeOfView == Rec_FORM_MY_COMMON_RECORD ||
|
||||
TypeOfView == Rec_MY_COMMON_RECORD_CHECK ||
|
||||
TypeOfView == Rec_FORM_MY_COURSE_RECORD_AS_STUDENT ||
|
||||
TypeOfView == Rec_CHECK_MY_COURSE_RECORD_AS_STUDENT ||
|
||||
((TypeOfView == Rec_RECORD_LIST ||
|
||||
TypeOfView == Rec_RECORD_PRINT) &&
|
||||
(IAmLoggedAsTeacher || IAmLoggedAsSysAdm) &&
|
||||
UsrDat->RoleInCurrentCrsDB == Rol_STUDENT));
|
||||
UsrDat->RoleInCurrentCrsDB == Rol_STUDENT);
|
||||
bool ShowTeacherRows = (((TypeOfView == Rec_FORM_MY_COMMON_RECORD ||
|
||||
TypeOfView == Rec_MY_COMMON_RECORD_CHECK ||
|
||||
TypeOfView == Rec_FORM_MY_COURSE_RECORD_AS_STUDENT ||
|
||||
|
@ -2200,7 +2200,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
|||
IAmLoggedAsTeacher ||
|
||||
IAmLoggedAsSysAdm))
|
||||
{
|
||||
Act_FormStart ((UsrDat->RoleInCurrentCrsDB == Rol_STUDENT) ? ActSeeRecOneStd :
|
||||
Act_FormStart (UsrDat->RoleInCurrentCrsDB == Rol_STUDENT ? ActSeeRecOneStd :
|
||||
ActSeeRecOneTch);
|
||||
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||
Act_LinkFormSubmit (Txt_View_record_for_this_course,NULL);
|
||||
|
@ -2225,7 +2225,9 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
|||
(Gbl.CurrentIns.Ins.InsCod > 0 && Gbl.Usrs.Me.LoggedRole == Rol_INS_ADM) ||
|
||||
Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM)
|
||||
{
|
||||
Act_FormStart (ActReqMdfUsr);
|
||||
Act_FormStart ( UsrDat->RoleInCurrentCrsDB == Rol_STUDENT ? ActReqMdfStd :
|
||||
(UsrDat->RoleInCurrentCrsDB == Rol_TEACHER ? ActReqMdfTch :
|
||||
ActReqMdfGst));
|
||||
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||
Act_LinkFormSubmit (Txt_Admin_user,NULL);
|
||||
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\""
|
||||
|
@ -2450,7 +2452,10 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
|||
ID_PutParamOtherUsrIDPlain (); // New user
|
||||
break;
|
||||
case Rec_FORM_MODIFY_RECORD_OTHER_EXISTING_USR:
|
||||
Act_FormStart (ActUpdOthUsrDat);
|
||||
Act_FormStart ( UsrDat->RoleInCurrentCrsDB < Rol_STUDENT ? ActUpdOthGst :
|
||||
(UsrDat->RoleInCurrentCrsDB == Rol_STUDENT ? ActUpdOthStd :
|
||||
(UsrDat->RoleInCurrentCrsDB == Rol_TEACHER ? ActUpdOthTch :
|
||||
ActUpdOthAdm)));
|
||||
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); // Existing user
|
||||
break;
|
||||
default:
|
||||
|
|
60
swad_user.c
60
swad_user.c
|
@ -5824,6 +5824,17 @@ void Usr_ListDataAdms (void)
|
|||
struct UsrData UsrDat;
|
||||
const char *FieldNames[Usr_NUM_MAIN_FIELDS_DATA_ADM];
|
||||
|
||||
/***** Put contextual links *****/
|
||||
if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM)
|
||||
{
|
||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
||||
|
||||
/* Put link to go to admin one user */
|
||||
Enr_PutLinkToAdminOneUsr (ActReqMdfOneAdm);
|
||||
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
}
|
||||
|
||||
/***** Initialize field names *****/
|
||||
FieldNames[0] = Txt_No_INDEX;
|
||||
FieldNames[1] = Txt_Photo;
|
||||
|
@ -6263,6 +6274,17 @@ void Usr_SeeGuests (void)
|
|||
extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
|
||||
extern const char *Txt_Show_records;
|
||||
|
||||
/***** Put contextual links *****/
|
||||
if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM)
|
||||
{
|
||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
||||
|
||||
/* Put link to go to admin one user */
|
||||
Enr_PutLinkToAdminOneUsr (ActReqMdfOneGst);
|
||||
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
}
|
||||
|
||||
/***** Get and update type of list,
|
||||
number of columns in class photo
|
||||
and preference about view photos *****/
|
||||
|
@ -6401,18 +6423,34 @@ void Usr_SeeStudents (void)
|
|||
extern const char *Txt_Show_records;
|
||||
bool ICanViewRecords;
|
||||
|
||||
/***** Put contextual links *****/
|
||||
if (Gbl.CurrentCrs.Crs.CrsCod > 0 && // Course selected
|
||||
(Gbl.Usrs.Me.LoggedRole == Rol_TEACHER || // My role in current course is teacher...
|
||||
Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM)) // ...or superuser
|
||||
Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM)) // ...or system admin
|
||||
{
|
||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
||||
|
||||
/***** Link to list official students *****/
|
||||
/* Put link to go to admin one user */
|
||||
Enr_PutLinkToAdminOneUsr (ActReqMdfOneStd);
|
||||
|
||||
/* Put link to go to admin several users */
|
||||
Enr_PutLinkToAdminSeveralUsrs ();
|
||||
|
||||
/* Put link to list official students */
|
||||
Usr_PutLinkToListOfficialStudents ();
|
||||
|
||||
/***** Link to edit record fields *****/
|
||||
/* Put link to edit record fields */
|
||||
Rec_PutLinkToEditRecordFields ();
|
||||
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
}
|
||||
else if (Gbl.Usrs.Me.LoggedRole == Rol_STUDENT)
|
||||
{
|
||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
||||
|
||||
/* Put link to go to admin one user */
|
||||
Enr_PutLinkToAdminOneUsr (ActReqMdfOneStd);
|
||||
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
}
|
||||
|
||||
|
@ -6564,6 +6602,22 @@ void Usr_SeeTeachers (void)
|
|||
extern const char *Txt_No_users_found[Rol_NUM_ROLES];
|
||||
bool ICanViewRecords;
|
||||
|
||||
/***** Put contextual links *****/
|
||||
if (Gbl.CurrentCrs.Crs.CrsCod > 0 && // Course selected
|
||||
(Gbl.Usrs.Me.LoggedRole == Rol_TEACHER || // My role in current course is teacher...
|
||||
Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM)) // ...or system admin
|
||||
{
|
||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
||||
|
||||
/* Put link to go to admin one user */
|
||||
Enr_PutLinkToAdminOneUsr (ActReqMdfOneTch);
|
||||
|
||||
/* Put link to go to admin several users */
|
||||
Enr_PutLinkToAdminSeveralUsrs ();
|
||||
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
}
|
||||
|
||||
/***** Get and update type of list,
|
||||
number of columns in class photo
|
||||
and preference about view photos *****/
|
||||
|
|
Loading…
Reference in New Issue