Version19.66.2

This commit is contained in:
Antonio Cañas Vargas 2019-11-13 09:49:52 +01:00
parent 8ca04e79a5
commit 3521819e73
6 changed files with 64 additions and 76 deletions

View File

@ -2062,13 +2062,13 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActHidAsg */{ 964,-1,TabUnk,ActSeeAsg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Asg_HideAssignment ,NULL},
/* ActShoAsg */{ 965,-1,TabUnk,ActSeeAsg ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Asg_ShowAssignment ,NULL},
/* ActSeeTblAllPrj */{1696,-1,TabUnk,ActSeePrj ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_NEW_TAB,NULL ,Prj_ShowTableAllProjects ,NULL},
/* ActSeeTblAllPrj */{1696,-1,TabUnk,ActSeePrj ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_NEW_TAB,NULL ,Prj_ShowTableSelectedProjects ,NULL},
/* ActCfgPrj */{1803,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ShowFormConfig ,NULL},
/* ActRcvCfgPrj */{1804,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ReceiveConfigPrj ,NULL},
/* ActReqLckAllPrj */{1775,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ReqLockAllProjectsEdition ,NULL},
/* ActReqUnlAllPrj */{1776,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ReqUnlockAllProjectsEdition,NULL},
/* ActLckAllPrj */{1777,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_LockAllProjectsEdition ,NULL},
/* ActUnlAllPrj */{1778,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_UnlockAllProjectsEdition ,NULL},
/* ActReqLckAllPrj */{1775,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ReqLockSelectedProjectsEdition ,NULL},
/* ActReqUnlAllPrj */{1776,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ReqUnlockSelectedProjectsEdition,NULL},
/* ActLckAllPrj */{1777,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_LockSelectedProjectsEdition ,NULL},
/* ActUnlAllPrj */{1778,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_UnlockSelectedProjectsEdition ,NULL},
/* ActFrmNewPrj */{1675,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_RequestCreatePrj ,NULL},
/* ActEdiOnePrj */{1676,-1,TabUnk,ActSeePrj ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_RequestEditPrj ,NULL},
/* ActPrnOnePrj */{1677,-1,TabUnk,ActSeePrj ,0x3F8,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_NEW_TAB,NULL ,Prj_PrintOneProject ,NULL},

View File

@ -487,7 +487,7 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
En OpenSWAD:
ps2pdf source.ps destination.pdf
*/
#define Log_PLATFORM_VERSION "SWAD 19.66 (2019-11-12)"
#define Log_PLATFORM_VERSION "SWAD 19.66.2 (2019-11-13)"
#define CSS_FILE "swad19.47.css"
#define JS_FILE "swad19.65.js"
/*
@ -496,6 +496,9 @@ ps2pdf source.ps destination.pdf
// TODO: Importante: filtrar proyectos por usuarios (igual que en trabajos o en asistencia)
// TODO: Code refactoring in HTML h1, title, meta, video, p, iframe, input hidden, area
Version 19.66.3: Nov 13, 2019 Filter projects by selected users. (? lines)
Version 19.66.2: Nov 13, 2019 Fixed bug in edition of test question. (246628 lines)
Version 19.66.1: Nov 13, 2019 Filter projects by selected users. Not finished. (246627 lines)
Version 19.66: Nov 13, 2019 Changes in selection of which users in projects. (246638 lines)
Version 19.65.5: Nov 12, 2019 Changes in selection of which users in projects. (246519 lines)
Version 19.65.4: Nov 12, 2019 Fixed bug in HTML input texts. (246505 lines)

View File

@ -125,7 +125,6 @@ struct Prj_Faults
/*****************************************************************************/
static void Prj_ReqListUsrsToSelect (void);
static void Prj_ShowProjectsOfSelectedUsrs (void);
static void Prj_GetListSelectedUsrCods (unsigned NumUsrsInList,long **LstSelectedUsrCods);
static void Prj_ShowProjectsInCurrentPage (void);
@ -207,6 +206,8 @@ static void Prj_PutFormsToRemEditOnePrj (const struct Project *Prj,
static bool Prj_CheckIfICanEditProject (const struct Project *Prj);
static void Prj_GetListProjects (void);
static void Prj_ResetProject (struct Project *Prj);
static void Prj_RequestCreatOrEditPrj (long PrjCod);
@ -244,16 +245,16 @@ void Prj_SeeProjects (void)
{
case Usr_WHO_ME:
case Usr_WHO_ALL:
/***** Show projects *****/
/* Show my projects / all projects */
Prj_ShowProjectsInCurrentPage ();
break;
case Usr_WHO_SELECTED:
if (Gbl.Prjs.Filter.ReqUsrs)
/***** List users to select some of them *****/
if (Gbl.Prjs.Filter.ReqUsrs) // Request the selection of users
/* List users to select some of them */
Prj_ReqListUsrsToSelect ();
if (Gbl.Prjs.Filter.SelUsrs) // Some users should have been selected
/***** Show projects *****/
Prj_ShowProjectsOfSelectedUsrs ();
/* Show projects of selected users */
Prj_ShowProjectsInCurrentPage ();
break;
default:
break;
@ -277,47 +278,6 @@ static void Prj_ReqListUsrsToSelect (void)
Txt_View_projects);
}
/*****************************************************************************/
/******************** Show projects of selected users ************************/
/*****************************************************************************/
static void Prj_ShowProjectsOfSelectedUsrs (void)
{
extern const char *Txt_You_must_select_one_ore_more_users;
unsigned NumUsrsInList;
long *LstSelectedUsrCods;
/***** Get list of selected students if not already got *****/
Usr_GetListsSelectedUsrsCods ();
/* Check the number of students to list */
if ((NumUsrsInList = Usr_CountNumUsrsInListOfSelectedUsrs ()))
{
/***** Get list of groups selected ******/
Grp_GetParCodsSeveralGrpsToShowUsrs ();
/***** Get list of students selected to show their attendances *****/
Prj_GetListSelectedUsrCods (NumUsrsInList,&LstSelectedUsrCods);
/***** Show projects *****/
Prj_ShowProjectsInCurrentPage ();
/***** Free list of user codes *****/
free (LstSelectedUsrCods);
/***** Free list of groups selected *****/
Grp_FreeListCodSelectedGrps ();
}
else // No users selected
{
Ale_ShowAlert (Ale_WARNING,Txt_You_must_select_one_ore_more_users);
Prj_ReqListUsrsToSelect (); // ...show again the form
}
/***** Free memory used by list of selected users' codes *****/
Usr_FreeListsSelectedUsrsCods ();
}
/*****************************************************************************/
/************* Get list of users selected to show their projects *************/
/*****************************************************************************/
@ -351,10 +311,10 @@ static void Prj_GetListSelectedUsrCods (unsigned NumUsrsInList,long **LstSelecte
}
/*****************************************************************************/
/************************ Show all projects in a table ***********************/
/********************** Show selected projects in a table ********************/
/*****************************************************************************/
void Prj_ShowTableAllProjects (void)
void Prj_ShowTableSelectedProjects (void)
{
extern const char *Txt_No_projects;
unsigned NumPrj;
@ -2694,7 +2654,7 @@ static bool Prj_CheckIfICanEditProject (const struct Project *Prj)
/************************** List all the projects ****************************/
/*****************************************************************************/
void Prj_GetListProjects (void)
static void Prj_GetListProjects (void)
{
char *PreNonSubQuery;
char *HidVisSubQuery;
@ -2720,6 +2680,8 @@ void Prj_GetListProjects (void)
};
MYSQL_RES *mysql_res;
MYSQL_ROW row;
unsigned NumUsrsInList;
long *LstSelectedUsrCods;
unsigned long NumRows = 0; // Initialized to avoid warning
unsigned NumPrjsFromDB;
unsigned NumPrjsAfterFilter = 0;
@ -2727,10 +2689,20 @@ void Prj_GetListProjects (void)
struct Prj_Faults Faults;
long PrjCod;
/***** Get list of selected users' codes if not already got *****/
Usr_GetListsSelectedUsrsCods ();
NumUsrsInList = Usr_CountNumUsrsInListOfSelectedUsrs ();
/***** Get list of users selected to show their projects *****/
if (NumUsrsInList)
Prj_GetListSelectedUsrCods (NumUsrsInList,&LstSelectedUsrCods);
// TODO: Filter by selected users if any
/***** Get list of projects from database *****/
if (Gbl.Prjs.LstIsRead)
Prj_FreeListProjects ();
/***** Get list of projects from database *****/
if (Gbl.Prjs.Filter.Assign && // Any selector is on
Gbl.Prjs.Filter.Hidden && // Any selector is on
Gbl.Prjs.Filter.Faulti) // Any selector is on
@ -2919,6 +2891,13 @@ void Prj_GetListProjects (void)
Gbl.Prjs.Num = NumPrjsAfterFilter;
Gbl.Prjs.LstIsRead = true;
/***** Free list of user codes *****/
if (NumUsrsInList)
free (LstSelectedUsrCods);
/***** Free memory used by list of selected users' codes *****/
Usr_FreeListsSelectedUsrsCods ();
}
/*****************************************************************************/
@ -4001,10 +3980,10 @@ static void Prj_PutIconsToLockUnlockAllProjects (void)
}
/*****************************************************************************/
/************ Request locking/unlocking edition of all projects **************/
/********** Request locking/unlocking edition of selected projects ***********/
/*****************************************************************************/
void Prj_ReqLockAllProjectsEdition (void)
void Prj_ReqLockSelectedProjectsEdition (void)
{
extern const char *Txt_Lock_editing;
extern const char *Txt_Do_you_want_to_lock_the_editing_of_the_X_selected_projects;
@ -4038,7 +4017,7 @@ void Prj_ReqLockAllProjectsEdition (void)
Prj_ShowProjectsInCurrentPage ();
}
void Prj_ReqUnlockAllProjectsEdition (void)
void Prj_ReqUnlockSelectedProjectsEdition (void)
{
extern const char *Txt_Unlock_editing;
extern const char *Txt_Do_you_want_to_unlock_the_editing_of_the_X_selected_projects;
@ -4073,10 +4052,10 @@ void Prj_ReqUnlockAllProjectsEdition (void)
}
/*****************************************************************************/
/******************* Lock/unlock edition of all projects *********************/
/***************** Lock/unlock edition of selected projects ******************/
/*****************************************************************************/
void Prj_LockAllProjectsEdition (void)
void Prj_LockSelectedProjectsEdition (void)
{
extern const char *Txt_No_projects;
unsigned NumPrj;
@ -4109,7 +4088,7 @@ void Prj_LockAllProjectsEdition (void)
Prj_ShowProjectsInCurrentPage ();
}
void Prj_UnlockAllProjectsEdition (void)
void Prj_UnlockSelectedProjectsEdition (void)
{
extern const char *Txt_No_projects;
unsigned NumPrj;

View File

@ -159,7 +159,7 @@ struct Project
/*****************************************************************************/
void Prj_SeeProjects (void);
void Prj_ShowTableAllProjects (void);
void Prj_ShowTableSelectedProjects (void);
void Prj_PutParams (struct Prj_Filter *Filter,
Prj_Order_t Order,
@ -199,7 +199,6 @@ void Prj_RequestEditPrj (void);
void Prj_AllocMemProject (struct Project *Prj);
void Prj_FreeMemProject (struct Project *Prj);
void Prj_GetListProjects (void);
void Prj_GetDataOfProjectByCod (struct Project *Prj);
long Prj_GetCourseOfProject (long PrjCod);
void Prj_FreeListProjects (void);
@ -215,10 +214,10 @@ void Prj_RecFormProject (void);
void Prj_ShowFormConfig (void);
void Prj_ReceiveConfigPrj (void);
void Prj_ReqLockAllProjectsEdition (void);
void Prj_ReqUnlockAllProjectsEdition (void);
void Prj_LockAllProjectsEdition (void);
void Prj_UnlockAllProjectsEdition (void);
void Prj_ReqLockSelectedProjectsEdition (void);
void Prj_ReqUnlockSelectedProjectsEdition (void);
void Prj_LockSelectedProjectsEdition (void);
void Prj_UnlockSelectedProjectsEdition (void);
void Prj_LockProjectEdition (void);
void Prj_UnlockProjectEdition (void);

View File

@ -5183,8 +5183,8 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
"TagTxt%u",
NumTag);
HTM_INPUT_TEXT (StrTagTxt,Tst_MAX_CHARS_TAG,Gbl.Test.Tags.Txt[NumTag],false,
"class=\"TAG_TXT\" onchange=\"changeSelTag('%u')\"",
NumTag);
"id=\"%s\" class=\"TAG_TXT\" onchange=\"changeSelTag('%u')\"",
StrTagTxt,NumTag);
HTM_TD_End ();
HTM_TR_End ();

View File

@ -6188,20 +6188,27 @@ void Usr_PutFormToSelectUsrsToGoToAct (Act_Action_t NextAction,void (*FuncParams
{
if (Usr_GetIfShowBigList (NumTotalUsrs,FuncParams,NULL))
{
/* Form to select type of list used for select several users */
/***** Form to select type of list used for select several users *****/
Usr_ShowFormsToSelectUsrListType (FuncParams);
/***** Put link to register students *****/
/***** Link to register students *****/
Enr_CheckStdsAndPutButtonToRegisterStdsInCurrentCrs ();
/***** Form to select users ****/
/* Begin form */
Frm_StartForm (NextAction);
/* Hidden parameters */
if (FuncParams)
FuncParams ();
Grp_PutParamsCodGrps ();
Gbl.FileBrowser.FullTree = true; // By default, show all files
Brw_PutHiddenParamFullTreeIfSelected (); // TODO: Put this parameter only in file browser
Par_PutHiddenParamChar ("SelectedUsrs",'Y');
Par_PutHiddenParamChar ("SelectedUsrs",'Y'); // This parameter says to receiver of form
// that some users should be selected
if (NextAction == ActAdmAsgWrkCrs)
{
Gbl.FileBrowser.FullTree = true; // By default, show all files
Brw_PutHiddenParamFullTreeIfSelected ();
}
/* Put list of users to select some of them */
HTM_TABLE_BeginCenter ();