From c619a07d57209860d32abf6ec3e5b191fd3a14a5 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Tue, 30 Jun 2009 21:21:50 +0000 Subject: [PATCH] Monotone-Parent: db6101745dbd661ce3278ea7f4c6bb9837382a4f Monotone-Revision: 70ad94d55908966fdc416a1daead1a79c3ee8cd3 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2009-06-30T21:21:50 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 9 +++++++++ SoObjects/Appointments/SOGoAppointmentFolder.m | 16 ++++++++++++---- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index e32b66a51..6405b737e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2009-06-30 Wolfgang Sourdeau + + * SoObjects/Appointments/SOGoAppointmentFolder.m + (-davCalendarMultiget, -davCalendarQuery): certain dav attribute + methods do not necessitate additional fields, we declare their + corresponding fields to "". Also, we make sure those fake fields + are not specified in the SQL query and we ensure all the fields + are only requested once each. + 2009-06-30 Cyril Robert * UI/WebServerResources/MailerUI.js: Added drag & drop support! diff --git a/SoObjects/Appointments/SOGoAppointmentFolder.m b/SoObjects/Appointments/SOGoAppointmentFolder.m index 1f088b3ae..b3aa10786 100644 --- a/SoObjects/Appointments/SOGoAppointmentFolder.m +++ b/SoObjects/Appointments/SOGoAppointmentFolder.m @@ -1579,13 +1579,17 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir NSMutableArray *fields; NSDictionary *currentFilter; NSEnumerator *filterList; - NSString *additionalFilters, *baseURL; + NSString *additionalFilters, *baseURL, *currentField; NSMutableString *buffer; NSString **propertiesArray; + NSEnumerator *addFields; unsigned int count, max, propertiesCount; fields = [NSMutableArray arrayWithObjects: @"c_name", @"c_component", nil]; - [fields addObjectsFromArray: [properties allValues]]; + addFields = [[properties allValues] objectEnumerator]; + while ((currentField = [addFields nextObject])) + if ([currentField length]) + [fields addObjectUniquely: currentField]; baseURL = [[self davURL] absoluteString]; propertiesArray = [[properties allKeys] asPointersOfObjects]; @@ -1798,11 +1802,12 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir { NSObject *element; NSDictionary *currentComponent, *components; - NSString *currentURL, *baseURL; + NSString *currentURL, *baseURL, *currentField; NSString **propertiesArray; NSMutableArray *urls, *fields; NSMutableString *buffer; unsigned int count, max, propertiesCount; + NSEnumerator *addFields; baseURL = [[self davURL] absoluteString]; @@ -1819,7 +1824,10 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir propertiesCount = [properties count]; fields = [NSMutableArray arrayWithObjects: @"c_name", @"c_component", nil]; - [fields addObjectsFromArray: [properties allValues]]; + addFields = [[properties allValues] objectEnumerator]; + while ((currentField = [addFields nextObject])) + if ([currentField length]) + [fields addObjectUniquely: currentField]; components = [self _fetchComponentsMatchingURLs: urls fields: fields]; max = [urls count];