]> err.no Git - scalable-opengroupware.org/blobdiff - SOGo/SoObjects/Appointments/SOGoAppointmentFolder.m
cleanup, bugfixes
[scalable-opengroupware.org] / SOGo / SoObjects / Appointments / SOGoAppointmentFolder.m
index 0ab3d8bde20ea97e89aa05b408a1661aa458d498..ee44b286f74e8b9df3946e679ee1075ba43dd341 100644 (file)
@@ -173,7 +173,8 @@ static NSTimeZone *MET = nil;
   return ma;
 }
 
-- (NSArray *)fetchCoreInfosFromFolder:(OCSFolder *)_folder
+- (NSArray *)fetchFields:(NSArray *)_fields
+  fromFolder:(OCSFolder *)_folder
   from:(NSCalendarDate *)_startDate
   to:(NSCalendarDate *)_endDate 
 {
@@ -194,15 +195,8 @@ static NSTimeZone *MET = nil;
                  (unsigned int)[_endDate   timeIntervalSince1970],
                  (unsigned int)[_startDate timeIntervalSince1970]];
   qualifier = [EOQualifier qualifierWithQualifierFormat:sql];
-  
-  fields = [NSArray arrayWithObjects:
-                     @"uid", @"startdate", @"enddate",
-                     @"title", @"participants", @"location", @"isallday",
-                     @"iscycle", @"partmails", @"sequence", @"ispublic",
-          @"isopaque", @"status", @"orgmail",
-                   nil];
-  
-  records = [_folder fetchFields:fields matchingQualifier:qualifier];
+
+  records = [_folder fetchFields:_fields matchingQualifier:qualifier];
   if (records == nil) {
     [self errorWithFormat:@"(%s): fetch failed!", __PRETTY_FUNCTION__];
     return nil;
@@ -214,6 +208,26 @@ static NSTimeZone *MET = nil;
   return records;
 }
 
+- (NSArray *)fetchCoreInfosFromFolder:(OCSFolder *)_folder
+  from:(NSCalendarDate *)_startDate
+  to:(NSCalendarDate *)_endDate 
+{
+  static NSArray *coreInfos = nil;
+  if(!coreInfos) {
+    coreInfos = [[NSArray arrayWithObjects:@"uid", @"startdate", @"enddate",
+                                           @"title", @"participants",
+                                           @"location", @"isallday",
+                                           @"iscycle", @"partmails",
+                                           @"sequence", @"ispublic",
+                                           @"isopaque", @"status", @"orgmail",
+                                           nil] retain];
+  }
+  return [self fetchInfos:coreInfos
+               fromFolder:_folder
+               from:_startDate
+               to:_endDate];
+}
+
 - (NSArray *)fetchCoreInfosFrom:(NSCalendarDate *)_startDate
   to:(NSCalendarDate *)_endDate 
 {
@@ -327,10 +341,8 @@ static NSTimeZone *MET = nil;
     NSString   *uid;
     
     person = [_persons objectAtIndex:i];
-    email  = [person email];
+    email  = [person rfc822Email];
     if ([email isNotNull]) {
-      if ([email hasPrefix:@"mailto:"])
-        email = [email substringFromIndex:7];
       uid = [um getUIDForEmail:email];
     }
     else