Monotone-Parent: 5778b1ee87b79a304c367a6cb34c9823e5935f15

Monotone-Revision: a8206d668a0bdb4471047c63de86e129c3937ffa

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2012-04-12T23:44:39
maint-2.0.2
Wolfgang Sourdeau 2012-04-12 23:44:39 +00:00
parent 3b64c4c765
commit c667914132
3 changed files with 43 additions and 4 deletions

View File

@ -1,5 +1,9 @@
2012-04-12 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* SoObjects/SOGo/SOGoGCSFolder.m (-componentSQLFilter): new
overridable method that enables passing filters for
toOneRelationshipKeys from subclasses.
* SoObjects/Appointments/SOGoAppointmentFolder.m
(-davCalendarComponentSet): componentSet is now an ivar. Include
VTODO only with showCalendarTasks returns YES.

View File

@ -499,6 +499,18 @@ static NSNumber *sharedYes = nil;
return filter;
}
- (NSString *) componentSQLFilter
{
NSString *filter;
if ([self showCalendarTasks])
filter = nil;
else
filter = @"c_component != 'vtodo'";
return filter;
}
- (BOOL) _checkIfWeCanRememberRecords: (NSArray *) fields
{
return ([fields containsObject: @"c_name"]

View File

@ -617,19 +617,42 @@ static NSArray *childRecordFields = nil;
return filter;
}
- (NSString *) componentSQLFilter
{
return nil;
}
- (NSArray *) toOneRelationshipKeys
{
NSArray *records, *names;
NSString *sqlFilter;
EOQualifier *qualifier;
NSString *sqlFilter, *compFilter;
EOQualifier *aclQualifier, *componentQualifier, *qualifier;
sqlFilter = [self aclSQLListingFilter];
if (sqlFilter)
{
if ([sqlFilter length] > 0)
qualifier = [EOQualifier qualifierWithQualifierFormat: sqlFilter];
aclQualifier = [EOQualifier qualifierWithQualifierFormat: sqlFilter];
else
qualifier = nil;
aclQualifier = nil;
compFilter = [self componentSQLFilter];
if ([compFilter length] > 0)
{
componentQualifier
= [EOQualifier qualifierWithQualifierFormat: compFilter];
if (aclQualifier)
{
qualifier = [[EOAndQualifier alloc] initWithQualifiers:
aclQualifier,
componentQualifier];
[qualifier autorelease];
}
else
qualifier = componentQualifier;
}
else
qualifier = aclQualifier;
records = [[self ocsFolder] fetchFields: childRecordFields
matchingQualifier: qualifier];