diff --git a/swad_changelog.h b/swad_changelog.h
index 2d594bd9e..3187c0c84 100644
--- a/swad_changelog.h
+++ b/swad_changelog.h
@@ -235,13 +235,14 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
-#define Log_PLATFORM_VERSION "SWAD 16.226.1 (2017-05-29)"
+#define Log_PLATFORM_VERSION "SWAD 16.227 (2017-05-30)"
#define CSS_FILE "swad16.226.css"
#define JS_FILE "swad16.206.3.js"
// 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 16.227: May 30, 2017 Changes in selector or roles in record cards. (220694 lines)
Version 16.226.1: May 29, 2017 Changes in contextual links related to users enrolment. (220637 lines)
Version 16.226: May 29, 2017 Code refactoring in buttons. (220607 lines)
Version 16.225.12:May 29, 2017 Button to register students in connected and requests. (220587 lines)
diff --git a/swad_enrolment.c b/swad_enrolment.c
index ad3063485..f208911f3 100644
--- a/swad_enrolment.c
+++ b/swad_enrolment.c
@@ -1952,7 +1952,7 @@ void Enr_ReqSignUpInCrs (void)
else if (Gbl.Usrs.Me.LoggedRole == Rol_GST ||
Gbl.Usrs.Me.LoggedRole == Rol_USR)
/***** Show form to modify only the user's role or the user's data *****/
- Rec_ShowFormSignUpWithMySharedRecord ();
+ Rec_ShowFormSignUpInCrsWithMySharedRecord ();
else
Lay_ShowErrorAndExit ("You must be logged to sign up in a course."); // This never should happen
}
diff --git a/swad_record.c b/swad_record.c
index 5a22837c8..69acf5cb0 100644
--- a/swad_record.c
+++ b/swad_record.c
@@ -2105,15 +2105,10 @@ static bool Rec_CheckIfICanEditField (Rec_VisibilityRecordFields_t Visibility)
/*********** Show form to sign up and edit my shared record card *************/
/*****************************************************************************/
-void Rec_ShowFormSignUpWithMySharedRecord (void)
+void Rec_ShowFormSignUpInCrsWithMySharedRecord (void)
{
- extern const char *Txt_Sign_up;
-
/***** Show the form *****/
- Act_FormStart (ActSignUp);
- Rec_ShowSharedUsrRecord (Rec_SHA_SIGN_UP_FORM,&Gbl.Usrs.Me.UsrDat,NULL);
- Lay_PutConfirmButton (Txt_Sign_up);
- Act_FormEnd ();
+ Rec_ShowSharedUsrRecord (Rec_SHA_SIGN_UP_IN_CRS_FORM,&Gbl.Usrs.Me.UsrDat,NULL);
}
/*****************************************************************************/
@@ -2212,12 +2207,13 @@ void Rec_ShowSharedUsrRecord (Rec_SharedRecordViewType_t TypeOfView,
extern const char *Hlp_USERS_Students_shared_record_card;
extern const char *Hlp_USERS_Teachers_shared_record_card;
extern const char *The_ClassForm[The_NUM_THEMES];
+ extern const char *Txt_Sign_up;
extern const char *Txt_Save_changes;
extern const char *Txt_Register;
extern const char *Txt_Confirm;
const char *Rec_RecordHelp[Rec_SHARED_NUM_VIEW_TYPES] =
{
- Hlp_USERS_SignUp, // Rec_SHA_SIGN_UP_FORM
+ Hlp_USERS_SignUp, // Rec_SHA_SIGN_UP_IN_CRS_FORM
Hlp_PROFILE_Record, // Rec_SHA_MY_RECORD_FORM
Hlp_PROFILE_Record, // Rec_SHA_MY_RECORD_CHECK
@@ -2301,7 +2297,7 @@ void Rec_ShowSharedUsrRecord (Rec_SharedRecordViewType_t TypeOfView,
case Rec_SHA_OTHER_EXISTING_USR_FORM:
ICanEdit = Usr_ICanChangeOtherUsrData (UsrDat);
break;
- default: // In other options, I can not edit another user's data
+ default: // In other options, I can not edit user's data
ICanEdit = false;
break;
}
@@ -2309,7 +2305,7 @@ void Rec_ShowSharedUsrRecord (Rec_SharedRecordViewType_t TypeOfView,
/* Class for labels */
switch (TypeOfView)
{
- case Rec_SHA_SIGN_UP_FORM:
+ case Rec_SHA_SIGN_UP_IN_CRS_FORM:
case Rec_SHA_MY_RECORD_FORM:
case Rec_SHA_OTHER_NEW_USR_FORM:
case Rec_SHA_OTHER_EXISTING_USR_FORM:
@@ -2389,9 +2385,31 @@ void Rec_ShowSharedUsrRecord (Rec_SharedRecordViewType_t TypeOfView,
/***** Start form *****/
switch (TypeOfView)
{
+ case Rec_SHA_SIGN_UP_IN_CRS_FORM:
+ Act_FormStart (ActSignUp);
+ break;
case Rec_SHA_MY_RECORD_FORM:
Act_FormStart (ActChgMyData);
break;
+ case Rec_SHA_OTHER_EXISTING_USR_FORM:
+ switch (Gbl.Action.Act)
+ {
+ case ActReqMdfStd:
+ NextAction = ActUpdStd;
+ break;
+ case ActReqMdfNET:
+ NextAction = ActUpdNET;
+ break;
+ case ActReqMdfTch:
+ NextAction = ActUpdTch;
+ break;
+ default:
+ NextAction = ActUpdOth;
+ break;
+ }
+ Act_FormStart (NextAction);
+ Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); // Existing user
+ break;
case Rec_SHA_OTHER_NEW_USR_FORM:
switch (Gbl.Action.Act)
{
@@ -2411,25 +2429,6 @@ void Rec_ShowSharedUsrRecord (Rec_SharedRecordViewType_t TypeOfView,
Act_FormStart (NextAction);
ID_PutParamOtherUsrIDPlain (); // New user
break;
- case Rec_SHA_OTHER_EXISTING_USR_FORM:
- switch (UsrDat->RoleInCurrentCrsDB)
- {
- case Rol_STD:
- NextAction = ActUpdStd;
- break;
- case Rol_NET:
- NextAction = ActUpdNET;
- break;
- case Rol_TCH:
- NextAction = ActUpdTch;
- break;
- default: // Guest, user or admin
- NextAction = ActUpdOth;
- break;
- }
- Act_FormStart (NextAction);
- Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); // Existing user
- break;
default:
break;
}
@@ -2498,6 +2497,10 @@ void Rec_ShowSharedUsrRecord (Rec_SharedRecordViewType_t TypeOfView,
/***** Button and end form *****/
switch (TypeOfView)
{
+ case Rec_SHA_SIGN_UP_IN_CRS_FORM:
+ Lay_PutConfirmButton (Txt_Sign_up);
+ Act_FormEnd ();
+ break;
case Rec_SHA_MY_RECORD_FORM:
Lay_PutConfirmButton (Txt_Save_changes);
Act_FormEnd ();
@@ -2970,16 +2973,17 @@ static void Rec_ShowRole (struct UsrData *UsrDat,
extern const char *Txt_Sex;
extern const char *Txt_SEX_SINGULAR_Abc[Usr_NUM_SEXS];
extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
- bool RoleForm = (TypeOfView == Rec_SHA_SIGN_UP_FORM ||
- TypeOfView == Rec_SHA_OTHER_NEW_USR_FORM ||
- TypeOfView == Rec_SHA_OTHER_EXISTING_USR_FORM);
+ bool RoleForm = (TypeOfView == Rec_SHA_SIGN_UP_IN_CRS_FORM ||
+ TypeOfView == Rec_SHA_OTHER_EXISTING_USR_FORM ||
+ TypeOfView == Rec_SHA_OTHER_NEW_USR_FORM);
bool SexForm = (TypeOfView == Rec_SHA_MY_RECORD_FORM);
- Rol_Role_t DefaultRoleInCurrentCrs;
+ Rol_Role_t DefaultRoleInForm;
Rol_Role_t Role;
Usr_Sex_t Sex;
if (RoleForm)
{
+ /***** Form to select a role *****/
/* Get user's roles if not got */
Rol_GetRolesInAllCrssIfNotYetGot (UsrDat);
@@ -2991,21 +2995,24 @@ static void Rec_ShowRole (struct UsrData *UsrDat,
ClassForm,Txt_Role);
switch (TypeOfView)
{
- case Rec_SHA_SIGN_UP_FORM: // I want to apply for enrolment
+ case Rec_SHA_SIGN_UP_IN_CRS_FORM: // I want to apply for enrolment
+ /***** Set default role *****/
if (UsrDat->UsrCod == Gbl.CurrentCrs.Crs.RequesterUsrCod || // Creator of the course
- (UsrDat->Roles & (1 << Rol_TCH))) // Teacher in other courses
- DefaultRoleInCurrentCrs = Rol_TCH;
+ (UsrDat->Roles & (1 << Rol_TCH))) // Teacher in other courses
+ DefaultRoleInForm = Rol_TCH; // Request sign up as a teacher
else if ((UsrDat->Roles & (1 << Rol_NET))) // Non-editing teacher in other courses
- DefaultRoleInCurrentCrs = Rol_NET;
+ DefaultRoleInForm = Rol_NET; // Request sign up as a non-editing teacher
else
- DefaultRoleInCurrentCrs = Rol_STD;
+ DefaultRoleInForm = Rol_STD; // Request sign up as a student
+
+ /***** Selector of role *****/
fprintf (Gbl.F.Out,"");
break;
case Rec_SHA_OTHER_EXISTING_USR_FORM: // The other user already exists in the platform
- fprintf (Gbl.F.Out,"");
break;
- case Rec_SHA_OTHER_NEW_USR_FORM: // The other user does not exist in platform
- fprintf (Gbl.F.Out,"