From 4f3934dc0eb718941cf617cb32b73b2473c352d5 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Fri, 17 Aug 2012 20:12:50 +0000 Subject: [PATCH] Monotone-Parent: 105b571703ff5c4cc1024854ef8a1d987aef2bf1 Monotone-Revision: deb19e29a470db5c60606444f9e82eb9aa85ce1d Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2012-08-17T20:12:50 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 8 ++++++++ OpenChange/MAPIStoreAppointmentWrapper.m | 6 ++++++ OpenChange/MAPIStoreCalendarMessage.m | 8 +++++++- 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 0750a45db..669f2a1d5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,13 @@ 2012-08-17 Wolfgang Sourdeau + * OpenChange/MAPIStoreCalendarMessage.m + (-getPidTagMessageClass:inMemCtx:): return + "IPM.Schedule.Meeting.Request" when the owner user is an attendee. + + * OpenChange/MAPIStoreAppointmentWrapper.m + (-getPidLidAppointmentNotAllowPropose:inMemCtx): new getter that + always return "YES", in order to disallow counter proposals. + * OpenChange/MAPIStoreContext.m (-getPath:ofFMID:inMemCtx:): properly escape urls containing non-ascii chars. (-getRootFoldeR:withFID:): idem. diff --git a/OpenChange/MAPIStoreAppointmentWrapper.m b/OpenChange/MAPIStoreAppointmentWrapper.m index 07673012c..8e8e308d8 100644 --- a/OpenChange/MAPIStoreAppointmentWrapper.m +++ b/OpenChange/MAPIStoreAppointmentWrapper.m @@ -709,6 +709,12 @@ static NSCharacterSet *hexCharacterSet = nil; return MAPISTORE_SUCCESS; } + +- (int) getPidLidAppointmentNotAllowPropose: (void **) data + inMemCtx: (TALLOC_CTX *) memCtx +{ + return [self getYes: data inMemCtx: memCtx]; +} - (int) getPidLidAppointmentStartWhole: (void **) data inMemCtx: (TALLOC_CTX *) memCtx diff --git a/OpenChange/MAPIStoreCalendarMessage.m b/OpenChange/MAPIStoreCalendarMessage.m index 6d65d2313..afdbb98b0 100644 --- a/OpenChange/MAPIStoreCalendarMessage.m +++ b/OpenChange/MAPIStoreCalendarMessage.m @@ -210,7 +210,13 @@ static Class NSArrayK; - (int) getPidTagMessageClass: (void **) data inMemCtx: (TALLOC_CTX *) memCtx { - *data = talloc_strdup (memCtx, "IPM.Appointment"); + SOGoUser *owner; + + owner = [[self userContext] sogoUser]; + if ([masterEvent userAsAttendee: owner]) + *data = talloc_strdup (memCtx, "IPM.Schedule.Meeting.Request"); + else + *data = talloc_strdup (memCtx, "IPM.Appointment"); return MAPISTORE_SUCCESS; }