mirror of https://github.com/acanas/swad-core.git
Version 17.12
This commit is contained in:
parent
794be41996
commit
6cebad8c0a
Binary file not shown.
After Width: | Height: | Size: 829 B |
Binary file not shown.
After Width: | Height: | Size: 1011 B |
|
@ -682,6 +682,16 @@ function expandTextarea (textareaElem,idButton,rows) {
|
||||||
document.getElementById(idButton).style.display = '';
|
document.getElementById(idButton).style.display = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Change display of a project
|
||||||
|
function toggleProject (prjID) {
|
||||||
|
toggleDisplay('prj_exp_' + prjID);
|
||||||
|
toggleDisplay('prj_con_' + prjID);
|
||||||
|
toggleDisplay('prj_dsc_' + prjID);
|
||||||
|
toggleDisplay('prj_knw_' + prjID);
|
||||||
|
toggleDisplay('prj_mtr_' + prjID);
|
||||||
|
toggleDisplay('prj_url_' + prjID);
|
||||||
|
}
|
||||||
|
|
||||||
// Change display of a test answer
|
// Change display of a test answer
|
||||||
function toggleAnswer (option) {
|
function toggleAnswer (option) {
|
||||||
toggleDisplay('ans_' + option);
|
toggleDisplay('ans_' + option);
|
|
@ -252,13 +252,18 @@
|
||||||
/****************************** Public constants *****************************/
|
/****************************** Public constants *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 17.11.8 (2017-10-01)"
|
#define Log_PLATFORM_VERSION "SWAD 17.12 (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 "swad17.12.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.12: Oct 01, 2017 Changes in layout of projects. (231712 lines)
|
||||||
|
Copy the following icons to icon public directory:
|
||||||
|
sudo cp icon/more64x64.png /var/www/html/swad/icon/
|
||||||
|
sudo cp icon/less64x64.png /var/www/html/swad/icon/
|
||||||
|
|
||||||
Version 17.11.8: Oct 01, 2017 Changes in edition of projects. (231638 lines)
|
Version 17.11.8: Oct 01, 2017 Changes in edition of projects. (231638 lines)
|
||||||
Version 17.11.7: Oct 01, 2017 Changes in layout of projects. (231634 lines)
|
Version 17.11.7: Oct 01, 2017 Changes in layout of projects. (231634 lines)
|
||||||
Version 17.11.6: Oct 01, 2017 Fixed bug in edition of projects. (231632 lines)
|
Version 17.11.6: Oct 01, 2017 Fixed bug in edition of projects. (231632 lines)
|
||||||
|
|
202
swad_project.c
202
swad_project.c
|
@ -92,17 +92,21 @@ static void Prj_PutIconToCreateNewPrj (void);
|
||||||
static void Prj_PutButtonToCreateNewPrj (void);
|
static void Prj_PutButtonToCreateNewPrj (void);
|
||||||
static void Prj_PutIconToShowAllData (void);
|
static void Prj_PutIconToShowAllData (void);
|
||||||
static void Prj_ShowOneProject (struct Project *Prj,Prj_ProjectView_t ProjectView);
|
static void Prj_ShowOneProject (struct Project *Prj,Prj_ProjectView_t ProjectView);
|
||||||
|
static void Prj_PutIconToToggleProject (unsigned UniqueId,
|
||||||
|
const char *Icon,const char *Text);
|
||||||
static void Prj_ShowTableAllProjectsOneRow (struct Project *Prj);
|
static void Prj_ShowTableAllProjectsOneRow (struct Project *Prj);
|
||||||
static void Prj_ShowOneProjectDepartment (const struct Project *Prj,
|
static void Prj_ShowOneProjectDepartment (const struct Project *Prj,
|
||||||
Prj_ProjectView_t ProjectView);
|
Prj_ProjectView_t ProjectView);
|
||||||
static void Prj_ShowTableAllProjectsDepartment (const struct Project *Prj);
|
static void Prj_ShowTableAllProjectsDepartment (const struct Project *Prj);
|
||||||
static void Prj_ShowOneProjectTxtField (struct Project *Prj,
|
static void Prj_ShowOneProjectTxtField (struct Project *Prj,
|
||||||
Prj_ProjectView_t ProjectView,
|
Prj_ProjectView_t ProjectView,
|
||||||
|
const char *id,unsigned UniqueId,
|
||||||
const char *Label,char *TxtField);
|
const char *Label,char *TxtField);
|
||||||
static void Prj_ShowTableAllProjectsTxtField (struct Project *Prj,
|
static void Prj_ShowTableAllProjectsTxtField (struct Project *Prj,
|
||||||
char *TxtField);
|
char *TxtField);
|
||||||
static void Prj_ShowOneProjectURL (const struct Project *Prj,
|
static void Prj_ShowOneProjectURL (const struct Project *Prj,
|
||||||
Prj_ProjectView_t ProjectView);
|
Prj_ProjectView_t ProjectView,
|
||||||
|
const char *id,unsigned UniqueId);
|
||||||
static void Prj_ShowTableAllProjectsURL (const struct Project *Prj);
|
static void Prj_ShowTableAllProjectsURL (const struct Project *Prj);
|
||||||
static void Prj_ShowOneProjectMembers (struct Project *Prj,
|
static void Prj_ShowOneProjectMembers (struct Project *Prj,
|
||||||
Prj_ProjectView_t ProjectView);
|
Prj_ProjectView_t ProjectView);
|
||||||
|
@ -418,12 +422,22 @@ static void Prj_ShowTableAllProjectsHead (void)
|
||||||
unsigned NumRoleToShow;
|
unsigned NumRoleToShow;
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<tr>");
|
fprintf (Gbl.F.Out,"<tr>");
|
||||||
|
|
||||||
for (Order = (Prj_Order_t) 0;
|
for (Order = (Prj_Order_t) 0;
|
||||||
Order <= (Prj_Order_t) (Prj_NUM_ORDERS - 1);
|
Order <= (Prj_Order_t) (Prj_NUM_ORDERS - 1);
|
||||||
Order++)
|
Order++)
|
||||||
fprintf (Gbl.F.Out,"<th class=\"LEFT_TOP DAT_N\">%s</th>",
|
fprintf (Gbl.F.Out,"<th class=\"LEFT_TOP DAT_N\">%s</th>",
|
||||||
Txt_PROJECT_ORDER[Order]);
|
Txt_PROJECT_ORDER[Order]);
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<th class=\"LEFT_TOP DAT_N\">%s</th>",
|
||||||
|
Txt_Preassigned_QUESTION);
|
||||||
|
|
||||||
|
for (NumRoleToShow = 0;
|
||||||
|
NumRoleToShow < Brw_NUM_ROLES_TO_SHOW;
|
||||||
|
NumRoleToShow++)
|
||||||
|
fprintf (Gbl.F.Out,"<th class=\"LEFT_TOP DAT_N\">%s</th>",
|
||||||
|
Txt_PROJECT_ROLES_PLURAL_Abc[Prj_RolesToShow[NumRoleToShow]]);
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<th class=\"LEFT_TOP DAT_N\">%s</th>",
|
fprintf (Gbl.F.Out,"<th class=\"LEFT_TOP DAT_N\">%s</th>",
|
||||||
Txt_Description);
|
Txt_Description);
|
||||||
fprintf (Gbl.F.Out,"<th class=\"LEFT_TOP DAT_N\">%s</th>",
|
fprintf (Gbl.F.Out,"<th class=\"LEFT_TOP DAT_N\">%s</th>",
|
||||||
|
@ -432,14 +446,6 @@ static void Prj_ShowTableAllProjectsHead (void)
|
||||||
Txt_Required_materials);
|
Txt_Required_materials);
|
||||||
fprintf (Gbl.F.Out,"<th class=\"LEFT_TOP DAT_N\">%s</th>",
|
fprintf (Gbl.F.Out,"<th class=\"LEFT_TOP DAT_N\">%s</th>",
|
||||||
Txt_URL);
|
Txt_URL);
|
||||||
fprintf (Gbl.F.Out,"<th class=\"LEFT_TOP DAT_N\">%s</th>",
|
|
||||||
Txt_Preassigned_QUESTION);
|
|
||||||
|
|
||||||
for (NumRoleToShow = 0;
|
|
||||||
NumRoleToShow < Brw_NUM_ROLES_TO_SHOW;
|
|
||||||
NumRoleToShow++)
|
|
||||||
fprintf (Gbl.F.Out,"<th class=\"LEFT_TOP DAT_N\">%s</th>",
|
|
||||||
Txt_PROJECT_ROLES_PLURAL_Abc[Prj_RolesToShow[NumRoleToShow]]);
|
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"</tr>");
|
fprintf (Gbl.F.Out,"</tr>");
|
||||||
}
|
}
|
||||||
|
@ -573,6 +579,8 @@ static void Prj_ShowOneProject (struct Project *Prj,Prj_ProjectView_t ProjectVie
|
||||||
extern const char *Txt_Today;
|
extern const char *Txt_Today;
|
||||||
extern const char *Txt_Yes;
|
extern const char *Txt_Yes;
|
||||||
extern const char *Txt_No;
|
extern const char *Txt_No;
|
||||||
|
extern const char *Txt_See_more;
|
||||||
|
extern const char *Txt_See_less;
|
||||||
extern const char *Txt_Description;
|
extern const char *Txt_Description;
|
||||||
extern const char *Txt_Required_knowledge;
|
extern const char *Txt_Required_knowledge;
|
||||||
extern const char *Txt_Required_materials;
|
extern const char *Txt_Required_materials;
|
||||||
|
@ -650,23 +658,7 @@ static void Prj_ShowOneProject (struct Project *Prj,Prj_ProjectView_t ProjectVie
|
||||||
/***** Project members *****/
|
/***** Project members *****/
|
||||||
Prj_ShowOneProjectMembers (Prj,ProjectView);
|
Prj_ShowOneProjectMembers (Prj,ProjectView);
|
||||||
|
|
||||||
/***** Write rows of data of this project *****/
|
/***** Preassigned? *****/
|
||||||
/* Description of the project */
|
|
||||||
Prj_ShowOneProjectTxtField (Prj,ProjectView,
|
|
||||||
Txt_Description,Prj->Description);
|
|
||||||
|
|
||||||
/* Required knowledge to carry out the project */
|
|
||||||
Prj_ShowOneProjectTxtField (Prj,ProjectView,
|
|
||||||
Txt_Required_knowledge,Prj->Knowledge);
|
|
||||||
|
|
||||||
/* Required materials to carry out the project */
|
|
||||||
Prj_ShowOneProjectTxtField (Prj,ProjectView,
|
|
||||||
Txt_Required_materials,Prj->Materials);
|
|
||||||
|
|
||||||
/* Link to view more info about the project */
|
|
||||||
Prj_ShowOneProjectURL (Prj,ProjectView);
|
|
||||||
|
|
||||||
/* Preassigned? */
|
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td colspan=\"3\" class=\"RIGHT_TOP");
|
"<td colspan=\"3\" class=\"RIGHT_TOP");
|
||||||
if (ProjectView == Prj_LIST_PROJECTS)
|
if (ProjectView == Prj_LIST_PROJECTS)
|
||||||
|
@ -689,9 +681,61 @@ 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);
|
||||||
|
|
||||||
|
/***** Link to show hidden info *****/
|
||||||
|
if (ProjectView == Prj_LIST_PROJECTS)
|
||||||
|
{
|
||||||
|
fprintf (Gbl.F.Out,"<tr id=\"prj_exp_%u\">"
|
||||||
|
"<td colspan=\"5\" class=\"CENTER_MIDDLE COLOR%u\">",
|
||||||
|
UniqueId,Gbl.RowEvenOdd);
|
||||||
|
Prj_PutIconToToggleProject (UniqueId,"more64x64.png",Txt_See_more);
|
||||||
|
fprintf (Gbl.F.Out,"</td>"
|
||||||
|
"</tr>");
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<tr id=\"prj_con_%u\" style=\"display:none;\">"
|
||||||
|
"<td colspan=\"5\" class=\"CENTER_MIDDLE COLOR%u\">",
|
||||||
|
UniqueId,Gbl.RowEvenOdd);
|
||||||
|
Prj_PutIconToToggleProject (UniqueId,"less64x64.png",Txt_See_less);
|
||||||
|
fprintf (Gbl.F.Out,"</td>"
|
||||||
|
"</tr>");
|
||||||
|
}
|
||||||
|
|
||||||
|
/***** Write rows of data of this project *****/
|
||||||
|
/* Description of the project */
|
||||||
|
Prj_ShowOneProjectTxtField (Prj,ProjectView,"prj_dsc_",UniqueId,
|
||||||
|
Txt_Description,Prj->Description);
|
||||||
|
|
||||||
|
/* Required knowledge to carry out the project */
|
||||||
|
Prj_ShowOneProjectTxtField (Prj,ProjectView,"prj_knw_",UniqueId,
|
||||||
|
Txt_Required_knowledge,Prj->Knowledge);
|
||||||
|
|
||||||
|
/* Required materials to carry out the project */
|
||||||
|
Prj_ShowOneProjectTxtField (Prj,ProjectView,"prj_mtr_",UniqueId,
|
||||||
|
Txt_Required_materials,Prj->Materials);
|
||||||
|
|
||||||
|
/* Link to view more info about the project */
|
||||||
|
Prj_ShowOneProjectURL (Prj,ProjectView,"prj_url_",UniqueId);
|
||||||
|
|
||||||
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
|
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/********** Put an icon to toggle on/off some fields of a project ************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
static void Prj_PutIconToToggleProject (unsigned UniqueId,
|
||||||
|
const char *Icon,const char *Text)
|
||||||
|
{
|
||||||
|
extern const char *The_ClassForm[The_NUM_THEMES];
|
||||||
|
|
||||||
|
/***** Link to toggle on/off some fields of project *****/
|
||||||
|
fprintf (Gbl.F.Out,"<a href=\"\" title=\"%s\" class=\"%s\""
|
||||||
|
" onclick=\"toggleProject('%u');return false;\" />",
|
||||||
|
Text,The_ClassForm[Gbl.Prefs.Theme],
|
||||||
|
UniqueId);
|
||||||
|
Ico_PutIconWithText (Icon,Text,Text);
|
||||||
|
fprintf (Gbl.F.Out,"</a>");
|
||||||
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/***************** Show one row of table with all projects *******************/
|
/***************** Show one row of table with all projects *******************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -757,9 +801,25 @@ static void Prj_ShowTableAllProjectsOneRow (struct Project *Prj)
|
||||||
"DAT_N",
|
"DAT_N",
|
||||||
Prj->Title);
|
Prj->Title);
|
||||||
|
|
||||||
/* Department */
|
/***** Department *****/
|
||||||
Prj_ShowTableAllProjectsDepartment (Prj);
|
Prj_ShowTableAllProjectsDepartment (Prj);
|
||||||
|
|
||||||
|
/***** Preassigned? *****/
|
||||||
|
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u %s\">"
|
||||||
|
"%s"
|
||||||
|
"</td>",
|
||||||
|
Gbl.RowEvenOdd,
|
||||||
|
Prj->Hidden ? "DAT_LIGHT" :
|
||||||
|
"DAT",
|
||||||
|
(Prj->Preassigned == Prj_PREASSIGNED) ? Txt_Yes :
|
||||||
|
Txt_No);
|
||||||
|
|
||||||
|
/***** Project members *****/
|
||||||
|
for (NumRoleToShow = 0;
|
||||||
|
NumRoleToShow < Brw_NUM_ROLES_TO_SHOW;
|
||||||
|
NumRoleToShow++)
|
||||||
|
Prj_ShowTableAllProjectsMembersWithARole (Prj,Prj_RolesToShow[NumRoleToShow]);
|
||||||
|
|
||||||
/***** Write rows of data of this project *****/
|
/***** Write rows of data of this project *****/
|
||||||
/* Description of the project */
|
/* Description of the project */
|
||||||
Prj_ShowTableAllProjectsTxtField (Prj,Prj->Description);
|
Prj_ShowTableAllProjectsTxtField (Prj,Prj->Description);
|
||||||
|
@ -773,22 +833,6 @@ static void Prj_ShowTableAllProjectsOneRow (struct Project *Prj)
|
||||||
/* Link to view more info about the project */
|
/* Link to view more info about the project */
|
||||||
Prj_ShowTableAllProjectsURL (Prj);
|
Prj_ShowTableAllProjectsURL (Prj);
|
||||||
|
|
||||||
/* Preassigned? */
|
|
||||||
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u %s\">"
|
|
||||||
"%s"
|
|
||||||
"</td>",
|
|
||||||
Gbl.RowEvenOdd,
|
|
||||||
Prj->Hidden ? "DAT_LIGHT" :
|
|
||||||
"DAT",
|
|
||||||
(Prj->Preassigned == Prj_PREASSIGNED) ? Txt_Yes :
|
|
||||||
Txt_No);
|
|
||||||
|
|
||||||
/* Project members */
|
|
||||||
for (NumRoleToShow = 0;
|
|
||||||
NumRoleToShow < Brw_NUM_ROLES_TO_SHOW;
|
|
||||||
NumRoleToShow++)
|
|
||||||
Prj_ShowTableAllProjectsMembersWithARole (Prj,Prj_RolesToShow[NumRoleToShow]);
|
|
||||||
|
|
||||||
/***** End row *****/
|
/***** End row *****/
|
||||||
fprintf (Gbl.F.Out,"</tr>");
|
fprintf (Gbl.F.Out,"</tr>");
|
||||||
|
|
||||||
|
@ -855,6 +899,7 @@ static void Prj_ShowTableAllProjectsDepartment (const struct Project *Prj)
|
||||||
|
|
||||||
static void Prj_ShowOneProjectTxtField (struct Project *Prj,
|
static void Prj_ShowOneProjectTxtField (struct Project *Prj,
|
||||||
Prj_ProjectView_t ProjectView,
|
Prj_ProjectView_t ProjectView,
|
||||||
|
const char *id,unsigned UniqueId,
|
||||||
const char *Label,char *TxtField)
|
const char *Label,char *TxtField)
|
||||||
{
|
{
|
||||||
/***** Change format *****/
|
/***** Change format *****/
|
||||||
|
@ -864,8 +909,9 @@ static void Prj_ShowOneProjectTxtField (struct Project *Prj,
|
||||||
Str_InsertLinks (TxtField,Cns_MAX_BYTES_TEXT,60); // Insert links
|
Str_InsertLinks (TxtField,Cns_MAX_BYTES_TEXT,60); // Insert links
|
||||||
|
|
||||||
/***** Write row with label and text *****/
|
/***** Write row with label and text *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr id=\"%s%u\" style=\"display:none;\">"
|
||||||
"<td colspan=\"3\" class=\"RIGHT_TOP");
|
"<td colspan=\"3\" class=\"RIGHT_TOP",
|
||||||
|
id,UniqueId);
|
||||||
if (ProjectView == Prj_LIST_PROJECTS)
|
if (ProjectView == Prj_LIST_PROJECTS)
|
||||||
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
|
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
|
||||||
fprintf (Gbl.F.Out," %s\">"
|
fprintf (Gbl.F.Out," %s\">"
|
||||||
|
@ -908,7 +954,8 @@ static void Prj_ShowTableAllProjectsTxtField (struct Project *Prj,
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
static void Prj_ShowOneProjectURL (const struct Project *Prj,
|
static void Prj_ShowOneProjectURL (const struct Project *Prj,
|
||||||
Prj_ProjectView_t ProjectView)
|
Prj_ProjectView_t ProjectView,
|
||||||
|
const char *id,unsigned UniqueId)
|
||||||
{
|
{
|
||||||
extern const char *Txt_URL;
|
extern const char *Txt_URL;
|
||||||
bool PutLink;
|
bool PutLink;
|
||||||
|
@ -916,8 +963,9 @@ static void Prj_ShowOneProjectURL (const struct Project *Prj,
|
||||||
/***** Write row with label and text *****/
|
/***** Write row with label and text *****/
|
||||||
PutLink = (ProjectView == Prj_LIST_PROJECTS && Prj->URL[0]);
|
PutLink = (ProjectView == Prj_LIST_PROJECTS && Prj->URL[0]);
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr id=\"%s%u\" style=\"display:none;\">"
|
||||||
"<td colspan=\"3\" class=\"RIGHT_TOP");
|
"<td colspan=\"3\" class=\"RIGHT_TOP",
|
||||||
|
id,UniqueId);
|
||||||
if (ProjectView == Prj_LIST_PROJECTS)
|
if (ProjectView == Prj_LIST_PROJECTS)
|
||||||
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
|
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
|
||||||
fprintf (Gbl.F.Out," %s\">"
|
fprintf (Gbl.F.Out," %s\">"
|
||||||
|
@ -2178,11 +2226,11 @@ static void Prj_PutFormProject (struct Project *Prj,bool ItsANewProject)
|
||||||
extern const char *Txt_Data;
|
extern const char *Txt_Data;
|
||||||
extern const char *Txt_Title;
|
extern const char *Txt_Title;
|
||||||
extern const char *Txt_Department;
|
extern const char *Txt_Department;
|
||||||
|
extern const char *Txt_Preassigned_QUESTION;
|
||||||
extern const char *Txt_Description;
|
extern const char *Txt_Description;
|
||||||
extern const char *Txt_Required_knowledge;
|
extern const char *Txt_Required_knowledge;
|
||||||
extern const char *Txt_Required_materials;
|
extern const char *Txt_Required_materials;
|
||||||
extern const char *Txt_URL;
|
extern const char *Txt_URL;
|
||||||
extern const char *Txt_Preassigned_QUESTION;
|
|
||||||
extern const char *Txt_No;
|
extern const char *Txt_No;
|
||||||
extern const char *Txt_Yes;
|
extern const char *Txt_Yes;
|
||||||
extern const char *Txt_Create_project;
|
extern const char *Txt_Create_project;
|
||||||
|
@ -2260,6 +2308,30 @@ static void Prj_PutFormProject (struct Project *Prj,bool ItsANewProject)
|
||||||
fprintf (Gbl.F.Out,"</td>"
|
fprintf (Gbl.F.Out,"</td>"
|
||||||
"</tr>");
|
"</tr>");
|
||||||
|
|
||||||
|
/* Preassigned? */
|
||||||
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
|
"<td class=\"%s RIGHT_MIDDLE\">"
|
||||||
|
"%s:"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"LEFT_MIDDLE\">"
|
||||||
|
"<select name=\"Preassigned\">",
|
||||||
|
The_ClassForm[Gbl.Prefs.Theme],
|
||||||
|
Txt_Preassigned_QUESTION);
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<option value=\"N\"");
|
||||||
|
if (Prj->Preassigned == Prj_NOT_PREASSIGNED)
|
||||||
|
fprintf (Gbl.F.Out," selected=\"selected\"");
|
||||||
|
fprintf (Gbl.F.Out,">%s</option>",Txt_No);
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"<option value=\"Y\"");
|
||||||
|
if (Prj->Preassigned == Prj_PREASSIGNED)
|
||||||
|
fprintf (Gbl.F.Out," selected=\"selected\"");
|
||||||
|
fprintf (Gbl.F.Out,">%s</option>",Txt_Yes);
|
||||||
|
|
||||||
|
fprintf (Gbl.F.Out,"</select>"
|
||||||
|
"</td>"
|
||||||
|
"</tr>");
|
||||||
|
|
||||||
/* Description of the project */
|
/* Description of the project */
|
||||||
Prj_EditOneProjectTxtArea ("Description",Txt_Description,
|
Prj_EditOneProjectTxtArea ("Description",Txt_Description,
|
||||||
Prj->Description,12);
|
Prj->Description,12);
|
||||||
|
@ -2286,30 +2358,6 @@ static void Prj_PutFormProject (struct Project *Prj,bool ItsANewProject)
|
||||||
Txt_URL,
|
Txt_URL,
|
||||||
Cns_MAX_CHARS_WWW,Prj->URL);
|
Cns_MAX_CHARS_WWW,Prj->URL);
|
||||||
|
|
||||||
/* Preassigned? */
|
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
|
||||||
"<td class=\"%s RIGHT_MIDDLE\">"
|
|
||||||
"%s:"
|
|
||||||
"</td>"
|
|
||||||
"<td class=\"LEFT_MIDDLE\">"
|
|
||||||
"<select name=\"Preassigned\">",
|
|
||||||
The_ClassForm[Gbl.Prefs.Theme],
|
|
||||||
Txt_Preassigned_QUESTION);
|
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<option value=\"N\"");
|
|
||||||
if (Prj->Preassigned == Prj_NOT_PREASSIGNED)
|
|
||||||
fprintf (Gbl.F.Out," selected=\"selected\"");
|
|
||||||
fprintf (Gbl.F.Out,">%s</option>",Txt_No);
|
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<option value=\"Y\"");
|
|
||||||
if (Prj->Preassigned == Prj_PREASSIGNED)
|
|
||||||
fprintf (Gbl.F.Out," selected=\"selected\"");
|
|
||||||
fprintf (Gbl.F.Out,">%s</option>",Txt_Yes);
|
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"</select>"
|
|
||||||
"</td>"
|
|
||||||
"</tr>");
|
|
||||||
|
|
||||||
/* End table, send button and end box */
|
/* End table, send button and end box */
|
||||||
if (ItsANewProject)
|
if (ItsANewProject)
|
||||||
Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_project);
|
Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_project);
|
||||||
|
@ -2441,6 +2489,10 @@ void Prj_RecFormProject (void)
|
||||||
/* Get department */
|
/* Get department */
|
||||||
Prj.DptCod = Par_GetParToLong ("DptCod");
|
Prj.DptCod = Par_GetParToLong ("DptCod");
|
||||||
|
|
||||||
|
/* Get whether the project is preassigned */
|
||||||
|
Prj.Preassigned = (Par_GetParToBool ("Preassigned")) ? Prj_PREASSIGNED :
|
||||||
|
Prj_NOT_PREASSIGNED;
|
||||||
|
|
||||||
/* Get project description, required knowledge and required materials */
|
/* Get project description, required knowledge and required materials */
|
||||||
Par_GetParToHTML ("Description",Prj.Description,Cns_MAX_BYTES_TEXT); // Store in HTML format (not rigorous)
|
Par_GetParToHTML ("Description",Prj.Description,Cns_MAX_BYTES_TEXT); // Store in HTML format (not rigorous)
|
||||||
Par_GetParToHTML ("Knowledge" ,Prj.Knowledge ,Cns_MAX_BYTES_TEXT); // Store in HTML format (not rigorous)
|
Par_GetParToHTML ("Knowledge" ,Prj.Knowledge ,Cns_MAX_BYTES_TEXT); // Store in HTML format (not rigorous)
|
||||||
|
@ -2449,10 +2501,6 @@ void Prj_RecFormProject (void)
|
||||||
/* Get degree WWW */
|
/* Get degree WWW */
|
||||||
Par_GetParToText ("URL",Prj.URL,Cns_MAX_BYTES_WWW);
|
Par_GetParToText ("URL",Prj.URL,Cns_MAX_BYTES_WWW);
|
||||||
|
|
||||||
/* Get whether the project is preassigned */
|
|
||||||
Prj.Preassigned = (Par_GetParToBool ("Preassigned")) ? Prj_PREASSIGNED :
|
|
||||||
Prj_NOT_PREASSIGNED;
|
|
||||||
|
|
||||||
/***** Adjust dates *****/
|
/***** Adjust dates *****/
|
||||||
if (Prj.TimeUTC[Dat_START_TIME] == 0)
|
if (Prj.TimeUTC[Dat_START_TIME] == 0)
|
||||||
Prj.TimeUTC[Dat_START_TIME] = Gbl.StartExecutionTimeUTC;
|
Prj.TimeUTC[Dat_START_TIME] = Gbl.StartExecutionTimeUTC;
|
||||||
|
|
23
swad_text.c
23
swad_text.c
|
@ -38056,6 +38056,27 @@ const char *Txt_See_full_notice =
|
||||||
"Veja aviso completo";
|
"Veja aviso completo";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
const char *Txt_See_less =
|
||||||
|
#if L==1
|
||||||
|
"Veure menys";
|
||||||
|
#elif L==2
|
||||||
|
"Zeige weniger";
|
||||||
|
#elif L==3
|
||||||
|
"See less";
|
||||||
|
#elif L==4
|
||||||
|
"Ver menos";
|
||||||
|
#elif L==5
|
||||||
|
"Voir moins";
|
||||||
|
#elif L==6
|
||||||
|
"Ver menos"; // Okoteve traducción
|
||||||
|
#elif L==7
|
||||||
|
"Vedere meno";
|
||||||
|
#elif L==8
|
||||||
|
"Zobacz mniej";
|
||||||
|
#elif L==9
|
||||||
|
"Veja menos";
|
||||||
|
#endif
|
||||||
|
|
||||||
const char *Txt_See_message =
|
const char *Txt_See_message =
|
||||||
#if L==1
|
#if L==1
|
||||||
"Veure missatge";
|
"Veure missatge";
|
||||||
|
@ -38102,7 +38123,7 @@ const char *Txt_See_more =
|
||||||
#if L==1
|
#if L==1
|
||||||
"Veure més";
|
"Veure més";
|
||||||
#elif L==2
|
#elif L==2
|
||||||
"Weitere";
|
"Zeige mehr";
|
||||||
#elif L==3
|
#elif L==3
|
||||||
"See more";
|
"See more";
|
||||||
#elif L==4
|
#elif L==4
|
||||||
|
|
Loading…
Reference in New Issue