" "" " | " "", The_ClassForm[Gbl.Prefs.Theme], Txt_Centre); if (!PrintView && Gbl.Usrs.Me.LoggedRole >= Rol_INS_ADM) // Only institution admins and system admin can move a degree to another centre { /* Get list of centres of the current institution */ Ctr_GetListCentres (Gbl.CurrentIns.Ins.InsCod); /* Put form to select centre */ Act_FormStart (ActChgDegCtrCfg); fprintf (Gbl.F.Out,""); Act_FormEnd (); /* Free list of centres */ Ctr_FreeListCentres (); } else // I can not move degree to another centre fprintf (Gbl.F.Out,"%s",Gbl.CurrentCtr.Ctr.FullName); fprintf (Gbl.F.Out," | " "
" "" " | " "", The_ClassForm[Gbl.Prefs.Theme], Txt_Degree); if (!PrintView && Gbl.Usrs.Me.LoggedRole >= Rol_CTR_ADM) // Only centre admins, institution admins and system admins // can edit degree full name { /* Form to change degree full name */ Act_FormStart (ActRenDegFulCfg); fprintf (Gbl.F.Out,"", Hie_MAX_CHARS_FULL_NAME, Gbl.CurrentDeg.Deg.FullName, Gbl.Form.Id); Act_FormEnd (); } else // I can not edit degree full name fprintf (Gbl.F.Out,"%s",Gbl.CurrentDeg.Deg.FullName); fprintf (Gbl.F.Out," | " "
" "" " | " "", The_ClassForm[Gbl.Prefs.Theme], Txt_Short_name); if (!PrintView && Gbl.Usrs.Me.LoggedRole >= Rol_CTR_ADM) // Only centre admins, institution admins and system admins // can edit degree short name { /* Form to change degree short name */ Act_FormStart (ActRenDegShoCfg); fprintf (Gbl.F.Out,"", Hie_MAX_CHARS_SHRT_NAME, Gbl.CurrentDeg.Deg.ShrtName, Gbl.Form.Id); Act_FormEnd (); } else // I can not edit degree short name fprintf (Gbl.F.Out,"%s",Gbl.CurrentDeg.Deg.ShrtName); fprintf (Gbl.F.Out," | " "
" "" " | " "",
The_ClassForm[Gbl.Prefs.Theme],
Txt_Web);
if (!PrintView &&
Gbl.Usrs.Me.LoggedRole >= Rol_DEG_ADM)
// Only degree admins, centre admins, institution admins
// and system admins can change degree WWW
{
/* Form to change degree WWW */
Act_FormStart (ActChgDegWWWCfg);
fprintf (Gbl.F.Out,"",
Cns_MAX_CHARS_WWW,
Gbl.CurrentDeg.Deg.WWW,
Gbl.Form.Id);
Act_FormEnd ();
}
else // I can not change degree WWW
fprintf (Gbl.F.Out," "
""
"%s"
""
" ",
Gbl.CurrentDeg.Deg.WWW,
Gbl.CurrentDeg.Deg.WWW);
fprintf (Gbl.F.Out," | "
"
" "%s:" " | " "" "" "%s/%s?deg=%ld" "" " | " "
" "%s:" " | " "", The_ClassForm[Gbl.Prefs.Theme], Txt_QR_code); QR_LinkTo (250,"deg",Gbl.CurrentDeg.Deg.DegCod); fprintf (Gbl.F.Out," | " "
" "%s:" " | " "", The_ClassForm[Gbl.Prefs.Theme], Txt_Courses); /* Form to go to see courses of this degree */ Act_FormGoToStart (ActSeeCrs); Deg_PutParamDegCod (Gbl.CurrentDeg.Deg.DegCod); sprintf (Gbl.Title,Txt_Courses_of_DEGREE_X, Gbl.CurrentDeg.Deg.ShrtName); Act_LinkFormSubmit (Gbl.Title,"DAT",NULL); fprintf (Gbl.F.Out,"%u", Crs_GetNumCrssInDeg (Gbl.CurrentDeg.Deg.DegCod)); Act_FormEnd (); fprintf (Gbl.F.Out," | " "
" "%s:" " | " "" "%u" " | " "
" "%s:" " | " "" "%u" " | " "
"); if (NumCrss || // Degree has courses ==> deletion forbidden !ICanEdit) Lay_PutIconRemovalNotAllowed (); else { Act_FormStart (ActRemDeg); Deg_PutParamOtherDegCod (Deg->DegCod); Lay_PutIconRemove (); Act_FormEnd (); } fprintf (Gbl.F.Out," | "); /* Degree code */ fprintf (Gbl.F.Out,"" "%ld" " | ", Deg->DegCod); /* Degree logo */ fprintf (Gbl.F.Out,"", Deg->FullName); Log_DrawLogo (Sco_SCOPE_DEG,Deg->DegCod,Deg->ShrtName,20,NULL,true); fprintf (Gbl.F.Out," | "); /* Degree short name */ fprintf (Gbl.F.Out,""); if (ICanEdit) { Act_FormStart (ActRenDegSho); Deg_PutParamOtherDegCod (Deg->DegCod); fprintf (Gbl.F.Out,"", Hie_MAX_CHARS_SHRT_NAME,Deg->ShrtName,Gbl.Form.Id); Act_FormEnd (); } else fprintf (Gbl.F.Out,"%s",Deg->ShrtName); fprintf (Gbl.F.Out," | "); /* Degree full name */ fprintf (Gbl.F.Out,""); if (ICanEdit) { Act_FormStart (ActRenDegFul); Deg_PutParamOtherDegCod (Deg->DegCod); fprintf (Gbl.F.Out,"", Hie_MAX_CHARS_FULL_NAME,Deg->FullName,Gbl.Form.Id); Act_FormEnd (); } else fprintf (Gbl.F.Out,"%s",Deg->FullName); fprintf (Gbl.F.Out," | "); /* Degree type */ fprintf (Gbl.F.Out,""); if (ICanEdit) { Act_FormStart (ActChgDegTyp); Deg_PutParamOtherDegCod (Deg->DegCod); fprintf (Gbl.F.Out,""); Act_FormEnd (); } else for (NumDegTyp = 0; NumDegTyp < Gbl.Degs.DegTypes.Num; NumDegTyp++) if (Gbl.Degs.DegTypes.Lst[NumDegTyp].DegTypCod == Deg->DegTypCod) fprintf (Gbl.F.Out,"%s",Gbl.Degs.DegTypes.Lst[NumDegTyp].DegTypName); fprintf (Gbl.F.Out," | "); /* Degree WWW */ fprintf (Gbl.F.Out,"");
if (ICanEdit)
{
Act_FormStart (ActChgDegWWW);
Deg_PutParamOtherDegCod (Deg->DegCod);
fprintf (Gbl.F.Out,"",
Cns_MAX_CHARS_WWW,Deg->WWW,Gbl.Form.Id);
Act_FormEnd ();
}
else
{
Str_Copy (WWW,Deg->WWW,
Cns_MAX_BYTES_WWW);
fprintf (Gbl.F.Out," "
""
"%s"
""
" ",
Deg->WWW,Deg->WWW,WWW);
}
fprintf (Gbl.F.Out," | ");
/* Current number of courses in this degree */
fprintf (Gbl.F.Out,"" "%u" " | ", NumCrss); /* Degree requester */ UsrDat.UsrCod = Deg->RequesterUsrCod; Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat); fprintf (Gbl.F.Out,""
" | ");
/* Degree status */
StatusTxt = Deg_GetStatusTxtFromStatusBits (Deg->Status);
fprintf (Gbl.F.Out,""); if (Gbl.Usrs.Me.LoggedRole >= Rol_CTR_ADM && StatusTxt == Deg_STATUS_PENDING) { Act_FormStart (ActChgDegSta); Deg_PutParamOtherDegCod (Deg->DegCod); fprintf (Gbl.F.Out,"", Gbl.Form.Id, (unsigned) Deg_GetStatusBitsFromStatusTxt (Deg_STATUS_PENDING), Txt_DEGREE_STATUS[Deg_STATUS_PENDING], (unsigned) Deg_GetStatusBitsFromStatusTxt (Deg_STATUS_ACTIVE), Txt_DEGREE_STATUS[Deg_STATUS_ACTIVE]); Act_FormEnd (); } else if (StatusTxt != Deg_STATUS_ACTIVE) // If active ==> do not show anything fprintf (Gbl.F.Out,"%s",Txt_DEGREE_STATUS[StatusTxt]); fprintf (Gbl.F.Out," | " "