Version 16.167.10

This commit is contained in:
Antonio Cañas Vargas 2017-03-26 03:36:48 +02:00
parent 1309702c8c
commit 71e6cb2a23
2 changed files with 36 additions and 28 deletions

View File

@ -209,13 +209,14 @@
/****************************** Public constants *****************************/ /****************************** Public constants *****************************/
/*****************************************************************************/ /*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 16.167.9 (2017-03-26)" #define Log_PLATFORM_VERSION "SWAD 16.167.10 (2017-03-26)"
#define CSS_FILE "swad16.166.css" #define CSS_FILE "swad16.166.css"
#define JS_FILE "swad16.144.js" #define JS_FILE "swad16.144.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 16.167.10:Mar 26, 2017 Code refactoring in edition of courses. (217688 lines)
Version 16.167.9: Mar 26, 2017 Code refactoring in edition of centres. (217680 lines) Version 16.167.9: Mar 26, 2017 Code refactoring in edition of centres. (217680 lines)
Version 16.167.8: Mar 26, 2017 Changes in edition of holidays. (217681 lines) Version 16.167.8: Mar 26, 2017 Changes in edition of holidays. (217681 lines)
Version 16.167.7: Mar 26, 2017 Changes in edition of holidays. (217674 lines) Version 16.167.7: Mar 26, 2017 Changes in edition of holidays. (217674 lines)

View File

@ -1873,14 +1873,14 @@ static void Crs_RecFormRequestOrCreateCrs (unsigned Status)
if (Crs_CheckIfCrsNameExistsInYearOfDeg ("ShortName",Crs->ShrtName,-1L, if (Crs_CheckIfCrsNameExistsInYearOfDeg ("ShortName",Crs->ShrtName,-1L,
Crs->DegCod,Crs->Year)) Crs->DegCod,Crs->Year))
{ {
Gbl.Error = true; Gbl.AlertType = Lay_WARNING;
sprintf (Gbl.Message,Txt_The_course_X_already_exists, sprintf (Gbl.Message,Txt_The_course_X_already_exists,
Crs->ShrtName); Crs->ShrtName);
} }
else if (Crs_CheckIfCrsNameExistsInYearOfDeg ("FullName",Crs->FullName,-1L, else if (Crs_CheckIfCrsNameExistsInYearOfDeg ("FullName",Crs->FullName,-1L,
Crs->DegCod,Crs->Year)) Crs->DegCod,Crs->Year))
{ {
Gbl.Error = true; Gbl.AlertType = Lay_WARNING;
sprintf (Gbl.Message,Txt_The_course_X_already_exists, sprintf (Gbl.Message,Txt_The_course_X_already_exists,
Crs->FullName); Crs->FullName);
} }
@ -1889,13 +1889,13 @@ static void Crs_RecFormRequestOrCreateCrs (unsigned Status)
} }
else // If there is not a course name else // If there is not a course name
{ {
Gbl.Error = true; Gbl.AlertType = Lay_WARNING;
sprintf (Gbl.Message,"%s",Txt_You_must_specify_the_short_name_and_the_full_name_of_the_new_course); sprintf (Gbl.Message,"%s",Txt_You_must_specify_the_short_name_and_the_full_name_of_the_new_course);
} }
} }
else // Year not valid else // Year not valid
{ {
Gbl.Error = true; Gbl.AlertType = Lay_WARNING;
sprintf (Gbl.Message,Txt_The_year_X_is_not_allowed,Crs->Year); sprintf (Gbl.Message,Txt_The_year_X_is_not_allowed,Crs->Year);
} }
} }
@ -1947,6 +1947,7 @@ static void Crs_CreateCourse (struct Course *Crs,unsigned Status)
Crs->CrsCod = DB_QueryINSERTandReturnCode (Query,"can not create a new course"); Crs->CrsCod = DB_QueryINSERTandReturnCode (Query,"can not create a new course");
/***** Create success message *****/ /***** Create success message *****/
Gbl.AlertType = Lay_SUCCESS;
sprintf (Gbl.Message,Txt_Created_new_course_X,Crs->FullName); sprintf (Gbl.Message,Txt_Created_new_course_X,Crs->FullName);
} }
@ -2326,16 +2327,20 @@ void Crs_ChangeInsCrsCod (void)
if (strcmp (NewInstitutionalCrsCod,Crs->InstitutionalCrsCod)) if (strcmp (NewInstitutionalCrsCod,Crs->InstitutionalCrsCod))
{ {
Crs_UpdateInstitutionalCrsCod (Crs,NewInstitutionalCrsCod); Crs_UpdateInstitutionalCrsCod (Crs,NewInstitutionalCrsCod);
Gbl.AlertType = Lay_SUCCESS;
sprintf (Gbl.Message,Txt_The_institutional_code_of_the_course_X_has_changed_to_Y, sprintf (Gbl.Message,Txt_The_institutional_code_of_the_course_X_has_changed_to_Y,
Crs->ShrtName,NewInstitutionalCrsCod); Crs->ShrtName,NewInstitutionalCrsCod);
} }
else // The same institutional code else // The same institutional code
{
Gbl.AlertType = Lay_INFO;
sprintf (Gbl.Message,Txt_The_institutional_code_of_the_course_X_has_not_changed, sprintf (Gbl.Message,Txt_The_institutional_code_of_the_course_X_has_not_changed,
Crs->ShrtName); Crs->ShrtName);
}
} }
else else
{ {
Gbl.Error = true; Gbl.AlertType = Lay_WARNING;
sprintf (Gbl.Message,"%s",Txt_You_dont_have_permission_to_edit_this_course); sprintf (Gbl.Message,"%s",Txt_You_dont_have_permission_to_edit_this_course);
} }
} }
@ -2364,14 +2369,14 @@ void Crs_ChangeCrsDegInConfig (void)
if (Crs_CheckIfCrsNameExistsInYearOfDeg ("ShortName",Gbl.CurrentCrs.Crs.ShrtName,-1L, if (Crs_CheckIfCrsNameExistsInYearOfDeg ("ShortName",Gbl.CurrentCrs.Crs.ShrtName,-1L,
NewDeg.DegCod,Gbl.CurrentCrs.Crs.Year)) NewDeg.DegCod,Gbl.CurrentCrs.Crs.Year))
{ {
Gbl.Error = true; Gbl.AlertType = Lay_WARNING;
sprintf (Gbl.Message,Txt_In_the_year_X_of_the_degree_Y_already_existed_a_course_with_the_name_Z, sprintf (Gbl.Message,Txt_In_the_year_X_of_the_degree_Y_already_existed_a_course_with_the_name_Z,
Txt_YEAR_OF_DEGREE[Gbl.CurrentCrs.Crs.Year],NewDeg.FullName,Gbl.CurrentCrs.Crs.ShrtName); Txt_YEAR_OF_DEGREE[Gbl.CurrentCrs.Crs.Year],NewDeg.FullName,Gbl.CurrentCrs.Crs.ShrtName);
} }
else if (Crs_CheckIfCrsNameExistsInYearOfDeg ("FullName",Gbl.CurrentCrs.Crs.FullName,-1L, else if (Crs_CheckIfCrsNameExistsInYearOfDeg ("FullName",Gbl.CurrentCrs.Crs.FullName,-1L,
NewDeg.DegCod,Gbl.CurrentCrs.Crs.Year)) NewDeg.DegCod,Gbl.CurrentCrs.Crs.Year))
{ {
Gbl.Error = true; Gbl.AlertType = Lay_WARNING;
sprintf (Gbl.Message,Txt_In_the_year_X_of_the_degree_Y_already_existed_a_course_with_the_name_Z, sprintf (Gbl.Message,Txt_In_the_year_X_of_the_degree_Y_already_existed_a_course_with_the_name_Z,
Txt_YEAR_OF_DEGREE[Gbl.CurrentCrs.Crs.Year],NewDeg.FullName,Gbl.CurrentCrs.Crs.FullName); Txt_YEAR_OF_DEGREE[Gbl.CurrentCrs.Crs.Year],NewDeg.FullName,Gbl.CurrentCrs.Crs.FullName);
} }
@ -2386,6 +2391,7 @@ void Crs_ChangeCrsDegInConfig (void)
Hie_InitHierarchy (); Hie_InitHierarchy ();
/***** Create message to show the change made *****/ /***** Create message to show the change made *****/
Gbl.AlertType = Lay_SUCCESS;
sprintf (Gbl.Message,Txt_The_course_X_has_been_moved_to_the_degree_Y, sprintf (Gbl.Message,Txt_The_course_X_has_been_moved_to_the_degree_Y,
Gbl.CurrentCrs.Crs.FullName, Gbl.CurrentCrs.Crs.FullName,
Gbl.CurrentDeg.Deg.FullName); Gbl.CurrentDeg.Deg.FullName);
@ -2400,9 +2406,7 @@ void Crs_ChangeCrsDegInConfig (void)
void Crs_ContEditAfterChgCrsInConfig (void) void Crs_ContEditAfterChgCrsInConfig (void)
{ {
/***** Write error/success message *****/ /***** Write error/success message *****/
Lay_ShowAlert (Gbl.Error ? Lay_WARNING : Lay_ShowAlert (Gbl.AlertType,Gbl.Message);
Lay_SUCCESS,
Gbl.Message);
/***** Show the form again *****/ /***** Show the form again *****/
Crs_ShowIntroduction (); Crs_ShowIntroduction ();
@ -2445,14 +2449,14 @@ void Crs_ChangeCrsYearInConfig (void)
if (Crs_CheckIfCrsNameExistsInYearOfDeg ("ShortName",Gbl.CurrentCrs.Crs.ShrtName,-1L, if (Crs_CheckIfCrsNameExistsInYearOfDeg ("ShortName",Gbl.CurrentCrs.Crs.ShrtName,-1L,
Gbl.CurrentCrs.Crs.DegCod,NewYear)) Gbl.CurrentCrs.Crs.DegCod,NewYear))
{ {
Gbl.Error = true; Gbl.AlertType = Lay_WARNING;
sprintf (Gbl.Message,Txt_The_course_X_already_exists_in_year_Y, sprintf (Gbl.Message,Txt_The_course_X_already_exists_in_year_Y,
Gbl.CurrentCrs.Crs.ShrtName,Txt_YEAR_OF_DEGREE[NewYear]); Gbl.CurrentCrs.Crs.ShrtName,Txt_YEAR_OF_DEGREE[NewYear]);
} }
else if (Crs_CheckIfCrsNameExistsInYearOfDeg ("FullName",Gbl.CurrentCrs.Crs.FullName,-1L, else if (Crs_CheckIfCrsNameExistsInYearOfDeg ("FullName",Gbl.CurrentCrs.Crs.FullName,-1L,
Gbl.CurrentCrs.Crs.DegCod,NewYear)) Gbl.CurrentCrs.Crs.DegCod,NewYear))
{ {
Gbl.Error = true; Gbl.AlertType = Lay_WARNING;
sprintf (Gbl.Message,Txt_The_course_X_already_exists_in_year_Y, sprintf (Gbl.Message,Txt_The_course_X_already_exists_in_year_Y,
Gbl.CurrentCrs.Crs.FullName,Txt_YEAR_OF_DEGREE[NewYear]); Gbl.CurrentCrs.Crs.FullName,Txt_YEAR_OF_DEGREE[NewYear]);
} }
@ -2462,13 +2466,14 @@ void Crs_ChangeCrsYearInConfig (void)
Crs_UpdateCrsYear (&Gbl.CurrentCrs.Crs,NewYear); Crs_UpdateCrsYear (&Gbl.CurrentCrs.Crs,NewYear);
/***** Create message to show the change made *****/ /***** Create message to show the change made *****/
Gbl.AlertType = Lay_SUCCESS;
sprintf (Gbl.Message,Txt_The_year_of_the_course_X_has_changed, sprintf (Gbl.Message,Txt_The_year_of_the_course_X_has_changed,
Gbl.CurrentCrs.Crs.ShrtName); Gbl.CurrentCrs.Crs.ShrtName);
} }
} }
else // Year not valid else // Year not valid
{ {
Gbl.Error = true; Gbl.AlertType = Lay_WARNING;
sprintf (Gbl.Message,Txt_The_year_X_is_not_allowed,NewYear); sprintf (Gbl.Message,Txt_The_year_X_is_not_allowed,NewYear);
} }
} }
@ -2512,14 +2517,14 @@ void Crs_ChangeCrsYear (void)
if (Crs_CheckIfCrsNameExistsInYearOfDeg ("ShortName",Crs->ShrtName,-1L, if (Crs_CheckIfCrsNameExistsInYearOfDeg ("ShortName",Crs->ShrtName,-1L,
Crs->DegCod,NewYear)) Crs->DegCod,NewYear))
{ {
Gbl.Error = true; Gbl.AlertType = Lay_WARNING;
sprintf (Gbl.Message,Txt_The_course_X_already_exists_in_year_Y, sprintf (Gbl.Message,Txt_The_course_X_already_exists_in_year_Y,
Crs->ShrtName,Txt_YEAR_OF_DEGREE[NewYear]); Crs->ShrtName,Txt_YEAR_OF_DEGREE[NewYear]);
} }
else if (Crs_CheckIfCrsNameExistsInYearOfDeg ("FullName",Crs->FullName,-1L, else if (Crs_CheckIfCrsNameExistsInYearOfDeg ("FullName",Crs->FullName,-1L,
Crs->DegCod,NewYear)) Crs->DegCod,NewYear))
{ {
Gbl.Error = true; Gbl.AlertType = Lay_WARNING;
sprintf (Gbl.Message,Txt_The_course_X_already_exists_in_year_Y, sprintf (Gbl.Message,Txt_The_course_X_already_exists_in_year_Y,
Crs->FullName,Txt_YEAR_OF_DEGREE[NewYear]); Crs->FullName,Txt_YEAR_OF_DEGREE[NewYear]);
} }
@ -2529,19 +2534,20 @@ void Crs_ChangeCrsYear (void)
Crs_UpdateCrsYear (Crs,NewYear); Crs_UpdateCrsYear (Crs,NewYear);
/***** Create message to show the change made *****/ /***** Create message to show the change made *****/
Gbl.AlertType = Lay_SUCCESS;
sprintf (Gbl.Message,Txt_The_year_of_the_course_X_has_changed, sprintf (Gbl.Message,Txt_The_year_of_the_course_X_has_changed,
Crs->ShrtName); Crs->ShrtName);
} }
} }
else // Year not valid else // Year not valid
{ {
Gbl.Error = true; Gbl.AlertType = Lay_WARNING;
sprintf (Gbl.Message,Txt_The_year_X_is_not_allowed,NewYear); sprintf (Gbl.Message,Txt_The_year_X_is_not_allowed,NewYear);
} }
} }
else else
{ {
Gbl.Error = true; Gbl.AlertType = Lay_WARNING;
sprintf (Gbl.Message,"%s",Txt_You_dont_have_permission_to_edit_this_course); sprintf (Gbl.Message,"%s",Txt_You_dont_have_permission_to_edit_this_course);
} }
} }
@ -2656,7 +2662,7 @@ static void Crs_RenameCourse (struct Course *Crs,Cns_ShrtOrFullName_t ShrtOrFull
/***** Check if new name is empty *****/ /***** Check if new name is empty *****/
if (!NewCrsName[0]) if (!NewCrsName[0])
{ {
Gbl.Error = true; Gbl.AlertType = Lay_WARNING;
sprintf (Gbl.Message,Txt_You_can_not_leave_the_name_of_the_course_X_empty, sprintf (Gbl.Message,Txt_You_can_not_leave_the_name_of_the_course_X_empty,
CurrentCrsName); CurrentCrsName);
} }
@ -2669,7 +2675,7 @@ static void Crs_RenameCourse (struct Course *Crs,Cns_ShrtOrFullName_t ShrtOrFull
if (Crs_CheckIfCrsNameExistsInYearOfDeg (ParamName,NewCrsName,Crs->CrsCod, if (Crs_CheckIfCrsNameExistsInYearOfDeg (ParamName,NewCrsName,Crs->CrsCod,
Crs->DegCod,Crs->Year)) Crs->DegCod,Crs->Year))
{ {
Gbl.Error = true; Gbl.AlertType = Lay_WARNING;
sprintf (Gbl.Message,Txt_The_course_X_already_exists, sprintf (Gbl.Message,Txt_The_course_X_already_exists,
NewCrsName); NewCrsName);
} }
@ -2679,6 +2685,7 @@ static void Crs_RenameCourse (struct Course *Crs,Cns_ShrtOrFullName_t ShrtOrFull
Crs_UpdateCrsNameDB (Crs->CrsCod,FieldName,NewCrsName); Crs_UpdateCrsNameDB (Crs->CrsCod,FieldName,NewCrsName);
/* Create message to show the change made */ /* Create message to show the change made */
Gbl.AlertType = Lay_SUCCESS;
sprintf (Gbl.Message,Txt_The_name_of_the_course_X_has_changed_to_Y, sprintf (Gbl.Message,Txt_The_name_of_the_course_X_has_changed_to_Y,
CurrentCrsName,NewCrsName); CurrentCrsName,NewCrsName);
@ -2688,13 +2695,16 @@ static void Crs_RenameCourse (struct Course *Crs,Cns_ShrtOrFullName_t ShrtOrFull
} }
} }
else // The same name else // The same name
{
Gbl.AlertType = Lay_INFO;
sprintf (Gbl.Message,Txt_The_name_of_the_course_X_has_not_changed, sprintf (Gbl.Message,Txt_The_name_of_the_course_X_has_not_changed,
CurrentCrsName); CurrentCrsName);
}
} }
} }
else else
{ {
Gbl.Error = true; Gbl.AlertType = Lay_WARNING;
sprintf (Gbl.Message,"%s",Txt_You_dont_have_permission_to_edit_this_course); sprintf (Gbl.Message,"%s",Txt_You_dont_have_permission_to_edit_this_course);
} }
} }
@ -2782,14 +2792,11 @@ void Crs_ContEditAfterChgCrs (void)
{ {
bool PutButtonToRequestRegistration; bool PutButtonToRequestRegistration;
if (Gbl.Error) /***** Write warning / success message *****/
/***** Write error message *****/ Lay_ShowAlert (Gbl.AlertType,Gbl.Message);
Lay_ShowAlert (Lay_WARNING,Gbl.Message);
else
{
/***** Write success message showing the change made *****/
Lay_ShowAlert (Lay_SUCCESS,Gbl.Message);
if (Gbl.AlertType == Lay_SUCCESS)
{
fprintf (Gbl.F.Out,"<div class=\"BUTTONS_AFTER_ALERT\">"); fprintf (Gbl.F.Out,"<div class=\"BUTTONS_AFTER_ALERT\">");
/***** Put button to go to course changed *****/ /***** Put button to go to course changed *****/