6.0.0-beta1
7/17/25

[#12627] Fix broken all day event handling between ActiveSync and dynamic view
Summary Fix broken all day event handling between ActiveSync and dynamic view
Queue Kronolith
Queue Version Git master
Type Bug
State Resolved
Priority 1. Low
Owners jan (at) horde (dot) org
Requester thomas.jarosch (at) intra2net (dot) com
Created 08/27/2013 (4342 days ago)
Due
Updated 08/27/2013 (4342 days ago)
Assigned
Resolved 08/27/2013 (4342 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch Yes

History
08/27/2013 09:48:04 PM Git Commit Comment #7 Reply to this comment
Changes have been made in Git (master):

commit 23237d577c2ca1947e15d5b133df3d7d86f67515
Author: Jan Schneider <jan@horde.org>
Date:   Tue Aug 27 23:47:04 2013 +0200

     [jan] Fix inconsistent handling of all-day events (Bug #12627).

  kronolith/docs/CHANGES |    1 +
  kronolith/package.xml  |    2 ++
  2 files changed, 3 insertions(+), 0 deletions(-)

http://git.horde.org/horde-git/-/commit/23237d577c2ca1947e15d5b133df3d7d86f67515
08/27/2013 08:57:58 PM Jan Schneider Assigned to Jan Schneider
State ⇒ Resolved
 
08/27/2013 08:57:04 PM Git Commit Comment #6 Reply to this comment
Changes have been made in Git (master):

commit f46433cf0b534a84e8c9cd9cba6012138c0ed379
Author: Thomas Jarosch <thomas.jarosch@intra2net.com>
Date:   Tue Aug 27 21:24:30 2013 +0200

     Fix saving all day events when the end date is on the next day

     Internally horde uses two kinds of all day event formats:
     - end on "current-day 23:59:59" (old)
     - end on "next-day 00:00:00"

     Properly detect "next-day 00:00:00" when doing the writeout.

     Also switch to "next-day 00:00:00" format
     when loading events for consistency.

     Part of bug 12627

     Signed-off-by: Jan Schneider <jan@horde.org>

  .../lib/Horde/Kolab/Format/Xml/Event.php           |   11 +++++++++--
  1 files changed, 9 insertions(+), 2 deletions(-)

http://git.horde.org/horde-git/-/commit/f46433cf0b534a84e8c9cd9cba6012138c0ed379
08/27/2013 08:56:55 PM Git Commit Comment #5 Reply to this comment
Changes have been made in Git (master):

commit c3c03356260ef21abd9026f6c8482247fe6655ef
Author: Jan Schneider <jan@horde.org>
Date:   Tue Aug 27 22:49:26 2013 +0200

     Fix/improve how we handle all-day events across views.

     All-day events always last to 0:00 now.

     Bug: 12627

  kronolith/js/kronolith.js        |   17 ++++++++++++++++-
  kronolith/lib/Event.php          |   15 +++------------
  kronolith/lib/Event/Holidays.php |    1 -
  kronolith/lib/Event/Horde.php    |    8 +++-----
  kronolith/lib/Event/Sql.php      |    4 ++++
  kronolith/lib/View/EditEvent.php |    4 ++--
  6 files changed, 28 insertions(+), 21 deletions(-)

http://git.horde.org/horde-git/-/commit/c3c03356260ef21abd9026f6c8482247fe6655ef
08/27/2013 07:32:00 PM Thomas Jarosch Comment #4
New Attachment: 0001-Fix-saving-all-day-events-when-the-end-date-is-on-th.patch Download
Reply to this comment
Patch to fix the Kolab part of the issue.

Note: If the user just upgrades Kolab_Format but holds back kronolith,
the dynamic view will not interpret all day events correctly. That's
the same issue that's currently happening with ActiveSync. But
since the dynamic view is buggy in this regard, the user should upgrade.

08/27/2013 05:26:42 PM Thomas Jarosch Comment #3 Reply to this comment
For the record: Old ticket about Kolab all day date format:
bugs.horde.org/ticket/11767

08/27/2013 05:20:05 PM Thomas Jarosch Comment #2 Reply to this comment
As Jan pointed out on IRC, the toJSON() part of the patch is wrong.
This needs to be fixed in the Javascript code of the dynamic view.
(probably EditEventCallback ;))

Additionally the Kolab driver can't handle all day events
that use the internal date format of "end date+1 00:00:00".

I'm going to fix the Kolab driver, someone else should do the Javascript part.
I think the readForm() part of my patch is still correct.

08/27/2013 02:16:21 PM Thomas Jarosch Patch ⇒ Yes
New Attachment: 0001-Unify-internal-representation-of-all-day-events-to-e.patch Download
 
08/27/2013 02:15:51 PM Thomas Jarosch Comment #1
Priority ⇒ 1. Low
Type ⇒ Bug
Summary ⇒ Fix broken all day event handling between ActiveSync and dynamic view
Queue ⇒ Kronolith
Milestone ⇒
Patch ⇒ No
State ⇒ Unconfirmed
Reply to this comment
From the patch:

Unify internal representation of all day events to "end
  date+1 00:00:00"

The dynamic view of kronolith stored all day events as "end date 23:59:59".
ActiveSync and the classic view created them as "end date+1 00:00:00".

If you created an all day event in ActiveSync that lasts one day,
it turned into a two day event when edited by the dynamic view.

Fix tested with the dynamic, classic and smartmobile view.
Please double check if the "$allday" flag handling of toJson() is right.

Saved Queries