Version18.119

This commit is contained in:
Antonio Cañas Vargas 2019-04-25 02:58:42 +02:00
parent 5c4b28b083
commit cf59d464d9
13 changed files with 93 additions and 54 deletions

View File

@ -483,7 +483,7 @@ static void ID_PutLinkToConfirmID (struct UsrData *UsrDat,unsigned NumID,
case ActSeeRecSevGst:
case ActSeeRecSevStd:
case ActSeeRecSevTch:
Usr_PutHiddenParUsrCodAll (Gbl.Usrs.Selected.List[Rol_UNK]);
Usr_PutHiddenParSelectedUsrsCods ();
break;
default:
break;

View File

@ -488,20 +488,49 @@ static void Asg_WriteAssignmentFolder (struct Assignment *Asg,bool PrintView)
extern const char *Txt_Folder;
bool ICanSendFiles = !Asg->Hidden && // It's visible (not hidden)
Asg->Open && // It's open (inside dates)
Asg->IBelongToCrsOrGrps && // I belong to course or groups
Gbl.Usrs.Me.Role.Logged == Rol_STD; // I am a student
Asg->IBelongToCrsOrGrps; // I belong to course or groups
/***** Folder icon *****/
if (!PrintView && // Not print view
ICanSendFiles) // I can send files to this assignment folder
{
/* Form to create a new file or folder */
Frm_StartForm (ActFrmCreAsgUsr);
Gbl.FileBrowser.FullTree = true; // By default, show all files
switch (Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs.Role)
{
case Rol_STD:
Gbl.FileBrowser.Type = Brw_ADMI_ASG_USR; // User assignments
Frm_StartForm (ActFrmCreAsgUsr);
break;
case Rol_NET:
case Rol_TCH:
Gbl.FileBrowser.Type = Brw_ADMI_ASG_CRS; // Course assignments
Str_Copy (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod,Gbl.Usrs.Me.UsrDat.EncryptedUsrCod,
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Usr_CreateListSelectedUsrsCodsAndFillWithOtherUsr ();
Frm_StartForm (ActFrmCreAsgCrs);
break;
default:
Lay_ShowErrorAndExit ("Wrong role.");
break;
}
Brw_PutParamsFileBrowser (Brw_INTERNAL_NAME_ROOT_FOLDER_ASSIGNMENTS,
Asg->Folder,
Brw_IS_FOLDER,-1L);
Ico_PutIconLink ("folder-open-green.svg",Txt_Upload_file_or_create_folder);
Ico_PutIconLink ("folder-open-yellow-plus.png",
Txt_Upload_file_or_create_folder);
Frm_EndForm ();
switch (Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs.Role)
{
case Rol_STD:
break;
case Rol_NET:
case Rol_TCH:
Usr_FreeListsSelectedUsrsCods ();
break;
default:
break;
}
}
else // Sending of files disabled
Ico_PutIconOff (ICanSendFiles ? "folder-open-green.svg" :

View File

@ -3052,7 +3052,7 @@ static void Att_PutParamsToPrintStdsList (void)
if (Gbl.AttEvents.ShowDetails)
Par_PutHiddenParamChar ("ShowDetails",'Y');
Grp_PutParamsCodGrps ();
Usr_PutHiddenParUsrCodAll (Gbl.Usrs.Selected.List[Rol_UNK]);
Usr_PutHiddenParSelectedUsrsCods ();
if (Gbl.AttEvents.StrAttCodsSelected)
if (Gbl.AttEvents.StrAttCodsSelected[0])
Par_PutHiddenParamString ("AttCods",Gbl.AttEvents.StrAttCodsSelected);
@ -3070,7 +3070,7 @@ static void Att_PutButtonToShowDetails (void)
Frm_StartFormAnchor (Gbl.Action.Act,Att_ATTENDANCE_DETAILS_ID);
Par_PutHiddenParamChar ("ShowDetails",'Y');
Grp_PutParamsCodGrps ();
Usr_PutHiddenParUsrCodAll (Gbl.Usrs.Selected.List[Rol_UNK]);
Usr_PutHiddenParSelectedUsrsCods ();
if (Gbl.AttEvents.StrAttCodsSelected)
if (Gbl.AttEvents.StrAttCodsSelected[0])
Par_PutHiddenParamString ("AttCods",Gbl.AttEvents.StrAttCodsSelected);
@ -3109,7 +3109,7 @@ static void Att_ListEventsToSelect (Att_TypeOfView_t TypeOfView)
{
Frm_StartFormAnchor (Gbl.Action.Act,Att_ATTENDANCE_TABLE_ID);
Grp_PutParamsCodGrps ();
Usr_PutHiddenParUsrCodAll (Gbl.Usrs.Selected.List[Rol_UNK]);
Usr_PutHiddenParSelectedUsrsCods ();
}
/***** Start table *****/

View File

@ -448,10 +448,11 @@ En OpenSWAD:
ps2pdf source.ps destination.pdf
*/
#define Log_PLATFORM_VERSION "SWAD 18.118.5 (2019-04-23)"
#define Log_PLATFORM_VERSION "SWAD 18.119 (2019-04-25)"
#define CSS_FILE "swad18.112.1.css"
#define JS_FILE "swad18.116.5.js"
/*
Version 18.119: Apr 25, 2019 Code refactoring related to selected users. (242536 lines)
Version 18.118.5: Apr 23, 2019 Code refactoring in file browser. (242497 lines)
Version 18.118.4: Apr 23, 2019 Changes in file browser. (242518 lines)
Version 18.118.3: Apr 22, 2019 Changed the behaviour of creating zip in file browser. (242545 lines)

View File

@ -2321,14 +2321,11 @@ void Brw_PutParamsFileBrowser (const char *PathInTree,const char *FileFolderName
else if (Brw_GetIfProjectFileBrowser ()) // This file browser needs specify a project
/***** Project code *****/
Prj_PutParamPrjCod (Gbl.Prjs.PrjCod);
else// if (NextAction != ActUnk)
else if (Brw_GetIfCrsAssigWorksFileBrowser ())
{
if (Brw_GetIfCrsAssigWorksFileBrowser ())
{
/***** Users selected *****/
Usr_PutHiddenParUsrCodAll (Gbl.Usrs.Selected.List[Rol_UNK]);
Usr_PutParamOtherUsrCodEncrypted ();
}
/***** Users selected *****/
Usr_PutHiddenParSelectedUsrsCods ();
Usr_PutParamOtherUsrCodEncrypted ();
}
/***** If full tree selected? *****/
@ -4960,7 +4957,7 @@ static void Brw_PutParamsFullTree (void)
else if (Brw_GetIfProjectFileBrowser ()) // This file browser needs specify a project
Prj_PutParamPrjCod (Gbl.Prjs.PrjCod);
else if (Brw_GetIfCrsAssigWorksFileBrowser ())
Usr_PutHiddenParUsrCodAll (Gbl.Usrs.Selected.List[Rol_UNK]);
Usr_PutHiddenParSelectedUsrsCods ();
}
/*****************************************************************************/
@ -11453,7 +11450,7 @@ static bool Brw_CheckIfICanCreateIntoFolder (unsigned Level)
if (!Gbl.FileBrowser.Asg.IBelongToCrsOrGrps) // If I do not belong to course / groups of this assignment
return false; // I can not create anything inside this assignment
switch (Gbl.Usrs.Me.Role.Logged)
switch (Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs.Role)
{
case Rol_STD: // Students...
case Rol_NET: // ...and non-editing teachers...

View File

@ -99,7 +99,6 @@ static void Fol_RequestFollowUsrs (Act_Action_t NextAction);
static void Fol_RequestUnfollowUsrs (Act_Action_t NextAction);
static void Fol_GetFollowedFromSelectedUsrs (unsigned *NumFollowed,
unsigned *NumNotFollowed);
static void Fol_PutParamsSelectedUsrs (void);
static void Fol_FollowUsr (struct UsrData *UsrDat);
static void Fol_UnfollowUsr (struct UsrData *UsrDat);
@ -1115,12 +1114,12 @@ static void Fol_RequestFollowUsrs (Act_Action_t NextAction)
{
if (NumNotFollowed == 1)
Ale_ShowAlertAndButton (NextAction,NULL,NULL,
Fol_PutParamsSelectedUsrs,
Usr_PutHiddenParSelectedUsrsCods,
Btn_CREATE_BUTTON,Txt_Follow,
Ale_QUESTION,Txt_Do_you_want_to_follow_the_selected_user_whom_you_do_not_follow_yet);
else
Ale_ShowAlertAndButton (NextAction,NULL,NULL,
Fol_PutParamsSelectedUsrs,
Usr_PutHiddenParSelectedUsrsCods,
Btn_CREATE_BUTTON,Txt_Follow,
Ale_QUESTION,Txt_Do_you_want_to_follow_the_X_selected_users_whom_you_do_not_follow_yet,
NumNotFollowed);
@ -1159,12 +1158,12 @@ static void Fol_RequestUnfollowUsrs (Act_Action_t NextAction)
{
if (NumFollowed == 1)
Ale_ShowAlertAndButton (NextAction,NULL,NULL,
Fol_PutParamsSelectedUsrs,
Usr_PutHiddenParSelectedUsrsCods,
Btn_CREATE_BUTTON,Txt_Unfollow,
Ale_QUESTION,Txt_Do_you_want_to_stop_following_the_selected_user_whom_you_follow);
else
Ale_ShowAlertAndButton (NextAction,NULL,NULL,
Fol_PutParamsSelectedUsrs,
Usr_PutHiddenParSelectedUsrsCods,
Btn_CREATE_BUTTON,Txt_Unfollow,
Ale_QUESTION,Txt_Do_you_want_to_stop_following_the_X_selected_users_whom_you_follow,
NumFollowed);
@ -1320,16 +1319,6 @@ void Fol_UnfollowUsrs (void)
NumUnfollowed);
}
/*****************************************************************************/
/**************** Put parameter with list of selected users ******************/
/*****************************************************************************/
static void Fol_PutParamsSelectedUsrs (void)
{
/***** Hidden parameter with the encrypted codes of users selected *****/
Usr_PutHiddenParUsrCodAll (Gbl.Usrs.Selected.List[Rol_UNK]);
}
/*****************************************************************************/
/******************************** Follow user ********************************/
/*****************************************************************************/

View File

@ -108,6 +108,7 @@ static void Msg_GetStatusOfReceivedMsg (long MsgCod,bool *Open,bool *Replied,boo
static long Msg_GetParamMsgCod (void);
static void Msg_PutLinkToShowMorePotentialRecipients (void);
static void Msg_PutParamsShowMorePotentialRecipients (void);
static void Msg_PutParamsWriteMsg (void);
static void Msg_ShowOneUniqueRecipient (void);
static void Msg_WriteFormUsrsIDsOrNicksOtherRecipients (void);
static void Msg_WriteFormSubjectAndContentMsgToUsrs (char Content[Cns_MAX_BYTES_LONG_TEXT + 1]);
@ -393,9 +394,9 @@ static void Msg_PutParamsShowMorePotentialRecipients (void)
/***************** Put parameters when writing a message *********************/
/*****************************************************************************/
void Msg_PutParamsWriteMsg (void)
static void Msg_PutParamsWriteMsg (void)
{
Usr_PutHiddenParUsrCodAll (Gbl.Usrs.Selected.List[Rol_UNK]);
Usr_PutHiddenParSelectedUsrsCods ();
Msg_PutHiddenParamOtherRecipients ();
Msg_PutHiddenParamsSubjectAndContent ();
if (Gbl.Msg.Reply.IsReply)

View File

@ -59,7 +59,6 @@ typedef enum
/*****************************************************************************/
void Msg_FormMsgUsrs (void);
void Msg_PutParamsWriteMsg (void);
void Msg_PutHiddenParamsSubjectAndContent (void);
void Msg_PutHiddenParamAnotherRecipient (const struct UsrData *UsrDat);
void Msg_PutHiddenParamOtherRecipients (void);

View File

@ -986,7 +986,7 @@ static void Rec_ListRecordsGsts (Rec_SharedRecordViewType_t TypeOfView)
/* Link to print view */
Frm_StartForm (ActPrnRecSevGst);
Usr_PutHiddenParUsrCodAll (Gbl.Usrs.Selected.List[Rol_UNK]);
Usr_PutHiddenParSelectedUsrsCods ();
Rec_ShowLinkToPrintPreviewOfRecords ();
Frm_EndForm ();
fprintf (Gbl.F.Out,"</div>");
@ -1083,7 +1083,9 @@ static void Rec_ShowRecordOneStdCrs (void)
/* Link to print view */
Frm_StartForm (ActPrnRecSevStd);
Usr_PutHiddenParUsrCodAll (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod);
Usr_CreateListSelectedUsrsCodsAndFillWithOtherUsr ();
Usr_PutHiddenParSelectedUsrsCods ();
Usr_FreeListsSelectedUsrsCods ();
Rec_ShowLinkToPrintPreviewOfRecords ();
Frm_EndForm ();
@ -1184,7 +1186,7 @@ static void Rec_ListRecordsStds (Rec_SharedRecordViewType_t ShaTypeOfView,
/* Link to print view */
Frm_StartForm (ActPrnRecSevStd);
Usr_PutHiddenParUsrCodAll (Gbl.Usrs.Selected.List[Rol_UNK]);
Usr_PutHiddenParSelectedUsrsCods ();
Rec_ShowLinkToPrintPreviewOfRecords ();
Frm_EndForm ();
fprintf (Gbl.F.Out,"</div>");
@ -1310,7 +1312,9 @@ static void Rec_ShowRecordOneTchCrs (void)
/* Link to print view */
Frm_StartForm (ActPrnRecSevTch);
Usr_PutHiddenParUsrCodAll (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod);
Usr_CreateListSelectedUsrsCodsAndFillWithOtherUsr ();
Usr_PutHiddenParSelectedUsrsCods ();
Usr_FreeListsSelectedUsrsCods ();
Par_PutHiddenParamChar ("ParamOfficeHours",'Y');
Par_PutHiddenParamChar ("ShowOfficeHours",ShowOfficeHours ? 'Y' :
'N');
@ -1398,7 +1402,7 @@ static void Rec_ListRecordsTchs (Rec_SharedRecordViewType_t TypeOfView)
/* Link to print view */
Frm_StartForm (ActPrnRecSevTch);
Usr_PutHiddenParUsrCodAll (Gbl.Usrs.Selected.List[Rol_UNK]);
Usr_PutHiddenParSelectedUsrsCods ();
Par_PutHiddenParamChar ("ParamOfficeHours",'Y');
Par_PutHiddenParamChar ("ShowOfficeHours",
ShowOfficeHours ? 'Y' :
@ -1554,7 +1558,7 @@ static void Rec_PutParamsShowOfficeHoursOneTch (void)
static void Rec_PutParamsShowOfficeHoursSeveralTchs (void)
{
Usr_PutHiddenParUsrCodAll (Gbl.Usrs.Selected.List[Rol_UNK]);
Usr_PutHiddenParSelectedUsrsCods ();
Par_PutHiddenParamChar ("ParamOfficeHours",'Y');
}
@ -1728,7 +1732,7 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView,
Act_GetActCod (ActSeeRecSevStd)); // Original action, used to know where we came from
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
if (TypeOfView == Rec_CRS_LIST_SEVERAL_RECORDS)
Usr_PutHiddenParUsrCodAll (Gbl.Usrs.Selected.List[Rol_UNK]);
Usr_PutHiddenParSelectedUsrsCods ();
}
break;
default:
@ -2656,6 +2660,8 @@ static void Rec_PutParamsWorks (void)
{
Rec_PutParamsStudent ();
Par_PutHiddenParamChar ("FullTree",'Y'); // By default, show all files
Gbl.FileBrowser.FullTree = true;
Brw_PutHiddenParamFullTreeIfSelected ();
}
static void Rec_PutParamsStudent (void)

View File

@ -1595,7 +1595,7 @@ static void Sta_ShowDetailedAccessesList (unsigned long NumRows,MYSQL_RES *mysql
Par_PutHiddenParamLong ("FirstRow",FirstRow - Gbl.Stat.RowsPerPage);
Par_PutHiddenParamLong ("LastRow" ,FirstRow - 1);
Par_PutHiddenParamLong ("RowsPage",Gbl.Stat.RowsPerPage);
Usr_PutHiddenParUsrCodAll (Gbl.Usrs.Selected.List[Rol_UNK]);
Usr_PutHiddenParSelectedUsrsCods ();
}
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:20%%;\">");
if (FirstRow > 1)
@ -1631,7 +1631,7 @@ static void Sta_ShowDetailedAccessesList (unsigned long NumRows,MYSQL_RES *mysql
Par_PutHiddenParamUnsigned ("FirstRow" ,(unsigned) (LastRow + 1));
Par_PutHiddenParamUnsigned ("LastRow" ,(unsigned) (LastRow + Gbl.Stat.RowsPerPage));
Par_PutHiddenParamUnsigned ("RowsPage" ,(unsigned) Gbl.Stat.RowsPerPage);
Usr_PutHiddenParUsrCodAll (Gbl.Usrs.Selected.List[Rol_UNK]);
Usr_PutHiddenParSelectedUsrsCods ();
}
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\" style=\"width:20%%;\">");
if (LastRow < NumRows)
@ -2106,7 +2106,7 @@ static void Sta_ShowDistrAccessesPerDayAndHour (unsigned long NumRows,MYSQL_RES
Par_PutHiddenParamUnsigned ("CountType",(unsigned) Gbl.Stat.CountType);
Par_PutHiddenParamUnsigned ("StatAct" ,(unsigned) Gbl.Stat.NumAction);
if (Gbl.Action.Act == ActSeeAccCrs)
Usr_PutHiddenParUsrCodAll (Gbl.Usrs.Selected.List[Rol_UNK]);
Usr_PutHiddenParSelectedUsrsCods ();
else // Gbl.Action.Act == ActSeeAccGbl
{
Par_PutHiddenParamUnsigned ("Role",(unsigned) Gbl.Stat.Role);

View File

@ -581,7 +581,7 @@ void Usr_GetUsrDataFromUsrCod (struct UsrData *UsrDat,Usr_GetPrefs_t GetPrefs)
/* Get encrypted user's code (row[0]) */
Str_Copy (UsrDat->EncryptedUsrCod,row[0],
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
/* Get encrypted password (row[1]) */
Str_Copy (UsrDat->Password,row[1],
@ -5643,16 +5643,33 @@ static void Usr_PutParamsConfirmIWantToSeeBigList (void)
/************* Write parameter with the list of users selected ***************/
/*****************************************************************************/
void Usr_PutHiddenParUsrCodAll (const char *ListUsrCods)
void Usr_PutHiddenParSelectedUsrsCods (void)
{
/***** Put a parameter indicating that a list of several users is present *****/
Par_PutHiddenParamChar ("MultiUsrs",'Y');
/***** Put a parameter with the encrypted user codes of several users *****/
if (Gbl.Session.IsOpen)
Ses_InsertHiddenParInDB (Usr_ParamUsrCod[Rol_UNK],ListUsrCods);
Ses_InsertHiddenParInDB (Usr_ParamUsrCod[Rol_UNK],Gbl.Usrs.Selected.List[Rol_UNK]);
else
Par_PutHiddenParamString (Usr_ParamUsrCod[Rol_UNK],ListUsrCods);
Par_PutHiddenParamString (Usr_ParamUsrCod[Rol_UNK],Gbl.Usrs.Selected.List[Rol_UNK]);
}
/*****************************************************************************/
/**************** Create list of selected users with one given user ************************/
/*****************************************************************************/
void Usr_CreateListSelectedUsrsCodsAndFillWithOtherUsr (void)
{
/***** Create list of user codes and put encrypted user code in it *****/
if (!Gbl.Usrs.Selected.List[Rol_UNK])
{
if ((Gbl.Usrs.Selected.List[Rol_UNK] = (char *) malloc (Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1)) == NULL)
Lay_NotEnoughMemoryExit ();
Str_Copy (Gbl.Usrs.Selected.List[Rol_UNK],Gbl.Usrs.Other.UsrDat.EncryptedUsrCod,
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Gbl.Usrs.Selected.Filled = true;
}
}
/*****************************************************************************/

View File

@ -411,7 +411,8 @@ bool Usr_GetIfShowBigList (unsigned NumUsrs,
void (*FuncParams) (void),
const char *OnSubmit);
void Usr_PutHiddenParUsrCodAll (const char *ListUsrCods);
void Usr_PutHiddenParSelectedUsrsCods (void);
void Usr_CreateListSelectedUsrsCodsAndFillWithOtherUsr (void);
void Usr_GetListsSelectedUsrsCods (void);
bool Usr_GetListMsgRecipientsWrittenExplicitelyBySender (bool WriteErrorMsgs);
bool Usr_FindUsrCodInListOfSelectedUsrs (const char *EncryptedUsrCodToFind);

View File

@ -99,9 +99,8 @@ void ZIP_PutLinkToCreateZIPAsgWrk (void)
static void ZIP_PutLinkToCreateZIPAsgWrkParams (void)
{
Usr_PutHiddenParUsrCodAll (Gbl.Usrs.Selected.List[Rol_UNK]);
if (Gbl.FileBrowser.FullTree)
Par_PutHiddenParamChar ("FullTree",'Y');
Usr_PutHiddenParSelectedUsrsCods ();
Brw_PutHiddenParamFullTreeIfSelected ();
Par_PutHiddenParamChar ("CreateZIP",'Y');
}