Version 16.96

This commit is contained in:
Antonio Cañas Vargas 2016-12-11 21:02:22 +01:00
parent fee40c4ef6
commit 7954f4bd80
9 changed files with 125 additions and 72 deletions

View File

@ -837,6 +837,7 @@ Assessment:
686. ActEdiExaAnn Edit an exam announcement 686. ActEdiExaAnn Edit an exam announcement
687. ActRcvExaAnn Receive an exam announcement 687. ActRcvExaAnn Receive an exam announcement
688. ActPrnExaAnn Show an exam announcement ready to be printed 688. ActPrnExaAnn Show an exam announcement ready to be printed
NEW. ActReqRemExaAnn Request the removal of an exam announcement
689. ActRemExaAnn Remove an exam announcement 689. ActRemExaAnn Remove an exam announcement
690. ActChgToSeeMrk Change to see marks in course/group 690. ActChgToSeeMrk Change to see marks in course/group
@ -2127,7 +2128,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActEdiOneAsg */{ 814,-1,TabUnk,ActSeeAsg ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_RequestCreatOrEditAsg ,NULL}, /* ActEdiOneAsg */{ 814,-1,TabUnk,ActSeeAsg ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_RequestCreatOrEditAsg ,NULL},
/* ActNewAsg */{ 803,-1,TabUnk,ActSeeAsg ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_RecFormAssignment ,NULL}, /* ActNewAsg */{ 803,-1,TabUnk,ActSeeAsg ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_RecFormAssignment ,NULL},
/* ActChgAsg */{ 815,-1,TabUnk,ActSeeAsg ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_RecFormAssignment ,NULL}, /* ActChgAsg */{ 815,-1,TabUnk,ActSeeAsg ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_RecFormAssignment ,NULL},
/* ActReqRemAsg */{ 813,-1,TabUnk,ActSeeAsg ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_AskRemAssignment ,NULL}, /* ActReqRemAsg */{ 813,-1,TabUnk,ActSeeAsg ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_ReqRemAssignment ,NULL},
/* ActRemAsg */{ 806,-1,TabUnk,ActSeeAsg ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_RemoveAssignment ,NULL}, /* ActRemAsg */{ 806,-1,TabUnk,ActSeeAsg ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_RemoveAssignment ,NULL},
/* ActHidAsg */{ 964,-1,TabUnk,ActSeeAsg ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_HideAssignment ,NULL}, /* ActHidAsg */{ 964,-1,TabUnk,ActSeeAsg ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_HideAssignment ,NULL},
/* ActShoAsg */{ 965,-1,TabUnk,ActSeeAsg ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_ShowAssignment ,NULL}, /* ActShoAsg */{ 965,-1,TabUnk,ActSeeAsg ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_ShowAssignment ,NULL},
@ -2244,6 +2245,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActEdiExaAnn */{ 91,-1,TabUnk,ActSeeAllExaAnn ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Exa_PutFrmEditAExamAnnouncement,NULL}, /* ActEdiExaAnn */{ 91,-1,TabUnk,ActSeeAllExaAnn ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Exa_PutFrmEditAExamAnnouncement,NULL},
/* ActRcvExaAnn */{ 110,-1,TabUnk,ActSeeAllExaAnn ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Exa_ReceiveExamAnnouncement ,NULL}, /* ActRcvExaAnn */{ 110,-1,TabUnk,ActSeeAllExaAnn ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Exa_ReceiveExamAnnouncement ,NULL},
/* ActPrnExaAnn */{ 179,-1,TabUnk,ActSeeAllExaAnn ,0x1FF,0x1FF,0x000,Act_CONT_NORM,Act_BLNK_WINDOW,NULL ,Exa_PrintExamAnnouncement ,NULL}, /* ActPrnExaAnn */{ 179,-1,TabUnk,ActSeeAllExaAnn ,0x1FF,0x1FF,0x000,Act_CONT_NORM,Act_BLNK_WINDOW,NULL ,Exa_PrintExamAnnouncement ,NULL},
/* ActReqRemExaAnn */{1619,-1,TabUnk,ActSeeAllExaAnn ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Exa_ReqRemoveExamAnnouncement ,NULL},
/* ActRemExaAnn */{ 187,-1,TabUnk,ActSeeAllExaAnn ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Exa_RemoveExamAnnouncement ,NULL}, /* ActRemExaAnn */{ 187,-1,TabUnk,ActSeeAllExaAnn ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Exa_RemoveExamAnnouncement ,NULL},
/* ActChgToSeeMrk */{1198,-1,TabUnk,ActSeeAdmMrk ,0x118,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,NULL}, /* ActChgToSeeMrk */{1198,-1,TabUnk,ActSeeAdmMrk ,0x118,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,NULL},
@ -3982,7 +3984,7 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
ActSeeLstStdAtt, // #1074 ActSeeLstStdAtt, // #1074
ActPrnLstStdAtt, // #1075 ActPrnLstStdAtt, // #1075
ActRecAttMe, // #1076 ActRecAttMe, // #1076
ActLogInLan, // #1077 ActLogInLan, // #1077
ActSeeDocCrs, // #1078 ActSeeDocCrs, // #1078
ActSeeMrkCrs, // #1079 ActSeeMrkCrs, // #1079
ActReqSeeUsrTstRes, // #1080 ActReqSeeUsrTstRes, // #1080
@ -4155,7 +4157,6 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
ActSeeAdmDocDeg, // #1247 ActSeeAdmDocDeg, // #1247
ActSeeAdmDocCtr, // #1248 ActSeeAdmDocCtr, // #1248
ActSeeAdmDocIns, // #1249 ActSeeAdmDocIns, // #1249
ActChgToSeeDocDeg, // #1250 ActChgToSeeDocDeg, // #1250
ActSeeDocDeg, // #1251 ActSeeDocDeg, // #1251
ActExpSeeDocDeg, // #1252 ActExpSeeDocDeg, // #1252
@ -4185,7 +4186,6 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
ActReqDatAdmDocDeg, // #1276 ActReqDatAdmDocDeg, // #1276
ActChgDatAdmDocDeg, // #1277 ActChgDatAdmDocDeg, // #1277
ActDowAdmDocDeg, // #1278 ActDowAdmDocDeg, // #1278
ActChgToSeeDocCtr, // #1279 ActChgToSeeDocCtr, // #1279
ActSeeDocCtr, // #1280 ActSeeDocCtr, // #1280
ActExpSeeDocCtr, // #1281 ActExpSeeDocCtr, // #1281
@ -4215,7 +4215,6 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
ActReqDatAdmDocCtr, // #1305 ActReqDatAdmDocCtr, // #1305
ActChgDatAdmDocCtr, // #1306 ActChgDatAdmDocCtr, // #1306
ActDowAdmDocCtr, // #1307 ActDowAdmDocCtr, // #1307
ActChgToSeeDocIns, // #1308 ActChgToSeeDocIns, // #1308
ActSeeDocIns, // #1309 ActSeeDocIns, // #1309
ActExpSeeDocIns, // #1310 ActExpSeeDocIns, // #1310
@ -4527,6 +4526,7 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
ActLogInUsrAgdLan, // #1616 ActLogInUsrAgdLan, // #1616
ActSeeMyPubAgd, // #1617 ActSeeMyPubAgd, // #1617
ActPrnAgdQR, // #1618 ActPrnAgdQR, // #1618
ActReqRemExaAnn, // #1619
}; };
/*****************************************************************************/ /*****************************************************************************/

View File

@ -55,9 +55,9 @@ 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+14+93+73+70+249+186+159+172+36+31+97) #define Act_NUM_ACTIONS (1+9+51+14+93+73+70+249+187+159+172+36+31+97)
#define Act_MAX_ACTION_COD 1618 #define Act_MAX_ACTION_COD 1619
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 11 #define Act_MAX_OPTIONS_IN_MENU_PER_TAB 11
@ -847,69 +847,70 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica
#define ActEdiExaAnn (ActRcvRchTxtCrsLnk+127) #define ActEdiExaAnn (ActRcvRchTxtCrsLnk+127)
#define ActRcvExaAnn (ActRcvRchTxtCrsLnk+128) #define ActRcvExaAnn (ActRcvRchTxtCrsLnk+128)
#define ActPrnExaAnn (ActRcvRchTxtCrsLnk+129) #define ActPrnExaAnn (ActRcvRchTxtCrsLnk+129)
#define ActRemExaAnn (ActRcvRchTxtCrsLnk+130) #define ActReqRemExaAnn (ActRcvRchTxtCrsLnk+130)
#define ActRemExaAnn (ActRcvRchTxtCrsLnk+131)
#define ActChgToSeeMrk (ActRcvRchTxtCrsLnk+131) #define ActChgToSeeMrk (ActRcvRchTxtCrsLnk+132)
#define ActSeeMrkCrs (ActRcvRchTxtCrsLnk+132) #define ActSeeMrkCrs (ActRcvRchTxtCrsLnk+133)
#define ActExpSeeMrkCrs (ActRcvRchTxtCrsLnk+133) #define ActExpSeeMrkCrs (ActRcvRchTxtCrsLnk+134)
#define ActConSeeMrkCrs (ActRcvRchTxtCrsLnk+134) #define ActConSeeMrkCrs (ActRcvRchTxtCrsLnk+135)
#define ActReqDatSeeMrkCrs (ActRcvRchTxtCrsLnk+135) #define ActReqDatSeeMrkCrs (ActRcvRchTxtCrsLnk+136)
#define ActSeeMyMrkCrs (ActRcvRchTxtCrsLnk+136) #define ActSeeMyMrkCrs (ActRcvRchTxtCrsLnk+137)
#define ActSeeMrkGrp (ActRcvRchTxtCrsLnk+137) #define ActSeeMrkGrp (ActRcvRchTxtCrsLnk+138)
#define ActExpSeeMrkGrp (ActRcvRchTxtCrsLnk+138) #define ActExpSeeMrkGrp (ActRcvRchTxtCrsLnk+139)
#define ActConSeeMrkGrp (ActRcvRchTxtCrsLnk+139) #define ActConSeeMrkGrp (ActRcvRchTxtCrsLnk+140)
#define ActReqDatSeeMrkGrp (ActRcvRchTxtCrsLnk+140) #define ActReqDatSeeMrkGrp (ActRcvRchTxtCrsLnk+141)
#define ActSeeMyMrkGrp (ActRcvRchTxtCrsLnk+141) #define ActSeeMyMrkGrp (ActRcvRchTxtCrsLnk+142)
#define ActChgToAdmMrk (ActRcvRchTxtCrsLnk+142) #define ActChgToAdmMrk (ActRcvRchTxtCrsLnk+143)
#define ActAdmMrkCrs (ActRcvRchTxtCrsLnk+143) #define ActAdmMrkCrs (ActRcvRchTxtCrsLnk+144)
#define ActReqRemFilMrkCrs (ActRcvRchTxtCrsLnk+144) #define ActReqRemFilMrkCrs (ActRcvRchTxtCrsLnk+145)
#define ActRemFilMrkCrs (ActRcvRchTxtCrsLnk+145) #define ActRemFilMrkCrs (ActRcvRchTxtCrsLnk+146)
#define ActRemFolMrkCrs (ActRcvRchTxtCrsLnk+146) #define ActRemFolMrkCrs (ActRcvRchTxtCrsLnk+147)
#define ActCopMrkCrs (ActRcvRchTxtCrsLnk+147) #define ActCopMrkCrs (ActRcvRchTxtCrsLnk+148)
#define ActPasMrkCrs (ActRcvRchTxtCrsLnk+148) #define ActPasMrkCrs (ActRcvRchTxtCrsLnk+149)
#define ActRemTreMrkCrs (ActRcvRchTxtCrsLnk+149) #define ActRemTreMrkCrs (ActRcvRchTxtCrsLnk+150)
#define ActFrmCreMrkCrs (ActRcvRchTxtCrsLnk+150) #define ActFrmCreMrkCrs (ActRcvRchTxtCrsLnk+151)
#define ActCreFolMrkCrs (ActRcvRchTxtCrsLnk+151) #define ActCreFolMrkCrs (ActRcvRchTxtCrsLnk+152)
#define ActRenFolMrkCrs (ActRcvRchTxtCrsLnk+152) #define ActRenFolMrkCrs (ActRcvRchTxtCrsLnk+153)
#define ActRcvFilMrkCrsDZ (ActRcvRchTxtCrsLnk+153) #define ActRcvFilMrkCrsDZ (ActRcvRchTxtCrsLnk+154)
#define ActRcvFilMrkCrsCla (ActRcvRchTxtCrsLnk+154) #define ActRcvFilMrkCrsCla (ActRcvRchTxtCrsLnk+155)
#define ActExpAdmMrkCrs (ActRcvRchTxtCrsLnk+155) #define ActExpAdmMrkCrs (ActRcvRchTxtCrsLnk+156)
#define ActConAdmMrkCrs (ActRcvRchTxtCrsLnk+156) #define ActConAdmMrkCrs (ActRcvRchTxtCrsLnk+157)
#define ActZIPAdmMrkCrs (ActRcvRchTxtCrsLnk+157) #define ActZIPAdmMrkCrs (ActRcvRchTxtCrsLnk+158)
#define ActShoMrkCrs (ActRcvRchTxtCrsLnk+158) #define ActShoMrkCrs (ActRcvRchTxtCrsLnk+159)
#define ActHidMrkCrs (ActRcvRchTxtCrsLnk+159) #define ActHidMrkCrs (ActRcvRchTxtCrsLnk+160)
#define ActReqDatAdmMrkCrs (ActRcvRchTxtCrsLnk+160) #define ActReqDatAdmMrkCrs (ActRcvRchTxtCrsLnk+161)
#define ActChgDatAdmMrkCrs (ActRcvRchTxtCrsLnk+161) #define ActChgDatAdmMrkCrs (ActRcvRchTxtCrsLnk+162)
#define ActDowAdmMrkCrs (ActRcvRchTxtCrsLnk+162) #define ActDowAdmMrkCrs (ActRcvRchTxtCrsLnk+163)
#define ActChgNumRowHeaCrs (ActRcvRchTxtCrsLnk+163) #define ActChgNumRowHeaCrs (ActRcvRchTxtCrsLnk+164)
#define ActChgNumRowFooCrs (ActRcvRchTxtCrsLnk+164) #define ActChgNumRowFooCrs (ActRcvRchTxtCrsLnk+165)
#define ActAdmMrkGrp (ActRcvRchTxtCrsLnk+165) #define ActAdmMrkGrp (ActRcvRchTxtCrsLnk+166)
#define ActReqRemFilMrkGrp (ActRcvRchTxtCrsLnk+166) #define ActReqRemFilMrkGrp (ActRcvRchTxtCrsLnk+167)
#define ActRemFilMrkGrp (ActRcvRchTxtCrsLnk+167) #define ActRemFilMrkGrp (ActRcvRchTxtCrsLnk+168)
#define ActRemFolMrkGrp (ActRcvRchTxtCrsLnk+168) #define ActRemFolMrkGrp (ActRcvRchTxtCrsLnk+169)
#define ActCopMrkGrp (ActRcvRchTxtCrsLnk+169) #define ActCopMrkGrp (ActRcvRchTxtCrsLnk+170)
#define ActPasMrkGrp (ActRcvRchTxtCrsLnk+170) #define ActPasMrkGrp (ActRcvRchTxtCrsLnk+171)
#define ActRemTreMrkGrp (ActRcvRchTxtCrsLnk+171) #define ActRemTreMrkGrp (ActRcvRchTxtCrsLnk+172)
#define ActFrmCreMrkGrp (ActRcvRchTxtCrsLnk+172) #define ActFrmCreMrkGrp (ActRcvRchTxtCrsLnk+173)
#define ActCreFolMrkGrp (ActRcvRchTxtCrsLnk+173) #define ActCreFolMrkGrp (ActRcvRchTxtCrsLnk+174)
#define ActRenFolMrkGrp (ActRcvRchTxtCrsLnk+174) #define ActRenFolMrkGrp (ActRcvRchTxtCrsLnk+175)
#define ActRcvFilMrkGrpDZ (ActRcvRchTxtCrsLnk+175) #define ActRcvFilMrkGrpDZ (ActRcvRchTxtCrsLnk+176)
#define ActRcvFilMrkGrpCla (ActRcvRchTxtCrsLnk+176) #define ActRcvFilMrkGrpCla (ActRcvRchTxtCrsLnk+177)
#define ActExpAdmMrkGrp (ActRcvRchTxtCrsLnk+177) #define ActExpAdmMrkGrp (ActRcvRchTxtCrsLnk+178)
#define ActConAdmMrkGrp (ActRcvRchTxtCrsLnk+178) #define ActConAdmMrkGrp (ActRcvRchTxtCrsLnk+179)
#define ActZIPAdmMrkGrp (ActRcvRchTxtCrsLnk+179) #define ActZIPAdmMrkGrp (ActRcvRchTxtCrsLnk+180)
#define ActShoMrkGrp (ActRcvRchTxtCrsLnk+180) #define ActShoMrkGrp (ActRcvRchTxtCrsLnk+181)
#define ActHidMrkGrp (ActRcvRchTxtCrsLnk+181) #define ActHidMrkGrp (ActRcvRchTxtCrsLnk+182)
#define ActReqDatAdmMrkGrp (ActRcvRchTxtCrsLnk+182) #define ActReqDatAdmMrkGrp (ActRcvRchTxtCrsLnk+183)
#define ActChgDatAdmMrkGrp (ActRcvRchTxtCrsLnk+183) #define ActChgDatAdmMrkGrp (ActRcvRchTxtCrsLnk+184)
#define ActDowAdmMrkGrp (ActRcvRchTxtCrsLnk+184) #define ActDowAdmMrkGrp (ActRcvRchTxtCrsLnk+185)
#define ActChgNumRowHeaGrp (ActRcvRchTxtCrsLnk+185) #define ActChgNumRowHeaGrp (ActRcvRchTxtCrsLnk+186)
#define ActChgNumRowFooGrp (ActRcvRchTxtCrsLnk+186) #define ActChgNumRowFooGrp (ActRcvRchTxtCrsLnk+187)
/*****************************************************************************/ /*****************************************************************************/
/******************************* Users tab ***********************************/ /******************************* Users tab ***********************************/

View File

@ -894,10 +894,10 @@ long Asg_GetParamAsgCod (void)
} }
/*****************************************************************************/ /*****************************************************************************/
/************ Ask for confirmation of removing of an assignment **************/ /************* Ask for confirmation of removing an assignment ****************/
/*****************************************************************************/ /*****************************************************************************/
void Asg_AskRemAssignment (void) void Asg_ReqRemAssignment (void)
{ {
extern const char *Txt_Do_you_really_want_to_remove_the_assignment_X; extern const char *Txt_Do_you_really_want_to_remove_the_assignment_X;
extern const char *Txt_Remove_assignment; extern const char *Txt_Remove_assignment;

View File

@ -91,7 +91,7 @@ void Asg_FreeListAssignments (void);
void Asg_GetNotifAssignment (char *SummaryStr,char **ContentStr,long AsgCod,unsigned MaxChars,bool GetContent); void Asg_GetNotifAssignment (char *SummaryStr,char **ContentStr,long AsgCod,unsigned MaxChars,bool GetContent);
long Asg_GetParamAsgCod (void); long Asg_GetParamAsgCod (void);
void Asg_AskRemAssignment (void); void Asg_ReqRemAssignment (void);
void Asg_RemoveAssignment (void); void Asg_RemoveAssignment (void);
void Asg_HideAssignment (void); void Asg_HideAssignment (void);
void Asg_ShowAssignment (void); void Asg_ShowAssignment (void);

View File

@ -185,16 +185,16 @@
/****************************** Public constants *****************************/ /****************************** Public constants *****************************/
/*****************************************************************************/ /*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 16.95.2 (2016-12-11)" #define Log_PLATFORM_VERSION "SWAD 16.96 (2016-12-11)"
#define CSS_FILE "swad16.94.1.css" #define CSS_FILE "swad16.94.1.css"
#define JS_FILE "swad16.90.2.js" #define JS_FILE "swad16.90.2.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.96: Dec 11, 2016 Now removing an announcement of exam requires confirmation. (? lines) Version 16.96: Dec 11, 2016 Now removing an announcement of exam requires confirmation. (210563 lines)
1 change necessary in database: 1 change necessary in database:
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1619','es','N',''); INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1619','es','N','Solicitar eliminación de convocatoria');
Version 16.95.2: Dec 11, 2016 Code refactoring related with notices. (210514 lines) Version 16.95.2: Dec 11, 2016 Code refactoring related with notices. (210514 lines)
Version 16.95.1: Dec 11, 2016 Code refactoring related with global announcements. (210534 lines) Version 16.95.1: Dec 11, 2016 Code refactoring related with global announcements. (210534 lines)

View File

@ -365,6 +365,36 @@ void Exa_PrintExamAnnouncement (void)
/************************ Remove an exam announcement ************************/ /************************ Remove an exam announcement ************************/
/*****************************************************************************/ /*****************************************************************************/
void Exa_ReqRemoveExamAnnouncement (void)
{
extern const char *Txt_Do_you_really_want_to_remove_the_following_announcement_of_exam;
extern const char *Txt_Remove;
long ExaCod;
/***** Get the code of the exam announcement *****/
if ((ExaCod = Exa_GetParamExaCod ()) <= 0)
Lay_ShowErrorAndExit ("Code of exam announcement is missing.");
/***** Message *****/
Lay_ShowAlert (Lay_WARNING,Txt_Do_you_really_want_to_remove_the_following_announcement_of_exam);
/***** View announcement *****/
Exa_AllocMemExamAnnouncement ();
Exa_GetDataExamAnnouncementFromDB (ExaCod);
Exa_ShowExamAnnouncement (ExaCod,Exa_NORMAL_VIEW);
Exa_FreeMemExamAnnouncement ();
/***** Button of confirmation of removing *****/
Act_FormStart (ActRemExaAnn);
Exa_PutHiddenParamExaCod (ExaCod);
Lay_PutRemoveButton (Txt_Remove);
Act_FormEnd ();
}
/*****************************************************************************/
/************************ Remove an exam announcement ************************/
/*****************************************************************************/
void Exa_RemoveExamAnnouncement (void) void Exa_RemoveExamAnnouncement (void)
{ {
extern const char *Txt_Announcement_of_exam_removed; extern const char *Txt_Announcement_of_exam_removed;
@ -1371,7 +1401,7 @@ static void Exa_PutIconsExamAnnouncement (void)
Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM)
{ {
/***** Link to remove this exam announcement *****/ /***** Link to remove this exam announcement *****/
Lay_PutContextualLink (ActRemExaAnn,Exa_PutParamExaCodToEdit, Lay_PutContextualLink (ActReqRemExaAnn,Exa_PutParamExaCodToEdit,
"remove-on64x64.png", "remove-on64x64.png",
Txt_Remove,NULL, Txt_Remove,NULL,
NULL); NULL);

View File

@ -54,6 +54,7 @@ typedef enum
void Exa_PutFrmEditAExamAnnouncement (void); void Exa_PutFrmEditAExamAnnouncement (void);
void Exa_ReceiveExamAnnouncement (void); void Exa_ReceiveExamAnnouncement (void);
void Exa_PrintExamAnnouncement (void); void Exa_PrintExamAnnouncement (void);
void Exa_ReqRemoveExamAnnouncement (void);
void Exa_RemoveExamAnnouncement (void); void Exa_RemoveExamAnnouncement (void);
void Exa_FreeMemExamAnnouncement (void); void Exa_FreeMemExamAnnouncement (void);
void Exa_FreeListExamAnnouncements (void); void Exa_FreeListExamAnnouncements (void);

View File

@ -255,7 +255,7 @@ void TsI_CreateXML (unsigned long NumRows,MYSQL_RES *mysql_res)
fclose (Gbl.Test.XML.FileXML); fclose (Gbl.Test.XML.FileXML);
/***** Return to start of query result *****/ /***** Return to start of query result *****/
mysql_data_seek (mysql_res, 0); mysql_data_seek (mysql_res,0);
/***** Write the link to XML file *****/ /***** Write the link to XML file *****/
fprintf (Gbl.F.Out,"<a href=\"%s/%s/%s/test.xml\" class=\"%s\" target=\"_blank\">", fprintf (Gbl.F.Out,"<a href=\"%s/%s/%s/test.xml\" class=\"%s\" target=\"_blank\">",

View File

@ -8845,6 +8845,27 @@ const char *Txt_Do_you_really_want_to_remove_the_folder_X = // Warning: it is ve
" o diret&oacute;rio <strong>%s</strong> e todo o seu conte&uacute;do?"; " o diret&oacute;rio <strong>%s</strong> e todo o seu conte&uacute;do?";
#endif #endif
const char *Txt_Do_you_really_want_to_remove_the_following_announcement_of_exam =
#if L==1
"De veres voleu eliminar la seg&uuml;ent convocat&ograve;ria d'examen?";
#elif L==2
"Wollen Sie wirklich, um die folgende Aufruf f&uuml;r Pr&uuml;fung?";
#elif L==3
"Do you really want to remove the following announcement of exam?";
#elif L==4
"&iquest;Realmente desea eliminar la siguiente convocatoria de examen?";
#elif L==5
"Voulez-vous vraiment supprimer la convocation &agrave; un examen suivante?";
#elif L==6
"&iquest;Realmente desea eliminar la siguiente convocatoria de examen?"; // Okoteve traducción
#elif L==7
"Vuoi realmente rimuovere il seguente appello d'esame?";
#elif L==8
"Czy na pewno chcesz usun&aogon;&cacute; nast&eogon;puj&aogon;c&aogon; zapowied&zacute; egzaminu?";
#elif L==9
"Voc&ecirc; realmente deseja remover a seguinte chamada para exame?";
#endif
const char *Txt_Do_you_really_want_to_remove_the_following_notice = const char *Txt_Do_you_really_want_to_remove_the_following_notice =
#if L==1 #if L==1
"De veres voleu eliminar el seg&uuml;ent av&iacute;s?"; "De veres voleu eliminar el seg&uuml;ent av&iacute;s?";