6.0.0-beta1
7/12/25

[#1153] Can't update attendee status via iTip
Summary Can't update attendee status via iTip
Queue Kronolith
Queue Version 2.0.1
Type Bug
State Resolved
Priority 1. Low
Owners
Requester aaron (at) thatone (dot) com
Created 01/13/2005 (7485 days ago)
Due
Updated 01/15/2005 (7483 days ago)
Assigned
Resolved 01/15/2005 (7483 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch No

History
01/15/2005 04:33:55 AM Chuck Hagenbuch Comment #2
State ⇒ Resolved
Reply to this comment
This should be fixed in CVS now, and will be in Kronolith 2.0.2. 
Thanks for the analysis.
01/13/2005 10:17:58 PM aaron (at) thatone (dot) com Comment #1
State ⇒ Unconfirmed
Priority ⇒ 1. Low
Type ⇒ Bug
Summary ⇒ Can't update attendee status via iTip
Queue ⇒ Kronolith
Reply to this comment
I'm using MySQL as the backend for kronolith storage.



I add an attendee to a meeting, and then click "Save Event" while 
leaving the "Send Updates..." box checked. The meeting invite is sent 
out properly to the attendee, as an attached .ics file. The attendee 
then checks their e-mail in Horde/IMP, and uses Horde to accept the 
meeting invitation. Horde automatically sends me an e-mail saying 
"Accepted: (Meeting title)". When I view this, I can click on 
"event-reply.ics" under the "Alternative parts for this section" box, 
and Horde pops up a window allowing me to update the respondent's 
status. However, clicking "OK" to do so, causes an error message to 
the effect of "Event not found".



It looks like the cause of the problem is that the .ics file which 
gets sent out to the attendees in the beginning doesn't have the UID 
for the event filled in. There is a "UID:" field, but it's blank. As a 
result, the confirmation they send back also lacks a UID, so Horde 
can't tell which event they're responding to.



The problem seems to be in kronolith/addeventaction.php . If I'm 
reading the code properly, on line 25 ( $result = $event->save(); ), 
the event is loaded into the database. It's at this point that its UID 
is generated. However, the save() function only returns the event's ID 
(the value in column "event_id" of the database), not its UID (the 
value in column "event_uid" of the database), so $event still has no 
value for $event->_uid when Kronolith::sendITipNotifications() is 
called on line 37.



When I wrote a cheap hack on my local system which directly queries 
MySQL to find out the UID, and then sets it using $event->setUID(), 
then I was able to click on "event-ics" in a meeting confirmation and 
successfully update the attendee's status. However, I don't know 
enough about the Horde framework to write a proper fix.

Saved Queries