Monotone-Parent: 22b4654cd70bbe3488846e0939147e93e6113c95

Monotone-Revision: dbd490c81ea6cac4c12b2e17661e2fef43219e68

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2009-06-23T23:41:25
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2009-06-23 23:41:25 +00:00
parent 39c9be64db
commit 6ea89d62cd
2 changed files with 18 additions and 4 deletions

View File

@ -1,6 +1,14 @@
2009-06-23 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* SoObjects/SOGo/SOGoGCSFolder.m (-davSyncCollection:): 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.
* SoObjects/Appointments/SOGoAppointmentFolder.m
(+initialize): we no longer need reportQueryFields nor
reducedReportQueryFields.
(-davCalendarQuery:,-davCalendarMultiget:): automatically include
"c_component" in the requested fields, so that items can be
instantiated properly.

View File

@ -803,6 +803,7 @@ static NSArray *childRecordFields = nil;
{
davSQLFieldsTable = [NSMutableDictionary new];
[davSQLFieldsTable setObject: @"c_version" forKey: @"{DAV:}getetag"];
[davSQLFieldsTable setObject: @"" forKey: @"{DAV:}getcontenttype"];
}
return davSQLFieldsTable;
@ -827,7 +828,7 @@ static NSArray *childRecordFields = nil;
[davSQLFields setObject: sqlField forKey: property];
else
[self errorWithFormat: @"DAV property '%@' has no matching SQL field,"
@" response will be incomplete", property];
@" response could be incomplete", property];
}
return davSQLFields;
@ -877,10 +878,15 @@ static NSArray *childRecordFields = nil;
NSMutableArray *fields, *mRecords;
NSArray *records;
EOQualifier *qualifier;
NSEnumerator *addFields;
NSString *currentField;
fields = [NSMutableArray arrayWithObjects: @"c_name", @"c_component",
@"c_creationdate", @"c_lastmodified", nil];
[fields addObjectsFromArray: [properties allValues]];
addFields = [[properties allValues] objectEnumerator];
while ((currentField = [addFields nextObject]))
if ([currentField length])
[fields addObjectUniquely: currentField];
if (syncToken)
{
@ -921,7 +927,7 @@ static NSArray *childRecordFields = nil;
return davElementWithContent (@"propstat", XMLNS_WEBDAV, propstat);
}
- (NSArray *) _davPropStatsWithProperties: (NSArray *) davProperties
- (NSArray *) _davPropstatsWithProperties: (NSArray *) davProperties
andMethodSelectors: (SEL *) selectors
fromRecord: (NSDictionary *) record
{
@ -1009,7 +1015,7 @@ static NSArray *childRecordFields = nil;
status[statusIndex])];
if (statusIndex)
[children
addObjectsFromArray: [self _davPropStatsWithProperties: properties
addObjectsFromArray: [self _davPropstatsWithProperties: properties
andMethodSelectors: selectors
fromRecord: record]];