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