mirror of https://github.com/acanas/swad-core.git
Version19.66.2
This commit is contained in:
parent
8ca04e79a5
commit
3521819e73
|
@ -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},
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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 ();
|
||||
|
|
17
swad_user.c
17
swad_user.c
|
@ -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 ();
|
||||
|
|
Loading…
Reference in New Issue