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; }