Details
-
Type:
Sub-task
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 6.1.0 CE GA1, 6.1.1 CE GA2, 6.1.20 EE GA2
-
Fix Version/s: 6.1.X EE, 6.2.0 CE M5
-
Component/s: Collaboration, Collaboration > Announcements
-
Environment:Jboss 7.1, Liferay 6.1.ga CE
-
Branch Version/s:6.1.x
-
Backported to Branch:Committed
-
Story Points:6
-
Business Value:4
-
Similar Issues:
Description
Announcements are not sent if display date is in the past and announcement check interval passes while creating the announcement.
This can be achieved by setting announcements.entry.check.interval=1 and creating announcement and waiting 1 minute before hitting save. This happens because display date is set to "current time" when entry is started being edited and if announcements entry check happens before user saves the entry it will not get sent (if user does not alter the display date manually).
Issue Links
- testing discovered
-
LPS-35628
Time doesn't get update when selecting other time zone in display settings.
-

Whenever display date < now - interval there are no notification emails sent out. I found this code which seems to be the reason:
https://github.com/liferay/liferay-portal/blob/master/portal-impl/src/com/liferay/portlet/announcements/service/impl/AnnouncementsEntryLocalServiceImpl.java#L130
As this is current master trunk it also affects Liferay 6.2.X.
In line 134 (https://github.com/liferay/liferay-portal/blob/master/portal-impl/src/com/liferay/portlet/announcements/service/impl/AnnouncementsEntryLocalServiceImpl.java#L134) it fetches announcements by display date which is clearly wrong because the user can manipulate the display date in any kind. Here you need to use the creation date of the announcement, as it can't be changed by the user. The modification date would also be an option, if notifications should also be send after a change of an existing announcement.