mirror of https://github.com/acanas/swad-core.git
Version 16.103.5
This commit is contained in:
parent
e3c68ff386
commit
38cc2d9578
|
@ -819,39 +819,43 @@ void Acc_AfterCreationNewAccount (void)
|
||||||
void Acc_GetUsrCodAndRemUsrGbl (void)
|
void Acc_GetUsrCodAndRemUsrGbl (void)
|
||||||
{
|
{
|
||||||
extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
|
extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
|
||||||
|
bool Error = false;
|
||||||
|
|
||||||
if (Usr_GetParamOtherUsrCodEncryptedAndGetUsrData ())
|
if (Usr_GetParamOtherUsrCodEncryptedAndGetUsrData ())
|
||||||
Acc_ReqRemAccountOrRemAccount (Acc_REMOVE_USR);
|
{
|
||||||
|
if (Acc_CheckIfICanEliminateAccount (Gbl.Usrs.Other.UsrDat.UsrCod))
|
||||||
|
Acc_ReqRemAccountOrRemAccount (Acc_REMOVE_USR);
|
||||||
|
else
|
||||||
|
Error = true;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
Error = true;
|
||||||
|
|
||||||
|
if (Error)
|
||||||
Lay_ShowAlert (Lay_WARNING,Txt_User_not_found_or_you_do_not_have_permission_);
|
Lay_ShowAlert (Lay_WARNING,Txt_User_not_found_or_you_do_not_have_permission_);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/**************************** Removing of a user *****************************/
|
/*************************** Remove a user account ***************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Acc_ReqRemAccountOrRemAccount (Acc_ReqOrRemUsr_t RequestOrRemove)
|
void Acc_ReqRemAccountOrRemAccount (Acc_ReqOrRemUsr_t RequestOrRemove)
|
||||||
{
|
{
|
||||||
extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
|
switch (RequestOrRemove)
|
||||||
|
{
|
||||||
|
case Acc_REQUEST_REMOVE_USR: // Ask if eliminate completely the user from the platform
|
||||||
|
Acc_AskIfRemoveUsrAccount (Gbl.Usrs.Me.UsrDat.UsrCod == Gbl.Usrs.Other.UsrDat.UsrCod);
|
||||||
|
break;
|
||||||
|
case Acc_REMOVE_USR: // Eliminate completely the user from the platform
|
||||||
|
if (Pwd_GetConfirmationOnDangerousAction ())
|
||||||
|
{
|
||||||
|
Acc_CompletelyEliminateAccount (&Gbl.Usrs.Other.UsrDat,Cns_VERBOSE);
|
||||||
|
|
||||||
if (Acc_CheckIfICanEliminateAccount (Gbl.Usrs.Other.UsrDat.UsrCod))
|
/***** Move unused contents of messages to table of deleted contents of messages *****/
|
||||||
switch (RequestOrRemove)
|
Msg_MoveUnusedMsgsContentToDeleted ();
|
||||||
{
|
}
|
||||||
case Acc_REQUEST_REMOVE_USR: // Ask if eliminate completely the user from the platform
|
break;
|
||||||
Acc_AskIfRemoveUsrAccount (Gbl.Usrs.Me.UsrDat.UsrCod == Gbl.Usrs.Other.UsrDat.UsrCod);
|
}
|
||||||
break;
|
|
||||||
case Acc_REMOVE_USR: // Eliminate completely the user from the platform
|
|
||||||
if (Pwd_GetConfirmationOnDangerousAction ())
|
|
||||||
{
|
|
||||||
Acc_CompletelyEliminateAccount (&Gbl.Usrs.Other.UsrDat,Cns_VERBOSE);
|
|
||||||
|
|
||||||
/***** Move unused contents of messages to table of deleted contents of messages *****/
|
|
||||||
Msg_MoveUnusedMsgsContentToDeleted ();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
Lay_ShowAlert (Lay_WARNING,Txt_User_not_found_or_you_do_not_have_permission_);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -2440,9 +2440,9 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
||||||
/* ActCreStd */{1445,-1,TabUnk,ActLstStd ,0x1F0,0x1E0,0x1E0,Act_CONT_NORM,Act_THIS_WINDOW,Enr_CreateNewUsr1 ,Enr_CreateNewUsr2 ,NULL},
|
/* ActCreStd */{1445,-1,TabUnk,ActLstStd ,0x1F0,0x1E0,0x1E0,Act_CONT_NORM,Act_THIS_WINDOW,Enr_CreateNewUsr1 ,Enr_CreateNewUsr2 ,NULL},
|
||||||
/* ActCreTch */{1446,-1,TabUnk,ActLstTch ,0x1F0,0x1E0,0x1E0,Act_CONT_NORM,Act_THIS_WINDOW,Enr_CreateNewUsr1 ,Enr_CreateNewUsr2 ,NULL},
|
/* ActCreTch */{1446,-1,TabUnk,ActLstTch ,0x1F0,0x1E0,0x1E0,Act_CONT_NORM,Act_THIS_WINDOW,Enr_CreateNewUsr1 ,Enr_CreateNewUsr2 ,NULL},
|
||||||
|
|
||||||
/* ActUpdOth */{1422,-1,TabUnk,ActLstOth ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_ModifyUsr ,NULL},
|
/* ActUpdOth */{1422,-1,TabUnk,ActLstOth ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,Enr_ModifyUsr1 ,Enr_ModifyUsr2 ,NULL},
|
||||||
/* ActUpdStd */{1423,-1,TabUnk,ActLstStd ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_ModifyUsr ,NULL},
|
/* ActUpdStd */{1423,-1,TabUnk,ActLstStd ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,Enr_ModifyUsr1 ,Enr_ModifyUsr2 ,NULL},
|
||||||
/* ActUpdTch */{1424,-1,TabUnk,ActLstTch ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_ModifyUsr ,NULL},
|
/* ActUpdTch */{1424,-1,TabUnk,ActLstTch ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,Enr_ModifyUsr1 ,Enr_ModifyUsr2 ,NULL},
|
||||||
|
|
||||||
/* ActReqAccEnrStd */{1456,-1,TabUnk,ActLstStd ,0x1E8,0x000,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_ReqAcceptRegisterInCrs ,NULL},
|
/* ActReqAccEnrStd */{1456,-1,TabUnk,ActLstStd ,0x1E8,0x000,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_ReqAcceptRegisterInCrs ,NULL},
|
||||||
/* ActReqAccEnrTch */{1457,-1,TabUnk,ActLstTch ,0x1F0,0x000,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_ReqAcceptRegisterInCrs ,NULL},
|
/* ActReqAccEnrTch */{1457,-1,TabUnk,ActLstTch ,0x1F0,0x000,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_ReqAcceptRegisterInCrs ,NULL},
|
||||||
|
|
|
@ -190,13 +190,14 @@
|
||||||
/****************************** Public constants *****************************/
|
/****************************** Public constants *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 16.103.4 (2016-12-17)"
|
#define Log_PLATFORM_VERSION "SWAD 16.103.5 (2016-12-17)"
|
||||||
#define CSS_FILE "swad16.103.1.css"
|
#define CSS_FILE "swad16.103.1.css"
|
||||||
#define JS_FILE "swad16.101.js"
|
#define JS_FILE "swad16.101.js"
|
||||||
|
|
||||||
// Number of lines (includes comments but not blank lines) has been got with the following command:
|
// 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
|
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*?.h sql/swad*.sql | tail -1
|
||||||
/*
|
/*
|
||||||
|
Version 16.103.5: Dec 17, 2016 Code refactoring in user enrollment. (211207 lines)
|
||||||
Version 16.103.4: Dec 17, 2016 Code refactoring in user enrollment. (211170 lines)
|
Version 16.103.4: Dec 17, 2016 Code refactoring in user enrollment. (211170 lines)
|
||||||
Version 16.103.3: Dec 17, 2016 Code refactoring in user enrollment. (211149 lines)
|
Version 16.103.3: Dec 17, 2016 Code refactoring in user enrollment. (211149 lines)
|
||||||
Version 16.103.2: Dec 17, 2016 Code refactoring in user enrollment. (211133 lines)
|
Version 16.103.2: Dec 17, 2016 Code refactoring in user enrollment. (211133 lines)
|
||||||
|
|
|
@ -3539,7 +3539,8 @@ void Enr_CreateNewUsr2 (void)
|
||||||
if (Gbl.CurrentCrs.Crs.CrsCod > 0) // Course selected
|
if (Gbl.CurrentCrs.Crs.CrsCod > 0) // Course selected
|
||||||
{
|
{
|
||||||
/***** Show success message *****/
|
/***** Show success message *****/
|
||||||
Lay_ShowAlert (Lay_SUCCESS,Gbl.Message);
|
if (Gbl.Message[0])
|
||||||
|
Lay_ShowAlert (Lay_SUCCESS,Gbl.Message);
|
||||||
|
|
||||||
/***** Change user's groups *****/
|
/***** Change user's groups *****/
|
||||||
if (Gbl.CurrentCrs.Grps.NumGrps) // This course has groups?
|
if (Gbl.CurrentCrs.Grps.NumGrps) // This course has groups?
|
||||||
|
@ -3555,19 +3556,20 @@ void Enr_CreateNewUsr2 (void)
|
||||||
/**** Modify other user's data and register her/him in course and groups *****/
|
/**** Modify other user's data and register her/him in course and groups *****/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Enr_ModifyUsr (void)
|
void Enr_ModifyUsr1 (void)
|
||||||
{
|
{
|
||||||
extern const char *Txt_The_role_of_THE_USER_X_in_the_course_Y_has_changed_from_A_to_B;
|
extern const char *Txt_The_role_of_THE_USER_X_in_the_course_Y_has_changed_from_A_to_B;
|
||||||
extern const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
|
extern const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
|
||||||
extern const char *Txt_THE_USER_X_has_been_enrolled_in_the_course_Y;
|
extern const char *Txt_THE_USER_X_has_been_enrolled_in_the_course_Y;
|
||||||
extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
|
|
||||||
char UnsignedStr[10+1];
|
char UnsignedStr[10+1];
|
||||||
unsigned UnsignedNum;
|
unsigned UnsignedNum;
|
||||||
bool ItsMe;
|
bool ItsMe;
|
||||||
Enr_RegRemOneUsrAction_t RegRemAction;
|
|
||||||
Rol_Role_t OldRole;
|
Rol_Role_t OldRole;
|
||||||
Rol_Role_t NewRole;
|
Rol_Role_t NewRole;
|
||||||
bool Error = false;
|
|
||||||
|
/***** Initialize error and message *****/
|
||||||
|
Gbl.Error = false;
|
||||||
|
Gbl.Message[0] = '\0';
|
||||||
|
|
||||||
/***** Get user from form *****/
|
/***** Get user from form *****/
|
||||||
if (Usr_GetParamOtherUsrCodEncryptedAndGetUsrData ())
|
if (Usr_GetParamOtherUsrCodEncryptedAndGetUsrData ())
|
||||||
|
@ -3578,7 +3580,7 @@ void Enr_ModifyUsr (void)
|
||||||
Par_GetParToText ("RegRemAction",UnsignedStr,1);
|
Par_GetParToText ("RegRemAction",UnsignedStr,1);
|
||||||
if (sscanf (UnsignedStr,"%u",&UnsignedNum) == 1)
|
if (sscanf (UnsignedStr,"%u",&UnsignedNum) == 1)
|
||||||
if (UnsignedNum < Enr_NUM_ACTIONS_REG_REM_ONE_USR)
|
if (UnsignedNum < Enr_NUM_ACTIONS_REG_REM_ONE_USR)
|
||||||
switch ((RegRemAction = (Enr_RegRemOneUsrAction_t) UnsignedNum))
|
switch ((Gbl.Usrs.RegRemAction = (Enr_RegRemOneUsrAction_t) UnsignedNum))
|
||||||
{
|
{
|
||||||
case Enr_REGISTER_MODIFY_ONE_USR_IN_CRS:
|
case Enr_REGISTER_MODIFY_ONE_USR_IN_CRS:
|
||||||
if (ItsMe || Gbl.Usrs.Me.LoggedRole >= Rol_TEACHER)
|
if (ItsMe || Gbl.Usrs.Me.LoggedRole >= Rol_TEACHER)
|
||||||
|
@ -3611,7 +3613,6 @@ void Enr_ModifyUsr (void)
|
||||||
Gbl.Usrs.Other.UsrDat.FullName,Gbl.CurrentCrs.Crs.FullName,
|
Gbl.Usrs.Other.UsrDat.FullName,Gbl.CurrentCrs.Crs.FullName,
|
||||||
Txt_ROLES_SINGUL_abc[OldRole][Gbl.Usrs.Other.UsrDat.Sex],
|
Txt_ROLES_SINGUL_abc[OldRole][Gbl.Usrs.Other.UsrDat.Sex],
|
||||||
Txt_ROLES_SINGUL_abc[NewRole][Gbl.Usrs.Other.UsrDat.Sex]);
|
Txt_ROLES_SINGUL_abc[NewRole][Gbl.Usrs.Other.UsrDat.Sex]);
|
||||||
Lay_ShowAlert (Lay_SUCCESS,Gbl.Message);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -3623,93 +3624,124 @@ void Enr_ModifyUsr (void)
|
||||||
/* Show success message */
|
/* Show success message */
|
||||||
sprintf (Gbl.Message,Txt_THE_USER_X_has_been_enrolled_in_the_course_Y,
|
sprintf (Gbl.Message,Txt_THE_USER_X_has_been_enrolled_in_the_course_Y,
|
||||||
Gbl.Usrs.Other.UsrDat.FullName,Gbl.CurrentCrs.Crs.FullName);
|
Gbl.Usrs.Other.UsrDat.FullName,Gbl.CurrentCrs.Crs.FullName);
|
||||||
Lay_ShowAlert (Lay_SUCCESS,Gbl.Message);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Change user's groups *****/
|
/***** Change current action *****/
|
||||||
if (Gbl.CurrentCrs.Grps.NumGrps) // This course has groups?
|
Gbl.Action.Act = (NewRole == Rol_STUDENT) ? ActUpdStd :
|
||||||
{
|
((NewRole == Rol_TEACHER) ? ActUpdTch :
|
||||||
if (ItsMe)
|
ActUpdOth);
|
||||||
Grp_ChangeMyGrps ();
|
Tab_SetCurrentTab ();
|
||||||
else
|
|
||||||
Grp_ChangeOtherUsrGrps ();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Show user's record *****/
|
|
||||||
Rec_ShowSharedRecordUnmodifiable (&Gbl.Usrs.Other.UsrDat);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Error = true;
|
Gbl.Error = true;
|
||||||
break;
|
break;
|
||||||
case Enr_REGISTER_ONE_DEGREE_ADMIN:
|
case Enr_REGISTER_ONE_DEGREE_ADMIN:
|
||||||
if (Gbl.Usrs.Me.LoggedRole >= Rol_CTR_ADM)
|
if (Gbl.Usrs.Me.LoggedRole < Rol_CTR_ADM)
|
||||||
Enr_ReqAddAdm (Sco_SCOPE_DEG,Gbl.CurrentDeg.Deg.DegCod,
|
Gbl.Error = true;
|
||||||
Gbl.CurrentDeg.Deg.FullName);
|
|
||||||
else
|
|
||||||
Error = true;
|
|
||||||
break;
|
break;
|
||||||
case Enr_REGISTER_ONE_CENTRE_ADMIN:
|
case Enr_REGISTER_ONE_CENTRE_ADMIN:
|
||||||
if (Gbl.Usrs.Me.LoggedRole >= Rol_INS_ADM)
|
if (Gbl.Usrs.Me.LoggedRole < Rol_INS_ADM)
|
||||||
Enr_ReqAddAdm (Sco_SCOPE_CTR,Gbl.CurrentCtr.Ctr.CtrCod,
|
Gbl.Error = true;
|
||||||
Gbl.CurrentCtr.Ctr.FullName);
|
|
||||||
else
|
|
||||||
Error = true;
|
|
||||||
break;
|
break;
|
||||||
case Enr_REGISTER_ONE_INSTITUTION_ADMIN:
|
case Enr_REGISTER_ONE_INSTITUTION_ADMIN:
|
||||||
if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM)
|
if (Gbl.Usrs.Me.LoggedRole != Rol_SYS_ADM)
|
||||||
Enr_ReqAddAdm (Sco_SCOPE_INS,Gbl.CurrentIns.Ins.InsCod,
|
Gbl.Error = true;
|
||||||
Gbl.CurrentIns.Ins.FullName);
|
|
||||||
else
|
|
||||||
Error = true;
|
|
||||||
break;
|
break;
|
||||||
case Enr_REPORT_USR_AS_POSSIBLE_DUPLICATE:
|
case Enr_REPORT_USR_AS_POSSIBLE_DUPLICATE:
|
||||||
if (!ItsMe && Gbl.Usrs.Me.LoggedRole >= Rol_TEACHER)
|
if (ItsMe || Gbl.Usrs.Me.LoggedRole < Rol_TEACHER)
|
||||||
Dup_ReportUsrAsPossibleDuplicate ();
|
Gbl.Error = true;
|
||||||
else
|
|
||||||
Error = true;
|
|
||||||
break;
|
break;
|
||||||
case Enr_REMOVE_ONE_USR_FROM_CRS:
|
case Enr_REMOVE_ONE_USR_FROM_CRS:
|
||||||
if (ItsMe || Gbl.Usrs.Me.LoggedRole >= Rol_TEACHER)
|
if (!ItsMe && Gbl.Usrs.Me.LoggedRole < Rol_TEACHER)
|
||||||
Enr_ReqRemUsrFromCrs ();
|
Gbl.Error = true;
|
||||||
else
|
|
||||||
Error = true;
|
|
||||||
break;
|
break;
|
||||||
case Enr_REMOVE_ONE_DEGREE_ADMIN:
|
case Enr_REMOVE_ONE_DEGREE_ADMIN:
|
||||||
if (ItsMe || Gbl.Usrs.Me.LoggedRole >= Rol_CTR_ADM)
|
if (!ItsMe && Gbl.Usrs.Me.LoggedRole < Rol_CTR_ADM)
|
||||||
Enr_ReqRemAdmOfDeg ();
|
Gbl.Error = true;
|
||||||
else
|
|
||||||
Error = true;
|
|
||||||
break;
|
break;
|
||||||
case Enr_REMOVE_ONE_CENTRE_ADMIN:
|
case Enr_REMOVE_ONE_CENTRE_ADMIN:
|
||||||
if (ItsMe || Gbl.Usrs.Me.LoggedRole >= Rol_INS_ADM)
|
if (!ItsMe && Gbl.Usrs.Me.LoggedRole < Rol_INS_ADM)
|
||||||
Enr_ReqRemAdmOfCtr ();
|
Gbl.Error = true;
|
||||||
else
|
|
||||||
Error = true;
|
|
||||||
break;
|
break;
|
||||||
case Enr_REMOVE_ONE_INSTITUTION_ADMIN:
|
case Enr_REMOVE_ONE_INSTITUTION_ADMIN:
|
||||||
if (ItsMe || Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM)
|
if (!ItsMe && Gbl.Usrs.Me.LoggedRole != Rol_SYS_ADM)
|
||||||
Enr_ReqRemAdmOfIns ();
|
Gbl.Error = true;
|
||||||
else
|
|
||||||
Error = true;
|
|
||||||
break;
|
break;
|
||||||
case Enr_ELIMINATE_ONE_USR_FROM_PLATFORM:
|
case Enr_ELIMINATE_ONE_USR_FROM_PLATFORM:
|
||||||
Acc_ReqRemAccountOrRemAccount (Acc_REQUEST_REMOVE_USR);
|
if (!Acc_CheckIfICanEliminateAccount (Gbl.Usrs.Other.UsrDat.UsrCod))
|
||||||
break;
|
Gbl.Error = true;
|
||||||
default:
|
|
||||||
Error = true;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Error = true;
|
Gbl.Error = true;
|
||||||
else
|
else
|
||||||
Error = true;
|
Gbl.Error = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Error = true;
|
Gbl.Error = true;
|
||||||
|
}
|
||||||
|
|
||||||
if (Error)
|
void Enr_ModifyUsr2 (void)
|
||||||
|
{
|
||||||
|
extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
|
||||||
|
|
||||||
|
if (Gbl.Error)
|
||||||
Lay_ShowAlert (Lay_WARNING,Txt_User_not_found_or_you_do_not_have_permission_);
|
Lay_ShowAlert (Lay_WARNING,Txt_User_not_found_or_you_do_not_have_permission_);
|
||||||
|
else // No error
|
||||||
|
switch (Gbl.Usrs.RegRemAction)
|
||||||
|
{
|
||||||
|
case Enr_REGISTER_MODIFY_ONE_USR_IN_CRS:
|
||||||
|
if (Gbl.CurrentCrs.Crs.CrsCod > 0)
|
||||||
|
{
|
||||||
|
/***** Show success message *****/
|
||||||
|
if (Gbl.Message[0])
|
||||||
|
Lay_ShowAlert (Lay_SUCCESS,Gbl.Message);
|
||||||
|
|
||||||
|
/***** Change user's groups *****/
|
||||||
|
if (Gbl.CurrentCrs.Grps.NumGrps) // This course has groups?
|
||||||
|
{
|
||||||
|
if (Gbl.Usrs.Other.UsrDat.UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod) // It's me
|
||||||
|
Grp_ChangeMyGrps ();
|
||||||
|
else
|
||||||
|
Grp_ChangeOtherUsrGrps ();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/***** Show user's record *****/
|
||||||
|
Rec_ShowSharedRecordUnmodifiable (&Gbl.Usrs.Other.UsrDat);
|
||||||
|
break;
|
||||||
|
case Enr_REGISTER_ONE_DEGREE_ADMIN:
|
||||||
|
Enr_ReqAddAdm (Sco_SCOPE_DEG,Gbl.CurrentDeg.Deg.DegCod,
|
||||||
|
Gbl.CurrentDeg.Deg.FullName);
|
||||||
|
break;
|
||||||
|
case Enr_REGISTER_ONE_CENTRE_ADMIN:
|
||||||
|
Enr_ReqAddAdm (Sco_SCOPE_CTR,Gbl.CurrentCtr.Ctr.CtrCod,
|
||||||
|
Gbl.CurrentCtr.Ctr.FullName);
|
||||||
|
break;
|
||||||
|
case Enr_REGISTER_ONE_INSTITUTION_ADMIN:
|
||||||
|
Enr_ReqAddAdm (Sco_SCOPE_INS,Gbl.CurrentIns.Ins.InsCod,
|
||||||
|
Gbl.CurrentIns.Ins.FullName);
|
||||||
|
break;
|
||||||
|
case Enr_REPORT_USR_AS_POSSIBLE_DUPLICATE:
|
||||||
|
Dup_ReportUsrAsPossibleDuplicate ();
|
||||||
|
break;
|
||||||
|
case Enr_REMOVE_ONE_USR_FROM_CRS:
|
||||||
|
Enr_ReqRemUsrFromCrs ();
|
||||||
|
break;
|
||||||
|
case Enr_REMOVE_ONE_DEGREE_ADMIN:
|
||||||
|
Enr_ReqRemAdmOfDeg ();
|
||||||
|
break;
|
||||||
|
case Enr_REMOVE_ONE_CENTRE_ADMIN:
|
||||||
|
Enr_ReqRemAdmOfCtr ();
|
||||||
|
break;
|
||||||
|
case Enr_REMOVE_ONE_INSTITUTION_ADMIN:
|
||||||
|
Enr_ReqRemAdmOfIns ();
|
||||||
|
break;
|
||||||
|
case Enr_ELIMINATE_ONE_USR_FROM_PLATFORM:
|
||||||
|
Acc_ReqRemAccountOrRemAccount (Acc_REQUEST_REMOVE_USR);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -133,7 +133,8 @@ void Enr_RemAdmDeg (void);
|
||||||
void Enr_AcceptRegisterMeInCrs (void);
|
void Enr_AcceptRegisterMeInCrs (void);
|
||||||
void Enr_CreateNewUsr1 (void);
|
void Enr_CreateNewUsr1 (void);
|
||||||
void Enr_CreateNewUsr2 (void);
|
void Enr_CreateNewUsr2 (void);
|
||||||
void Enr_ModifyUsr (void);
|
void Enr_ModifyUsr1 (void);
|
||||||
|
void Enr_ModifyUsr2 (void);
|
||||||
void Enr_AcceptUsrInCrs (long UsrCod);
|
void Enr_AcceptUsrInCrs (long UsrCod);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -44,6 +44,7 @@
|
||||||
#include "swad_cryptography.h"
|
#include "swad_cryptography.h"
|
||||||
#include "swad_department.h"
|
#include "swad_department.h"
|
||||||
#include "swad_degree_type.h"
|
#include "swad_degree_type.h"
|
||||||
|
#include "swad_enrollment.h"
|
||||||
#include "swad_exam.h"
|
#include "swad_exam.h"
|
||||||
#include "swad_file.h"
|
#include "swad_file.h"
|
||||||
#include "swad_file_browser.h"
|
#include "swad_file_browser.h"
|
||||||
|
@ -398,6 +399,7 @@ struct Globals
|
||||||
} Connected;
|
} Connected;
|
||||||
char FileNamePhoto[NAME_MAX+1]; // File name (with no path and no .jpg) of the temporary file with the selected face
|
char FileNamePhoto[NAME_MAX+1]; // File name (with no path and no .jpg) of the temporary file with the selected face
|
||||||
bool Error; // To signal that an error has happened
|
bool Error; // To signal that an error has happened
|
||||||
|
Enr_RegRemOneUsrAction_t RegRemAction; // Enrollment action
|
||||||
} Usrs;
|
} Usrs;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue