Version 14.120.3

This commit is contained in:
Antonio Cañas Vargas 2015-07-25 20:20:07 +02:00
parent 608711aaec
commit d3dcc2faa9
10 changed files with 102 additions and 18 deletions

View File

@ -1057,7 +1057,7 @@ void Ctr_FreeListCentres (void)
/************************** Write selector of centre *************************/ /************************** Write selector of centre *************************/
/*****************************************************************************/ /*****************************************************************************/
void Ctr_WriteSelectorOfCentre (Act_Action_t NextAction) void Ctr_WriteSelectorOfCentre (void)
{ {
extern const char *Txt_Centre; extern const char *Txt_Centre;
char Query[128]; char Query[128];
@ -1068,7 +1068,7 @@ void Ctr_WriteSelectorOfCentre (Act_Action_t NextAction)
long CtrCod; long CtrCod;
/***** Start form *****/ /***** Start form *****/
Act_FormGoToStart (NextAction); Act_FormGoToStart (ActSeeDeg);
fprintf (Gbl.F.Out,"<select name=\"ctr\" style=\"width:140px;\""); fprintf (Gbl.F.Out,"<select name=\"ctr\" style=\"width:140px;\"");
if (Gbl.CurrentIns.Ins.InsCod > 0) if (Gbl.CurrentIns.Ins.InsCod > 0)
fprintf (Gbl.F.Out," onchange=\"javascript:document.getElementById('%s').submit();\"", fprintf (Gbl.F.Out," onchange=\"javascript:document.getElementById('%s').submit();\"",

View File

@ -94,7 +94,7 @@ void Ctr_GetListCentres (long InsCod);
bool Ctr_GetDataOfCentreByCod (struct Centre *Ctr); bool Ctr_GetDataOfCentreByCod (struct Centre *Ctr);
long Ctr_GetInsCodOfCentreByCod (long CtrCod); long Ctr_GetInsCodOfCentreByCod (long CtrCod);
void Ctr_FreeListCentres (void); void Ctr_FreeListCentres (void);
void Ctr_WriteSelectorOfCentre (Act_Action_t NextAction); void Ctr_WriteSelectorOfCentre (void);
void Ctr_PutParamCtrCod (long CtrCod); void Ctr_PutParamCtrCod (long CtrCod);
long Ctr_GetParamOtherCtrCod (void); long Ctr_GetParamOtherCtrCod (void);
void Ctr_RemoveCentre (void); void Ctr_RemoveCentre (void);

View File

@ -103,11 +103,12 @@
/****************************** Public constants *****************************/ /****************************** Public constants *****************************/
/*****************************************************************************/ /*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 14.120.2 (2015/07/25)" #define Log_PLATFORM_VERSION "SWAD 14.120.3 (2015/07/25)"
// 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 14.120.3: Jul 25, 2015 Changes in selectors of country, institution, centre, degree and course. (184893 lines)
Version 14.120.2: Jul 25, 2015 Changes in CSS of forms. Version 14.120.2: Jul 25, 2015 Changes in CSS of forms.
Fixed bug in selectors of country, institution, centre and degree. (184819 lines) Fixed bug in selectors of country, institution, centre and degree. (184819 lines)
Version 14.120.1: Jul 25, 2015 Changes in CSS of forms. Version 14.120.1: Jul 25, 2015 Changes in CSS of forms.

View File

@ -983,7 +983,7 @@ void Cty_GetListCountries (Cty_GetExtraData_t GetExtraData)
/************************** Write selector of country ************************/ /************************** Write selector of country ************************/
/*****************************************************************************/ /*****************************************************************************/
void Cty_WriteSelectorOfCountry (Act_Action_t NextAction) void Cty_WriteSelectorOfCountry (void)
{ {
extern const char *Txt_Country; extern const char *Txt_Country;
extern const char *Txt_STR_LANG_ID[Txt_NUM_LANGUAGES]; extern const char *Txt_STR_LANG_ID[Txt_NUM_LANGUAGES];
@ -995,7 +995,7 @@ void Cty_WriteSelectorOfCountry (Act_Action_t NextAction)
long CtyCod; long CtyCod;
/***** Start form *****/ /***** Start form *****/
Act_FormGoToStart (NextAction); Act_FormGoToStart (ActSeeIns);
fprintf (Gbl.F.Out,"<select name=\"cty\" style=\"width:140px;\"" fprintf (Gbl.F.Out,"<select name=\"cty\" style=\"width:140px;\""
" onchange=\"javascript:document.getElementById('%s').submit();\">" " onchange=\"javascript:document.getElementById('%s').submit();\">"
"<option value=\"\"", "<option value=\"\"",

View File

@ -85,7 +85,7 @@ void Cty_PutHiddenParamCtyOrderType (void);
void Cty_EditCountries (void); void Cty_EditCountries (void);
void Cty_GetListCountries (Cty_GetExtraData_t GetExtraData); void Cty_GetListCountries (Cty_GetExtraData_t GetExtraData);
void Cty_FreeListCountries (void); void Cty_FreeListCountries (void);
void Cty_WriteSelectorOfCountry (Act_Action_t NextAction); void Cty_WriteSelectorOfCountry (void);
bool Cty_GetDataOfCountryByCod (struct Country *Cty); bool Cty_GetDataOfCountryByCod (struct Country *Cty);
void Cty_GetCountryName (long CtyCod,char *CtyName); void Cty_GetCountryName (long CtyCod,char *CtyName);
void Cty_PutParamCtyCod (long CtyCod); void Cty_PutParamCtyCod (long CtyCod);

View File

@ -939,6 +939,72 @@ unsigned Crs_GetNumCrssWithUsrs (Rol_Role_t Role,const char *SubQuery)
return (unsigned) DB_QueryCOUNT (Query,"can not get number of courses with users"); return (unsigned) DB_QueryCOUNT (Query,"can not get number of courses with users");
} }
/*****************************************************************************/
/*************************** Write selector of course ************************/
/*****************************************************************************/
void Crs_WriteSelectorOfCourse (void)
{
extern const char *Txt_Course;
char Query[512];
MYSQL_RES *mysql_res;
MYSQL_ROW row;
unsigned NumCrss;
unsigned NumCrs;
long CrsCod;
/***** Start form *****/
Act_FormGoToStart (ActSeeCrsInf);
fprintf (Gbl.F.Out,"<select name=\"crs\" style=\"width:140px;\"");
if (Gbl.CurrentDeg.Deg.DegCod > 0)
fprintf (Gbl.F.Out," onchange=\"javascript:document.getElementById('%s').submit();\"",
Gbl.FormId);
else
fprintf (Gbl.F.Out," disabled=\"disabled\"");
fprintf (Gbl.F.Out,"><option value=\"\"");
if (Gbl.CurrentCrs.Crs.CrsCod < 0)
fprintf (Gbl.F.Out," selected=\"selected\"");
fprintf (Gbl.F.Out," disabled=\"disabled\">[%s]</option>",
Txt_Course);
if (Gbl.CurrentDeg.Deg.DegCod > 0)
{
/***** Get courses belonging to the current degree from database *****/
sprintf (Query,"SELECT CrsCod,ShortName FROM courses"
" WHERE DegCod='%ld'"
" ORDER BY ShortName",
Gbl.CurrentDeg.Deg.DegCod);
NumCrss = (unsigned) DB_QuerySELECT (Query,&mysql_res,"can not get courses of a degree");
/***** Get courses of this degree *****/
for (NumCrs = 0;
NumCrs < NumCrss;
NumCrs++)
{
/* Get next course */
row = mysql_fetch_row (mysql_res);
/* Get course code (row[0]) */
if ((CrsCod = Str_ConvertStrCodToLongCod (row[0])) < 0)
Lay_ShowErrorAndExit ("Wrong course.");
/* Write option */
fprintf (Gbl.F.Out,"<option value=\"%ld\"",CrsCod);
if (Gbl.CurrentCrs.Crs.CrsCod > 0 &&
(CrsCod == Gbl.CurrentCrs.Crs.CrsCod))
fprintf (Gbl.F.Out," selected=\"selected\"");
fprintf (Gbl.F.Out,">%s</option>",row[1]);
}
/***** Free structure that stores the query result *****/
DB_FreeMySQLResult (&mysql_res);
}
/***** End form *****/
fprintf (Gbl.F.Out,"</select>");
Act_FormEnd ();
}
/*****************************************************************************/ /*****************************************************************************/
/************************** Show courses of a degree *************************/ /************************** Show courses of a degree *************************/
/*****************************************************************************/ /*****************************************************************************/

View File

@ -104,6 +104,7 @@ unsigned Crs_GetNumCrssInCtr (long CtrCod);
unsigned Crs_GetNumCrssInDeg (long DegCod); unsigned Crs_GetNumCrssInDeg (long DegCod);
unsigned Crs_GetNumCrssWithUsrs (Rol_Role_t Role,const char *SubQuery); unsigned Crs_GetNumCrssWithUsrs (Rol_Role_t Role,const char *SubQuery);
void Crs_WriteSelectorOfCourse (void);
void Crs_ShowCrssOfCurrentDeg (void); void Crs_ShowCrssOfCurrentDeg (void);
void Crs_ReqEditCourses (void); void Crs_ReqEditCourses (void);
void Crs_FreeListCoursesInDegree (struct Degree *Deg); void Crs_FreeListCoursesInDegree (struct Degree *Deg);

View File

@ -86,7 +86,7 @@ typedef enum
static void Deg_Configuration (bool PrintView); static void Deg_Configuration (bool PrintView);
static void Deg_ListDegreeTypes (void); static void Deg_ListDegreeTypes (void);
static void Deg_WriteSelectorOfDegree (Act_Action_t NextAction); static void Deg_WriteSelectorOfDegree (void);
static void Deg_EditDegreeTypes (void); static void Deg_EditDegreeTypes (void);
static void Deg_ListDegreeTypesForSeeing (void); static void Deg_ListDegreeTypesForSeeing (void);
static void Deg_ListDegreeTypesForEdition (void); static void Deg_ListDegreeTypesForEdition (void);
@ -489,6 +489,7 @@ void Deg_WriteMenuAllCourses (void)
extern const char *Txt_Institution; extern const char *Txt_Institution;
extern const char *Txt_Centre; extern const char *Txt_Centre;
extern const char *Txt_Degree; extern const char *Txt_Degree;
extern const char *Txt_Course;
/***** Start of table *****/ /***** Start of table *****/
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_2\"" fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_2\""
@ -502,7 +503,7 @@ void Deg_WriteMenuAllCourses (void)
"</td>" "</td>"
"<td style=\"text-align:left;\">", "<td style=\"text-align:left;\">",
The_ClassFormul[Gbl.Prefs.Theme],Txt_Country); The_ClassFormul[Gbl.Prefs.Theme],Txt_Country);
Cty_WriteSelectorOfCountry (ActSeeIns); Cty_WriteSelectorOfCountry ();
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>"
"</tr>"); "</tr>");
@ -516,7 +517,7 @@ void Deg_WriteMenuAllCourses (void)
"</td>" "</td>"
"<td style=\"text-align:left;\">", "<td style=\"text-align:left;\">",
The_ClassFormul[Gbl.Prefs.Theme],Txt_Institution); The_ClassFormul[Gbl.Prefs.Theme],Txt_Institution);
Ins_WriteSelectorOfInstitution (ActSeeCtr); Ins_WriteSelectorOfInstitution ();
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>"
"</tr>"); "</tr>");
@ -530,7 +531,7 @@ void Deg_WriteMenuAllCourses (void)
"</td>" "</td>"
"<td style=\"text-align:left;\">", "<td style=\"text-align:left;\">",
The_ClassFormul[Gbl.Prefs.Theme],Txt_Centre); The_ClassFormul[Gbl.Prefs.Theme],Txt_Centre);
Ctr_WriteSelectorOfCentre (ActSeeDeg); Ctr_WriteSelectorOfCentre ();
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>"
"</tr>"); "</tr>");
@ -544,9 +545,24 @@ void Deg_WriteMenuAllCourses (void)
"</td>" "</td>"
"<td style=\"text-align:left;\">", "<td style=\"text-align:left;\">",
The_ClassFormul[Gbl.Prefs.Theme],Txt_Degree); The_ClassFormul[Gbl.Prefs.Theme],Txt_Degree);
Deg_WriteSelectorOfDegree (ActSeeCrs); Deg_WriteSelectorOfDegree ();
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>"
"</tr>"); "</tr>");
if (Gbl.CurrentDeg.Deg.DegCod > 0)
{
/***** Write a 5th selector
with all the courses of selected degree *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s\">"
"%s:"
"</td>"
"<td style=\"text-align:left;\">",
The_ClassFormul[Gbl.Prefs.Theme],Txt_Course);
Crs_WriteSelectorOfCourse ();
fprintf (Gbl.F.Out,"</td>"
"</tr>");
}
} }
} }
} }
@ -559,7 +575,7 @@ void Deg_WriteMenuAllCourses (void)
/*************************** Write selector of degree ************************/ /*************************** Write selector of degree ************************/
/*****************************************************************************/ /*****************************************************************************/
static void Deg_WriteSelectorOfDegree (Act_Action_t NextAction) static void Deg_WriteSelectorOfDegree (void)
{ {
extern const char *Txt_Degree; extern const char *Txt_Degree;
char Query[512]; char Query[512];
@ -570,7 +586,7 @@ static void Deg_WriteSelectorOfDegree (Act_Action_t NextAction)
long DegCod; long DegCod;
/***** Start form *****/ /***** Start form *****/
Act_FormGoToStart (NextAction); Act_FormGoToStart (ActSeeCrs);
fprintf (Gbl.F.Out,"<select name=\"deg\" style=\"width:140px;\""); fprintf (Gbl.F.Out,"<select name=\"deg\" style=\"width:140px;\"");
if (Gbl.CurrentCtr.Ctr.CtrCod > 0) if (Gbl.CurrentCtr.Ctr.CtrCod > 0)
fprintf (Gbl.F.Out," onchange=\"javascript:document.getElementById('%s').submit();\"", fprintf (Gbl.F.Out," onchange=\"javascript:document.getElementById('%s').submit();\"",
@ -602,7 +618,7 @@ static void Deg_WriteSelectorOfDegree (Act_Action_t NextAction)
/* Get degree code (row[0]) */ /* Get degree code (row[0]) */
if ((DegCod = Str_ConvertStrCodToLongCod (row[0])) < 0) if ((DegCod = Str_ConvertStrCodToLongCod (row[0])) < 0)
Lay_ShowErrorAndExit ("Wrong type of degree."); Lay_ShowErrorAndExit ("Wrong degree.");
/* Write option */ /* Write option */
fprintf (Gbl.F.Out,"<option value=\"%ld\"",DegCod); fprintf (Gbl.F.Out,"<option value=\"%ld\"",DegCod);

View File

@ -1012,7 +1012,7 @@ void Ins_FreeListInstitutions (void)
/************************ Write selector of institution **********************/ /************************ Write selector of institution **********************/
/*****************************************************************************/ /*****************************************************************************/
void Ins_WriteSelectorOfInstitution (Act_Action_t NextAction) void Ins_WriteSelectorOfInstitution (void)
{ {
extern const char *Txt_Institution; extern const char *Txt_Institution;
char Query[512]; char Query[512];
@ -1023,7 +1023,7 @@ void Ins_WriteSelectorOfInstitution (Act_Action_t NextAction)
long InsCod; long InsCod;
/***** Start form *****/ /***** Start form *****/
Act_FormGoToStart (NextAction); Act_FormGoToStart (ActSeeCtr);
fprintf (Gbl.F.Out,"<select name=\"ins\" style=\"width:140px;\""); fprintf (Gbl.F.Out,"<select name=\"ins\" style=\"width:140px;\"");
if (Gbl.CurrentCty.Cty.CtyCod > 0) if (Gbl.CurrentCty.Cty.CtyCod > 0)
fprintf (Gbl.F.Out," onchange=\"javascript:document.getElementById('%s').submit();\"", fprintf (Gbl.F.Out," onchange=\"javascript:document.getElementById('%s').submit();\"",

View File

@ -101,7 +101,7 @@ void Ins_GetListInstitutions (long CtyCod,Ins_GetExtraData_t GetExtraData);
bool Ins_GetDataOfInstitutionByCod (struct Institution *Ins, bool Ins_GetDataOfInstitutionByCod (struct Institution *Ins,
Ins_GetExtraData_t GetExtraData); Ins_GetExtraData_t GetExtraData);
void Ins_FreeListInstitutions (void); void Ins_FreeListInstitutions (void);
void Ins_WriteSelectorOfInstitution (Act_Action_t NextAction); void Ins_WriteSelectorOfInstitution (void);
void Ins_PutParamInsCod (long InsCod); void Ins_PutParamInsCod (long InsCod);
long Ins_GetParamOtherInsCod (void); long Ins_GetParamOtherInsCod (void);
void Ins_RemoveInstitution (void); void Ins_RemoveInstitution (void);