Version 17.5.10

This commit is contained in:
Antonio Cañas Vargas 2017-09-22 00:56:17 +02:00
parent 60a2eed386
commit 64f7fe2053
5 changed files with 166 additions and 76 deletions

View File

@ -464,10 +464,16 @@ Assessment:
NEW. ActShoPrj Show project
NEW. ActReqAddStdPrj Request adding a student to a project
NEW. ActReqAddTutPrj Request adding a tutor to a project
NEW. ActReqAddEvaPrj Request adding a reviewer to a project
NEW. ActReqAddEvaPrj Request adding an evaluator to a project
NEW. ActAddStdPrj Add a student to a project
NEW. ActAddTutPrj Add a tutor to a project
NEW. ActAddEvaPrj Add a reviewer to a project
NEW. ActAddEvaPrj Add an evaluator to a project
NEW. ActReqRemStdPrj Request removing a student from a project
NEW. ActReqRemTutPrj Request removing a tutor from a project
NEW. ActReqRemEvaPrj Request removing an evaluator from a project
NEW. ActRemStdPrj Remove a student from a project
NEW. ActRemTutPrj Remove a tutor from a project
NEW. ActRemEvaPrj Remove an emulator from a project
313. ActSeeTst Show the seft-assessment test
314. ActAssTst Assess a self-assessment test
@ -1965,6 +1971,12 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActAddStdPrj */{1687,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_AddStd ,NULL},
/* ActAddTutPrj */{1688,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_AddTut ,NULL},
/* ActAddEvaPrj */{1689,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_AddEva ,NULL},
/* ActReqRemStdPrj */{1690,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ReqRemStd ,NULL},
/* ActReqRemTutPrj */{1691,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ReqRemTut ,NULL},
/* ActReqRemEvaPrj */{1692,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ReqRemEva ,NULL},
/* ActRemStdPrj */{1693,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_RemStd ,NULL},
/* ActRemTutPrj */{1694,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_RemTut ,NULL},
/* ActRemEvaPrj */{1695,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_RemEva ,NULL},
/* ActSeeTst */{ 29,-1,TabUnk,ActReqTst ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_ShowNewTest ,NULL},
/* ActAssTst */{ 98,-1,TabUnk,ActReqTst ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Tst_AssessTest ,NULL},
@ -4781,6 +4793,12 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un
ActAddStdPrj, // #1687
ActAddTutPrj, // #1688
ActAddEvaPrj, // #1689
ActReqRemStdPrj, // #1690
ActReqRemTutPrj, // #1691
ActReqRemEvaPrj, // #1692
ActRemStdPrj, // #1693
ActRemTutPrj, // #1694
ActRemEvaPrj, // #1695
};
/*****************************************************************************/

View File

@ -58,9 +58,9 @@ typedef enum
typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action
#define Act_NUM_ACTIONS (1 + 9 + 43 + 17 + 47 + 33 + 24 + 115 + 112 + 416 + 165 + 172 + 42 + 14 + 97)
#define Act_NUM_ACTIONS (1 + 9 + 43 + 17 + 47 + 33 + 24 + 115 + 118 + 416 + 165 + 172 + 42 + 14 + 97)
#define Act_MAX_ACTION_COD 1689
#define Act_MAX_ACTION_COD 1695
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 12
@ -478,81 +478,87 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to
#define ActAddStdPrj (ActChgCalCrs1stDay + 40)
#define ActAddTutPrj (ActChgCalCrs1stDay + 41)
#define ActAddEvaPrj (ActChgCalCrs1stDay + 42)
#define ActReqRemStdPrj (ActChgCalCrs1stDay + 43)
#define ActReqRemTutPrj (ActChgCalCrs1stDay + 44)
#define ActReqRemEvaPrj (ActChgCalCrs1stDay + 45)
#define ActRemStdPrj (ActChgCalCrs1stDay + 46)
#define ActRemTutPrj (ActChgCalCrs1stDay + 47)
#define ActRemEvaPrj (ActChgCalCrs1stDay + 48)
#define ActSeeTst (ActChgCalCrs1stDay + 43)
#define ActAssTst (ActChgCalCrs1stDay + 44)
#define ActEdiTstQst (ActChgCalCrs1stDay + 45)
#define ActEdiOneTstQst (ActChgCalCrs1stDay + 46)
#define ActReqImpTstQst (ActChgCalCrs1stDay + 47)
#define ActImpTstQst (ActChgCalCrs1stDay + 48)
#define ActLstTstQst (ActChgCalCrs1stDay + 49)
#define ActRcvTstQst (ActChgCalCrs1stDay + 50)
#define ActReqRemTstQst (ActChgCalCrs1stDay + 51)
#define ActRemTstQst (ActChgCalCrs1stDay + 52)
#define ActShfTstQst (ActChgCalCrs1stDay + 53)
#define ActCfgTst (ActChgCalCrs1stDay + 54)
#define ActEnableTag (ActChgCalCrs1stDay + 55)
#define ActDisableTag (ActChgCalCrs1stDay + 56)
#define ActRenTag (ActChgCalCrs1stDay + 57)
#define ActRcvCfgTst (ActChgCalCrs1stDay + 58)
#define ActSeeTst (ActChgCalCrs1stDay + 49)
#define ActAssTst (ActChgCalCrs1stDay + 50)
#define ActEdiTstQst (ActChgCalCrs1stDay + 51)
#define ActEdiOneTstQst (ActChgCalCrs1stDay + 52)
#define ActReqImpTstQst (ActChgCalCrs1stDay + 53)
#define ActImpTstQst (ActChgCalCrs1stDay + 54)
#define ActLstTstQst (ActChgCalCrs1stDay + 55)
#define ActRcvTstQst (ActChgCalCrs1stDay + 56)
#define ActReqRemTstQst (ActChgCalCrs1stDay + 57)
#define ActRemTstQst (ActChgCalCrs1stDay + 58)
#define ActShfTstQst (ActChgCalCrs1stDay + 59)
#define ActCfgTst (ActChgCalCrs1stDay + 60)
#define ActEnableTag (ActChgCalCrs1stDay + 61)
#define ActDisableTag (ActChgCalCrs1stDay + 62)
#define ActRenTag (ActChgCalCrs1stDay + 63)
#define ActRcvCfgTst (ActChgCalCrs1stDay + 64)
#define ActReqSeeMyTstRes (ActChgCalCrs1stDay + 59)
#define ActSeeMyTstRes (ActChgCalCrs1stDay + 60)
#define ActSeeOneTstResMe (ActChgCalCrs1stDay + 61)
#define ActReqSeeUsrTstRes (ActChgCalCrs1stDay + 62)
#define ActSeeUsrTstRes (ActChgCalCrs1stDay + 63)
#define ActSeeOneTstResOth (ActChgCalCrs1stDay + 64)
#define ActReqSeeMyTstRes (ActChgCalCrs1stDay + 65)
#define ActSeeMyTstRes (ActChgCalCrs1stDay + 66)
#define ActSeeOneTstResMe (ActChgCalCrs1stDay + 67)
#define ActReqSeeUsrTstRes (ActChgCalCrs1stDay + 68)
#define ActSeeUsrTstRes (ActChgCalCrs1stDay + 69)
#define ActSeeOneTstResOth (ActChgCalCrs1stDay + 70)
#define ActSeeOneGam (ActChgCalCrs1stDay + 65)
#define ActPlyGam (ActChgCalCrs1stDay + 66)
#define ActPlyGam1stQst (ActChgCalCrs1stDay + 67)
#define ActPlyGamNxtQst (ActChgCalCrs1stDay + 68)
#define ActPlyGamAns (ActChgCalCrs1stDay + 69)
#define ActAnsGam (ActChgCalCrs1stDay + 70)
#define ActFrmNewGam (ActChgCalCrs1stDay + 71)
#define ActEdiOneGam (ActChgCalCrs1stDay + 72)
#define ActNewGam (ActChgCalCrs1stDay + 73)
#define ActChgGam (ActChgCalCrs1stDay + 74)
#define ActReqRemGam (ActChgCalCrs1stDay + 75)
#define ActRemGam (ActChgCalCrs1stDay + 76)
#define ActReqRstGam (ActChgCalCrs1stDay + 77)
#define ActRstGam (ActChgCalCrs1stDay + 78)
#define ActHidGam (ActChgCalCrs1stDay + 79)
#define ActShoGam (ActChgCalCrs1stDay + 80)
#define ActAddOneGamQst (ActChgCalCrs1stDay + 81)
#define ActGamLstTstQst (ActChgCalCrs1stDay + 82)
#define ActAddTstQstToGam (ActChgCalCrs1stDay + 83)
#define ActReqRemGamQst (ActChgCalCrs1stDay + 84)
#define ActRemGamQst (ActChgCalCrs1stDay + 85)
#define ActUp_GamQst (ActChgCalCrs1stDay + 86)
#define ActDwnGamQst (ActChgCalCrs1stDay + 87)
#define ActSeeOneGam (ActChgCalCrs1stDay + 71)
#define ActPlyGam (ActChgCalCrs1stDay + 72)
#define ActPlyGam1stQst (ActChgCalCrs1stDay + 73)
#define ActPlyGamNxtQst (ActChgCalCrs1stDay + 74)
#define ActPlyGamAns (ActChgCalCrs1stDay + 75)
#define ActAnsGam (ActChgCalCrs1stDay + 76)
#define ActFrmNewGam (ActChgCalCrs1stDay + 77)
#define ActEdiOneGam (ActChgCalCrs1stDay + 78)
#define ActNewGam (ActChgCalCrs1stDay + 79)
#define ActChgGam (ActChgCalCrs1stDay + 80)
#define ActReqRemGam (ActChgCalCrs1stDay + 81)
#define ActRemGam (ActChgCalCrs1stDay + 82)
#define ActReqRstGam (ActChgCalCrs1stDay + 83)
#define ActRstGam (ActChgCalCrs1stDay + 84)
#define ActHidGam (ActChgCalCrs1stDay + 85)
#define ActShoGam (ActChgCalCrs1stDay + 86)
#define ActAddOneGamQst (ActChgCalCrs1stDay + 87)
#define ActGamLstTstQst (ActChgCalCrs1stDay + 88)
#define ActAddTstQstToGam (ActChgCalCrs1stDay + 89)
#define ActReqRemGamQst (ActChgCalCrs1stDay + 90)
#define ActRemGamQst (ActChgCalCrs1stDay + 91)
#define ActUp_GamQst (ActChgCalCrs1stDay + 92)
#define ActDwnGamQst (ActChgCalCrs1stDay + 93)
#define ActSeeOneSvy (ActChgCalCrs1stDay + 88)
#define ActAnsSvy (ActChgCalCrs1stDay + 89)
#define ActFrmNewSvy (ActChgCalCrs1stDay + 90)
#define ActEdiOneSvy (ActChgCalCrs1stDay + 91)
#define ActNewSvy (ActChgCalCrs1stDay + 92)
#define ActChgSvy (ActChgCalCrs1stDay + 93)
#define ActReqRemSvy (ActChgCalCrs1stDay + 94)
#define ActRemSvy (ActChgCalCrs1stDay + 95)
#define ActReqRstSvy (ActChgCalCrs1stDay + 96)
#define ActRstSvy (ActChgCalCrs1stDay + 97)
#define ActHidSvy (ActChgCalCrs1stDay + 98)
#define ActShoSvy (ActChgCalCrs1stDay + 99)
#define ActEdiOneSvyQst (ActChgCalCrs1stDay + 100)
#define ActRcvSvyQst (ActChgCalCrs1stDay + 101)
#define ActReqRemSvyQst (ActChgCalCrs1stDay + 102)
#define ActRemSvyQst (ActChgCalCrs1stDay + 103)
#define ActSeeOneSvy (ActChgCalCrs1stDay + 94)
#define ActAnsSvy (ActChgCalCrs1stDay + 95)
#define ActFrmNewSvy (ActChgCalCrs1stDay + 96)
#define ActEdiOneSvy (ActChgCalCrs1stDay + 97)
#define ActNewSvy (ActChgCalCrs1stDay + 98)
#define ActChgSvy (ActChgCalCrs1stDay + 99)
#define ActReqRemSvy (ActChgCalCrs1stDay + 100)
#define ActRemSvy (ActChgCalCrs1stDay + 101)
#define ActReqRstSvy (ActChgCalCrs1stDay + 102)
#define ActRstSvy (ActChgCalCrs1stDay + 103)
#define ActHidSvy (ActChgCalCrs1stDay + 104)
#define ActShoSvy (ActChgCalCrs1stDay + 105)
#define ActEdiOneSvyQst (ActChgCalCrs1stDay + 106)
#define ActRcvSvyQst (ActChgCalCrs1stDay + 107)
#define ActReqRemSvyQst (ActChgCalCrs1stDay + 108)
#define ActRemSvyQst (ActChgCalCrs1stDay + 109)
#define ActSeeOneExaAnn (ActChgCalCrs1stDay + 104)
#define ActSeeDatExaAnn (ActChgCalCrs1stDay + 105)
#define ActEdiExaAnn (ActChgCalCrs1stDay + 106)
#define ActRcvExaAnn (ActChgCalCrs1stDay + 107)
#define ActPrnExaAnn (ActChgCalCrs1stDay + 108)
#define ActReqRemExaAnn (ActChgCalCrs1stDay + 109)
#define ActRemExaAnn (ActChgCalCrs1stDay + 110)
#define ActHidExaAnn (ActChgCalCrs1stDay + 111)
#define ActShoExaAnn (ActChgCalCrs1stDay + 112)
#define ActSeeOneExaAnn (ActChgCalCrs1stDay + 110)
#define ActSeeDatExaAnn (ActChgCalCrs1stDay + 111)
#define ActEdiExaAnn (ActChgCalCrs1stDay + 112)
#define ActRcvExaAnn (ActChgCalCrs1stDay + 113)
#define ActPrnExaAnn (ActChgCalCrs1stDay + 114)
#define ActReqRemExaAnn (ActChgCalCrs1stDay + 115)
#define ActRemExaAnn (ActChgCalCrs1stDay + 116)
#define ActHidExaAnn (ActChgCalCrs1stDay + 117)
#define ActShoExaAnn (ActChgCalCrs1stDay + 118)
/*****************************************************************************/
/******************************** Files tab **********************************/

View File

@ -252,13 +252,14 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 17.5.9 (2017-09-22)"
#define Log_PLATFORM_VERSION "SWAD 17.5.10 (2017-09-22)"
#define CSS_FILE "swad17.0.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 17.5.10: Sep 22, 2017 Actions to remove user from project. Not finished. (? lines)
Version 17.5.9: Sep 22, 2017 Icon to remove user from project. (230350 lines)
Version 17.5.8: Sep 22, 2017 Name of department in listing of projects. (230336 lines)
Version 17.5.7: Sep 21, 2017 Selector for department in edition of a project. (230363 lines)

View File

@ -98,6 +98,7 @@ static void Prj_WriteUsrs (long PrjCod,Prj_ProjectView_t ProjectView,
Prj_RoleInProject_t RoleInProject);
static void Prj_ReqAnotherUsrID (Prj_RoleInProject_t RoleInProject);
static void Prj_AddUsrToProject (Prj_RoleInProject_t RoleInProject);
static void Prj_ReqRemUsrFromPrj (Prj_RoleInProject_t RoleInProject);
static void Prj_GetParamPrjOrder (void);
@ -620,6 +621,13 @@ static void Prj_WriteUsrs (long PrjCod,Prj_ProjectView_t ProjectView,
bool UsrValid;
bool ShowPhoto;
char PhotoURL[PATH_MAX + 1];
static Act_Action_t ActionReqRemUsr[Prj_NUM_ROLES_IN_PROJECT] =
{
ActUnk, // Prj_ROLE_UNK, Unknown
ActReqRemStdPrj, // Prj_ROLE_STD, Student
ActReqRemTutPrj, // Prj_ROLE_TUT, Tutor
ActReqRemEvaPrj, // Prj_ROLE_EVA, Evaluator
};
static Act_Action_t ActionReqAddUsr[Prj_NUM_ROLES_IN_PROJECT] =
{
ActUnk, // Prj_ROLE_UNK, Unknown
@ -678,7 +686,7 @@ static void Prj_WriteUsrs (long PrjCod,Prj_ProjectView_t ProjectView,
if (ProjectView == Prj_EDIT_ONE_PROJECT)
{
fprintf (Gbl.F.Out,"<td class=\"CENTER_TOP\" style=\"width:30px;\">");
Lay_PutContextualLink (ActUnk,NULL,NULL,
Lay_PutContextualLink (ActionReqRemUsr[RoleInProject],NULL,Prj_PutParams,
"remove-on64x64.png",
Txt_Remove,NULL,
NULL);
@ -872,6 +880,55 @@ static void Prj_AddUsrToProject (Prj_RoleInProject_t RoleInProject)
Prj_RequestCreatOrEditPrj (PrjCod);
}
/*****************************************************************************/
/************ Request confirmation to remove user from project ***************/
/*****************************************************************************/
void Prj_ReqRemStd (void)
{
Prj_ReqAnotherUsrID (Prj_ROLE_STD);
}
void Prj_ReqRemTut (void)
{
Prj_ReqAnotherUsrID (Prj_ROLE_TUT);
}
void Prj_ReqRemEva (void)
{
Prj_ReqAnotherUsrID (Prj_ROLE_EVA);
}
static void Prj_ReqRemUsrFromPrj (Prj_RoleInProject_t RoleInProject)
{
static Act_Action_t ActionRemUsr[Prj_NUM_ROLES_IN_PROJECT] =
{
ActUnk, // Prj_ROLE_UNK, Unknown
ActRemStdPrj, // Prj_ROLE_STD, Student
ActRemTutPrj, // Prj_ROLE_TUT, Tutor
ActRemEvaPrj, // Prj_ROLE_EVA, Evaluator
};
}
/*****************************************************************************/
/************************ Remove user from project ***************************/
/*****************************************************************************/
void Prj_RemStd (void)
{
Prj_AddUsrToProject (Prj_ROLE_STD);
}
void Prj_RemTut (void)
{
Prj_AddUsrToProject (Prj_ROLE_TUT);
}
void Prj_RemEva (void)
{
Prj_AddUsrToProject (Prj_ROLE_EVA);
}
/*****************************************************************************/
/********* Get parameter with the type or order in list of projects **********/
/*****************************************************************************/

View File

@ -78,6 +78,14 @@ void Prj_AddStd (void);
void Prj_AddTut (void);
void Prj_AddEva (void);
void Prj_ReqRemStd (void);
void Prj_ReqRemTut (void);
void Prj_ReqRemEva (void);
void Prj_RemStd (void);
void Prj_RemTut (void);
void Prj_RemEva (void);
void Prj_PutHiddenParamPrjOrder (void);
void Prj_RequestCreatePrj (void);