mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-14 12:44:09 +02:00
Version 16.29
This commit is contained in:
parent
90b2ee8dc9
commit
f976cb7278
|
@ -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
|
||||||
|
|
147
swad_action.h
147
swad_action.h
|
@ -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 ********************************/
|
||||||
|
|
129
swad_centre.c
129
swad_centre.c
|
@ -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,
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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';
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
|
|
93
swad_text.c
93
swad_text.c
|
@ -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'è 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ón."; // Necessita traduccio
|
"No hay lista de tipos de titulació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'è 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ún usuario"
|
"No existe ningún usuario"
|
||||||
|
@ -53184,57 +53142,6 @@ const char *Txt_You_have_written_X_posts_in_this_thread = // Warning: it is ver
|
||||||
"Você escreveu %u posts neste thread";
|
"Você 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ó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ó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ó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ón"
|
"Debe crear al menos un tipo de titulación"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user