diff --git a/swad_announcement.c b/swad_announcement.c
index 1aee842ad..2d652ea34 100644
--- a/swad_announcement.c
+++ b/swad_announcement.c
@@ -65,7 +65,7 @@ static void Ann_DrawAnAnnouncement (long AnnCod,Ann_Status_t Status,
unsigned Roles,
bool ShowAllAnnouncements,
bool ICanEdit);
-static void Ann_PutHiddenParamAnnCod (long AnnCod);
+static void Ann_PutParams (void);
static long Ann_GetParamAnnCod (void);
static void Ann_CreateAnnouncement (unsigned Roles,const char *Subject,const char *Content);
@@ -266,7 +266,6 @@ static void Ann_DrawAnAnnouncement (long AnnCod,Ann_Status_t Status,
bool ShowAllAnnouncements,
bool ICanEdit)
{
- extern const char *The_ClassForm[The_NUM_THEMES];
extern const char *Txt_Users;
extern const char *Txt_ROLES_PLURAL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
extern const char *Txt_Remove;
@@ -296,57 +295,36 @@ static void Ann_DrawAnAnnouncement (long AnnCod,Ann_Status_t Status,
Rol_Role_t Role;
bool SomeRolesAreSelected;
+ Gbl.Announcements.AnnCod = AnnCod; // Parameter for forms
+
/***** Start yellow note *****/
fprintf (Gbl.F.Out,"
",
ContainerClass[Status]);
if (ICanEdit)
{
- /* Form to remove announcement */
- Act_FormStart (ActRemAnn);
- Ann_PutHiddenParamAnnCod (AnnCod);
- fprintf (Gbl.F.Out,"
"
- " "
- "
",
- Gbl.Prefs.IconsURL,
- Txt_Remove,
- Txt_Remove);
- Act_FormEnd ();
+ /***** Put form to remove announcement *****/
+ Lay_PutContextualLink (ActRemAnn,Ann_PutParams,
+ "remove-on64x64.png",
+ Txt_Remove,NULL,
+ NULL);
- /* Put form to change the status of the notice */
+ /***** Put form to change the status of the notice *****/
switch (Status)
{
case Ann_ACTIVE_ANNOUNCEMENT:
- Act_FormStart (ActHidAnn);
- Ann_PutHiddenParamAnnCod (AnnCod);
- fprintf (Gbl.F.Out,"
"
- " "
- "
",
- Gbl.Prefs.IconsURL,
- Txt_NOTICE_Active_Mark_as_obsolete,
- Txt_NOTICE_Active_Mark_as_obsolete);
+ Lay_PutContextualLink (ActHidAnn,Ann_PutParams,
+ "eye-on64x64.png",
+ Txt_NOTICE_Active_Mark_as_obsolete,NULL,
+ NULL);
break;
case Ann_OBSOLETE_ANNOUNCEMENT:
- Act_FormStart (ActRevAnn);
- Ann_PutHiddenParamAnnCod (AnnCod);
- fprintf (Gbl.F.Out,"
"
- " "
- "
",
- Gbl.Prefs.IconsURL,
- Txt_NOTICE_Obsolete_Mark_as_active,
- Txt_NOTICE_Obsolete_Mark_as_active);
+ Lay_PutContextualLink (ActRevAnn,Ann_PutParams,
+ "eye-slash-on64x64.png",
+ Txt_NOTICE_Obsolete_Mark_as_active,NULL,
+ NULL);
break;
}
- Act_FormEnd ();
}
/***** Write the subject of the announcement *****/
@@ -378,21 +356,11 @@ static void Ann_DrawAnAnnouncement (long AnnCod,Ann_Status_t Status,
fprintf (Gbl.F.Out,"");
}
else
- {
- /* Form to mark announcement as seen */
- Act_FormStart (ActAnnSee);
- Ann_PutHiddenParamAnnCod (AnnCod);
- Act_LinkFormSubmit (Txt_Do_not_show_again,The_ClassForm[Gbl.Prefs.Theme],NULL);
- fprintf (Gbl.F.Out,"
"
- " %s",
- Gbl.Prefs.IconsURL,
- Txt_Do_not_show_again,
- Txt_Do_not_show_again,
- Txt_Do_not_show_again);
- Act_FormEnd ();
- }
+ /***** Put form to mark announcement as seen *****/
+ Lay_PutContextualLink (ActAnnSee,Ann_PutParams,
+ "remove-on64x64.png",
+ Txt_Do_not_show_again,Txt_Do_not_show_again,
+ NULL);
fprintf (Gbl.F.Out,"
");
@@ -401,12 +369,12 @@ static void Ann_DrawAnAnnouncement (long AnnCod,Ann_Status_t Status,
}
/*****************************************************************************/
-/************** Put parameter with the code of an announcement ***************/
+/******************** Params used to edit an assignment **********************/
/*****************************************************************************/
-static void Ann_PutHiddenParamAnnCod (long AnnCod)
+static void Ann_PutParams (void)
{
- Par_PutHiddenParamLong ("AnnCod",AnnCod);
+ Par_PutHiddenParamLong ("AnnCod",Gbl.Announcements.AnnCod);
}
/*****************************************************************************/
diff --git a/swad_changelog.h b/swad_changelog.h
index 1207e149e..782153062 100644
--- a/swad_changelog.h
+++ b/swad_changelog.h
@@ -185,13 +185,18 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
-#define Log_PLATFORM_VERSION "SWAD 16.95 (2016-12-11)"
+#define Log_PLATFORM_VERSION "SWAD 16.95.1 (2016-12-11)"
#define CSS_FILE "swad16.94.1.css"
#define JS_FILE "swad16.90.2.js"
// 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
/*
+ Version 16.96: Dec 11, 2016 Now removing an announcement of exam requires confirmation. (? lines)
+ 1 change necessary in database:
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1619','es','N','');
+
+ Version 16.95.1: Dec 11, 2016 Code refactoring related with global announcements. (210534 lines)
Version 16.95: Dec 11, 2016 Code refactoring related with dates. (210559 lines)
Version 16.94.2: Dec 11, 2016 Contextual help on calendar.
Changes in exam announcements. (210421 lines)
diff --git a/swad_global.h b/swad_global.h
index ab3d82d07..e752f653f 100644
--- a/swad_global.h
+++ b/swad_global.h
@@ -592,6 +592,10 @@ struct Globals
char PathRelOld[PATH_MAX+1];
long ThreadToMove;
} Forum;
+ struct
+ {
+ long AnnCod;
+ } Announcements;
struct
{
Msg_TypeOfMessages_t TypeOfMessages;