mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-14 12:44:09 +02:00
Version 17.11.6
This commit is contained in:
parent
2b67c53850
commit
c7f52d15a5
|
@ -252,15 +252,16 @@
|
||||||
/****************************** Public constants *****************************/
|
/****************************** Public constants *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 17.11.5 (2017-10-01)"
|
#define Log_PLATFORM_VERSION "SWAD 17.11.6 (2017-10-01)"
|
||||||
#define CSS_FILE "swad17.0.css"
|
#define CSS_FILE "swad17.0.css"
|
||||||
#define JS_FILE "swad16.206.3.js"
|
#define JS_FILE "swad16.206.3.js"
|
||||||
|
|
||||||
// Number of lines (includes comments but not blank lines) has been got with the following command:
|
// 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
|
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*?.h sql/swad*.sql | tail -1
|
||||||
/*
|
/*
|
||||||
|
Version 17.11.6: Oct 01, 2017 Fixed bug in edition of projects. (231632 lines)
|
||||||
Version 17.11.5: Oct 01, 2017 Changes in order of roles in projects.
|
Version 17.11.5: Oct 01, 2017 Changes in order of roles in projects.
|
||||||
Changes in edition of assignments, surveys and attendance events. (231536 lines)
|
Changes in edition of assignments, games, surveys and attendance events. (231536 lines)
|
||||||
Version 17.11.4: Sep 30, 2017 Changes in edition of a project. (231521 lines)
|
Version 17.11.4: Sep 30, 2017 Changes in edition of a project. (231521 lines)
|
||||||
Version 17.11.3: Sep 30, 2017 Changes in layout of projects. (231517 lines)
|
Version 17.11.3: Sep 30, 2017 Changes in layout of projects. (231517 lines)
|
||||||
Version 17.11.2: Sep 30, 2017 Changes in layout of projects. (231511 lines)
|
Version 17.11.2: Sep 30, 2017 Changes in layout of projects. (231511 lines)
|
||||||
|
|
|
@ -1782,7 +1782,10 @@ void Gam_RequestCreatOrEditGame (void)
|
||||||
Box_StartBoxTable (NULL,Txt_New_game,NULL,
|
Box_StartBoxTable (NULL,Txt_New_game,NULL,
|
||||||
Hlp_ASSESSMENT_Games_new_game,Box_NOT_CLOSABLE,2);
|
Hlp_ASSESSMENT_Games_new_game,Box_NOT_CLOSABLE,2);
|
||||||
else
|
else
|
||||||
Box_StartBoxTable (NULL,Txt_Edit_game,NULL,
|
Box_StartBoxTable (NULL,
|
||||||
|
Game.Title[0] ? Game.Title :
|
||||||
|
Txt_Edit_game,
|
||||||
|
NULL,
|
||||||
Hlp_ASSESSMENT_Games_edit_game,Box_NOT_CLOSABLE,2);
|
Hlp_ASSESSMENT_Games_edit_game,Box_NOT_CLOSABLE,2);
|
||||||
|
|
||||||
/***** Scope of the game *****/
|
/***** Scope of the game *****/
|
||||||
|
|
246
swad_project.c
246
swad_project.c
|
@ -647,6 +647,9 @@ static void Prj_ShowOneProject (struct Project *Prj,Prj_ProjectView_t ProjectVie
|
||||||
/* Department */
|
/* Department */
|
||||||
Prj_ShowOneProjectDepartment (Prj,ProjectView);
|
Prj_ShowOneProjectDepartment (Prj,ProjectView);
|
||||||
|
|
||||||
|
/***** Project members *****/
|
||||||
|
Prj_ShowOneProjectMembers (Prj,ProjectView);
|
||||||
|
|
||||||
/***** Write rows of data of this project *****/
|
/***** Write rows of data of this project *****/
|
||||||
/* Description of the project */
|
/* Description of the project */
|
||||||
Prj_ShowOneProjectTxtField (Prj,ProjectView,
|
Prj_ShowOneProjectTxtField (Prj,ProjectView,
|
||||||
|
@ -686,9 +689,6 @@ static void Prj_ShowOneProject (struct Project *Prj,Prj_ProjectView_t ProjectVie
|
||||||
(Prj->Preassigned == Prj_PREASSIGNED) ? Txt_Yes :
|
(Prj->Preassigned == Prj_PREASSIGNED) ? Txt_Yes :
|
||||||
Txt_No);
|
Txt_No);
|
||||||
|
|
||||||
/* Project members */
|
|
||||||
Prj_ShowOneProjectMembers (Prj,ProjectView);
|
|
||||||
|
|
||||||
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
|
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -981,24 +981,26 @@ static void Prj_ShowOneProjectMembersWithARole (const struct Project *Prj,
|
||||||
Prj_ProjectView_t ProjectView,
|
Prj_ProjectView_t ProjectView,
|
||||||
Prj_RoleInProject_t RoleInProject)
|
Prj_RoleInProject_t RoleInProject)
|
||||||
{
|
{
|
||||||
|
extern const char *Txt_PROJECT_ROLES_SINGUL_Abc[Prj_NUM_ROLES_IN_PROJECT];
|
||||||
extern const char *Txt_PROJECT_ROLES_PLURAL_Abc[Prj_NUM_ROLES_IN_PROJECT];
|
extern const char *Txt_PROJECT_ROLES_PLURAL_Abc[Prj_NUM_ROLES_IN_PROJECT];
|
||||||
extern const char *Txt_Remove;
|
extern const char *Txt_Remove;
|
||||||
extern const char *Txt_Add_USER;
|
extern const char *Txt_Add_USER;
|
||||||
extern const char *Txt_PROJECT_ROLES_SINGUL_abc[Prj_NUM_ROLES_IN_PROJECT];
|
extern const char *Txt_PROJECT_ROLES_SINGUL_abc[Prj_NUM_ROLES_IN_PROJECT];
|
||||||
MYSQL_RES *mysql_res;
|
MYSQL_RES *mysql_res;
|
||||||
MYSQL_ROW row;
|
MYSQL_ROW row;
|
||||||
|
bool WriteRow;
|
||||||
unsigned NumUsr;
|
unsigned NumUsr;
|
||||||
unsigned NumUsrs;
|
unsigned NumUsrs;
|
||||||
bool ShowPhoto;
|
bool ShowPhoto;
|
||||||
char PhotoURL[PATH_MAX + 1];
|
char PhotoURL[PATH_MAX + 1];
|
||||||
static Act_Action_t ActionReqRemUsr[Prj_NUM_ROLES_IN_PROJECT] =
|
static const Act_Action_t ActionReqRemUsr[Prj_NUM_ROLES_IN_PROJECT] =
|
||||||
{
|
{
|
||||||
ActUnk, // Prj_ROLE_UNK, Unknown
|
ActUnk, // Prj_ROLE_UNK, Unknown
|
||||||
ActReqRemStdPrj, // Prj_ROLE_STD, Student
|
ActReqRemStdPrj, // Prj_ROLE_STD, Student
|
||||||
ActReqRemTutPrj, // Prj_ROLE_TUT, Tutor
|
ActReqRemTutPrj, // Prj_ROLE_TUT, Tutor
|
||||||
ActReqRemEvaPrj, // Prj_ROLE_EVA, Evaluator
|
ActReqRemEvaPrj, // Prj_ROLE_EVA, Evaluator
|
||||||
};
|
};
|
||||||
static Act_Action_t ActionReqAddUsr[Prj_NUM_ROLES_IN_PROJECT] =
|
static const Act_Action_t ActionReqAddUsr[Prj_NUM_ROLES_IN_PROJECT] =
|
||||||
{
|
{
|
||||||
ActUnk, // Prj_ROLE_UNK, Unknown
|
ActUnk, // Prj_ROLE_UNK, Unknown
|
||||||
ActReqAddStdPrj, // Prj_ROLE_STD, Student
|
ActReqAddStdPrj, // Prj_ROLE_STD, Student
|
||||||
|
@ -1008,121 +1010,129 @@ static void Prj_ShowOneProjectMembersWithARole (const struct Project *Prj,
|
||||||
|
|
||||||
/***** Get users in project from database *****/
|
/***** Get users in project from database *****/
|
||||||
NumUsrs = Prj_GetUsrsInPrj (Prj->PrjCod,RoleInProject,&mysql_res);
|
NumUsrs = Prj_GetUsrsInPrj (Prj->PrjCod,RoleInProject,&mysql_res);
|
||||||
|
WriteRow = (NumUsrs != 0 ||
|
||||||
|
ProjectView == Prj_EDIT_ONE_PROJECT);
|
||||||
|
|
||||||
/***** Start row with label and listing of users *****/
|
if (WriteRow)
|
||||||
fprintf (Gbl.F.Out,"<tr>");
|
|
||||||
switch (ProjectView)
|
|
||||||
{
|
{
|
||||||
case Prj_LIST_PROJECTS:
|
/***** Start row with label and listing of users *****/
|
||||||
fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"RIGHT_TOP COLOR%u %s\">%s:</td>"
|
fprintf (Gbl.F.Out,"<tr>");
|
||||||
"<td colspan=\"2\" class=\"LEFT_TOP COLOR%u %s\">",
|
|
||||||
Gbl.RowEvenOdd,
|
|
||||||
Prj->Hidden ? "ASG_LABEL_LIGHT" :
|
|
||||||
"ASG_LABEL",
|
|
||||||
Txt_PROJECT_ROLES_PLURAL_Abc[RoleInProject],
|
|
||||||
Gbl.RowEvenOdd,
|
|
||||||
Prj->Hidden ? "DAT_LIGHT" :
|
|
||||||
"DAT");
|
|
||||||
break;
|
|
||||||
case Prj_PRINT_ONE_PROJECT:
|
|
||||||
fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"RIGHT_TOP %s\">%s:</td>"
|
|
||||||
"<td colspan=\"2\" class=\"LEFT_TOP %s\">",
|
|
||||||
Prj->Hidden ? "ASG_LABEL_LIGHT" :
|
|
||||||
"ASG_LABEL",
|
|
||||||
Txt_PROJECT_ROLES_PLURAL_Abc[RoleInProject],
|
|
||||||
Prj->Hidden ? "DAT_LIGHT" :
|
|
||||||
"DAT");
|
|
||||||
break;
|
|
||||||
case Prj_EDIT_ONE_PROJECT:
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP ASG_LABEL\">%s:</td>"
|
|
||||||
"<td colspan=\"2\" class=\"LEFT_TOP DAT\">",
|
|
||||||
Txt_PROJECT_ROLES_PLURAL_Abc[RoleInProject]);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
/***** Start table with all members with this role *****/
|
switch (ProjectView)
|
||||||
Tbl_StartTable (2);
|
|
||||||
|
|
||||||
/***** Write users *****/
|
|
||||||
for (NumUsr = 0;
|
|
||||||
NumUsr < NumUsrs;
|
|
||||||
NumUsr++)
|
|
||||||
{
|
|
||||||
/* Get user's code */
|
|
||||||
row = mysql_fetch_row (mysql_res);
|
|
||||||
Gbl.Usrs.Other.UsrDat.UsrCod = Str_ConvertStrCodToLongCod (row[0]);
|
|
||||||
|
|
||||||
/* Get user's data */
|
|
||||||
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat))
|
|
||||||
{
|
{
|
||||||
/* Start row for this user */
|
case Prj_LIST_PROJECTS:
|
||||||
fprintf (Gbl.F.Out,"<tr>");
|
fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"RIGHT_TOP COLOR%u %s\">%s:</td>"
|
||||||
|
"<td colspan=\"2\" class=\"LEFT_TOP COLOR%u %s\">",
|
||||||
/* Icon to remove user */
|
Gbl.RowEvenOdd,
|
||||||
if (ProjectView == Prj_EDIT_ONE_PROJECT)
|
Prj->Hidden ? "ASG_LABEL_LIGHT" :
|
||||||
{
|
"ASG_LABEL",
|
||||||
fprintf (Gbl.F.Out,"<td class=\"CENTER_TOP\" style=\"width:30px;\">");
|
NumUsrs == 1 ? Txt_PROJECT_ROLES_SINGUL_Abc[RoleInProject] :
|
||||||
Lay_PutContextualLink (ActionReqRemUsr[RoleInProject],NULL,Prj_PutParams,
|
Txt_PROJECT_ROLES_PLURAL_Abc[RoleInProject],
|
||||||
"remove-on64x64.png",
|
Gbl.RowEvenOdd,
|
||||||
Txt_Remove,NULL,
|
Prj->Hidden ? "DAT_LIGHT" :
|
||||||
NULL);
|
"DAT");
|
||||||
fprintf (Gbl.F.Out,"</td>");
|
break;
|
||||||
}
|
case Prj_PRINT_ONE_PROJECT:
|
||||||
|
fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"RIGHT_TOP %s\">%s:</td>"
|
||||||
/* Put user's photo */
|
"<td colspan=\"2\" class=\"LEFT_TOP %s\">",
|
||||||
fprintf (Gbl.F.Out,"<td class=\"CENTER_TOP\" style=\"width:30px;\">");
|
Prj->Hidden ? "ASG_LABEL_LIGHT" :
|
||||||
ShowPhoto = Pho_ShowingUsrPhotoIsAllowed (&Gbl.Usrs.Other.UsrDat,PhotoURL);
|
"ASG_LABEL",
|
||||||
Pho_ShowUsrPhoto (&Gbl.Usrs.Other.UsrDat,ShowPhoto ? PhotoURL :
|
NumUsrs == 1 ? Txt_PROJECT_ROLES_SINGUL_Abc[RoleInProject] :
|
||||||
NULL,
|
Txt_PROJECT_ROLES_PLURAL_Abc[RoleInProject],
|
||||||
"PHOTO21x28",Pho_ZOOM,false);
|
Prj->Hidden ? "DAT_LIGHT" :
|
||||||
fprintf (Gbl.F.Out,"</td>");
|
"DAT");
|
||||||
|
break;
|
||||||
/* Write user's IDs */
|
case Prj_EDIT_ONE_PROJECT:
|
||||||
if (RoleInProject == Prj_ROLE_STD)
|
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP ASG_LABEL\">%s:</td>"
|
||||||
{
|
"<td colspan=\"2\" class=\"LEFT_TOP DAT\">",
|
||||||
fprintf (Gbl.F.Out,"<td class=\"AUTHOR_TXT LEFT_MIDDLE\">");
|
Txt_PROJECT_ROLES_PLURAL_Abc[RoleInProject]);
|
||||||
ID_WriteUsrIDs (&Gbl.Usrs.Other.UsrDat,NULL);
|
break;
|
||||||
fprintf (Gbl.F.Out,"</td>");
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Write user's name */
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"AUTHOR_TXT LEFT_MIDDLE\">%s</td>",
|
|
||||||
Gbl.Usrs.Other.UsrDat.FullName);
|
|
||||||
|
|
||||||
/* End row for this user */
|
|
||||||
fprintf (Gbl.F.Out,"</tr>");
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/***** Row to add a new user *****/
|
/***** Start table with all members with this role *****/
|
||||||
if (ProjectView == Prj_EDIT_ONE_PROJECT)
|
Tbl_StartTable (2);
|
||||||
{
|
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
/***** Write users *****/
|
||||||
"<td class=\"CENTER_TOP\" style=\"width:30px;\">");
|
for (NumUsr = 0;
|
||||||
Gbl.Prjs.PrjCodToEdit = Prj->PrjCod; // Used to pass project code as a parameter
|
NumUsr < NumUsrs;
|
||||||
sprintf (Gbl.Title,Txt_Add_USER,Txt_PROJECT_ROLES_SINGUL_abc[RoleInProject]);
|
NumUsr++)
|
||||||
Lay_PutContextualLink (ActionReqAddUsr[RoleInProject],NULL,Prj_PutParams,
|
{
|
||||||
"plus64x64.png",
|
/* Get user's code */
|
||||||
Gbl.Title,NULL,
|
row = mysql_fetch_row (mysql_res);
|
||||||
NULL);
|
Gbl.Usrs.Other.UsrDat.UsrCod = Str_ConvertStrCodToLongCod (row[0]);
|
||||||
|
|
||||||
|
/* Get user's data */
|
||||||
|
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat))
|
||||||
|
{
|
||||||
|
/* Start row for this user */
|
||||||
|
fprintf (Gbl.F.Out,"<tr>");
|
||||||
|
|
||||||
|
/* Icon to remove user */
|
||||||
|
if (ProjectView == Prj_EDIT_ONE_PROJECT)
|
||||||
|
{
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"CENTER_TOP\" style=\"width:30px;\">");
|
||||||
|
Lay_PutContextualLink (ActionReqRemUsr[RoleInProject],NULL,Prj_PutParams,
|
||||||
|
"remove-on64x64.png",
|
||||||
|
Txt_Remove,NULL,
|
||||||
|
NULL);
|
||||||
|
fprintf (Gbl.F.Out,"</td>");
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Put user's photo */
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"CENTER_TOP\" style=\"width:30px;\">");
|
||||||
|
ShowPhoto = Pho_ShowingUsrPhotoIsAllowed (&Gbl.Usrs.Other.UsrDat,PhotoURL);
|
||||||
|
Pho_ShowUsrPhoto (&Gbl.Usrs.Other.UsrDat,ShowPhoto ? PhotoURL :
|
||||||
|
NULL,
|
||||||
|
"PHOTO21x28",Pho_ZOOM,false);
|
||||||
|
fprintf (Gbl.F.Out,"</td>");
|
||||||
|
|
||||||
|
/* Write user's IDs */
|
||||||
|
if (RoleInProject == Prj_ROLE_STD)
|
||||||
|
{
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"AUTHOR_TXT LEFT_MIDDLE\">");
|
||||||
|
ID_WriteUsrIDs (&Gbl.Usrs.Other.UsrDat,NULL);
|
||||||
|
fprintf (Gbl.F.Out,"</td>");
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Write user's name */
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"AUTHOR_TXT LEFT_MIDDLE\">%s</td>",
|
||||||
|
Gbl.Usrs.Other.UsrDat.FullName);
|
||||||
|
|
||||||
|
/* End row for this user */
|
||||||
|
fprintf (Gbl.F.Out,"</tr>");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/***** Row to add a new user *****/
|
||||||
|
if (ProjectView == Prj_EDIT_ONE_PROJECT)
|
||||||
|
{
|
||||||
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
|
"<td class=\"CENTER_TOP\" style=\"width:30px;\">");
|
||||||
|
Gbl.Prjs.PrjCodToEdit = Prj->PrjCod; // Used to pass project code as a parameter
|
||||||
|
sprintf (Gbl.Title,Txt_Add_USER,Txt_PROJECT_ROLES_SINGUL_abc[RoleInProject]);
|
||||||
|
Lay_PutContextualLink (ActionReqAddUsr[RoleInProject],NULL,Prj_PutParams,
|
||||||
|
"plus64x64.png",
|
||||||
|
Gbl.Title,NULL,
|
||||||
|
NULL);
|
||||||
|
fprintf (Gbl.F.Out,"</td>"
|
||||||
|
"<td style=\"width:30px;\">" // Column for photo
|
||||||
|
"</td>");
|
||||||
|
if (RoleInProject == Prj_ROLE_STD)
|
||||||
|
fprintf (Gbl.F.Out,"<td></td>"); // Column for user's IDs
|
||||||
|
fprintf (Gbl.F.Out,"<td></td>" // Column for name
|
||||||
|
"</tr>");
|
||||||
|
}
|
||||||
|
|
||||||
|
/***** End table with all members with this role *****/
|
||||||
|
Tbl_EndTable ();
|
||||||
|
|
||||||
|
/***** End row with label and listing of users *****/
|
||||||
fprintf (Gbl.F.Out,"</td>"
|
fprintf (Gbl.F.Out,"</td>"
|
||||||
"<td style=\"width:30px;\">" // Column for photo
|
"</tr>");
|
||||||
"</td>");
|
|
||||||
if (RoleInProject == Prj_ROLE_STD)
|
|
||||||
fprintf (Gbl.F.Out,"<td></td>"); // Column for user's IDs
|
|
||||||
fprintf (Gbl.F.Out,"<td></td>" // Column for name
|
|
||||||
"</tr>");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** End table with all members with this role *****/
|
|
||||||
Tbl_EndTable ();
|
|
||||||
|
|
||||||
/***** Free structure that stores the query result *****/
|
/***** Free structure that stores the query result *****/
|
||||||
DB_FreeMySQLResult (&mysql_res);
|
DB_FreeMySQLResult (&mysql_res);
|
||||||
|
|
||||||
/***** End row with label and listing of users *****/
|
|
||||||
fprintf (Gbl.F.Out,"</td>"
|
|
||||||
"</tr>");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Prj_ShowTableAllProjectsMembersWithARole (const struct Project *Prj,
|
static void Prj_ShowTableAllProjectsMembersWithARole (const struct Project *Prj,
|
||||||
|
@ -2180,25 +2190,22 @@ static void Prj_PutFormProject (struct Project *Prj,bool ItsANewProject)
|
||||||
extern const char *Txt_Members;
|
extern const char *Txt_Members;
|
||||||
unsigned NumRoleToShow;
|
unsigned NumRoleToShow;
|
||||||
|
|
||||||
/***** Start box and form *****/
|
/***** Start project box *****/
|
||||||
if (ItsANewProject)
|
if (ItsANewProject)
|
||||||
{
|
{
|
||||||
|
Gbl.Prjs.PrjCodToEdit = -1L;
|
||||||
Box_StartBox (NULL,Txt_New_project,NULL,
|
Box_StartBox (NULL,Txt_New_project,NULL,
|
||||||
Hlp_ASSESSMENT_Projects_new_project,Box_NOT_CLOSABLE);
|
Hlp_ASSESSMENT_Projects_new_project,Box_NOT_CLOSABLE);
|
||||||
Act_FormStart (ActNewPrj);
|
|
||||||
Gbl.Prjs.PrjCodToEdit = -1L;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Gbl.Prjs.PrjCodToEdit = Prj->PrjCod;
|
||||||
Box_StartBox (NULL,
|
Box_StartBox (NULL,
|
||||||
Prj->Title[0] ? Prj->Title :
|
Prj->Title[0] ? Prj->Title :
|
||||||
Txt_Edit_project,
|
Txt_Edit_project,
|
||||||
NULL,
|
NULL,
|
||||||
Hlp_ASSESSMENT_Projects_edit_project,Box_NOT_CLOSABLE);
|
Hlp_ASSESSMENT_Projects_edit_project,Box_NOT_CLOSABLE);
|
||||||
Act_FormStart (ActChgPrj);
|
|
||||||
Gbl.Prjs.PrjCodToEdit = Prj->PrjCod;
|
|
||||||
}
|
}
|
||||||
Prj_PutParams ();
|
|
||||||
|
|
||||||
/***** 1. Project members *****/
|
/***** 1. Project members *****/
|
||||||
if (!ItsANewProject) // Existing project
|
if (!ItsANewProject) // Existing project
|
||||||
|
@ -2214,6 +2221,11 @@ static void Prj_PutFormProject (struct Project *Prj,bool ItsANewProject)
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** 2. Project data *****/
|
/***** 2. Project data *****/
|
||||||
|
/* Start data form */
|
||||||
|
Act_FormStart (ItsANewProject ? ActNewPrj :
|
||||||
|
ActChgPrj);
|
||||||
|
Prj_PutParams ();
|
||||||
|
|
||||||
/* Start box and table */
|
/* Start box and table */
|
||||||
Box_StartBoxTable (NULL,Txt_Data,NULL,
|
Box_StartBoxTable (NULL,Txt_Data,NULL,
|
||||||
NULL,Box_NOT_CLOSABLE,2);
|
NULL,Box_NOT_CLOSABLE,2);
|
||||||
|
@ -2304,10 +2316,10 @@ static void Prj_PutFormProject (struct Project *Prj,bool ItsANewProject)
|
||||||
else
|
else
|
||||||
Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save);
|
Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save);
|
||||||
|
|
||||||
/* End form */
|
/* End data form */
|
||||||
Act_FormEnd ();
|
Act_FormEnd ();
|
||||||
|
|
||||||
/***** End box *****/
|
/***** End project box *****/
|
||||||
Box_EndBox ();
|
Box_EndBox ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
83
swad_text.c
83
swad_text.c
|
@ -30999,6 +30999,89 @@ const char *Txt_Project_X_removed = // Warning: it is very important to include
|
||||||
"Projeto <strong>%s</strong> removido.";
|
"Projeto <strong>%s</strong> removido.";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
const char *Txt_PROJECT_ROLES_SINGUL_Abc[Prj_NUM_ROLES_IN_PROJECT] =
|
||||||
|
{
|
||||||
|
#if L==1 // Prj_ROLE_UNK
|
||||||
|
"Desconegut/da"
|
||||||
|
#elif L==2
|
||||||
|
"Unbekannter/e"
|
||||||
|
#elif L==3
|
||||||
|
"Unknown"
|
||||||
|
#elif L==4
|
||||||
|
"Desconocido/a"
|
||||||
|
#elif L==5
|
||||||
|
"Inconnu/e"
|
||||||
|
#elif L==6
|
||||||
|
"Desconocido/a" // Okoteve traducción
|
||||||
|
#elif L==7
|
||||||
|
"Sconosciuto/a"
|
||||||
|
#elif L==8
|
||||||
|
"Nieznany"
|
||||||
|
#elif L==9
|
||||||
|
"Desconhecido/a"
|
||||||
|
#endif
|
||||||
|
,
|
||||||
|
#if L==1 // Prj_ROLE_STD
|
||||||
|
"Estudiant"
|
||||||
|
#elif L==2
|
||||||
|
"Student"
|
||||||
|
#elif L==3
|
||||||
|
"Student"
|
||||||
|
#elif L==4
|
||||||
|
"Estudiante"
|
||||||
|
#elif L==5
|
||||||
|
"Étudiant/e"
|
||||||
|
#elif L==6
|
||||||
|
"Temimbo'e"
|
||||||
|
#elif L==7
|
||||||
|
"Studente"
|
||||||
|
#elif L==8
|
||||||
|
"Student"
|
||||||
|
#elif L==9
|
||||||
|
"Estudante"
|
||||||
|
#endif
|
||||||
|
,
|
||||||
|
#if L==1 // Prj_ROLE_TUT
|
||||||
|
"Tutor"
|
||||||
|
#elif L==2
|
||||||
|
"Tutor"
|
||||||
|
#elif L==3
|
||||||
|
"Tutor"
|
||||||
|
#elif L==4
|
||||||
|
"Tutor"
|
||||||
|
#elif L==5
|
||||||
|
"Tuteur"
|
||||||
|
#elif L==6
|
||||||
|
"Tutor" // Okoteve traducción
|
||||||
|
#elif L==7
|
||||||
|
"Precettore"
|
||||||
|
#elif L==8
|
||||||
|
"Nauczyciel"
|
||||||
|
#elif L==9
|
||||||
|
"Tutor"
|
||||||
|
#endif
|
||||||
|
,
|
||||||
|
#if L==1 // Prj_ROLE_EVA
|
||||||
|
"Avaluador"
|
||||||
|
#elif L==2
|
||||||
|
"Auswerter"
|
||||||
|
#elif L==3
|
||||||
|
"Evaluator"
|
||||||
|
#elif L==4
|
||||||
|
"Evaluador"
|
||||||
|
#elif L==5
|
||||||
|
"Évaluateur"
|
||||||
|
#elif L==6
|
||||||
|
"Evaluador" // Okoteve traducción
|
||||||
|
#elif L==7
|
||||||
|
"Valutatore"
|
||||||
|
#elif L==8
|
||||||
|
"Ewaluator"
|
||||||
|
#elif L==9
|
||||||
|
"Avaliador"
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
const char *Txt_PROJECT_ROLES_SINGUL_abc[Prj_NUM_ROLES_IN_PROJECT] =
|
const char *Txt_PROJECT_ROLES_SINGUL_abc[Prj_NUM_ROLES_IN_PROJECT] =
|
||||||
{
|
{
|
||||||
#if L==1 // Prj_ROLE_UNK
|
#if L==1 // Prj_ROLE_UNK
|
||||||
|
|
Loading…
Reference in New Issue
Block a user