6.0.0-alpha10
5/15/25

[#13790] Kronolith sets attendee as organizer when accepting through mailclient
Summary Kronolith sets attendee as organizer when accepting through mailclient
Queue Kronolith
Queue Version FRAMEWORK_5_2
Type Bug
State Duplicate
Priority 3. High
Owners
Requester geiger (at) b1-systems (dot) de
Created 01/08/2015 (3780 days ago)
Due
Updated 01/08/2015 (3780 days ago)
Assigned
Resolved 01/08/2015 (3780 days ago)
Milestone
Patch No

History
01/08/2015 11:51:25 AM Jan Schneider Comment #2
State ⇒ Duplicate
Reply to this comment
Duplicate of bug #13664
01/08/2015 11:37:56 AM geiger (at) b1-systems (dot) de Comment #1
State ⇒ Unconfirmed
Priority ⇒ 3. High
Type ⇒ Bug
Summary ⇒ Kronolith sets attendee as organizer when accepting through mailclient
Queue ⇒ Kronolith
Milestone ⇒
Patch ⇒ No
Reply to this comment
When adding an appointment you got invited to via Outlook or 
Thunderbird using Lightning to an Horde Kronolith synced calendar, a 
new event will be created with yourself as organizer instead of 
attendee and every other attendee will receive a new invitation.

Seems like Kronolith_Event::fromHash() treats the event as a new one 
which sets the creator/organizer used in 
Kronolith_Event::toiCalendar() to the current user.

HOW TO REPRODUCE:
1. Get an invitation to an appointment where your email is set as attendee.
2. Accept the invitation using Outlook or Lightning (not the links in 
the email but the buttons above).
3. Save the event to a calendar which is synchronized using Horde Kronolith.
4. Send out confirmation email.
5. The initial organizer will receive two mails. Note that the 
organizer now isn't the initial creator, it will be you.

EXPECTED BEHAVIOUR:
The event will be accepted and the organizer won't change.

CURRENT BEHAVIOUR:
The event will be recreated with you as the organizer.


Important parts of the .ics-Files:

When getting the invitation:
ORGANIZER;CN=Karim Geiger:mailto:[original_organizer]@gmail.com
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=lang@[domain].de;X-NUM-GUESTS=0:mailto:lang@[domain].de
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=geiger@[domain].de;X-NUM-GUESTS=0:mailto:geiger@[domain].de
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;RSVP=TRUE;CN=Karim 
Geiger;X-NUM-GUESTS=0:mailto:[original_organizer]@gmail.com

After accepting the invitation by lang:
ORGANIZER;CN=Ralf Lang:mailto:lang@[domain].de
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;CN=lang@[domain].de:mailto:lang@[domain].de
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=geiger@[domain].de:mailto:geiger@[domain].de
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;CN=Karim   
Geiger:mailto:[original_organizer]@gmail.com

Saved Queries