Version 16.29

This commit is contained in:
Antonio Cañas Vargas 2016-10-20 21:09:01 +02:00
parent 90b2ee8dc9
commit f976cb7278
8 changed files with 106 additions and 332 deletions

View File

@ -191,7 +191,6 @@ Institution:
90. ActReqCtr Request the creation of a request for a new centre (a teacher makes the petition to an administrator) 90. ActReqCtr Request the creation of a request for a new centre (a teacher makes the petition to an administrator)
91. ActNewCtr Request the creation of a centre 91. ActNewCtr Request the creation of a centre
92. ActRemCtr Remove centre 92. ActRemCtr Remove centre
93. ActChgCtrIns Request change of the institution of a centre
94. ActChgCtrPlc Request change of the place of a centre 94. ActChgCtrPlc Request change of the place of a centre
95. ActRenCtrSho Change short name centre 95. ActRenCtrSho Change short name centre
96. ActRenCtrFul Change full name centre 96. ActRenCtrFul Change full name centre
@ -1539,7 +1538,6 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActReqCtr */{1208,-1,TabIns,ActSeeCtr ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ctr_RecFormReqCtr ,NULL}, /* ActReqCtr */{1208,-1,TabIns,ActSeeCtr ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ctr_RecFormReqCtr ,NULL},
/* ActNewCtr */{ 685,-1,TabIns,ActSeeCtr ,0x180,0x180,0x180,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ctr_RecFormNewCtr ,NULL}, /* ActNewCtr */{ 685,-1,TabIns,ActSeeCtr ,0x180,0x180,0x180,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ctr_RecFormNewCtr ,NULL},
/* ActRemCtr */{ 686,-1,TabIns,ActSeeCtr ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ctr_RemoveCentre ,NULL}, /* ActRemCtr */{ 686,-1,TabIns,ActSeeCtr ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ctr_RemoveCentre ,NULL},
/* ActChgCtrIns */{ 720,-1,TabIns,ActSeeCtr ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ctr_ChangeCentreIns ,NULL},
/* ActChgDegPlc */{ 706,-1,TabIns,ActSeeCtr ,0x180,0x180,0x180,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ctr_ChangeCentrePlace ,NULL}, /* ActChgDegPlc */{ 706,-1,TabIns,ActSeeCtr ,0x180,0x180,0x180,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ctr_ChangeCentrePlace ,NULL},
/* ActRenCtrSho */{ 682,-1,TabIns,ActSeeCtr ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,Ctr_RenameCentreShort ,Ctr_ContEditAfterChgCtr ,NULL}, /* ActRenCtrSho */{ 682,-1,TabIns,ActSeeCtr ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,Ctr_RenameCentreShort ,Ctr_ContEditAfterChgCtr ,NULL},
/* ActRenCtrFul */{ 684,-1,TabIns,ActSeeCtr ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,Ctr_RenameCentreFull ,Ctr_ContEditAfterChgCtr ,NULL}, /* ActRenCtrFul */{ 684,-1,TabIns,ActSeeCtr ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,Ctr_RenameCentreFull ,Ctr_ContEditAfterChgCtr ,NULL},
@ -3572,7 +3570,7 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
ActChgHldStrDat, // #717 ActChgHldStrDat, // #717
ActChgHldEndDat, // #718 ActChgHldEndDat, // #718
-1, // #719 (obsolete action) -1, // #719 (obsolete action)
ActChgCtrIns, // #720 -1, // #720 (obsolete action)
ActChgDptIns, // #721 ActChgDptIns, // #721
-1, // #722 (obsolete action) -1, // #722 (obsolete action)
ActSeeForGenTch, // #723 ActSeeForGenTch, // #723

View File

@ -55,7 +55,7 @@ typedef enum
typedef int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action typedef int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action
#define Act_NUM_ACTIONS (1+9+51+15+91+70+67+247+186+155+172+36+30+86) #define Act_NUM_ACTIONS (1+9+51+15+90+70+67+247+186+155+172+36+30+86)
#define Act_MAX_ACTION_COD 1590 #define Act_MAX_ACTION_COD 1590
@ -191,84 +191,83 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica
#define ActReqCtr (ActChgInsSta+ 16) #define ActReqCtr (ActChgInsSta+ 16)
#define ActNewCtr (ActChgInsSta+ 17) #define ActNewCtr (ActChgInsSta+ 17)
#define ActRemCtr (ActChgInsSta+ 18) #define ActRemCtr (ActChgInsSta+ 18)
#define ActChgCtrIns (ActChgInsSta+ 19) #define ActChgCtrPlc (ActChgInsSta+ 19)
#define ActChgCtrPlc (ActChgInsSta+ 20) #define ActRenCtrSho (ActChgInsSta+ 20)
#define ActRenCtrSho (ActChgInsSta+ 21) #define ActRenCtrFul (ActChgInsSta+ 21)
#define ActRenCtrFul (ActChgInsSta+ 22) #define ActChgCtrWWW (ActChgInsSta+ 22)
#define ActChgCtrWWW (ActChgInsSta+ 23) #define ActChgCtrSta (ActChgInsSta+ 23)
#define ActChgCtrSta (ActChgInsSta+ 24)
#define ActEdiDpt (ActChgInsSta+ 25) #define ActEdiDpt (ActChgInsSta+ 24)
#define ActNewDpt (ActChgInsSta+ 26) #define ActNewDpt (ActChgInsSta+ 25)
#define ActRemDpt (ActChgInsSta+ 27) #define ActRemDpt (ActChgInsSta+ 26)
#define ActChgDptIns (ActChgInsSta+ 28) #define ActChgDptIns (ActChgInsSta+ 27)
#define ActRenDptSho (ActChgInsSta+ 29) #define ActRenDptSho (ActChgInsSta+ 28)
#define ActRenDptFul (ActChgInsSta+ 30) #define ActRenDptFul (ActChgInsSta+ 29)
#define ActChgDptWWW (ActChgInsSta+ 31) #define ActChgDptWWW (ActChgInsSta+ 30)
#define ActEdiPlc (ActChgInsSta+ 32) #define ActEdiPlc (ActChgInsSta+ 31)
#define ActNewPlc (ActChgInsSta+ 33) #define ActNewPlc (ActChgInsSta+ 32)
#define ActRemPlc (ActChgInsSta+ 34) #define ActRemPlc (ActChgInsSta+ 33)
#define ActRenPlcSho (ActChgInsSta+ 35) #define ActRenPlcSho (ActChgInsSta+ 34)
#define ActRenPlcFul (ActChgInsSta+ 36) #define ActRenPlcFul (ActChgInsSta+ 35)
#define ActEdiHld (ActChgInsSta+ 37) #define ActEdiHld (ActChgInsSta+ 36)
#define ActNewHld (ActChgInsSta+ 38) #define ActNewHld (ActChgInsSta+ 37)
#define ActRemHld (ActChgInsSta+ 39) #define ActRemHld (ActChgInsSta+ 38)
#define ActChgHldPlc (ActChgInsSta+ 40) #define ActChgHldPlc (ActChgInsSta+ 39)
#define ActChgHldTyp (ActChgInsSta+ 41) #define ActChgHldTyp (ActChgInsSta+ 40)
#define ActChgHldStrDat (ActChgInsSta+ 42) #define ActChgHldStrDat (ActChgInsSta+ 41)
#define ActChgHldEndDat (ActChgInsSta+ 43) #define ActChgHldEndDat (ActChgInsSta+ 42)
#define ActRenHld (ActChgInsSta+ 44) #define ActRenHld (ActChgInsSta+ 43)
#define ActChgToSeeDocIns (ActChgInsSta+ 45) #define ActChgToSeeDocIns (ActChgInsSta+ 44)
#define ActSeeDocIns (ActChgInsSta+ 46) #define ActSeeDocIns (ActChgInsSta+ 45)
#define ActExpSeeDocIns (ActChgInsSta+ 47) #define ActExpSeeDocIns (ActChgInsSta+ 46)
#define ActConSeeDocIns (ActChgInsSta+ 48) #define ActConSeeDocIns (ActChgInsSta+ 47)
#define ActZIPSeeDocIns (ActChgInsSta+ 49) #define ActZIPSeeDocIns (ActChgInsSta+ 48)
#define ActReqDatSeeDocIns (ActChgInsSta+ 50) #define ActReqDatSeeDocIns (ActChgInsSta+ 49)
#define ActDowSeeDocIns (ActChgInsSta+ 51) #define ActDowSeeDocIns (ActChgInsSta+ 50)
#define ActChgToAdmDocIns (ActChgInsSta+ 52) #define ActChgToAdmDocIns (ActChgInsSta+ 51)
#define ActAdmDocIns (ActChgInsSta+ 53) #define ActAdmDocIns (ActChgInsSta+ 52)
#define ActReqRemFilDocIns (ActChgInsSta+ 54) #define ActReqRemFilDocIns (ActChgInsSta+ 53)
#define ActRemFilDocIns (ActChgInsSta+ 55) #define ActRemFilDocIns (ActChgInsSta+ 54)
#define ActRemFolDocIns (ActChgInsSta+ 56) #define ActRemFolDocIns (ActChgInsSta+ 55)
#define ActCopDocIns (ActChgInsSta+ 57) #define ActCopDocIns (ActChgInsSta+ 56)
#define ActPasDocIns (ActChgInsSta+ 58) #define ActPasDocIns (ActChgInsSta+ 57)
#define ActRemTreDocIns (ActChgInsSta+ 59) #define ActRemTreDocIns (ActChgInsSta+ 58)
#define ActFrmCreDocIns (ActChgInsSta+ 60) #define ActFrmCreDocIns (ActChgInsSta+ 59)
#define ActCreFolDocIns (ActChgInsSta+ 61) #define ActCreFolDocIns (ActChgInsSta+ 60)
#define ActCreLnkDocIns (ActChgInsSta+ 62) #define ActCreLnkDocIns (ActChgInsSta+ 61)
#define ActRenFolDocIns (ActChgInsSta+ 63) #define ActRenFolDocIns (ActChgInsSta+ 62)
#define ActRcvFilDocInsDZ (ActChgInsSta+ 64) #define ActRcvFilDocInsDZ (ActChgInsSta+ 63)
#define ActRcvFilDocInsCla (ActChgInsSta+ 65) #define ActRcvFilDocInsCla (ActChgInsSta+ 64)
#define ActExpAdmDocIns (ActChgInsSta+ 66) #define ActExpAdmDocIns (ActChgInsSta+ 65)
#define ActConAdmDocIns (ActChgInsSta+ 67) #define ActConAdmDocIns (ActChgInsSta+ 66)
#define ActZIPAdmDocIns (ActChgInsSta+ 68) #define ActZIPAdmDocIns (ActChgInsSta+ 67)
#define ActShoDocIns (ActChgInsSta+ 69) #define ActShoDocIns (ActChgInsSta+ 68)
#define ActHidDocIns (ActChgInsSta+ 70) #define ActHidDocIns (ActChgInsSta+ 69)
#define ActReqDatAdmDocIns (ActChgInsSta+ 71) #define ActReqDatAdmDocIns (ActChgInsSta+ 70)
#define ActChgDatAdmDocIns (ActChgInsSta+ 72) #define ActChgDatAdmDocIns (ActChgInsSta+ 71)
#define ActDowAdmDocIns (ActChgInsSta+ 73) #define ActDowAdmDocIns (ActChgInsSta+ 72)
#define ActReqRemFilShaIns (ActChgInsSta+ 74) #define ActReqRemFilShaIns (ActChgInsSta+ 73)
#define ActRemFilShaIns (ActChgInsSta+ 75) #define ActRemFilShaIns (ActChgInsSta+ 74)
#define ActRemFolShaIns (ActChgInsSta+ 76) #define ActRemFolShaIns (ActChgInsSta+ 75)
#define ActCopShaIns (ActChgInsSta+ 77) #define ActCopShaIns (ActChgInsSta+ 76)
#define ActPasShaIns (ActChgInsSta+ 78) #define ActPasShaIns (ActChgInsSta+ 77)
#define ActRemTreShaIns (ActChgInsSta+ 79) #define ActRemTreShaIns (ActChgInsSta+ 78)
#define ActFrmCreShaIns (ActChgInsSta+ 80) #define ActFrmCreShaIns (ActChgInsSta+ 79)
#define ActCreFolShaIns (ActChgInsSta+ 81) #define ActCreFolShaIns (ActChgInsSta+ 80)
#define ActCreLnkShaIns (ActChgInsSta+ 82) #define ActCreLnkShaIns (ActChgInsSta+ 81)
#define ActRenFolShaIns (ActChgInsSta+ 83) #define ActRenFolShaIns (ActChgInsSta+ 82)
#define ActRcvFilShaInsDZ (ActChgInsSta+ 84) #define ActRcvFilShaInsDZ (ActChgInsSta+ 83)
#define ActRcvFilShaInsCla (ActChgInsSta+ 85) #define ActRcvFilShaInsCla (ActChgInsSta+ 84)
#define ActExpShaIns (ActChgInsSta+ 86) #define ActExpShaIns (ActChgInsSta+ 85)
#define ActConShaIns (ActChgInsSta+ 87) #define ActConShaIns (ActChgInsSta+ 86)
#define ActZIPShaIns (ActChgInsSta+ 88) #define ActZIPShaIns (ActChgInsSta+ 87)
#define ActReqDatShaIns (ActChgInsSta+ 89) #define ActReqDatShaIns (ActChgInsSta+ 88)
#define ActChgDatShaIns (ActChgInsSta+ 90) #define ActChgDatShaIns (ActChgInsSta+ 89)
#define ActDowShaIns (ActChgInsSta+ 91) #define ActDowShaIns (ActChgInsSta+ 90)
/*****************************************************************************/ /*****************************************************************************/
/********************************* Centre tab ********************************/ /********************************* Centre tab ********************************/

View File

@ -848,40 +848,24 @@ static void Ctr_GetParamCtrOrderType (void)
void Ctr_EditCentres (void) void Ctr_EditCentres (void)
{ {
extern const char *Txt_There_is_no_list_of_institutions; /***** Get list of places *****/
extern const char *Txt_You_must_create_at_least_one_institution_before_creating_centres; Plc_GetListPlaces ();
/***** Get list of institutions of the current country *****/ /***** Get list of centres *****/
Ins_GetListInstitutions (Gbl.CurrentCty.Cty.CtyCod,Ins_GET_BASIC_DATA); Ctr_GetListCentres (Gbl.CurrentIns.Ins.InsCod);
if (Gbl.Inss.Num)
{
/***** Get list of places *****/
Plc_GetListPlaces ();
/***** Get list of centres *****/ /***** Put a form to create a new centre *****/
Ctr_GetListCentres (Gbl.CurrentIns.Ins.InsCod); Ctr_PutFormToCreateCentre ();
/***** Put a form to create a new centre *****/ /***** List current centres *****/
Ctr_PutFormToCreateCentre (); if (Gbl.Ctrs.Num)
Ctr_ListCentresForEdition ();
/***** List current centres *****/ /***** Free list of centres *****/
if (Gbl.Ctrs.Num) Ctr_FreeListCentres ();
Ctr_ListCentresForEdition ();
/***** Free list of centres *****/ /***** Free list of places *****/
Ctr_FreeListCentres (); Plc_FreeListPlaces ();
/***** Free list of places *****/
Plc_FreeListPlaces ();
}
else // No institutions
{
Lay_ShowAlert (Lay_WARNING,Txt_There_is_no_list_of_institutions);
Lay_ShowAlert (Lay_INFO,Txt_You_must_create_at_least_one_institution_before_creating_centres);
}
/***** Free list of institutions *****/
Ins_FreeListInstitutions ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -1297,8 +1281,6 @@ static void Ctr_ListCentresForEdition (void)
extern const char *Txt_CENTRE_STATUS[Ctr_NUM_STATUS_TXT]; extern const char *Txt_CENTRE_STATUS[Ctr_NUM_STATUS_TXT];
unsigned NumCtr; unsigned NumCtr;
struct Centre *Ctr; struct Centre *Ctr;
struct Institution Ins;
unsigned NumIns;
unsigned NumPlc; unsigned NumPlc;
char WWW[Ctr_MAX_LENGTH_WWW_ON_SCREEN+1]; char WWW[Ctr_MAX_LENGTH_WWW_ON_SCREEN+1];
struct UsrData UsrDat; struct UsrData UsrDat;
@ -1321,10 +1303,6 @@ static void Ctr_ListCentresForEdition (void)
{ {
Ctr = &Gbl.Ctrs.Lst[NumCtr]; Ctr = &Gbl.Ctrs.Lst[NumCtr];
/* Get data of institution of this centre */
Ins.InsCod = Ctr->InsCod;
Ins_GetDataOfInstitutionByCod (&Ins,Ins_GET_BASIC_DATA);
ICanEdit = Ctr_CheckIfICanEdit (Ctr); ICanEdit = Ctr_CheckIfICanEdit (Ctr);
/* Put icon to remove centre */ /* Put icon to remove centre */
@ -1357,30 +1335,6 @@ static void Ctr_ListCentresForEdition (void)
Log_DrawLogo (Sco_SCOPE_CTR,Ctr->CtrCod,Ctr->ShortName,20,NULL,true); Log_DrawLogo (Sco_SCOPE_CTR,Ctr->CtrCod,Ctr->ShortName,20,NULL,true);
fprintf (Gbl.F.Out,"</td>"); fprintf (Gbl.F.Out,"</td>");
/* Institution */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) // I can select institution
{
Act_FormStart (ActChgCtrIns);
Ctr_PutParamOtherCtrCod (Ctr->CtrCod);
fprintf (Gbl.F.Out,"<select name=\"OthInsCod\" style=\"width:62px;\""
" onchange=\"document.getElementById('%s').submit();\">",
Gbl.Form.Id);
for (NumIns = 0;
NumIns < Gbl.Inss.Num;
NumIns++)
fprintf (Gbl.F.Out,"<option value=\"%ld\"%s>%s</option>",
Gbl.Inss.Lst[NumIns].InsCod,
(Gbl.Inss.Lst[NumIns].InsCod == Ctr->InsCod) ? " selected=\"selected\"" :
"",
Gbl.Inss.Lst[NumIns].ShortName);
fprintf (Gbl.F.Out,"</select>");
Act_FormEnd ();
}
else
fprintf (Gbl.F.Out,"%s",Gbl.CurrentIns.Ins.ShortName);
fprintf (Gbl.F.Out,"</td>");
/* Place */ /* Place */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
if (ICanEdit) if (ICanEdit)
@ -1736,46 +1690,6 @@ void Ctr_ContEditAfterChgCtrInConfig (void)
Ctr_ShowConfiguration (); Ctr_ShowConfiguration ();
} }
/*****************************************************************************/
/********************* Change the institution of a centre ********************/
/*****************************************************************************/
void Ctr_ChangeCentreIns (void)
{
extern const char *Txt_The_centre_X_has_been_moved_to_the_institution_Y;
struct Centre *Ctr;
struct Institution NewIns;
Ctr = &Gbl.Ctrs.EditingCtr;
/***** Get parameters from form *****/
/* Get the code of the centre */
if ((Ctr->CtrCod = Ctr_GetParamOtherCtrCod ()) < 0)
Lay_ShowErrorAndExit ("Code of centre is missing.");
/* Get parameter with institution code */
NewIns.InsCod = Ins_GetParamOtherInsCod ();
/***** Get data of centre and new institution *****/
Ctr_GetDataOfCentreByCod (Ctr);
Ins_GetDataOfInstitutionByCod (&NewIns,Ins_GET_BASIC_DATA);
/***** Update institution in table of centres *****/
Ctr_UpdateCtrInsDB (Ctr->CtrCod,NewIns.InsCod);
Ctr->InsCod = NewIns.InsCod;
/***** Write message to show the change made *****/
sprintf (Gbl.Message,Txt_The_centre_X_has_been_moved_to_the_institution_Y,
Ctr->FullName,NewIns.FullName);
Lay_ShowAlert (Lay_SUCCESS,Gbl.Message);
/***** Put button to go to centre changed *****/
Ctr_PutButtonToGoToCtr (Ctr);
/***** Show the form again *****/
Ctr_EditCentres ();
}
/*****************************************************************************/ /*****************************************************************************/
/******************* Update institution in table of centres ******************/ /******************* Update institution in table of centres ******************/
/*****************************************************************************/ /*****************************************************************************/
@ -2374,18 +2288,6 @@ static void Ctr_PutFormToCreateCentre (void)
Log_DrawLogo (Sco_SCOPE_CTR,-1L,"",20,NULL,true); Log_DrawLogo (Sco_SCOPE_CTR,-1L,"",20,NULL,true);
fprintf (Gbl.F.Out,"</td>"); fprintf (Gbl.F.Out,"</td>");
/***** Institution *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<select name=\"OthInsCod\" style=\"width:62px;\""
" disabled=\"disabled\">"
"<option value=\"%ld\" selected=\"selected\">"
"%s"
"</option>"
"</select>"
"</td>",
Gbl.CurrentIns.Ins.InsCod,
Gbl.CurrentIns.Ins.ShortName);
/***** Place *****/ /***** Place *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<select name=\"PlcCod\" style=\"width:62px;\">" "<select name=\"PlcCod\" style=\"width:62px;\">"
@ -2539,7 +2441,6 @@ static void Ctr_PutHeadCentresForSeeing (bool OrderSelectable)
static void Ctr_PutHeadCentresForEdition (void) static void Ctr_PutHeadCentresForEdition (void)
{ {
extern const char *Txt_Code; extern const char *Txt_Code;
extern const char *Txt_Institution;
extern const char *Txt_Place; extern const char *Txt_Place;
extern const char *Txt_Short_name_of_the_centre; extern const char *Txt_Short_name_of_the_centre;
extern const char *Txt_Full_name_of_the_centre; extern const char *Txt_Full_name_of_the_centre;
@ -2569,9 +2470,6 @@ static void Ctr_PutHeadCentresForEdition (void)
"<th class=\"LEFT_MIDDLE\">" "<th class=\"LEFT_MIDDLE\">"
"%s" "%s"
"</th>" "</th>"
"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">" "<th class=\"RIGHT_MIDDLE\">"
"%s" "%s"
"</th>" "</th>"
@ -2589,7 +2487,6 @@ static void Ctr_PutHeadCentresForEdition (void)
"</th>" "</th>"
"</tr>", "</tr>",
Txt_Code, Txt_Code,
Txt_Institution,
Txt_Place, Txt_Place,
Txt_Short_name_of_the_centre, Txt_Short_name_of_the_centre,
Txt_Full_name_of_the_centre, Txt_Full_name_of_the_centre,

View File

@ -107,7 +107,6 @@ long Ctr_GetParamOtherCtrCod (void);
void Ctr_RemoveCentre (void); void Ctr_RemoveCentre (void);
void Ctr_ChangeCtrInsInConfig (void); void Ctr_ChangeCtrInsInConfig (void);
void Ctr_ContEditAfterChgCtrInConfig (void); void Ctr_ContEditAfterChgCtrInConfig (void);
void Ctr_ChangeCentreIns (void);
void Ctr_ChangeCentrePlace (void); void Ctr_ChangeCentrePlace (void);
void Ctr_RenameCentreShort (void); void Ctr_RenameCentreShort (void);
void Ctr_RenameCentreFull (void); void Ctr_RenameCentreFull (void);

View File

@ -150,13 +150,17 @@
/****************************** Public constants *****************************/ /****************************** Public constants *****************************/
/*****************************************************************************/ /*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 16.28 (2016-10-20)" #define Log_PLATFORM_VERSION "SWAD 16.29 (2016-10-20)"
#define CSS_FILE "swad16.25.css" #define CSS_FILE "swad16.25.css"
#define JS_FILE "swad15.238.1.js" #define JS_FILE "swad15.238.1.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.29: Oct 20, 2016 Removed institution in edition of centres. (205159 lines)
1 change necessary in database:
UPDATE actions SET Obsolete='Y' WHERE ActCod='720';
Version 16.28: Oct 20, 2016 Removed centre in edition of degrees. (205362 lines) Version 16.28: Oct 20, 2016 Removed centre in edition of degrees. (205362 lines)
1 change necessary in database: 1 change necessary in database:
UPDATE actions SET Obsolete='Y' WHERE ActCod='1049'; UPDATE actions SET Obsolete='Y' WHERE ActCod='1049';

View File

@ -1352,7 +1352,7 @@ static void Deg_PutFormToCreateDegree (void)
fprintf (Gbl.F.Out,"<td class=\"CODE\"></td>"); fprintf (Gbl.F.Out,"<td class=\"CODE\"></td>");
/***** Degree logo *****/ /***** Degree logo *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:25px;\">");
Log_DrawLogo (Sco_SCOPE_DEG,-1L,"",20,NULL,true); Log_DrawLogo (Sco_SCOPE_DEG,-1L,"",20,NULL,true);
fprintf (Gbl.F.Out,"</td>"); fprintf (Gbl.F.Out,"</td>");
@ -1713,53 +1713,32 @@ static void Deg_ListOneDegreeForSeeing (struct Degree *Deg,unsigned NumDeg)
void Deg_EditDegrees (void) void Deg_EditDegrees (void)
{ {
extern const char *Txt_There_is_no_list_of_centres;
extern const char *Txt_You_must_create_at_least_one_centre_before_creating_degrees;
extern const char *Txt_There_is_no_list_of_types_of_degree; extern const char *Txt_There_is_no_list_of_types_of_degree;
extern const char *Txt_You_must_create_at_least_one_type_of_degree_before_creating_degrees; extern const char *Txt_You_must_create_at_least_one_type_of_degree_before_creating_degrees;
/***** Get list of degrees in the current centre *****/ /***** Get list of degrees in the current centre *****/
Deg_GetListDegsOfCurrentCtr (); Deg_GetListDegsOfCurrentCtr ();
/***** Get list of centres of the current institution *****/ /***** Get list of degree types *****/
Ctr_GetListCentres (Gbl.CurrentIns.Ins.InsCod); DT_GetListDegreeTypes ();
if (Gbl.Ctrs.Num) if (Gbl.Degs.DegTypes.Num)
{ {
/***** Get list of degree types *****/ /***** Put a form to create a new degree *****/
DT_GetListDegreeTypes (); Deg_PutFormToCreateDegree ();
if (Gbl.Degs.DegTypes.Num) /***** Forms to edit current degrees *****/
{ if (Gbl.CurrentCtr.Ctr.Degs.Num)
/***** Put a form to create a new degree *****/ Deg_ListDegreesForEdition ();
Deg_PutFormToCreateDegree ();
/***** Forms to edit current degrees *****/
if (Gbl.CurrentCtr.Ctr.Degs.Num)
{
if (Gbl.Ctrs.Num)
Deg_ListDegreesForEdition ();
else
Lay_ShowAlert (Lay_WARNING,Txt_There_is_no_list_of_centres);
}
}
else // No degree types
{
Lay_ShowAlert (Lay_WARNING,Txt_There_is_no_list_of_types_of_degree);
Lay_ShowAlert (Lay_INFO,Txt_You_must_create_at_least_one_type_of_degree_before_creating_degrees);
}
/***** Free list of degree types *****/
DT_FreeListDegreeTypes ();
} }
else // No centres else // No degree types
{ {
Lay_ShowAlert (Lay_WARNING,Txt_There_is_no_list_of_centres); Lay_ShowAlert (Lay_WARNING,Txt_There_is_no_list_of_types_of_degree);
Lay_ShowAlert (Lay_INFO,Txt_You_must_create_at_least_one_centre_before_creating_degrees); Lay_ShowAlert (Lay_INFO,Txt_You_must_create_at_least_one_type_of_degree_before_creating_degrees);
} }
/***** Free list of centres of the current institution *****/ /***** Free list of degree types *****/
Ctr_FreeListCentres (); DT_FreeListDegreeTypes ();
/***** Free list of degrees in the current centre *****/ /***** Free list of degrees in the current centre *****/
Deg_FreeListDegs (&Gbl.CurrentCtr.Ctr.Degs); Deg_FreeListDegs (&Gbl.CurrentCtr.Ctr.Degs);

View File

@ -1215,10 +1215,6 @@ static void Ins_ListInstitutionsForEdition (void)
/***** Initialize structure with user's data *****/ /***** Initialize structure with user's data *****/
Usr_UsrDataConstructor (&UsrDat); Usr_UsrDataConstructor (&UsrDat);
/***** Get list of countries *****/
Gbl.Ctys.SelectedOrderType = Cty_ORDER_BY_COUNTRY;
Cty_GetListCountries (Cty_GET_BASIC_DATA);
/***** Write heading *****/ /***** Write heading *****/
sprintf (Gbl.Title,Txt_Institutions_of_COUNTRY_X, sprintf (Gbl.Title,Txt_Institutions_of_COUNTRY_X,
Gbl.CurrentCty.Cty.Name[Gbl.Prefs.Language]); Gbl.CurrentCty.Cty.Name[Gbl.Prefs.Language]);
@ -1420,7 +1416,6 @@ static void Ins_ListInstitutionsForEdition (void)
Usr_UsrDataDestructor (&UsrDat); Usr_UsrDataDestructor (&UsrDat);
} }
/*****************************************************************************/ /*****************************************************************************/
/************ Check if I can edit, remove, etc. an institution ***************/ /************ Check if I can edit, remove, etc. an institution ***************/
/*****************************************************************************/ /*****************************************************************************/
@ -2020,10 +2015,6 @@ static void Ins_PutFormToCreateInstitution (void)
Ins = &Gbl.Inss.EditingIns; Ins = &Gbl.Inss.EditingIns;
/***** Get list of countries *****/
Gbl.Ctys.SelectedOrderType = Cty_ORDER_BY_COUNTRY;
Cty_GetListCountries (Cty_GET_BASIC_DATA);
/***** Start form *****/ /***** Start form *****/
if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM)
Act_FormStart (ActNewIns); Act_FormStart (ActNewIns);

View File

@ -46617,27 +46617,6 @@ const char *Txt_There_is_no_knowing_how_many_users_not_logged_have_accessed =
"There is no knowing how many users not logged have accessed."; // Necessita de tradução "There is no knowing how many users not logged have accessed."; // Necessita de tradução
#endif #endif
const char *Txt_There_is_no_list_of_centres =
#if L==1
"No hay lista de centros."; // Necessita traduccio
#elif L==2
"There is no list of centres."; // Übersetzung notwendig
#elif L==3
"There is no list of centres.";
#elif L==4
"No hay lista de centros.";
#elif L==5
"There is no list of centres."; // Besoin de traduction
#elif L==6
"No hay lista de centros."; // Okoteve traducción
#elif L==7
"Non c'&egrave; la lista de centri.";
#elif L==8
"There is no list of centres."; // Potrzebujesz tlumaczenie
#elif L==9
"There is no list of centres."; // Necessita de tradução
#endif
const char *Txt_There_is_no_list_of_types_of_degree = const char *Txt_There_is_no_list_of_types_of_degree =
#if L==1 #if L==1
"No hay lista de tipos de titulaci&oacute;n."; // Necessita traduccio "No hay lista de tipos de titulaci&oacute;n."; // Necessita traduccio
@ -46659,27 +46638,6 @@ const char *Txt_There_is_no_list_of_types_of_degree =
"There is no list of types of degree."; // Necessita de tradução "There is no list of types of degree."; // Necessita de tradução
#endif #endif
const char *Txt_There_is_no_list_of_institutions =
#if L==1
"No hay lista de instituciones."; // Necessita traduccio
#elif L==2
"There is no list of institutions."; // Übersetzung notwendig
#elif L==3
"There is no list of institutions.";
#elif L==4
"No hay lista de instituciones.";
#elif L==5
"There is no list of institutions."; // Besoin de traduction
#elif L==6
"No hay lista de instituciones."; // Okoteve traducción
#elif L==7
"Non c'&egrave; la lista delle istituzioni.";
#elif L==8
"There is no list of institutions."; // Potrzebujesz tlumaczenie
#elif L==9
"There is no list of institutions."; // Necessita de tradução
#endif
const char *Txt_There_is_no_user_with_email_X = // Warning: it is very important to include %s in the following sentences const char *Txt_There_is_no_user_with_email_X = // Warning: it is very important to include %s in the following sentences
#if L==1 #if L==1
"No existe ning&uacute;n usuario" "No existe ning&uacute;n usuario"
@ -53184,57 +53142,6 @@ const char *Txt_You_have_written_X_posts_in_this_thread = // Warning: it is ver
"Voc&ecirc; escreveu %u posts neste thread"; "Voc&ecirc; escreveu %u posts neste thread";
#endif #endif
const char *Txt_You_must_create_at_least_one_centre_before_creating_degrees =
#if L==1
"Debe crear al menos un centro antes de crear titulaciones."; // Necessita traduccio
#elif L==2
"You must create at least one centre before creating degrees."; // Übersetzung notwendig
#elif L==3
"You must create at least one centre before creating degrees.";
#elif L==4
"Debe crear al menos un centro antes de crear titulaciones.";
#elif L==5
"You must create at least one centre before creating degrees."; // Besoin de traduction
#elif L==6
"Debe crear al menos un centro antes de crear titulaciones."; // Okoteve traducción
#elif L==7
"Devi creare almeno un centro prima di creare lauree.";
#elif L==8
"You must create at least one centro before creating degrees."; // Potrzebujesz tlumaczenie
#elif L==9
"You must create at least one centro before creating degrees."; // Necessita de tradução
#endif
const char *Txt_You_must_create_at_least_one_institution_before_creating_centres =
#if L==1
"Debe crear al menos una instituci&oacute;n"
" antes de crear centros."; // Necessita traduccio
#elif L==2
"You must create at least one institution"
" before creating centres."; // Übersetzung notwendig
#elif L==3
"You must create at least one institution"
" before creating centres.";
#elif L==4
"Debe crear al menos una instituci&oacute;n"
" antes de crear centros.";
#elif L==5
"You must create at least one institution"
" before creating centres."; // Besoin de traduction
#elif L==6
"Debe crear al menos una instituci&oacute;n"
" antes de crear centros."; // Okoteve traducción
#elif L==7
"Devi creare almeno un'istituzione"
" prima di creare centri.";
#elif L==8
"You must create at least one institution"
" before creating centres."; // Potrzebujesz tlumaczenie
#elif L==9
"You must create at least one institution"
" before creating centres."; // Necessita de tradução
#endif
const char *Txt_You_must_create_at_least_one_type_of_degree_before_creating_degrees = const char *Txt_You_must_create_at_least_one_type_of_degree_before_creating_degrees =
#if L==1 #if L==1
"Debe crear al menos un tipo de titulaci&oacute;n" "Debe crear al menos un tipo de titulaci&oacute;n"