Version 17.4

This commit is contained in:
Antonio Cañas Vargas 2017-09-20 17:12:34 +02:00
parent 99e973588d
commit ce3c69241e
5 changed files with 171 additions and 79 deletions

View File

@ -462,6 +462,12 @@ Assessment:
NEW. ActRemPrj Remove project
NEW. ActHidPrj Hide project
NEW. ActShoPrj Show project
NEW. ActReqAddStdPrj Request adding a student to a project
NEW. ActReqAddTutPrj Request adding a tutor to a project
NEW. ActReqAddRevPrj Request adding a reviewer to a project
NEW. ActAddStdPrj Add a student to a project
NEW. ActAddTutPrj Add a tutor to a project
NEW. ActAddRevPrj Add a reviewer to a project
313. ActSeeTst Show the seft-assessment test
314. ActAssTst Assess a self-assessment test
@ -1953,6 +1959,12 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActRemPrj */{1681,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_RemoveProject ,NULL},
/* ActHidPrj */{1682,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_HideProject ,NULL},
/* ActShoPrj */{1683,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ShowProject ,NULL},
/* ActReqAddStdPrj */{1684,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ReqAddStd ,NULL},
/* ActReqAddTutPrj */{1685,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ReqAddTut ,NULL},
/* ActReqAddRevPrj */{1686,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_ReqAddRev ,NULL},
/* 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},
/* ActAddRevPrj */{1689,-1,TabUnk,ActSeePrj ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prj_AddRev ,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},
@ -4763,6 +4775,12 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un
ActRemPrj, // #1681
ActHidPrj, // #1682
ActShoPrj, // #1683
ActReqAddStdPrj, // #1684
ActReqAddTutPrj, // #1685
ActReqAddRevPrj, // #1686
ActAddStdPrj, // #1687
ActAddTutPrj, // #1688
ActAddRevPrj, // #1689
};
/*****************************************************************************/

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

View File

@ -252,13 +252,29 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 17.3.13 (2017-09-20)"
#define Log_PLATFORM_VERSION "SWAD 17.4 (2017-09-20)"
#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.4: Sep 20, 2017 Actions to add users to a project. (230137 lines)
6 changes necessary in database:
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1684','es','N','Solicitar ID añadir estudiante a proyecto');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1685','es','N','Solicitar ID añadir tutor a proyecto');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1686','es','N','Solicitar ID añadir revisor a proyecto');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1687','es','N','Añadir estudiante a proyecto');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1688','es','N','Añadir tutor a proyecto');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1689','es','N','Añadir revisor a proyecto');
NEW. ActReqAddStdPrj Request adding a student to a project
NEW. ActReqAddTutPrj Request adding a tutor to a project
NEW. ActReqAddRevPrj Request adding a reviewer to a project
NEW. ActAddStdPrj Add a student to a project
NEW. ActAddTutPrj Add a tutor to a project
NEW. ActAddRevPrj Add a reviewer to a project
Version 17.3.13: Sep 20, 2017 Links to add users to a project. Not finished. (230058 lines)
Version 17.3.12: Sep 20, 2017 Code refactoring in listing of projects. (229977 lines)
Version 17.3.11: Sep 20, 2017 Code refactoring in listing of projects. (229981 lines)

View File

@ -85,6 +85,7 @@ static void Prj_ShowOneProjectUsrsRow (const struct Project *Prj,bool PrintView,
const char *Label,Prj_RoleInProject_t RoleInProject);
static void Prj_WriteUsrs (long PrjCod,Prj_RoleInProject_t RoleInProject);
static void Prj_ReqAnotherUsrID (Prj_RoleInProject_t RoleInProject);
static void Prj_AddUsrToProject (Prj_RoleInProject_t RoleInProject)
static void Prj_GetParamPrjOrder (void);
@ -551,9 +552,9 @@ static void Prj_WriteUsrs (long PrjCod,Prj_RoleInProject_t RoleInProject)
Act_Action_t ActionReqAddUsr[Prj_NUM_ROLES_IN_PROJECT] =
{
ActUnk, // Prj_ROLE_UNK, Unknown
ActReqMdfOneStd, // Prj_ROLE_STD, Student
ActReqMdfOneTch, // Prj_ROLE_TUT, Tutor
ActReqMdfOneOth, // Prj_ROLE_REV, Reviewer
ActReqAddStdPrj, // Prj_ROLE_STD, Student
ActReqAddTutPrj, // Prj_ROLE_TUT, Tutor
ActReqAddRevPrj, // Prj_ROLE_REV, Reviewer
};
/***** Get number of users in project from database *****/
@ -653,6 +654,25 @@ static void Prj_WriteUsrs (long PrjCod,Prj_RoleInProject_t RoleInProject)
DB_FreeMySQLResult (&mysql_res);
}
/*****************************************************************************/
/*** Request another user's ID, @nickname or email to add user to project ****/
/*****************************************************************************/
void Prj_ReqAddStd (void)
{
Prj_ReqAnotherUsrID (Prj_ROLE_STD);
}
void Prj_ReqAddTut (void)
{
Prj_ReqAnotherUsrID (Prj_ROLE_TUT);
}
void Prj_ReqAddRev (void)
{
Prj_ReqAnotherUsrID (Prj_ROLE_REV);
}
/*****************************************************************************/
/****** Write a form to request another user's ID, @nickname or email ********/
/*****************************************************************************/
@ -664,9 +684,9 @@ static void Prj_ReqAnotherUsrID (Prj_RoleInProject_t RoleInProject)
Act_Action_t ActionAddUsr[Prj_NUM_ROLES_IN_PROJECT] =
{
ActUnk, // Prj_ROLE_UNK, Unknown
ActReqMdfOneStd, // Prj_ROLE_STD, Student
ActReqMdfOneTch, // Prj_ROLE_TUT, Tutor
ActReqMdfOneOth, // Prj_ROLE_REV, Reviewer
ActAddStdPrj, // Prj_ROLE_STD, Student
ActAddTutPrj, // Prj_ROLE_TUT, Tutor
ActAddRevPrj, // Prj_ROLE_REV, Reviewer
};
/***** Start box *****/
@ -680,6 +700,30 @@ static void Prj_ReqAnotherUsrID (Prj_RoleInProject_t RoleInProject)
Box_EndBox ();
}
/*****************************************************************************/
/**************************** Add user to project ****************************/
/*****************************************************************************/
void Prj_AddStd (void)
{
Prj_AddUsrToProject (Prj_ROLE_STD);
}
void Prj_AddTut (void)
{
Prj_AddUsrToProject (Prj_ROLE_TUT);
}
void Prj_AddRev (void)
{
Prj_AddUsrToProject (Prj_ROLE_REV);
}
static void Prj_AddUsrToProject (Prj_RoleInProject_t RoleInProject)
{
Ale_ShowAlert (Ale_WARNING,"Not yet implemented.");
}
/*****************************************************************************/
/********* Get parameter with the type or order in list of projects **********/
/*****************************************************************************/

View File

@ -69,6 +69,14 @@ struct Project
void Prj_SeeProjects (void);
void Prj_PrintOneProject (void);
void Prj_ReqAddStd (void);
void Prj_ReqAddTut (void);
void Prj_ReqAddRev (void);
void Prj_AddStd (void);
void Prj_AddTut (void);
void Prj_AddRev (void);
void Prj_PutHiddenParamPrjOrder (void);
void Prj_RequestCreatOrEditPrj (void);
void Prj_GetListProjects (void);