From e5e2225495867e5127af53bb359dce70e9bdff14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ca=C3=B1as=20Vargas?= Date: Tue, 30 May 2017 02:17:33 +0200 Subject: [PATCH] Version 16.227 --- swad_changelog.h | 3 +- swad_enrolment.c | 2 +- swad_record.c | 214 ++++++++++++++++++++++++++++++----------------- swad_record.h | 4 +- 4 files changed, 141 insertions(+), 82 deletions(-) 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,""); switch (Gbl.Usrs.Me.LoggedRole) { case Rol_GST: @@ -3055,7 +3090,7 @@ static void Rec_ShowRole (struct UsrData *UsrDat, Role++) { fprintf (Gbl.F.Out,"", Txt_ROLES_SINGUL_Abc[Role][UsrDat->Sex]); @@ -3064,23 +3099,26 @@ static void Rec_ShowRole (struct UsrData *UsrDat, default: // The rest of users can not register other users break; } - + fprintf (Gbl.F.Out,""); } - else // No course selected + else // No course selected { - DefaultRoleInCurrentCrs = (UsrDat->Roles & ((1 << Rol_STD) | - (1 << Rol_NET) | - (1 << Rol_TCH))) ? Rol_USR : // If user belongs to any course - Rol_GST; // If user don't belong to any course - fprintf (Gbl.F.Out,"", - (unsigned) DefaultRoleInCurrentCrs, - Txt_ROLES_SINGUL_Abc[DefaultRoleInCurrentCrs][UsrDat->Sex]); + /***** Set default role *****/ + DefaultRoleInForm = (UsrDat->Roles & ((1 << Rol_STD) | + (1 << Rol_NET) | + (1 << Rol_TCH))) ? Rol_USR : // If user belongs to any course + Rol_GST; // If user don't belong to any course + + /***** Selector of role *****/ + fprintf (Gbl.F.Out,"", + (unsigned) DefaultRoleInForm, + Txt_ROLES_SINGUL_Abc[DefaultRoleInForm][UsrDat->Sex]); } - fprintf (Gbl.F.Out,""); break; - case Rec_SHA_OTHER_NEW_USR_FORM: // The other user does not exist in platform - fprintf (Gbl.F.Out,""); for (Role = Rol_STD; Role <= Rol_TCH; Role++) { fprintf (Gbl.F.Out,"", Txt_ROLES_SINGUL_Abc[Role][Usr_SEX_UNKNOWN]); } + fprintf (Gbl.F.Out,""); break; default: // The rest of users can not register other users break; } - else // No course selected + else // No course selected switch (Gbl.Usrs.Me.LoggedRole) { case Rol_SYS_ADM: - fprintf (Gbl.F.Out,"", + /***** Selector of role *****/ + fprintf (Gbl.F.Out,"", (unsigned) Rol_GST,Txt_ROLES_SINGUL_Abc[Rol_GST][Usr_SEX_UNKNOWN]); break; default: // The rest of users can not register other users break; } - fprintf (Gbl.F.Out,""); break; default: break; @@ -3128,6 +3184,7 @@ static void Rec_ShowRole (struct UsrData *UsrDat, } else if (SexForm) { + /***** Form to select a sex *****/ fprintf (Gbl.F.Out,"" "" "%s*:" @@ -3156,6 +3213,7 @@ static void Rec_ShowRole (struct UsrData *UsrDat, ""); } else // RoleForm == false, SexForm == false + /***** No form, only text *****/ fprintf (Gbl.F.Out,"" "" "%s:" diff --git a/swad_record.h b/swad_record.h index 777d23a03..c51f8323c 100644 --- a/swad_record.h +++ b/swad_record.h @@ -55,7 +55,7 @@ #define Rec_SHARED_NUM_VIEW_TYPES 9 typedef enum { - Rec_SHA_SIGN_UP_FORM, + Rec_SHA_SIGN_UP_IN_CRS_FORM, Rec_SHA_MY_RECORD_FORM, Rec_SHA_MY_RECORD_CHECK, @@ -160,7 +160,7 @@ void Rec_RemoveFieldsCrsRecordAll (long UsrCod,Cns_QuietOrVerbose_t QuietOrVerbo void Rec_AllocMemFieldsRecordsCrs (void); void Rec_FreeMemFieldsRecordsCrs (void); -void Rec_ShowFormSignUpWithMySharedRecord (void); +void Rec_ShowFormSignUpInCrsWithMySharedRecord (void); void Rec_ShowFormMySharedRecord (void); void Rec_ShowFormOtherNewSharedRecord (struct UsrData *UsrDat,Rol_Role_t DefaultRole); void Rec_ShowMySharedRecordUpd (void);