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 *************************/
/*****************************************************************************/
void Ctr_WriteSelectorOfCentre (Act_Action_t NextAction)
void Ctr_WriteSelectorOfCentre (void)
{
extern const char *Txt_Centre;
char Query[128];
@ -1068,7 +1068,7 @@ void Ctr_WriteSelectorOfCentre (Act_Action_t NextAction)
long CtrCod;
/***** Start form *****/
Act_FormGoToStart (NextAction);
Act_FormGoToStart (ActSeeDeg);
fprintf (Gbl.F.Out,"<select name=\"ctr\" style=\"width:140px;\"");
if (Gbl.CurrentIns.Ins.InsCod > 0)
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);
long Ctr_GetInsCodOfCentreByCod (long CtrCod);
void Ctr_FreeListCentres (void);
void Ctr_WriteSelectorOfCentre (Act_Action_t NextAction);
void Ctr_WriteSelectorOfCentre (void);
void Ctr_PutParamCtrCod (long CtrCod);
long Ctr_GetParamOtherCtrCod (void);
void Ctr_RemoveCentre (void);

View File

@ -103,11 +103,12 @@
/****************************** 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:
// 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.
Fixed bug in selectors of country, institution, centre and degree. (184819 lines)
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 ************************/
/*****************************************************************************/
void Cty_WriteSelectorOfCountry (Act_Action_t NextAction)
void Cty_WriteSelectorOfCountry (void)
{
extern const char *Txt_Country;
extern const char *Txt_STR_LANG_ID[Txt_NUM_LANGUAGES];
@ -995,7 +995,7 @@ void Cty_WriteSelectorOfCountry (Act_Action_t NextAction)
long CtyCod;
/***** Start form *****/
Act_FormGoToStart (NextAction);
Act_FormGoToStart (ActSeeIns);
fprintf (Gbl.F.Out,"<select name=\"cty\" style=\"width:140px;\""
" onchange=\"javascript:document.getElementById('%s').submit();\">"
"<option value=\"\"",

View File

@ -85,7 +85,7 @@ void Cty_PutHiddenParamCtyOrderType (void);
void Cty_EditCountries (void);
void Cty_GetListCountries (Cty_GetExtraData_t GetExtraData);
void Cty_FreeListCountries (void);
void Cty_WriteSelectorOfCountry (Act_Action_t NextAction);
void Cty_WriteSelectorOfCountry (void);
bool Cty_GetDataOfCountryByCod (struct Country *Cty);
void Cty_GetCountryName (long CtyCod,char *CtyName);
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");
}
/*****************************************************************************/
/*************************** 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 *************************/
/*****************************************************************************/

View File

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

View File

@ -86,7 +86,7 @@ typedef enum
static void Deg_Configuration (bool PrintView);
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_ListDegreeTypesForSeeing (void);
static void Deg_ListDegreeTypesForEdition (void);
@ -489,6 +489,7 @@ void Deg_WriteMenuAllCourses (void)
extern const char *Txt_Institution;
extern const char *Txt_Centre;
extern const char *Txt_Degree;
extern const char *Txt_Course;
/***** Start of table *****/
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_2\""
@ -502,7 +503,7 @@ void Deg_WriteMenuAllCourses (void)
"</td>"
"<td style=\"text-align:left;\">",
The_ClassFormul[Gbl.Prefs.Theme],Txt_Country);
Cty_WriteSelectorOfCountry (ActSeeIns);
Cty_WriteSelectorOfCountry ();
fprintf (Gbl.F.Out,"</td>"
"</tr>");
@ -516,7 +517,7 @@ void Deg_WriteMenuAllCourses (void)
"</td>"
"<td style=\"text-align:left;\">",
The_ClassFormul[Gbl.Prefs.Theme],Txt_Institution);
Ins_WriteSelectorOfInstitution (ActSeeCtr);
Ins_WriteSelectorOfInstitution ();
fprintf (Gbl.F.Out,"</td>"
"</tr>");
@ -530,7 +531,7 @@ void Deg_WriteMenuAllCourses (void)
"</td>"
"<td style=\"text-align:left;\">",
The_ClassFormul[Gbl.Prefs.Theme],Txt_Centre);
Ctr_WriteSelectorOfCentre (ActSeeDeg);
Ctr_WriteSelectorOfCentre ();
fprintf (Gbl.F.Out,"</td>"
"</tr>");
@ -544,9 +545,24 @@ void Deg_WriteMenuAllCourses (void)
"</td>"
"<td style=\"text-align:left;\">",
The_ClassFormul[Gbl.Prefs.Theme],Txt_Degree);
Deg_WriteSelectorOfDegree (ActSeeCrs);
Deg_WriteSelectorOfDegree ();
fprintf (Gbl.F.Out,"</td>"
"</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 ************************/
/*****************************************************************************/
static void Deg_WriteSelectorOfDegree (Act_Action_t NextAction)
static void Deg_WriteSelectorOfDegree (void)
{
extern const char *Txt_Degree;
char Query[512];
@ -570,7 +586,7 @@ static void Deg_WriteSelectorOfDegree (Act_Action_t NextAction)
long DegCod;
/***** Start form *****/
Act_FormGoToStart (NextAction);
Act_FormGoToStart (ActSeeCrs);
fprintf (Gbl.F.Out,"<select name=\"deg\" style=\"width:140px;\"");
if (Gbl.CurrentCtr.Ctr.CtrCod > 0)
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]) */
if ((DegCod = Str_ConvertStrCodToLongCod (row[0])) < 0)
Lay_ShowErrorAndExit ("Wrong type of degree.");
Lay_ShowErrorAndExit ("Wrong degree.");
/* Write option */
fprintf (Gbl.F.Out,"<option value=\"%ld\"",DegCod);

View File

@ -1012,7 +1012,7 @@ void Ins_FreeListInstitutions (void)
/************************ Write selector of institution **********************/
/*****************************************************************************/
void Ins_WriteSelectorOfInstitution (Act_Action_t NextAction)
void Ins_WriteSelectorOfInstitution (void)
{
extern const char *Txt_Institution;
char Query[512];
@ -1023,7 +1023,7 @@ void Ins_WriteSelectorOfInstitution (Act_Action_t NextAction)
long InsCod;
/***** Start form *****/
Act_FormGoToStart (NextAction);
Act_FormGoToStart (ActSeeCtr);
fprintf (Gbl.F.Out,"<select name=\"ins\" style=\"width:140px;\"");
if (Gbl.CurrentCty.Cty.CtyCod > 0)
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,
Ins_GetExtraData_t GetExtraData);
void Ins_FreeListInstitutions (void);
void Ins_WriteSelectorOfInstitution (Act_Action_t NextAction);
void Ins_WriteSelectorOfInstitution (void);
void Ins_PutParamInsCod (long InsCod);
long Ins_GetParamOtherInsCod (void);
void Ins_RemoveInstitution (void);