mirror of https://github.com/acanas/swad-core.git
Version18.101
This commit is contained in:
parent
dacd85bb3b
commit
bafd41dbe7
|
@ -464,10 +464,13 @@ En OpenSWAD:
|
||||||
ps2pdf source.ps destination.pdf
|
ps2pdf source.ps destination.pdf
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 18.100 (2019-04-07)"
|
#define Log_PLATFORM_VERSION "SWAD 18.101 (2019-04-08)"
|
||||||
#define CSS_FILE "swad18.92.css"
|
#define CSS_FILE "swad18.92.css"
|
||||||
#define JS_FILE "swad18.92.js"
|
#define JS_FILE "swad18.92.js"
|
||||||
/*
|
/*
|
||||||
|
¿Por qué Crs_RemoveCourse () no está como función a priori igual que las otras? Ver si se puede poner a priori
|
||||||
|
En degree, centre, institution y country, hacer más funciones a priori al estilo de como está hecha la edición de course
|
||||||
|
Version 18.101: Apr 08, 2019 Code refactoring in edition of degree types. (241926 lines)
|
||||||
Version 18.100: Apr 07, 2019 Code refactoring in edition of courses. (241882 lines)
|
Version 18.100: Apr 07, 2019 Code refactoring in edition of courses. (241882 lines)
|
||||||
Version 18.99: Apr 07, 2019 Code refactoring in edition of degrees. (241822 lines)
|
Version 18.99: Apr 07, 2019 Code refactoring in edition of degrees. (241822 lines)
|
||||||
Version 18.98: Apr 06, 2019 Code refactoring in edition of centres. (241762 lines)
|
Version 18.98: Apr 06, 2019 Code refactoring in edition of centres. (241762 lines)
|
||||||
|
|
|
@ -2190,8 +2190,7 @@ void Deg_ChangeDegreeType (void)
|
||||||
DB_QueryUPDATE ("can not update the type of a degree",
|
DB_QueryUPDATE ("can not update the type of a degree",
|
||||||
"UPDATE degrees SET DegTypCod=%ld WHERE DegCod=%ld",
|
"UPDATE degrees SET DegTypCod=%ld WHERE DegCod=%ld",
|
||||||
NewDegTypCod,Deg_EditingDeg->DegCod);
|
NewDegTypCod,Deg_EditingDeg->DegCod);
|
||||||
Gbl.DegTypes.EditingDegTyp.DegTypCod =
|
Deg_EditingDeg->DegTypCod = NewDegTypCod;
|
||||||
Deg_EditingDeg->DegTypCod = NewDegTypCod;
|
|
||||||
|
|
||||||
/***** Write alert to show the change made
|
/***** Write alert to show the change made
|
||||||
and put button to go to degree changed *****/
|
and put button to go to degree changed *****/
|
||||||
|
|
|
@ -50,19 +50,21 @@
|
||||||
extern struct Globals Gbl;
|
extern struct Globals Gbl;
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*************************** Public constants ********************************/
|
/**************************** Public constants *******************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/***************************** Private types *********************************/
|
/****************************** Private types ********************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/**************************** Private constants ******************************/
|
/**************************** Private variables ******************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
static struct DegreeType *DT_EditingDegTyp = NULL; // Static variable to keep the degree type beeing edited
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/**************************** Private prototypes *****************************/
|
/*************************** Private prototypes ******************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
static void DT_SeeDegreeTypes (Act_Action_t NextAction,Hie_Level_t Scope,
|
static void DT_SeeDegreeTypes (Act_Action_t NextAction,Hie_Level_t Scope,
|
||||||
|
@ -71,6 +73,7 @@ static DT_Order_t DT_GetParamDegTypOrder (DT_Order_t DefaultOrder);
|
||||||
|
|
||||||
static void DT_ListDegreeTypes (Act_Action_t NextAction,DT_Order_t SelectedOrder);
|
static void DT_ListDegreeTypes (Act_Action_t NextAction,DT_Order_t SelectedOrder);
|
||||||
|
|
||||||
|
static void DT_EditDegreeTypesInternal (void);
|
||||||
static void DT_PutIconsEditingDegreeTypes (void);
|
static void DT_PutIconsEditingDegreeTypes (void);
|
||||||
|
|
||||||
static void DT_ListDegreeTypesForSeeing (void);
|
static void DT_ListDegreeTypesForSeeing (void);
|
||||||
|
@ -78,6 +81,8 @@ static void DT_PutIconsListingDegTypes (void);
|
||||||
static void DT_PutIconToEditDegTypes (void);
|
static void DT_PutIconToEditDegTypes (void);
|
||||||
static void DT_ListDegreeTypesForEdition (void);
|
static void DT_ListDegreeTypesForEdition (void);
|
||||||
|
|
||||||
|
static void DT_PutFormToCreateDegreeType (void);
|
||||||
|
|
||||||
static void DT_PutHeadDegreeTypesForSeeing (Act_Action_t NextAction,DT_Order_t SelectedOrder);
|
static void DT_PutHeadDegreeTypesForSeeing (Act_Action_t NextAction,DT_Order_t SelectedOrder);
|
||||||
static void DT_PutHeadDegreeTypesForEdition (void);
|
static void DT_PutHeadDegreeTypesForEdition (void);
|
||||||
static void DT_CreateDegreeType (struct DegreeType *DegTyp);
|
static void DT_CreateDegreeType (struct DegreeType *DegTyp);
|
||||||
|
@ -88,6 +93,9 @@ static unsigned DT_CountNumDegsOfType (long DegTypCod);
|
||||||
static void DT_RemoveDegreeTypeCompletely (long DegTypCod);
|
static void DT_RemoveDegreeTypeCompletely (long DegTypCod);
|
||||||
static bool DT_CheckIfDegreeTypeNameExists (const char *DegTypName,long DegTypCod);
|
static bool DT_CheckIfDegreeTypeNameExists (const char *DegTypName,long DegTypCod);
|
||||||
|
|
||||||
|
static void DT_EditingDegreeTypeConstructor (void);
|
||||||
|
static void DT_EditingDegreeTypeDestructor (void);
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/************** Show selector of degree types for statistics *****************/
|
/************** Show selector of degree types for statistics *****************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -237,6 +245,18 @@ static void DT_ListDegreeTypes (Act_Action_t NextAction,DT_Order_t SelectedOrder
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void DT_EditDegreeTypes (void)
|
void DT_EditDegreeTypes (void)
|
||||||
|
{
|
||||||
|
/***** Degree type constructor *****/
|
||||||
|
DT_EditingDegreeTypeConstructor ();
|
||||||
|
|
||||||
|
/***** Edit degree types *****/
|
||||||
|
DT_EditDegreeTypesInternal ();
|
||||||
|
|
||||||
|
/***** Degree type destructor *****/
|
||||||
|
DT_EditingDegreeTypeDestructor ();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void DT_EditDegreeTypesInternal (void)
|
||||||
{
|
{
|
||||||
extern const char *Hlp_CENTRE_DegreeTypes_edit;
|
extern const char *Hlp_CENTRE_DegreeTypes_edit;
|
||||||
extern const char *Txt_Types_of_degree;
|
extern const char *Txt_Types_of_degree;
|
||||||
|
@ -437,7 +457,7 @@ bool DT_CheckIfICanCreateDegreeTypes (void)
|
||||||
/******************** Put a form to create a new degree type *****************/
|
/******************** Put a form to create a new degree type *****************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void DT_PutFormToCreateDegreeType (void)
|
static void DT_PutFormToCreateDegreeType (void)
|
||||||
{
|
{
|
||||||
extern const char *Txt_New_type_of_degree;
|
extern const char *Txt_New_type_of_degree;
|
||||||
extern const char *Txt_Create_type_of_degree;
|
extern const char *Txt_Create_type_of_degree;
|
||||||
|
@ -465,7 +485,7 @@ void DT_PutFormToCreateDegreeType (void)
|
||||||
" size=\"25\" maxlength=\"%u\" value=\"%s\""
|
" size=\"25\" maxlength=\"%u\" value=\"%s\""
|
||||||
" required=\"required\" />"
|
" required=\"required\" />"
|
||||||
"</td>",
|
"</td>",
|
||||||
Deg_MAX_CHARS_DEGREE_TYPE_NAME,Gbl.DegTypes.EditingDegTyp.DegTypName);
|
Deg_MAX_CHARS_DEGREE_TYPE_NAME,DT_EditingDegTyp->DegTypName);
|
||||||
|
|
||||||
/***** Number of degrees of this degree type ****/
|
/***** Number of degrees of this degree type ****/
|
||||||
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
|
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
|
||||||
|
@ -723,28 +743,31 @@ void DT_RecFormNewDegreeType (void)
|
||||||
{
|
{
|
||||||
extern const char *Txt_The_type_of_degree_X_already_exists;
|
extern const char *Txt_The_type_of_degree_X_already_exists;
|
||||||
extern const char *Txt_You_must_specify_the_name_of_the_new_type_of_degree;
|
extern const char *Txt_You_must_specify_the_name_of_the_new_type_of_degree;
|
||||||
struct DegreeType *DegTyp;
|
|
||||||
|
|
||||||
DegTyp = &Gbl.DegTypes.EditingDegTyp;
|
/***** Degree type constructor *****/
|
||||||
|
DT_EditingDegreeTypeConstructor ();
|
||||||
|
|
||||||
/***** Get parameters from form *****/
|
/***** Get parameters from form *****/
|
||||||
/* Get the name of degree type */
|
/* Get the name of degree type */
|
||||||
Par_GetParToText ("DegTypName",DegTyp->DegTypName,Deg_MAX_BYTES_DEGREE_TYPE_NAME);
|
Par_GetParToText ("DegTypName",DT_EditingDegTyp->DegTypName,Deg_MAX_BYTES_DEGREE_TYPE_NAME);
|
||||||
|
|
||||||
if (DegTyp->DegTypName[0]) // If there's a degree type name
|
if (DT_EditingDegTyp->DegTypName[0]) // If there's a degree type name
|
||||||
{
|
{
|
||||||
/***** If name of degree type was in database... *****/
|
/***** If name of degree type was in database... *****/
|
||||||
if (DT_CheckIfDegreeTypeNameExists (DegTyp->DegTypName,-1L))
|
if (DT_CheckIfDegreeTypeNameExists (DT_EditingDegTyp->DegTypName,-1L))
|
||||||
Ale_ShowAlert (Ale_WARNING,Txt_The_type_of_degree_X_already_exists,
|
Ale_ShowAlert (Ale_WARNING,Txt_The_type_of_degree_X_already_exists,
|
||||||
DegTyp->DegTypName);
|
DT_EditingDegTyp->DegTypName);
|
||||||
else // Add new degree type to database
|
else // Add new degree type to database
|
||||||
DT_CreateDegreeType (DegTyp);
|
DT_CreateDegreeType (DT_EditingDegTyp);
|
||||||
}
|
}
|
||||||
else // If there is not a degree type name
|
else // If there is not a degree type name
|
||||||
Ale_ShowAlert (Ale_WARNING,Txt_You_must_specify_the_name_of_the_new_type_of_degree);
|
Ale_ShowAlert (Ale_WARNING,Txt_You_must_specify_the_name_of_the_new_type_of_degree);
|
||||||
|
|
||||||
/***** Show the form again *****/
|
/***** Show the form again *****/
|
||||||
DT_EditDegreeTypes ();
|
DT_EditDegreeTypesInternal ();
|
||||||
|
|
||||||
|
/***** Degree type destructor *****/
|
||||||
|
DT_EditingDegreeTypeDestructor ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -755,30 +778,35 @@ void DT_RemoveDegreeType (void)
|
||||||
{
|
{
|
||||||
extern const char *Txt_To_remove_a_type_of_degree_you_must_first_remove_all_degrees_of_that_type;
|
extern const char *Txt_To_remove_a_type_of_degree_you_must_first_remove_all_degrees_of_that_type;
|
||||||
extern const char *Txt_Type_of_degree_X_removed;
|
extern const char *Txt_Type_of_degree_X_removed;
|
||||||
struct DegreeType DegTyp;
|
|
||||||
|
/***** Degree type constructor *****/
|
||||||
|
DT_EditingDegreeTypeConstructor ();
|
||||||
|
|
||||||
/***** Get the code of the degree type *****/
|
/***** Get the code of the degree type *****/
|
||||||
DegTyp.DegTypCod = DT_GetAndCheckParamOtherDegTypCod (1);
|
DT_EditingDegTyp->DegTypCod = DT_GetAndCheckParamOtherDegTypCod (1);
|
||||||
|
|
||||||
/***** Get data of the degree type from database *****/
|
/***** Get data of the degree type from database *****/
|
||||||
if (!DT_GetDataOfDegreeTypeByCod (&DegTyp))
|
if (!DT_GetDataOfDegreeTypeByCod (DT_EditingDegTyp))
|
||||||
Lay_ShowErrorAndExit ("Code of type of degree not found.");
|
Lay_ShowErrorAndExit ("Code of type of degree not found.");
|
||||||
|
|
||||||
/***** Check if this degree type has degrees *****/
|
/***** Check if this degree type has degrees *****/
|
||||||
if (DegTyp.NumDegs) // Degree type has degrees => don't remove
|
if (DT_EditingDegTyp->NumDegs) // Degree type has degrees => don't remove
|
||||||
Ale_ShowAlert (Ale_WARNING,Txt_To_remove_a_type_of_degree_you_must_first_remove_all_degrees_of_that_type);
|
Ale_ShowAlert (Ale_WARNING,Txt_To_remove_a_type_of_degree_you_must_first_remove_all_degrees_of_that_type);
|
||||||
else // Degree type has no degrees => remove it
|
else // Degree type has no degrees => remove it
|
||||||
{
|
{
|
||||||
/***** Remove degree type *****/
|
/***** Remove degree type *****/
|
||||||
DT_RemoveDegreeTypeCompletely (DegTyp.DegTypCod);
|
DT_RemoveDegreeTypeCompletely (DT_EditingDegTyp->DegTypCod);
|
||||||
|
|
||||||
/***** Write message to show the change made *****/
|
/***** Write message to show the change made *****/
|
||||||
Ale_ShowAlert (Ale_SUCCESS,Txt_Type_of_degree_X_removed,
|
Ale_ShowAlert (Ale_SUCCESS,Txt_Type_of_degree_X_removed,
|
||||||
DegTyp.DegTypName);
|
DT_EditingDegTyp->DegTypName);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Show the form again *****/
|
/***** Show the form again *****/
|
||||||
DT_EditDegreeTypes ();
|
DT_EditDegreeTypesInternal ();
|
||||||
|
|
||||||
|
/***** Degree type destructor *****/
|
||||||
|
DT_EditingDegreeTypeDestructor ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -924,34 +952,34 @@ void DT_RenameDegreeType (void)
|
||||||
extern const char *Txt_The_type_of_degree_X_already_exists;
|
extern const char *Txt_The_type_of_degree_X_already_exists;
|
||||||
extern const char *Txt_The_type_of_degree_X_has_been_renamed_as_Y;
|
extern const char *Txt_The_type_of_degree_X_has_been_renamed_as_Y;
|
||||||
extern const char *Txt_The_name_of_the_type_of_degree_X_has_not_changed;
|
extern const char *Txt_The_name_of_the_type_of_degree_X_has_not_changed;
|
||||||
struct DegreeType *DegTyp;
|
|
||||||
char NewNameDegTyp[Deg_MAX_BYTES_DEGREE_TYPE_NAME + 1];
|
char NewNameDegTyp[Deg_MAX_BYTES_DEGREE_TYPE_NAME + 1];
|
||||||
|
|
||||||
DegTyp = &Gbl.DegTypes.EditingDegTyp;
|
/***** Degree type constructor *****/
|
||||||
|
DT_EditingDegreeTypeConstructor ();
|
||||||
|
|
||||||
/***** Get parameters from form *****/
|
/***** Get parameters from form *****/
|
||||||
/* Get the code of the degree type */
|
/* Get the code of the degree type */
|
||||||
DegTyp->DegTypCod = DT_GetAndCheckParamOtherDegTypCod (1);
|
DT_EditingDegTyp->DegTypCod = DT_GetAndCheckParamOtherDegTypCod (1);
|
||||||
|
|
||||||
/* Get the new name for the degree type */
|
/* Get the new name for the degree type */
|
||||||
Par_GetParToText ("DegTypName",NewNameDegTyp,Deg_MAX_BYTES_DEGREE_TYPE_NAME);
|
Par_GetParToText ("DegTypName",NewNameDegTyp,Deg_MAX_BYTES_DEGREE_TYPE_NAME);
|
||||||
|
|
||||||
/***** Get from the database the old name of the degree type *****/
|
/***** Get from the database the old name of the degree type *****/
|
||||||
if (!DT_GetDataOfDegreeTypeByCod (DegTyp))
|
if (!DT_GetDataOfDegreeTypeByCod (DT_EditingDegTyp))
|
||||||
Lay_ShowErrorAndExit ("Code of type of degree not found.");
|
Lay_ShowErrorAndExit ("Code of type of degree not found.");
|
||||||
|
|
||||||
/***** Check if new name is empty *****/
|
/***** Check if new name is empty *****/
|
||||||
if (!NewNameDegTyp[0])
|
if (!NewNameDegTyp[0])
|
||||||
Ale_ShowAlert (Ale_WARNING,Txt_You_can_not_leave_the_name_of_the_type_of_degree_X_empty,
|
Ale_ShowAlert (Ale_WARNING,Txt_You_can_not_leave_the_name_of_the_type_of_degree_X_empty,
|
||||||
DegTyp->DegTypName);
|
DT_EditingDegTyp->DegTypName);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/***** Check if old and new names are the same
|
/***** Check if old and new names are the same
|
||||||
(this happens when return is pressed without changes) *****/
|
(this happens when return is pressed without changes) *****/
|
||||||
if (strcmp (DegTyp->DegTypName,NewNameDegTyp)) // Different names
|
if (strcmp (DT_EditingDegTyp->DegTypName,NewNameDegTyp)) // Different names
|
||||||
{
|
{
|
||||||
/***** If degree type was in database... *****/
|
/***** If degree type was in database... *****/
|
||||||
if (DT_CheckIfDegreeTypeNameExists (NewNameDegTyp,DegTyp->DegTypCod))
|
if (DT_CheckIfDegreeTypeNameExists (NewNameDegTyp,DT_EditingDegTyp->DegTypCod))
|
||||||
Ale_ShowAlert (Ale_WARNING,Txt_The_type_of_degree_X_already_exists,
|
Ale_ShowAlert (Ale_WARNING,Txt_The_type_of_degree_X_already_exists,
|
||||||
NewNameDegTyp);
|
NewNameDegTyp);
|
||||||
else
|
else
|
||||||
|
@ -960,11 +988,11 @@ void DT_RenameDegreeType (void)
|
||||||
DB_QueryUPDATE ("can not update the type of a degree",
|
DB_QueryUPDATE ("can not update the type of a degree",
|
||||||
"UPDATE deg_types SET DegTypName='%s'"
|
"UPDATE deg_types SET DegTypName='%s'"
|
||||||
" WHERE DegTypCod=%ld",
|
" WHERE DegTypCod=%ld",
|
||||||
NewNameDegTyp,DegTyp->DegTypCod);
|
NewNameDegTyp,DT_EditingDegTyp->DegTypCod);
|
||||||
|
|
||||||
/* Write message to show the change made */
|
/* Write message to show the change made */
|
||||||
Ale_ShowAlert (Ale_SUCCESS,Txt_The_type_of_degree_X_has_been_renamed_as_Y,
|
Ale_ShowAlert (Ale_SUCCESS,Txt_The_type_of_degree_X_has_been_renamed_as_Y,
|
||||||
DegTyp->DegTypName,NewNameDegTyp);
|
DT_EditingDegTyp->DegTypName,NewNameDegTyp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else // The same name
|
else // The same name
|
||||||
|
@ -973,9 +1001,12 @@ void DT_RenameDegreeType (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Show the form again *****/
|
/***** Show the form again *****/
|
||||||
Str_Copy (DegTyp->DegTypName,NewNameDegTyp,
|
Str_Copy (DT_EditingDegTyp->DegTypName,NewNameDegTyp,
|
||||||
Deg_MAX_BYTES_DEGREE_TYPE_NAME);
|
Deg_MAX_BYTES_DEGREE_TYPE_NAME);
|
||||||
DT_EditDegreeTypes ();
|
DT_EditDegreeTypesInternal ();
|
||||||
|
|
||||||
|
/***** Degree type destructor *****/
|
||||||
|
DT_EditingDegreeTypeDestructor ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -991,3 +1022,33 @@ static bool DT_CheckIfDegreeTypeNameExists (const char *DegTypName,long DegTypCo
|
||||||
" WHERE DegTypName='%s' AND DegTypCod<>%ld",
|
" WHERE DegTypName='%s' AND DegTypCod<>%ld",
|
||||||
DegTypName,DegTypCod) != 0);
|
DegTypName,DegTypCod) != 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/********************* Degree type constructor/destructor ********************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
static void DT_EditingDegreeTypeConstructor (void)
|
||||||
|
{
|
||||||
|
/***** Pointer must be NULL *****/
|
||||||
|
if (DT_EditingDegTyp != NULL)
|
||||||
|
Lay_ShowErrorAndExit ("Error initializing degree type.");
|
||||||
|
|
||||||
|
/***** Allocate memory for degree type *****/
|
||||||
|
if ((DT_EditingDegTyp = (struct DegreeType *) malloc (sizeof (struct DegreeType))) == NULL)
|
||||||
|
Lay_ShowErrorAndExit ("Error allocating memory for degree type.");
|
||||||
|
|
||||||
|
/***** Reset degree type *****/
|
||||||
|
DT_EditingDegTyp->DegTypCod = -1L;
|
||||||
|
DT_EditingDegTyp->DegTypName[0] = '\0';
|
||||||
|
DT_EditingDegTyp->NumDegs = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void DT_EditingDegreeTypeDestructor (void)
|
||||||
|
{
|
||||||
|
/***** Free memory used for degree type *****/
|
||||||
|
if (DT_EditingDegTyp != NULL)
|
||||||
|
{
|
||||||
|
free ((void *) DT_EditingDegTyp);
|
||||||
|
DT_EditingDegTyp = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -67,7 +67,6 @@ void DT_EditDegreeTypes (void);
|
||||||
void DT_PutIconToViewDegreeTypes (void);
|
void DT_PutIconToViewDegreeTypes (void);
|
||||||
|
|
||||||
bool DT_CheckIfICanCreateDegreeTypes (void);
|
bool DT_CheckIfICanCreateDegreeTypes (void);
|
||||||
void DT_PutFormToCreateDegreeType (void);
|
|
||||||
|
|
||||||
void DT_GetListDegreeTypes (Hie_Level_t Scope,DT_Order_t Order);
|
void DT_GetListDegreeTypes (Hie_Level_t Scope,DT_Order_t Order);
|
||||||
void DT_FreeListDegreeTypes (void);
|
void DT_FreeListDegreeTypes (void);
|
||||||
|
|
|
@ -275,9 +275,6 @@ void Gbl_InitializeGlobals (void)
|
||||||
Gbl.DegTypes.Num = 0;
|
Gbl.DegTypes.Num = 0;
|
||||||
Gbl.DegTypes.Lst = NULL;
|
Gbl.DegTypes.Lst = NULL;
|
||||||
|
|
||||||
Gbl.DegTypes.EditingDegTyp.DegTypCod = -1L;
|
|
||||||
Gbl.DegTypes.EditingDegTyp.DegTypName[0] = '\0';
|
|
||||||
|
|
||||||
Gbl.Crs.Grps.NumGrps = 0;
|
Gbl.Crs.Grps.NumGrps = 0;
|
||||||
Gbl.Crs.Grps.WhichGrps = Grp_WHICH_GROUPS_DEFAULT;
|
Gbl.Crs.Grps.WhichGrps = Grp_WHICH_GROUPS_DEFAULT;
|
||||||
Gbl.Crs.Grps.GrpTypes.LstGrpTypes = NULL;
|
Gbl.Crs.Grps.GrpTypes.LstGrpTypes = NULL;
|
||||||
|
|
|
@ -218,7 +218,6 @@ struct Globals
|
||||||
{
|
{
|
||||||
unsigned Num; // Number of degree types
|
unsigned Num; // Number of degree types
|
||||||
struct DegreeType *Lst; // List of degree types
|
struct DegreeType *Lst; // List of degree types
|
||||||
struct DegreeType EditingDegTyp;
|
|
||||||
} DegTypes;
|
} DegTypes;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue